* [PATCH 1/1] dt-bindings: mtd: convert vf610-nfc to yaml format
@ 2025-04-10 21:04 ` Frank Li
0 siblings, 0 replies; 4+ messages in thread
From: Frank Li @ 2025-04-10 21:04 UTC (permalink / raw)
To: miquel.raynal, richard, vigneshr, robh, krzk+dt, conor+dt,
masahiroy, nathan, nicolas.schier, linux-mtd, devicetree
Cc: imx
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
+ 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),)
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 1/1] dt-bindings: mtd: convert vf610-nfc to yaml format
@ 2025-04-10 21:04 ` Frank Li
0 siblings, 0 replies; 4+ messages in thread
From: Frank Li @ 2025-04-10 21:04 UTC (permalink / raw)
To: miquel.raynal, richard, vigneshr, robh, krzk+dt, conor+dt,
masahiroy, nathan, nicolas.schier, linux-mtd, devicetree
Cc: imx
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
+ 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),)
--
2.34.1
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] dt-bindings: mtd: convert vf610-nfc to yaml format
2025-04-10 21:04 ` Frank Li
@ 2025-04-11 19:30 ` Rob Herring
-1 siblings, 0 replies; 4+ messages in thread
From: Rob Herring @ 2025-04-11 19:30 UTC (permalink / raw)
To: Frank Li
Cc: miquel.raynal, richard, vigneshr, krzk+dt, conor+dt, masahiroy,
nathan, nicolas.schier, linux-mtd, devicetree, imx
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
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] dt-bindings: mtd: convert vf610-nfc to yaml format
@ 2025-04-11 19:30 ` Rob Herring
0 siblings, 0 replies; 4+ messages in thread
From: Rob Herring @ 2025-04-11 19:30 UTC (permalink / raw)
To: Frank Li
Cc: miquel.raynal, richard, vigneshr, krzk+dt, conor+dt, masahiroy,
nathan, nicolas.schier, linux-mtd, devicetree, imx
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
>
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-04-11 19:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-10 21:04 [PATCH 1/1] dt-bindings: mtd: convert vf610-nfc to yaml format Frank Li
2025-04-10 21:04 ` Frank Li
2025-04-11 19:30 ` Rob Herring
2025-04-11 19:30 ` Rob Herring
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.