brintos

brintos / linux-shallow public Read only

0
0
Text · 3.9 KiB · 84e5659 Raw
133 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2# Copyright (c) 2020, Silicon Laboratories, Inc.3%YAML 1.24---5$id: http://devicetree.org/schemas/net/wireless/silabs,wfx.yaml#6$schema: http://devicetree.org/meta-schemas/core.yaml#7 8title: Silicon Labs WFxxx9 10maintainers:11  - Jérôme Pouiller <jerome.pouiller@silabs.com>12 13description: >14  Support for the Wifi chip WFxxx from Silicon Labs. Currently, the only device15  from the WFxxx series is the WF200 described here:16     https://www.silabs.com/documents/public/data-sheets/wf200-datasheet.pdf17 18  The WF200 can be connected via SPI or via SDIO.19 20  For SDIO:21 22    Declaring the WFxxx chip in device tree is mandatory (usually, the VID/PID is23    sufficient for the SDIO devices).24 25    It is recommended to declare a mmc-pwrseq on SDIO host above WFx. Without26    it, you may encounter issues during reboot. The mmc-pwrseq should be27    compatible with mmc-pwrseq-simple. Please consult28    Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.yaml for more29    information.30 31properties:32  compatible:33    items:34      - enum:35          - prt,prtt1c-wfm200 # Protonic PRTT1C Board36          - silabs,brd4001a # WGM160P Evaluation Board37          - silabs,brd8022a # WF200 Evaluation Board38          - silabs,brd8023a # WFM200 Evaluation Board39      - const: silabs,wf200 # Chip alone without antenna40 41  reg:42    description:43      When used on SDIO bus, <reg> must be set to 1. When used on SPI bus, it is44      the chip select address of the device as defined in the SPI devices45      bindings.46    maxItems: 147 48  interrupts:49    description: The interrupt line. Should be IRQ_TYPE_EDGE_RISING. When SPI is50      used, this property is required. When SDIO is used, the "in-band"51      interrupt provided by the SDIO bus is used unless an interrupt is defined52      in the Device Tree.53    maxItems: 154 55  reset-gpios:56    description: (SPI only) Phandle of gpio that will be used to reset chip57      during probe. Without this property, you may encounter issues with warm58      boot.59 60      For SDIO, the reset gpio should declared using a mmc-pwrseq.61    maxItems: 162 63  wakeup-gpios:64    description: Phandle of gpio that will be used to wake-up chip. Without this65      property, driver will disable most of power saving features.66    maxItems: 167 68  silabs,antenna-config-file:69    $ref: /schemas/types.yaml#/definitions/string70    description: Use an alternative file for antenna configuration (aka71      "Platform Data Set" in Silabs jargon). Default depends of "compatible"72      string. For "silabs,wf200", the default is 'wf200.pds'.73 74  local-mac-address: true75 76  mac-address: true77 78required:79  - compatible80  - reg81 82allOf:83  - $ref: /schemas/spi/spi-peripheral-props.yaml#84 85unevaluatedProperties: false86 87examples:88  - |89    #include <dt-bindings/gpio/gpio.h>90    #include <dt-bindings/interrupt-controller/irq.h>91 92    spi {93        #address-cells = <1>;94        #size-cells = <0>;95 96        wifi@0 {97            compatible = "silabs,brd8022a", "silabs,wf200";98            pinctrl-names = "default";99            pinctrl-0 = <&wfx_irq &wfx_gpios>;100            reg = <0>;101            interrupts-extended = <&gpio 16 IRQ_TYPE_EDGE_RISING>;102            wakeup-gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;103            reset-gpios = <&gpio 13 GPIO_ACTIVE_LOW>;104            spi-max-frequency = <42000000>;105        };106    };107 108  - |109    #include <dt-bindings/gpio/gpio.h>110    #include <dt-bindings/interrupt-controller/irq.h>111 112    wfx_pwrseq: wfx_pwrseq {113        compatible = "mmc-pwrseq-simple";114        pinctrl-names = "default";115        pinctrl-0 = <&wfx_reset>;116        reset-gpios = <&gpio 13 GPIO_ACTIVE_LOW>;117    };118 119    mmc {120        mmc-pwrseq = <&wfx_pwrseq>;121        #address-cells = <1>;122        #size-cells = <0>;123 124        wifi@1 {125            compatible = "silabs,brd8022a", "silabs,wf200";126            pinctrl-names = "default";127            pinctrl-0 = <&wfx_wakeup>;128            reg = <1>;129            wakeup-gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;130        };131    };132...133