[PATCH v2 1/3] spi: dt-bindings: nuvoton,ma35d1-qspi: Add MA35D1 SPI controller
flat view
WARM3d
From: Chi-Wen Weng <hidden>
Date: 2026-10-01 13:18:43
Also in:
linux-devicetree, linux-spi, lkml
Subsystem:
arm/nuvoton ma35 architecture, open firmware and flattened device tree bindings, spi subsystem, the rest · Maintainers:
Jacky Huang, Shan-Chun Hung, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Mark Brown, Linus Torvalds
From: Chi-Wen Weng <redacted> Extend the existing MA35D1 QSPI binding to also describe the MA35D1 SPI controller. The SPI and QSPI controllers are separate hardware IPs. QSPI additionally supports dual, quad and DTR transfers and a target-mode timeout function, but these differences do not require additional controller-specific Devicetree properties. Both controllers expose the same Devicetree-visible resources and provide up to two native chip-select signals. GPIO chip selects are supported through the generic SPI controller binding. Since the MA35D1 QSPI driver now supports GPIO chip selects, also remove the existing restriction on cs-gpios for the QSPI compatible. Add the nuvoton,ma35d1-spi compatible and update the binding description and examples to cover both controllers. Signed-off-by: Chi-Wen Weng <redacted> --- .../bindings/spi/nuvoton,ma35d1-qspi.yaml | 41 +++++++++++++++++-- 1 file changed, 37 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/spi/nuvoton,ma35d1-qspi.yaml b/Documentation/devicetree/bindings/spi/nuvoton,ma35d1-qspi.yaml
index 40965ec5163b..72f2e1e1219a 100644
--- a/Documentation/devicetree/bindings/spi/nuvoton,ma35d1-qspi.yaml
+++ b/Documentation/devicetree/bindings/spi/nuvoton,ma35d1-qspi.yaml@@ -4,7 +4,17 @@ $id: http://devicetree.org/schemas/spi/nuvoton,ma35d1-qspi.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Nuvoton MA35D1 Quad SPI Controller +title: Nuvoton MA35D1 SPI and Quad SPI Controllers + +description: | + The Nuvoton MA35D1 SoC contains separate SPI and QSPI controller IPs. + Both controllers expose the same Devicetree-visible resources and provide + two native chip-select signals. GPIO chip selects are supported through the + generic SPI controller binding. + + The QSPI controller additionally supports dual, quad and DTR transfers and + a target-mode timeout function. These capability differences do not require + additional controller properties. maintainers: - Chi-Wen Weng <cwweng@nuvoton.com>
@@ -14,7 +24,9 @@ allOf: properties: compatible: - const: nuvoton,ma35d1-qspi + enum: + - nuvoton,ma35d1-spi + - nuvoton,ma35d1-qspi reg: maxItems: 1
@@ -33,8 +45,6 @@ properties: maximum: 2 default: 2 - cs-gpios: false - required: - compatible - reg
@@ -59,7 +69,30 @@ examples: interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clk QSPI0_GATE>; resets = <&sys MA35D1_RESET_QSPI0>; + + #address-cells = <1>; + #size-cells = <0>; + }; + }; + + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/clock/nuvoton,ma35d1-clk.h> + #include <dt-bindings/reset/nuvoton,ma35d1-reset.h> + + soc { + #address-cells = <2>; + #size-cells = <2>; + + spi@40600000 { + compatible = "nuvoton,ma35d1-spi"; + reg = <0 0x40600000 0 0x10000>; + interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clk SPI0_GATE>; + resets = <&sys MA35D1_RESET_SPI0>; + #address-cells = <1>; #size-cells = <0>; }; }; +...
--
2.25.1