Re: [PATCH v8 02/24] dt-bindings: introduce silabs,wfx.yaml

2021-10-05 Thread Rob Herring
On Tue, 05 Oct 2021 15:53:38 +0200, Jerome Pouiller wrote:
> From: Jérôme Pouiller 
> 
> Prepare the inclusion of the wfx driver in the kernel.
> 
> Signed-off-by: Jérôme Pouiller 
> ---
>  .../bindings/net/wireless/silabs,wfx.yaml | 137 ++
>  1 file changed, 137 insertions(+)
>  create mode 100644 
> Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:
./Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml:39:31: [error] 
syntax error: mapping values are not allowed here (syntax)

dtschema/dtc warnings/errors:
make[1]: *** Deleting file 
'Documentation/devicetree/bindings/net/wireless/silabs,wfx.example.dts'
Traceback (most recent call last):
  File "/usr/local/bin/dt-extract-example", line 45, in 
binding = yaml.load(open(args.yamlfile, encoding='utf-8').read())
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line 434, 
in load
return constructor.get_single_data()
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", 
line 120, in get_single_data
node = self.composer.get_single_node()
  File "_ruamel_yaml.pyx", line 706, in _ruamel_yaml.CParser.get_single_node
  File "_ruamel_yaml.pyx", line 724, in _ruamel_yaml.CParser._compose_document
  File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
  File "_ruamel_yaml.pyx", line 889, in 
_ruamel_yaml.CParser._compose_mapping_node
  File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
  File "_ruamel_yaml.pyx", line 891, in 
_ruamel_yaml.CParser._compose_mapping_node
  File "_ruamel_yaml.pyx", line 904, in _ruamel_yaml.CParser._parse_next_event
ruamel.yaml.scanner.ScannerError: mapping values are not allowed in this context
  in "", line 39, column 31
make[1]: *** [Documentation/devicetree/bindings/Makefile:20: 
Documentation/devicetree/bindings/net/wireless/silabs,wfx.example.dts] Error 1
make[1]: *** Waiting for unfinished jobs
./Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml:  mapping 
values are not allowed in this context
  in "", line 39, column 31
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml:
 ignoring, error parsing file
warning: no schema found in file: 
./Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml
make: *** [Makefile:1441: dt_binding_check] Error 2

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1536655

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v8 02/24] dt-bindings: introduce silabs,wfx.yaml

2021-10-05 Thread Jerome Pouiller
From: Jérôme Pouiller 

Prepare the inclusion of the wfx driver in the kernel.

Signed-off-by: Jérôme Pouiller 
---
 .../bindings/net/wireless/silabs,wfx.yaml | 137 ++
 1 file changed, 137 insertions(+)
 create mode 100644 
Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml

diff --git a/Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml 
b/Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml
new file mode 100644
index ..6dc30eb5661b
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml
@@ -0,0 +1,137 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (c) 2020, Silicon Laboratories, Inc.
+%YAML 1.2
+---
+
+$id: http://devicetree.org/schemas/net/wireless/silabs,wfx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Silicon Labs WFxxx devicetree bindings
+
+maintainers:
+  - Jérôme Pouiller 
+
+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
+
+  The WF200 can be connected via SPI or via SDIO.
+
+  For SDIO:
+
+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:
+
+In add of the properties below, please consult
+Documentation/devicetree/bindings/spi/spi-controller.yaml for optional SPI
+related properties.
+
+properties:
+  compatible: Should be one of:
+- "silabs,wf200": Chip alone without antenna
+- "silabs,brd4001a": Development board with a WF200 and an antenna
+- "silabs,brd8022a": Development board with a WF200 and an antenna
+- "silabs,brd8023a": Development board with a WF200 and an antenna
+
+  reg:
+description:
+  When used on SDIO bus,  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: 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"
+  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
+  boot. (For legacy purpose, the gpio in inverted when compatible ==
+  "silabs,wfx-spi")
+
+  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
+
+examples:
+  - |
+#include 
+#include 
+
+spi0 {
+#address-cells = <1>;
+#size-cells = <0>;
+
+wifi@0 {
+compatible = "silabs,wf200";
+pinctrl-names = "default";
+pinctrl-0 = <_irq _gpios>;
+reg = <0>;
+interrupts-extended = < 16 IRQ_TYPE_EDGE_RISING>;
+wakeup-gpios = < 12 GPIO_ACTIVE_HIGH>;
+reset-gpios = < 13 GPIO_ACTIVE_LOW>;
+spi-max-frequency = <4200>;
+};
+};
+
+  - |
+#include 
+#include 
+
+wfx_pwrseq: wfx_pwrseq {
+compatible = "mmc-pwrseq-simple";
+pinctrl-names = "default";
+pinctrl-0 = <_reset>;
+reset-gpios = < 13 GPIO_ACTIVE_LOW>;
+};
+
+mmc0 {
+mmc-pwrseq = <_pwrseq>;
+#address-cells = <1>;
+#size-cells = <0>;
+
+wifi@1 {
+compatible = "silabs,wf200";
+pinctrl-names = "default";
+pinctrl-0 = <_wakeup>;
+reg = <1>;
+wakeup-gpios = < 12 GPIO_ACTIVE_HIGH>;
+};
+};
+...
-- 
2.33.0

___
devel mailing list
de...@linuxdriverproject.org