* [PATCH v2 0/2] Nuvoton NPCM FIU DTS fixes and binding conversion
@ 2026-06-08 17:54 Tomer Maimon
2026-06-08 17:54 ` [PATCH v2 1/2] arm: dts: nuvoton: npcm7xx: Drop bogus FIU memory reg-names Tomer Maimon
2026-06-08 17:54 ` [PATCH v2 2/2] spi: dt-bindings: nuvoton,npcm-fiu: Convert to DT schema Tomer Maimon
0 siblings, 2 replies; 5+ messages in thread
From: Tomer Maimon @ 2026-06-08 17:54 UTC (permalink / raw)
To: andrew, broonie, robh, krzk+dt, conor+dt
Cc: openbmc, linux-spi, devicetree, linux-kernel, avifishman70,
tmaimon77, tali.perry1, venture, yuenn, benjaminfair
This series fixes the in-tree NPCM7xx FIU controller nodes so their
resources match what the DTS actually describes, and converts the legacy
Nuvoton NPCM FIU binding to YAML DT schema.
Patch 1 drops the bogus "memory" entry from reg-names on the NPCM7xx FIU
nodes, which only describe the control register window today.
Patch 2 replaces the TXT binding with a YAML schema, documents the optional
memory-mapped flash window explicitly, and accepts the existing FIU
clock-names used by the in-tree DTS users.
Addressed comments from:
- Krzysztof Kozlowski : https://lkml.org/lkml/2025/11/13/473
Changes since version 1:
- Drop interrupts property.
- Drop unused label.
- Keep reg as the second property, followed by reg-names.
Tomer Maimon (2):
arm: dts: nuvoton: npcm7xx: Drop bogus FIU memory reg-names
spi: dt-bindings: nuvoton,npcm-fiu: Convert to DT schema
.../bindings/spi/nuvoton,npcm-fiu.txt | 58 ------------
.../bindings/spi/nuvoton,npcm-fiu.yaml | 91 +++++++++++++++++++
.../dts/nuvoton/nuvoton-common-npcm7xx.dtsi | 6 +-
3 files changed, 94 insertions(+), 61 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/spi/nuvoton,npcm-fiu.txt
create mode 100644 Documentation/devicetree/bindings/spi/nuvoton,npcm-fiu.yaml
--
2.34.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 1/2] arm: dts: nuvoton: npcm7xx: Drop bogus FIU memory reg-names
2026-06-08 17:54 [PATCH v2 0/2] Nuvoton NPCM FIU DTS fixes and binding conversion Tomer Maimon
@ 2026-06-08 17:54 ` Tomer Maimon
2026-06-09 7:13 ` Krzysztof Kozlowski
2026-06-08 17:54 ` [PATCH v2 2/2] spi: dt-bindings: nuvoton,npcm-fiu: Convert to DT schema Tomer Maimon
1 sibling, 1 reply; 5+ messages in thread
From: Tomer Maimon @ 2026-06-08 17:54 UTC (permalink / raw)
To: andrew, broonie, robh, krzk+dt, conor+dt
Cc: openbmc, linux-spi, devicetree, linux-kernel, avifishman70,
tmaimon77, tali.perry1, venture, yuenn, benjaminfair
The NPCM7xx FIU controller nodes only describe the control register block,
but they still advertise a second "memory" entry in reg-names. Drop the
bogus name so the DTS matches the resources actually present in each node.
Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
---
arch/arm/boot/dts/nuvoton/nuvoton-common-npcm7xx.dtsi | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/nuvoton/nuvoton-common-npcm7xx.dtsi b/arch/arm/boot/dts/nuvoton/nuvoton-common-npcm7xx.dtsi
index ab3c3c5713ae..a16450abea0e 100644
--- a/arch/arm/boot/dts/nuvoton/nuvoton-common-npcm7xx.dtsi
+++ b/arch/arm/boot/dts/nuvoton/nuvoton-common-npcm7xx.dtsi
@@ -191,7 +191,7 @@ fiu0: spi@fb000000 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfb000000 0x1000>;
- reg-names = "control", "memory";
+ reg-names = "control";
clocks = <&clk NPCM7XX_CLK_SPI0>;
clock-names = "clk_spi0";
status = "disabled";
@@ -202,7 +202,7 @@ fiu3: spi@c0000000 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0xc0000000 0x1000>;
- reg-names = "control", "memory";
+ reg-names = "control";
clocks = <&clk NPCM7XX_CLK_SPI3>;
clock-names = "clk_spi3";
pinctrl-names = "default";
@@ -215,7 +215,7 @@ fiux: spi@fb001000 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfb001000 0x1000>;
- reg-names = "control", "memory";
+ reg-names = "control";
clocks = <&clk NPCM7XX_CLK_SPIX>;
clock-names = "clk_spix";
status = "disabled";
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 2/2] spi: dt-bindings: nuvoton,npcm-fiu: Convert to DT schema
2026-06-08 17:54 [PATCH v2 0/2] Nuvoton NPCM FIU DTS fixes and binding conversion Tomer Maimon
2026-06-08 17:54 ` [PATCH v2 1/2] arm: dts: nuvoton: npcm7xx: Drop bogus FIU memory reg-names Tomer Maimon
@ 2026-06-08 17:54 ` Tomer Maimon
2026-06-09 7:16 ` Krzysztof Kozlowski
1 sibling, 1 reply; 5+ messages in thread
From: Tomer Maimon @ 2026-06-08 17:54 UTC (permalink / raw)
To: andrew, broonie, robh, krzk+dt, conor+dt
Cc: openbmc, linux-spi, devicetree, linux-kernel, avifishman70,
tmaimon77, tali.perry1, venture, yuenn, benjaminfair
Convert the Nuvoton NPCM FIU binding to DT schema format.
Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
---
.../bindings/spi/nuvoton,npcm-fiu.txt | 58 ------------
.../bindings/spi/nuvoton,npcm-fiu.yaml | 91 +++++++++++++++++++
2 files changed, 91 insertions(+), 58 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/spi/nuvoton,npcm-fiu.txt
create mode 100644 Documentation/devicetree/bindings/spi/nuvoton,npcm-fiu.yaml
diff --git a/Documentation/devicetree/bindings/spi/nuvoton,npcm-fiu.txt b/Documentation/devicetree/bindings/spi/nuvoton,npcm-fiu.txt
deleted file mode 100644
index fb38e96d395f..000000000000
--- a/Documentation/devicetree/bindings/spi/nuvoton,npcm-fiu.txt
+++ /dev/null
@@ -1,58 +0,0 @@
-* Nuvoton FLASH Interface Unit (FIU) SPI Controller
-
-NPCM FIU supports single, dual and quad communication interface.
-
-The NPCM7XX supports three FIU modules,
-FIU0 and FIUx supports two chip selects,
-FIU3 support four chip select.
-
-The NPCM8XX supports four FIU modules,
-FIU0 and FIUx supports two chip selects,
-FIU1 and FIU3 supports four chip selects.
-
-Required properties:
- - compatible : "nuvoton,npcm750-fiu" for Poleg NPCM7XX BMC
- "nuvoton,npcm845-fiu" for Arbel NPCM8XX BMC
- - #address-cells : should be 1.
- - #size-cells : should be 0.
- - reg : the first contains the register location and length,
- the second contains the memory mapping address and length
- - reg-names: Should contain the reg names "control" and "memory"
- - clocks : phandle of FIU reference clock.
-
-Required properties in case the pins can be muxed:
- - pinctrl-names : a pinctrl state named "default" must be defined.
- - pinctrl-0 : phandle referencing pin configuration of the device.
-
-Optional property:
- - nuvoton,spix-mode: enable spix-mode for an expansion bus to an ASIC or CPLD.
-
-Aliases:
-- All the FIU controller nodes should be represented in the aliases node using
- the following format 'fiu{n}' where n is a unique number for the alias.
- In the NPCM7XX BMC:
- fiu0 represent fiu 0 controller
- fiu1 represent fiu 3 controller
- fiu2 represent fiu x controller
-
- In the NPCM8XX BMC:
- fiu0 represent fiu 0 controller
- fiu1 represent fiu 1 controller
- fiu2 represent fiu 3 controller
- fiu3 represent fiu x controller
-
-Example:
-fiu3: spi@c00000000 {
- compatible = "nuvoton,npcm750-fiu";
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <0xfb000000 0x1000>, <0x80000000 0x10000000>;
- reg-names = "control", "memory";
- clocks = <&clk NPCM7XX_CLK_AHB>;
- pinctrl-names = "default";
- pinctrl-0 = <&spi3_pins>;
- flash@0 {
- ...
- };
-};
-
diff --git a/Documentation/devicetree/bindings/spi/nuvoton,npcm-fiu.yaml b/Documentation/devicetree/bindings/spi/nuvoton,npcm-fiu.yaml
new file mode 100644
index 000000000000..0f95def01910
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/nuvoton,npcm-fiu.yaml
@@ -0,0 +1,91 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/spi/nuvoton,npcm-fiu.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Nuvoton NPCM Flash Interface Unit (FIU) SPI Controller
+
+maintainers:
+ - Tomer Maimon <tmaimon77@gmail.com>
+
+allOf:
+ - $ref: spi-controller.yaml#
+
+description: |
+ NPCM FIU supports single, dual and quad communication interface.
+
+ The NPCM7XX supports three FIU modules:
+ FIU0 and FIUx support two chip selects
+ FIU3 supports four chip selects.
+
+ The NPCM8XX supports four FIU modules:
+ FIU0 and FIUx support two chip selects
+ FIU1 and FIU3 support four chip selects.
+
+ Alias convention:
+ The '/aliases' node should define:
+ For NPCM7xx: fiu0=&fiu0; fiu1=&fiu3; fiu2=&fiux;
+ For NPCM8xx: fiu0=&fiu0; fiu1=&fiu3; fiu2=&fiux; fiu3=&fiu1;
+
+properties:
+ compatible:
+ enum:
+ - nuvoton,npcm750-fiu # Poleg NPCM7XX
+ - nuvoton,npcm845-fiu # Arbel NPCM8XX
+
+ reg:
+ minItems: 1
+ items:
+ - description: FIU registers
+ - description: Memory-mapped flash contents (optional)
+
+ reg-names:
+ minItems: 1
+ items:
+ - const: control
+ - const: memory
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ items:
+ - enum:
+ - clk_spi0
+ - clk_spi1
+ - clk_spi3
+ - clk_spix
+
+ nuvoton,spix-mode:
+ type: boolean
+ description: Enable SPIX mode for an expansion bus to an ASIC or CPLD.
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - clocks
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/nuvoton,npcm7xx-clock.h>
+ spi@fb000000 {
+ compatible = "nuvoton,npcm750-fiu";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0xfb000000 0x1000>, <0x80000000 0x10000000>;
+ reg-names = "control", "memory";
+ clocks = <&clk NPCM7XX_CLK_AHB>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi3_pins>;
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ };
+ };
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] arm: dts: nuvoton: npcm7xx: Drop bogus FIU memory reg-names
2026-06-08 17:54 ` [PATCH v2 1/2] arm: dts: nuvoton: npcm7xx: Drop bogus FIU memory reg-names Tomer Maimon
@ 2026-06-09 7:13 ` Krzysztof Kozlowski
0 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2026-06-09 7:13 UTC (permalink / raw)
To: Tomer Maimon
Cc: andrew, broonie, robh, krzk+dt, conor+dt, openbmc, linux-spi,
devicetree, linux-kernel, avifishman70, tali.perry1, venture,
yuenn, benjaminfair
On Mon, Jun 08, 2026 at 08:54:17PM +0300, Tomer Maimon wrote:
> The NPCM7xx FIU controller nodes only describe the control register block,
> but they still advertise a second "memory" entry in reg-names. Drop the
> bogus name so the DTS matches the resources actually present in each node.
>
> Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
> ---
> arch/arm/boot/dts/nuvoton/nuvoton-common-npcm7xx.dtsi | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/2] spi: dt-bindings: nuvoton,npcm-fiu: Convert to DT schema
2026-06-08 17:54 ` [PATCH v2 2/2] spi: dt-bindings: nuvoton,npcm-fiu: Convert to DT schema Tomer Maimon
@ 2026-06-09 7:16 ` Krzysztof Kozlowski
0 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2026-06-09 7:16 UTC (permalink / raw)
To: Tomer Maimon
Cc: andrew, broonie, robh, krzk+dt, conor+dt, openbmc, linux-spi,
devicetree, linux-kernel, avifishman70, tali.perry1, venture,
yuenn, benjaminfair
On Mon, Jun 08, 2026 at 08:54:18PM +0300, Tomer Maimon wrote:
> Convert the Nuvoton NPCM FIU binding to DT schema format.
You should explain here why second 'reg' is optional. It wasn't in
original binding, so you made a change to the binding during conversion.
...
> -
> diff --git a/Documentation/devicetree/bindings/spi/nuvoton,npcm-fiu.yaml b/Documentation/devicetree/bindings/spi/nuvoton,npcm-fiu.yaml
> new file mode 100644
> index 000000000000..0f95def01910
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/spi/nuvoton,npcm-fiu.yaml
Filename: nuvoton,npcm750-fiu.yaml
> @@ -0,0 +1,91 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/spi/nuvoton,npcm-fiu.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Nuvoton NPCM Flash Interface Unit (FIU) SPI Controller
> +
> +maintainers:
> + - Tomer Maimon <tmaimon77@gmail.com>
> +
> +allOf:
> + - $ref: spi-controller.yaml#
> +
> +description: |
> + NPCM FIU supports single, dual and quad communication interface.
> +
> + The NPCM7XX supports three FIU modules:
> + FIU0 and FIUx support two chip selects
> + FIU3 supports four chip selects.
> +
> + The NPCM8XX supports four FIU modules:
> + FIU0 and FIUx support two chip selects
> + FIU1 and FIU3 support four chip selects.
> +
> + Alias convention:
> + The '/aliases' node should define:
> + For NPCM7xx: fiu0=&fiu0; fiu1=&fiu3; fiu2=&fiux;
> + For NPCM8xx: fiu0=&fiu0; fiu1=&fiu3; fiu2=&fiux; fiu3=&fiu1;
> +
> +properties:
> + compatible:
> + enum:
> + - nuvoton,npcm750-fiu # Poleg NPCM7XX
> + - nuvoton,npcm845-fiu # Arbel NPCM8XX
> +
> + reg:
> + minItems: 1
> + items:
> + - description: FIU registers
> + - description: Memory-mapped flash contents (optional)
> +
> + reg-names:
> + minItems: 1
> + items:
> + - const: control
> + - const: memory
> +
> + clocks:
> + maxItems: 1
> +
> + clock-names:
> + items:
> + - enum:
> + - clk_spi0
> + - clk_spi1
> + - clk_spi3
> + - clk_spix
This wasn't in the original binding. Nothing explains why it was added.
> +
> + nuvoton,spix-mode:
> + type: boolean
> + description: Enable SPIX mode for an expansion bus to an ASIC or CPLD.
> +
> +required:
> + - compatible
> + - reg
> + - reg-names
> + - clocks
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/nuvoton,npcm7xx-clock.h>
> + spi@fb000000 {
> + compatible = "nuvoton,npcm750-fiu";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0xfb000000 0x1000>, <0x80000000 0x10000000>;
> + reg-names = "control", "memory";
reg and reg-names follow compatible.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-06-09 7:16 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-08 17:54 [PATCH v2 0/2] Nuvoton NPCM FIU DTS fixes and binding conversion Tomer Maimon
2026-06-08 17:54 ` [PATCH v2 1/2] arm: dts: nuvoton: npcm7xx: Drop bogus FIU memory reg-names Tomer Maimon
2026-06-09 7:13 ` Krzysztof Kozlowski
2026-06-08 17:54 ` [PATCH v2 2/2] spi: dt-bindings: nuvoton,npcm-fiu: Convert to DT schema Tomer Maimon
2026-06-09 7:16 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox