1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 # Copyright (c) 2020, Silicon Laboratories, Inc.
6 $id: http://devicetree.org/schemas/net/wireless/silabs,wfx.yaml#
7 $schema: http://devicetree.org/meta-schemas/core.yaml#
9 title: Silicon Labs WFxxx devicetree bindings
12 - Jérôme Pouiller <jerome.pouiller@silabs.com>
15 Support for the Wifi chip WFxxx from Silicon Labs. Currently, the only device
16 from the WFxxx series is the WF200 described here:
17 https://www.silabs.com/documents/public/data-sheets/wf200-datasheet.pdf
19 The WF200 can be connected via SPI or via SDIO.
23 Declaring the WFxxx chip in device tree is mandatory (usually, the VID/PID is
24 sufficient for the SDIO devices).
26 It is recommended to declare a mmc-pwrseq on SDIO host above WFx. Without
27 it, you may encounter issues during reboot. The mmc-pwrseq should be
28 compatible with mmc-pwrseq-simple. Please consult
29 Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.yaml for more
36 - prt,prtt1c-wfm200 # Protonic PRTT1C Board
37 - silabs,brd4001a # WGM160P Evaluation Board
38 - silabs,brd8022a # WF200 Evaluation Board
39 - silabs,brd8023a # WFM200 Evaluation Board
40 - const: silabs,wf200 # Chip alone without antenna
44 When used on SDIO bus, <reg> must be set to 1. When used on SPI bus, it is
45 the chip select address of the device as defined in the SPI devices
50 description: The interrupt line. Should be IRQ_TYPE_EDGE_RISING. When SPI is
51 used, this property is required. When SDIO is used, the "in-band"
52 interrupt provided by the SDIO bus is used unless an interrupt is defined
57 description: (SPI only) Phandle of gpio that will be used to reset chip
58 during probe. Without this property, you may encounter issues with warm
61 For SDIO, the reset gpio should declared using a mmc-pwrseq.
65 description: Phandle of gpio that will be used to wake-up chip. Without this
66 property, driver will disable most of power saving features.
69 silabs,antenna-config-file:
70 $ref: /schemas/types.yaml#/definitions/string
71 description: Use an alternative file for antenna configuration (aka
72 "Platform Data Set" in Silabs jargon). Default depends of "compatible"
73 string. For "silabs,wf200", the default is 'wf200.pds'.
75 local-mac-address: true
84 - $ref: /schemas/spi/spi-peripheral-props.yaml#
86 unevaluatedProperties: false
90 #include <dt-bindings/gpio/gpio.h>
91 #include <dt-bindings/interrupt-controller/irq.h>
98 compatible = "silabs,brd8022a", "silabs,wf200";
99 pinctrl-names = "default";
100 pinctrl-0 = <&wfx_irq &wfx_gpios>;
102 interrupts-extended = <&gpio 16 IRQ_TYPE_EDGE_RISING>;
103 wakeup-gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
104 reset-gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
105 spi-max-frequency = <42000000>;
110 #include <dt-bindings/gpio/gpio.h>
111 #include <dt-bindings/interrupt-controller/irq.h>
113 wfx_pwrseq: wfx_pwrseq {
114 compatible = "mmc-pwrseq-simple";
115 pinctrl-names = "default";
116 pinctrl-0 = <&wfx_reset>;
117 reset-gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
121 mmc-pwrseq = <&wfx_pwrseq>;
122 #address-cells = <1>;
126 compatible = "silabs,brd8022a", "silabs,wf200";
127 pinctrl-names = "default";
128 pinctrl-0 = <&wfx_wakeup>;
130 wakeup-gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;