[PATCH 1/1] dt-bindings: mtd: convert vf610-nfc to yaml format
Rob Herring
robh at kernel.org
Fri Apr 11 12:30:22 PDT 2025
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 at 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 at 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 at 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 at 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 at 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 at 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
>
More information about the linux-mtd
mailing list