[1/3] spi: dt-bindings: sun6i: Allow Dual SPI and Quad SPI for newer SoCs

Message ID 20260227175157.2339758-2-wens@kernel.org (mailing list archive)
State New
Headers
Series arm64: allwinner: sun55i-t527: avaota-a1: Add SPI NAND |

Commit Message

Chen-Yu Tsai Feb. 27, 2026, 5:51 p.m. UTC
Support for Dual SPI and Quad SPI was added to the Linux driver in
commit 0605d9fb411f ("spi: sun6i: add quirk for dual and quad SPI modes
support") and commit 25453d797d7a ("spi: sun6i: add dual and quad SPI
modes support for R329/D1/R528/T113s").

However the binding was never updated to allow these modes. Allow them
by adding 2 and 4 to the allowed bus widths for the newer variants.

While at it, also add 0 to the allowed bus widths. This signals that
RX or TX is not available, i.e. the MISO or MOSI pin is disconnected.

Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
---
 .../bindings/spi/allwinner,sun6i-a31-spi.yaml | 31 ++++++++++++++++---
 1 file changed, 26 insertions(+), 5 deletions(-)
  

Comments

Krzysztof Kozlowski Feb. 28, 2026, 11:08 a.m. UTC | #1
On Sat, Feb 28, 2026 at 01:51:53AM +0800, Chen-Yu Tsai wrote:
>  maintainers:
>    - Chen-Yu Tsai <wens@csie.org>
>    - Maxime Ripard <mripard@kernel.org>
> @@ -82,11 +79,35 @@ patternProperties:
>  
>        spi-rx-bus-width:
>          items:
> -          - const: 1
> +          enum: [0, 1, 2, 4]
>  
>        spi-tx-bus-width:
>          items:
> -          - const: 1
> +          enum: [0, 1, 2, 4]
> +
> +allOf:

Please place the allOf after required: block.

> +  - $ref: spi-controller.yaml
> +  - if:
> +      not:
> +        properties:
> +          compatible:
> +            contains:
> +              enum:
> +                - allwinner,sun50i-r329-spi
> +                - allwinner,sun55i-a523-spi
> +    then:
> +      patternProperties:
> +        "^.*@[0-9a-f]+":
> +          type: object

type is not needed here, already defined in top-level.

With these two changes:

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>

Best regards,
Krzysztof
  

Patch

diff --git a/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml b/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml
index a6067030c5ed..2197f65d878b 100644
--- a/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml
+++ b/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml
@@ -6,9 +6,6 @@  $schema: http://devicetree.org/meta-schemas/core.yaml#
 
 title: Allwinner A31 SPI Controller
 
-allOf:
-  - $ref: spi-controller.yaml
-
 maintainers:
   - Chen-Yu Tsai <wens@csie.org>
   - Maxime Ripard <mripard@kernel.org>
@@ -82,11 +79,35 @@  patternProperties:
 
       spi-rx-bus-width:
         items:
-          - const: 1
+          enum: [0, 1, 2, 4]
 
       spi-tx-bus-width:
         items:
-          - const: 1
+          enum: [0, 1, 2, 4]
+
+allOf:
+  - $ref: spi-controller.yaml
+  - if:
+      not:
+        properties:
+          compatible:
+            contains:
+              enum:
+                - allwinner,sun50i-r329-spi
+                - allwinner,sun55i-a523-spi
+    then:
+      patternProperties:
+        "^.*@[0-9a-f]+":
+          type: object
+
+          properties:
+            spi-rx-bus-width:
+              items:
+                enum: [0, 1]
+
+            spi-tx-bus-width:
+              items:
+                enum: [0, 1]
 
 required:
   - compatible