[12/28] spi: dt-bindings: spi-controller: Slaves have no address cells

Message ID 20200317093922.20785-13-lkundrak@v3.sk
State New
Headers show
Series
  • Untitled series #36071
Related show

Commit Message

Lubomir Rintel March 17, 2020, 9:39 a.m.
SPI controllers in slave mode have a single child node that has no
address. Enforce #address-cells of zero instead of one.

Fixes: 0a1b929356830 ("spi: Add YAML schemas for the generic SPI options")
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 .../bindings/spi/spi-controller.yaml          | 23 ++++++++++++++-----
 1 file changed, 17 insertions(+), 6 deletions(-)

Patch

diff --git a/Documentation/devicetree/bindings/spi/spi-controller.yaml b/Documentation/devicetree/bindings/spi/spi-controller.yaml
index d8e5509a70816..30d774cf6cc95 100644
--- a/Documentation/devicetree/bindings/spi/spi-controller.yaml
+++ b/Documentation/devicetree/bindings/spi/spi-controller.yaml
@@ -15,16 +15,27 @@  description: |
   controller may be described for use in SPI master mode or in SPI slave mode,
   but not for both at the same time.
 
+allOf:
+  - if:
+      required:
+        - spi-slave
+    then:
+      properties:
+        "#address-cells":
+          const: 0
+        "#size-cells":
+          const: 0
+    else:
+      properties:
+        "#address-cells":
+          const: 1
+        "#size-cells":
+          const: 0
+
 properties:
   $nodename:
     pattern: "^spi(@.*|-[0-9a-f])*$"
 
-  "#address-cells":
-    const: 1
-
-  "#size-cells":
-    const: 0
-
   cs-gpios:
     description: |
       GPIOs used as chip selects.