[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