Commit bcf8e207 authored by Akhila YS's avatar Akhila YS Committed by Miquel Raynal
Browse files

dt-bindings: mtd: mxic,multi-itfc-v009-nand-controller: convert to DT schema



Convert Macronix Raw NAND Controller Device Tree binding to DT Schema.

Signed-off-by: default avatarAkhila YS <akhilayalmati@gmail.com>
Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
parent 7cce81df
Loading
Loading
Loading
Loading
+78 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause

%YAML 1.2
---
$id: http://devicetree.org/schemas/mtd/mxic,multi-itfc-v009-nand-controller.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Macronix Raw NAND Controller

maintainers:
  - Mason Yang <masonccyang@mxic.com.tw>

description:
  The Macronix Multi-Interface Raw NAND Controller is a versatile flash
  memory controller for embedding in SoCs, capable of interfacing with
  various NAND devices. It requires dedicated clock inputs for core, data
  transmit, and delayed transmit paths along with register space and an
  interrupt line for operation.

allOf:
  - $ref: nand-controller.yaml#

properties:
  compatible:
    const: mxic,multi-itfc-v009-nand-controller

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  clocks:
    minItems: 3
    maxItems: 3

  clock-names:
    items:
      - const: ps
      - const: send
      - const: send_dly

required:
  - compatible
  - reg
  - interrupts
  - "#address-cells"
  - "#size-cells"
  - clocks
  - clock-names

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    nand-controller@43c30000 {
        compatible = "mxic,multi-itfc-v009-nand-controller";
        reg = <0x43c30000 0x10000>;
        #address-cells = <1>;
        #size-cells = <0>;
        interrupts = <GIC_SPI 0x1d IRQ_TYPE_EDGE_RISING>;
        clocks = <&clkwizard 0>, <&clkwizard 1>, <&clkc 15>;
        clock-names = "ps", "send", "send_dly";

        nand@0 {
            reg = <0>;
            nand-ecc-mode = "soft";
            nand-ecc-algo = "bch";
        };
    };
...
+0 −36
Original line number Diff line number Diff line
Macronix Raw NAND Controller Device Tree Bindings
-------------------------------------------------

Required properties:
- compatible: should be "mxic,multi-itfc-v009-nand-controller"
- reg: should contain 1 entry for the registers
- #address-cells: should be set to 1
- #size-cells: should be set to 0
- interrupts: interrupt line connected to this raw NAND controller
- clock-names: should contain "ps", "send" and "send_dly"
- clocks: should contain 3 phandles for the "ps", "send" and
	 "send_dly" clocks

Children nodes:
- children nodes represent the available NAND chips.

See Documentation/devicetree/bindings/mtd/nand-controller.yaml
for more details on generic bindings.

Example:

	nand: nand-controller@43c30000 {
		compatible = "mxic,multi-itfc-v009-nand-controller";
		reg = <0x43c30000 0x10000>;
		#address-cells = <1>;
		#size-cells = <0>;
		interrupts = <GIC_SPI 0x1d IRQ_TYPE_EDGE_RISING>;
		clocks = <&clkwizard 0>, <&clkwizard 1>, <&clkc 15>;
		clock-names = "send", "send_dly", "ps";

		nand@0 {
			reg = <0>;
			nand-ecc-mode = "soft";
			nand-ecc-algo = "bch";
		};
	};