[PATCH] dt-bindings: mtd: st,spi-fsm: convert to DT schema

Akhila YS posted 1 patch 1 month ago
There is a newer version of this series
.../devicetree/bindings/mtd/st,spi-fsm.yaml        | 72 ++++++++++++++++++++++
Documentation/devicetree/bindings/mtd/st-fsm.txt   | 25 --------
2 files changed, 72 insertions(+), 25 deletions(-)
[PATCH] dt-bindings: mtd: st,spi-fsm: convert to DT schema
Posted by Akhila YS 1 month ago
Convert STMicroelectronics SPI FSM Serial NOR Flash Controller binding
to YAML format.

Signed-off-by: Akhila YS <akhilayalmati@gmail.com>
---
 .../devicetree/bindings/mtd/st,spi-fsm.yaml        | 72 ++++++++++++++++++++++
 Documentation/devicetree/bindings/mtd/st-fsm.txt   | 25 --------
 2 files changed, 72 insertions(+), 25 deletions(-)

diff --git a/Documentation/devicetree/bindings/mtd/st,spi-fsm.yaml b/Documentation/devicetree/bindings/mtd/st,spi-fsm.yaml
new file mode 100644
index 000000000000..f374c6aaa185
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/st,spi-fsm.yaml
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mtd/st,spi-fsm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: STMicroelectronics SPI FSM Serial NOR Flash Controller
+
+maintainers:
+  - Miquel Raynal <miquel.raynal@bootlin.com>
+  - Richard Weinberger <richard@nod.at>
+
+description:
+  The STMicroelectronics Fast Sequence Mode (FSM) controller is a dedicated
+  hardware accelerator integrated in older STiH4xx/STiDxxx set-top box SoCs
+  (such as STiH407, STiH416, STiD127). It connects directly to a single
+  external serial flash device used as the primary boot device. The FSM
+  executes hard-coded or configurable instruction sequences in hardware,
+  providing low-latency reads suitable for execute-in-place (XIP) boot
+  and high read bandwidth.
+
+properties:
+  compatible:
+    const: st,spi-fsm
+
+  reg:
+    maxItems: 1
+
+  reg-names:
+    const: spi-fsm
+
+  interrupts:
+    maxItems: 1
+
+  pinctrl-0:
+    maxItems: 1
+
+  st,syscfg:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: Phandle to the system configuration registers used for boot-device selection.
+
+  st,boot-device-reg:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: Offset of the boot-device register within the st,syscfg node.
+
+  st,boot-device-spi:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: Expected boot-device value when booting from this SPI controller.
+
+required:
+  - compatible
+  - reg
+  - reg-names
+  - interrupts
+  - pinctrl-0
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    spifsm@fe902000 {
+        compatible = "st,spi-fsm";
+        reg = <0xfe902000 0x1000>;
+        reg-names = "spi-fsm";
+        interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
+        pinctrl-0 = <&pinctrl_fsm>;
+        st,syscfg = <&syscfg_rear>;
+        st,boot-device-reg = <0x958>;
+        st,boot-device-spi = <0x1a>;
+    };
+...
diff --git a/Documentation/devicetree/bindings/mtd/st-fsm.txt b/Documentation/devicetree/bindings/mtd/st-fsm.txt
deleted file mode 100644
index 54cef9ef3083..000000000000
--- a/Documentation/devicetree/bindings/mtd/st-fsm.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-* ST-Microelectronics SPI FSM Serial (NOR) Flash Controller
-
-Required properties:
-  - compatible : Should be "st,spi-fsm"
-  - reg        : Contains register's location and length.
-  - reg-names  : Should contain the reg names "spi-fsm"
-  - interrupts : The interrupt number
-  - pinctrl-0  : Standard Pinctrl phandle (see: pinctrl/pinctrl-bindings.txt)
-
-Optional properties:
-  - st,syscfg          : Phandle to boot-device system configuration registers
-  - st,boot-device-reg : Address of the aforementioned boot-device register(s)
-  - st,boot-device-spi : Expected boot-device value if booted via this device
-
-Example:
-	spifsm: spifsm@fe902000{
-	        compatible         = "st,spi-fsm";
-	        reg                =  <0xfe902000 0x1000>;
-	        reg-names          = "spi-fsm";
-	        pinctrl-0          = <&pinctrl_fsm>;
-		st,syscfg	   = <&syscfg_rear>;
-	        st,boot-device-reg = <0x958>;
-	        st,boot-device-spi = <0x1a>;
-	};
-

---
base-commit: cc3aa43b44bdb43dfbac0fcb51c56594a11338a8
change-id: 20251231-st-fsm-84b343517035

