Search Linux Wireless

[PATCH] staging: wfx: fix DT bindings location

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx>

Currently, the DT bindings the wfx driver cannot be processed by make
dt_binding_check. We need to place it somewhere into
Documentation/devicetree/bindings/.

After that change, we are able to get warnings from dt_binding_check and
fix them.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx>
---

Rob, this patch includes fixes to comments you made here:
   https://lore.kernel.org/all/Yd4CjAM+3%2FPmLSyY@xxxxxxxxxxxxxxxxxx/

 .../staging}/net/wireless/silabs,wfx.yaml     | 59 +++++++++++--------
 MAINTAINERS                                   |  1 +
 2 files changed, 34 insertions(+), 26 deletions(-)
 rename {drivers/staging/wfx/Documentation/devicetree/bindings => Documentation/devicetree/bindings/staging}/net/wireless/silabs,wfx.yaml (71%)

diff --git a/drivers/staging/wfx/Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml b/Documentation/devicetree/bindings/staging/net/wireless/silabs,wfx.yaml
similarity index 71%
rename from drivers/staging/wfx/Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml
rename to Documentation/devicetree/bindings/staging/net/wireless/silabs,wfx.yaml
index c49496357180..105725a127ab 100644
--- a/drivers/staging/wfx/Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml
+++ b/Documentation/devicetree/bindings/staging/net/wireless/silabs,wfx.yaml
@@ -3,7 +3,7 @@
 %YAML 1.2
 ---
 
-$id: http://devicetree.org/schemas/net/wireless/silabs,wfx.yaml#
+$id: http://devicetree.org/schemas/staging/net/wireless/silabs,wfx.yaml#
 $schema: http://devicetree.org/meta-schemas/core.yaml#
 
 title: Silicon Labs WFxxx devicetree bindings
@@ -11,32 +11,30 @@ title: Silicon Labs WFxxx devicetree bindings
 maintainers:
   - Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx>
 
-description:
-  The WFxxx chip series can be connected via SPI or via SDIO.
+description: >
+  Support for the Wifi chip WFxxx from Silicon Labs. Currently, the only device
+  from the WFxxx series is the WF200 described here:
+     https://www.silabs.com/documents/public/data-sheets/wf200-datasheet.pdf
 
-  For SDIO':'
+  The WF200 can be connected via SPI or via SDIO.
 
-    The driver is able to detect a WFxxx chip on SDIO bus by matching its Vendor
-    ID and Product ID. However, driver will only provide limited features in
-    this case. Thus declaring WFxxx chip in device tree is recommended (and may
-    become mandatory in the future).
+  For SDIO:
 
-    In addition, it is recommended to declare a mmc-pwrseq on SDIO host above
-    WFx. Without it, you may encounter issues with warm boot. The mmc-pwrseq
-    should be compatible with mmc-pwrseq-simple. Please consult
+    Declaring the WFxxx chip in device tree is mandatory (usually, the VID/PID is
+    sufficient for the SDIO devices).
+
+    It is recommended to declare a mmc-pwrseq on SDIO host above WFx. Without
+    it, you may encounter issues during reboot. The mmc-pwrseq should be
+    compatible with mmc-pwrseq-simple. Please consult
     Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.yaml for more
     information.
 
-  For SPI':'
+  For SPI:
 
     In add of the properties below, please consult
     Documentation/devicetree/bindings/spi/spi-controller.yaml for optional SPI
     related properties.
 
-  Note that in add of the properties below, the WFx driver also supports
-  `mac-address` and `local-mac-address` as described in
-  Documentation/devicetree/bindings/net/ethernet.txt
-
 properties:
   compatible:
     items:
@@ -45,22 +43,23 @@ properties:
           - silabs,brd8022a # WF200 Evaluation Board
           - silabs,brd8023a # WFM200 Evaluation Board
       - const: silabs,wf200 # Chip alone without antenna
+
   reg:
     description:
       When used on SDIO bus, <reg> must be set to 1. When used on SPI bus, it is
       the chip select address of the device as defined in the SPI devices
       bindings.
     maxItems: 1
-  spi-max-frequency:
-    description: (SPI only) Maximum SPI clocking speed of device in Hz.
-    maxItems: 1
+
+  spi-max-frequency: true
+
   interrupts:
-    description: The interrupt line. Triggers IRQ_TYPE_LEVEL_HIGH and
-      IRQ_TYPE_EDGE_RISING are both supported by the chip and the driver. When
-      SPI is used, this property is required. When SDIO is used, the "in-band"
+    description: The interrupt line. Should be IRQ_TYPE_EDGE_RISING. When SPI is
+      used, this property is required. When SDIO is used, the "in-band"
       interrupt provided by the SDIO bus is used unless an interrupt is defined
       in the Device Tree.
     maxItems: 1
+
   reset-gpios:
     description: (SPI only) Phandle of gpio that will be used to reset chip
       during probe. Without this property, you may encounter issues with warm
@@ -68,16 +67,24 @@ properties:
 
       For SDIO, the reset gpio should declared using a mmc-pwrseq.
     maxItems: 1
+
   wakeup-gpios:
     description: Phandle of gpio that will be used to wake-up chip. Without this
       property, driver will disable most of power saving features.
     maxItems: 1
+
   silabs,antenna-config-file:
     $ref: /schemas/types.yaml#/definitions/string
     description: Use an alternative file for antenna configuration (aka
       "Platform Data Set" in Silabs jargon). Default depends of "compatible"
       string. For "silabs,wf200", the default is 'wf200.pds'.
 
+  local-mac-address: true
+
+  mac-address: true
+
+additionalProperties: false
+
 required:
   - compatible
   - reg
@@ -87,11 +94,11 @@ examples:
     #include <dt-bindings/gpio/gpio.h>
     #include <dt-bindings/interrupt-controller/irq.h>
 
-    spi0 {
+    spi {
         #address-cells = <1>;
         #size-cells = <0>;
 
-        wfx@0 {
+        wifi@0 {
             compatible = "silabs,brd8022a", "silabs,wf200";
             pinctrl-names = "default";
             pinctrl-0 = <&wfx_irq &wfx_gpios>;
@@ -114,12 +121,12 @@ examples:
         reset-gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
     };
 
-    mmc0 {
+    mmc {
         mmc-pwrseq = <&wfx_pwrseq>;
         #address-cells = <1>;
         #size-cells = <0>;
 
-        mmc@1 {
+        wifi@1 {
             compatible = "silabs,brd8022a", "silabs,wf200";
             pinctrl-names = "default";
             pinctrl-0 = <&wfx_wakeup>;
diff --git a/MAINTAINERS b/MAINTAINERS
index fca970a46e77..65227f6aabd0 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -17652,6 +17652,7 @@ F:	drivers/platform/x86/touchscreen_dmi.c
 SILICON LABS WIRELESS DRIVERS (for WFxxx series)
 M:	Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx>
 S:	Supported
+F:	Documentation/devicetree/bindings/staging/net/wireless/silabs,wfx.yaml
 F:	drivers/staging/wfx/
 
 SILICON MOTION SM712 FRAME BUFFER DRIVER
-- 
2.34.1





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux