[1/3] spi: dt-bindings: sun6i: Allow Dual SPI and Quad SPI for newer SoCs
Commit Message
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
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
@@ -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