Best regards,
-- 
Akhila YS <akhilayalmati@gmail.com>
Re: [PATCH] dt-bindings: mtd: st,spi-fsm: convert to DT schema
Posted by Rob Herring 1 month ago
On Mon, Jan 05, 2026 at 04:07:59PM +0000, Akhila YS wrote:
> Convert STMicroelectronics SPI FSM Serial NOR Flash Controller binding
> to YAML format.

s/YAML/DT Schema/

> 
> Signed-off-by: Akhila YS <akhilayalmati@gmail.com>
> ---
>  .../devicetree/bindings/mtd/st,spi-fsm.yaml        | 72 ++++++++++++++++++++++
>  Documentation/devicetree/bindings/mtd/st-fsm.txt   | 25 --------
>  2 files changed, 72 insertions(+), 25 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mtd/st,spi-fsm.yaml b/Documentation/devicetree/bindings/mtd/st,spi-fsm.yaml
> new file mode 100644
> index 000000000000..f374c6aaa185
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/st,spi-fsm.yaml
> @@ -0,0 +1,72 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/st,spi-fsm.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: STMicroelectronics SPI FSM Serial NOR Flash Controller
> +
> +maintainers:
> +  - Miquel Raynal <miquel.raynal@bootlin.com>
> +  - Richard Weinberger <richard@nod.at>

This should be someone with this h/w, not the subsystem maintainers.

> +
> +description:
> +  The STMicroelectronics Fast Sequence Mode (FSM) controller is a dedicated
> +  hardware accelerator integrated in older STiH4xx/STiDxxx set-top box SoCs
> +  (such as STiH407, STiH416, STiD127). It connects directly to a single
> +  external serial flash device used as the primary boot device. The FSM
> +  executes hard-coded or configurable instruction sequences in hardware,
> +  providing low-latency reads suitable for execute-in-place (XIP) boot
> +  and high read bandwidth.
> +
> +properties:
> +  compatible:
> +    const: st,spi-fsm
> +
> +  reg:
> +    maxItems: 1
> +
> +  reg-names:
> +    const: spi-fsm
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  pinctrl-0:
> +    maxItems: 1

Drop. pinctrl properties are implicit.

> +
> +  st,syscfg:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    description: Phandle to the system configuration registers used for boot-device selection.
> +
> +  st,boot-device-reg:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Offset of the boot-device register within the st,syscfg node.
> +
> +  st,boot-device-spi:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Expected boot-device value when booting from this SPI controller.
> +
> +required:
> +  - compatible
> +  - reg
> +  - reg-names
> +  - interrupts
> +  - pinctrl-0
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    spifsm@fe902000 {
> +        compatible = "st,spi-fsm";
> +        reg = <0xfe902000 0x1000>;
> +        reg-names = "spi-fsm";
> +        interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
> +        pinctrl-0 = <&pinctrl_fsm>;
> +        st,syscfg = <&syscfg_rear>;
> +        st,boot-device-reg = <0x958>;
> +        st,boot-device-spi = <0x1a>;
> +    };
> +...
> diff --git a/Documentation/devicetree/bindings/mtd/st-fsm.txt b/Documentation/devicetree/bindings/mtd/st-fsm.txt
> deleted file mode 100644
> index 54cef9ef3083..000000000000
> --- a/Documentation/devicetree/bindings/mtd/st-fsm.txt
> +++ /dev/null
> @@ -1,25 +0,0 @@
> -* ST-Microelectronics SPI FSM Serial (NOR) Flash Controller
> -
> -Required properties:
> -  - compatible : Should be "st,spi-fsm"
> -  - reg        : Contains register's location and length.
> -  - reg-names  : Should contain the reg names "spi-fsm"
> -  - interrupts : The interrupt number
> -  - pinctrl-0  : Standard Pinctrl phandle (see: pinctrl/pinctrl-bindings.txt)
> -
> -Optional properties:
> -  - st,syscfg          : Phandle to boot-device system configuration registers
> -  - st,boot-device-reg : Address of the aforementioned boot-device register(s)
> -  - st,boot-device-spi : Expected boot-device value if booted via this device
> -
> -Example:
> -	spifsm: spifsm@fe902000{
> -	        compatible         = "st,spi-fsm";
> -	        reg                =  <0xfe902000 0x1000>;
> -	        reg-names          = "spi-fsm";
> -	        pinctrl-0          = <&pinctrl_fsm>;
> -		st,syscfg	   = <&syscfg_rear>;
> -	        st,boot-device-reg = <0x958>;
> -	        st,boot-device-spi = <0x1a>;
> -	};
> -
> 
> ---
> base-commit: cc3aa43b44bdb43dfbac0fcb51c56594a11338a8
> change-id: 20251231-st-fsm-84b343517035
> 
> Best regards,
> -- 
> Akhila YS <akhilayalmati@gmail.com>
>