Unverified Commit 743956bb authored by Chen-Yu Tsai's avatar Chen-Yu Tsai Committed by Mark Brown
Browse files

spi: dt-bindings: sun6i: Allow Dual SPI and Quad SPI for newer SoCs



Support for Dual SPI and Quad SPI was added to the Linux driver in
commit 0605d9fb ("spi: sun6i: add quirk for dual and quad SPI modes
support") and commit 25453d79 ("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.

Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: default avatarChen-Yu Tsai <wens@kernel.org>
Link: https://patch.msgid.link/20260302153559.3199783-2-wens@kernel.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 85b731ad
Loading
Loading
Loading
Loading
+24 −5
Original line number Diff line number Diff line
@@ -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,11 @@ 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]

required:
  - compatible
@@ -95,6 +92,28 @@ required:
  - clocks
  - clock-names

allOf:
  - $ref: spi-controller.yaml
  - if:
      not:
        properties:
          compatible:
            contains:
              enum:
                - allwinner,sun50i-r329-spi
                - allwinner,sun55i-a523-spi
    then:
      patternProperties:
        "^.*@[0-9a-f]+":
          properties:
            spi-rx-bus-width:
              items:
                enum: [0, 1]

            spi-tx-bus-width:
              items:
                enum: [0, 1]

unevaluatedProperties: false

examples: