diff mbox series

[1/1] dt-bindings: mtd: convert vf610-nfc to yaml format

Message ID 20250410210409.3234260-1-Frank.Li@nxp.com
State New
Headers show
Series [1/1] dt-bindings: mtd: convert vf610-nfc to yaml format | expand

Commit Message

Frank Li April 10, 2025, 9:04 p.m. UTC
Convert binding doc vf610-nfc to yaml format.

Additional changes:
- ref to nand-controller.yaml.
- include gic.h and clk.h in examples.
- add clocks and clock-names description.
- remove #address-cells, #size-cells assigned-clocks and
assigned-clock-rates.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
 .../bindings/mtd/fsl,vf610-nfc.yaml           | 84 +++++++++++++++++++
 .../devicetree/bindings/mtd/vf610-nfc.txt     | 59 -------------
 Makefile                                      |  2 +-
 3 files changed, 85 insertions(+), 60 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/fsl,vf610-nfc.yaml
 delete mode 100644 Documentation/devicetree/bindings/mtd/vf610-nfc.txt

Comments

Rob Herring (Arm) April 11, 2025, 7:30 p.m. UTC | #1
On Thu, Apr 10, 2025 at 05:04:09PM -0400, Frank Li wrote:
> Convert binding doc vf610-nfc to yaml format.
> 
> Additional changes:
> - ref to nand-controller.yaml.
> - include gic.h and clk.h in examples.
> - add clocks and clock-names description.
> - remove #address-cells, #size-cells assigned-clocks and
> assigned-clock-rates.
> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
>  .../bindings/mtd/fsl,vf610-nfc.yaml           | 84 +++++++++++++++++++
>  .../devicetree/bindings/mtd/vf610-nfc.txt     | 59 -------------
>  Makefile                                      |  2 +-
>  3 files changed, 85 insertions(+), 60 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mtd/fsl,vf610-nfc.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mtd/vf610-nfc.txt
> 
> diff --git a/Documentation/devicetree/bindings/mtd/fsl,vf610-nfc.yaml b/Documentation/devicetree/bindings/mtd/fsl,vf610-nfc.yaml
> new file mode 100644
> index 0000000000000..cffa621dbb022
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/fsl,vf610-nfc.yaml
> @@ -0,0 +1,84 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/fsl,vf610-nfc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Freescale's NAND flash controller (NFC)
> +
> +description:
> +  This variant of the Freescale NAND flash controller (NFC) can be found on
> +  Vybrid (vf610), MPC5125, MCF54418 and Kinetis K70.
> +
> +maintainers:
> +  - Frank Li <Frank.Li@nxp.com>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - fsl,vf610-nfc
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +
> +  clock-names:
> +    items:
> +      - const: nfc
> +
> +patternProperties:
> +  "^nand@[a-f0-9]$":
> +    type: object
> +    $ref: raw-nand-chip.yaml

blank line

> +    properties:
> +      compatible:
> +        const: fsl,vf610-nfc-nandcs

blank line

> +      reg:
> +        const: 0

blank line

> +      nand-ecc-strength:
> +        enum: [24, 32]

blank line
> +      nand-ecc-step-size:
> +        const: 2048

blank line

> +    unevaluatedProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +
> +allOf:
> +  - $ref: nand-controller.yaml
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    #include <dt-bindings/clock/vf610-clock.h>
> +
> +    nand-controller@400e0000 {
> +        compatible = "fsl,vf610-nfc";
> +        reg = <0x400e0000 0x4000>;
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +        interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
> +        clocks = <&clks VF610_CLK_NFC>;
> +        clock-names = "nfc";
> +        assigned-clocks = <&clks VF610_CLK_NFC>;
> +        assigned-clock-rates = <33000000>;
> +
> +        nand@0 {
> +            compatible = "fsl,vf610-nfc-nandcs";
> +            reg = <0>;
> +            nand-bus-width = <8>;
> +            nand-ecc-mode = "hw";
> +            nand-ecc-strength = <32>;
> +            nand-ecc-step-size = <2048>;
> +            nand-on-flash-bbt;
> +        };
> +    };
> diff --git a/Documentation/devicetree/bindings/mtd/vf610-nfc.txt b/Documentation/devicetree/bindings/mtd/vf610-nfc.txt
> deleted file mode 100644
> index 7db5e6e609df6..0000000000000
> --- a/Documentation/devicetree/bindings/mtd/vf610-nfc.txt
> +++ /dev/null
> @@ -1,59 +0,0 @@
> -Freescale's NAND flash controller (NFC)
> -
> -This variant of the Freescale NAND flash controller (NFC) can be found on
> -Vybrid (vf610), MPC5125, MCF54418 and Kinetis K70.
> -
> -Required properties:
> -- compatible: Should be set to "fsl,vf610-nfc".
> -- reg: address range of the NFC.
> -- interrupts: interrupt of the NFC.
> -- #address-cells: shall be set to 1. Encode the nand CS.
> -- #size-cells : shall be set to 0.
> -- assigned-clocks: main clock from the SoC, for Vybrid <&clks VF610_CLK_NFC>;
> -- assigned-clock-rates: The NAND bus timing is derived from this clock
> -    rate and should not exceed maximum timing for any NAND memory chip
> -    in a board stuffing. Typical NAND memory timings derived from this
> -    clock are found in the SoC hardware reference manual. Furthermore,
> -    there might be restrictions on maximum rates when using hardware ECC.
> -
> -- #address-cells, #size-cells : Must be present if the device has sub-nodes
> -  representing partitions.
> -
> -Required children nodes:
> -Children nodes represent the available nand chips. Currently the driver can
> -only handle one NAND chip.
> -
> -Required properties:
> -- compatible: Should be set to "fsl,vf610-nfc-cs".
> -- nand-bus-width: see nand-controller.yaml
> -- nand-ecc-mode: see nand-controller.yaml
> -
> -Required properties for hardware ECC:
> -- nand-ecc-strength: supported strengths are 24 and 32 bit (see nand-controller.yaml)
> -- nand-ecc-step-size: step size equals page size, currently only 2k pages are
> -    supported
> -- nand-on-flash-bbt: see nand-controller.yaml
> -
> -Example:
> -
> -	nfc: nand@400e0000 {
> -		compatible = "fsl,vf610-nfc";
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -		reg = <0x400e0000 0x4000>;
> -		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
> -		clocks = <&clks VF610_CLK_NFC>;
> -		clock-names = "nfc";
> -		assigned-clocks = <&clks VF610_CLK_NFC>;
> -		assigned-clock-rates = <33000000>;
> -
> -		nand@0 {
> -			compatible = "fsl,vf610-nfc-nandcs";
> -			reg = <0>;
> -			nand-bus-width = <8>;
> -			nand-ecc-mode = "hw";
> -			nand-ecc-strength = <32>;
> -			nand-ecc-step-size = <2048>;
> -			nand-on-flash-bbt;
> -		};
> -	};
> diff --git a/Makefile b/Makefile
> index 38689a0c36052..b38f91696c567 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1466,7 +1466,7 @@ kselftest-merge:
>  # Devicetree files
>  
>  ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/boot/dts/),)
> -dtstree := arch/$(SRCARCH)/boot/dts
> +dtstree := arch/$(SRCARCH)/boot/dts/nxp

Don't think you wanted this...

>  endif
>  
>  ifneq ($(dtstree),)
> -- 
> 2.34.1
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/mtd/fsl,vf610-nfc.yaml b/Documentation/devicetree/bindings/mtd/fsl,vf610-nfc.yaml
new file mode 100644
index 0000000000000..cffa621dbb022
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/fsl,vf610-nfc.yaml
@@ -0,0 +1,84 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mtd/fsl,vf610-nfc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale's NAND flash controller (NFC)
+
+description:
+  This variant of the Freescale NAND flash controller (NFC) can be found on
+  Vybrid (vf610), MPC5125, MCF54418 and Kinetis K70.
+
+maintainers:
+  - Frank Li <Frank.Li@nxp.com>
+
+properties:
+  compatible:
+    enum:
+      - fsl,vf610-nfc
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    items:
+      - const: nfc
+
+patternProperties:
+  "^nand@[a-f0-9]$":
+    type: object
+    $ref: raw-nand-chip.yaml
+    properties:
+      compatible:
+        const: fsl,vf610-nfc-nandcs
+      reg:
+        const: 0
+      nand-ecc-strength:
+        enum: [24, 32]
+      nand-ecc-step-size:
+        const: 2048
+    unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+allOf:
+  - $ref: nand-controller.yaml
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/clock/vf610-clock.h>
+
+    nand-controller@400e0000 {
+        compatible = "fsl,vf610-nfc";
+        reg = <0x400e0000 0x4000>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+        interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
+        clocks = <&clks VF610_CLK_NFC>;
+        clock-names = "nfc";
+        assigned-clocks = <&clks VF610_CLK_NFC>;
+        assigned-clock-rates = <33000000>;
+
+        nand@0 {
+            compatible = "fsl,vf610-nfc-nandcs";
+            reg = <0>;
+            nand-bus-width = <8>;
+            nand-ecc-mode = "hw";
+            nand-ecc-strength = <32>;
+            nand-ecc-step-size = <2048>;
+            nand-on-flash-bbt;
+        };
+    };
diff --git a/Documentation/devicetree/bindings/mtd/vf610-nfc.txt b/Documentation/devicetree/bindings/mtd/vf610-nfc.txt
deleted file mode 100644
index 7db5e6e609df6..0000000000000
--- a/Documentation/devicetree/bindings/mtd/vf610-nfc.txt
+++ /dev/null
@@ -1,59 +0,0 @@ 
-Freescale's NAND flash controller (NFC)
-
-This variant of the Freescale NAND flash controller (NFC) can be found on
-Vybrid (vf610), MPC5125, MCF54418 and Kinetis K70.
-
-Required properties:
-- compatible: Should be set to "fsl,vf610-nfc".
-- reg: address range of the NFC.
-- interrupts: interrupt of the NFC.
-- #address-cells: shall be set to 1. Encode the nand CS.
-- #size-cells : shall be set to 0.
-- assigned-clocks: main clock from the SoC, for Vybrid <&clks VF610_CLK_NFC>;
-- assigned-clock-rates: The NAND bus timing is derived from this clock
-    rate and should not exceed maximum timing for any NAND memory chip
-    in a board stuffing. Typical NAND memory timings derived from this
-    clock are found in the SoC hardware reference manual. Furthermore,
-    there might be restrictions on maximum rates when using hardware ECC.
-
-- #address-cells, #size-cells : Must be present if the device has sub-nodes
-  representing partitions.
-
-Required children nodes:
-Children nodes represent the available nand chips. Currently the driver can
-only handle one NAND chip.
-
-Required properties:
-- compatible: Should be set to "fsl,vf610-nfc-cs".
-- nand-bus-width: see nand-controller.yaml
-- nand-ecc-mode: see nand-controller.yaml
-
-Required properties for hardware ECC:
-- nand-ecc-strength: supported strengths are 24 and 32 bit (see nand-controller.yaml)
-- nand-ecc-step-size: step size equals page size, currently only 2k pages are
-    supported
-- nand-on-flash-bbt: see nand-controller.yaml
-
-Example:
-
-	nfc: nand@400e0000 {
-		compatible = "fsl,vf610-nfc";
-		#address-cells = <1>;
-		#size-cells = <0>;
-		reg = <0x400e0000 0x4000>;
-		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
-		clocks = <&clks VF610_CLK_NFC>;
-		clock-names = "nfc";
-		assigned-clocks = <&clks VF610_CLK_NFC>;
-		assigned-clock-rates = <33000000>;
-
-		nand@0 {
-			compatible = "fsl,vf610-nfc-nandcs";
-			reg = <0>;
-			nand-bus-width = <8>;
-			nand-ecc-mode = "hw";
-			nand-ecc-strength = <32>;
-			nand-ecc-step-size = <2048>;
-			nand-on-flash-bbt;
-		};
-	};
diff --git a/Makefile b/Makefile
index 38689a0c36052..b38f91696c567 100644
--- a/Makefile
+++ b/Makefile
@@ -1466,7 +1466,7 @@  kselftest-merge:
 # Devicetree files
 
 ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/boot/dts/),)
-dtstree := arch/$(SRCARCH)/boot/dts
+dtstree := arch/$(SRCARCH)/boot/dts/nxp
 endif
 
 ifneq ($(dtstree),)