1*bcf8e207SAkhila YS# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*bcf8e207SAkhila YS 3*bcf8e207SAkhila YS%YAML 1.2 4*bcf8e207SAkhila YS--- 5*bcf8e207SAkhila YS$id: http://devicetree.org/schemas/mtd/mxic,multi-itfc-v009-nand-controller.yaml# 6*bcf8e207SAkhila YS$schema: http://devicetree.org/meta-schemas/core.yaml# 7*bcf8e207SAkhila YS 8*bcf8e207SAkhila YStitle: Macronix Raw NAND Controller 9*bcf8e207SAkhila YS 10*bcf8e207SAkhila YSmaintainers: 11*bcf8e207SAkhila YS - Mason Yang <masonccyang@mxic.com.tw> 12*bcf8e207SAkhila YS 13*bcf8e207SAkhila YSdescription: 14*bcf8e207SAkhila YS The Macronix Multi-Interface Raw NAND Controller is a versatile flash 15*bcf8e207SAkhila YS memory controller for embedding in SoCs, capable of interfacing with 16*bcf8e207SAkhila YS various NAND devices. It requires dedicated clock inputs for core, data 17*bcf8e207SAkhila YS transmit, and delayed transmit paths along with register space and an 18*bcf8e207SAkhila YS interrupt line for operation. 19*bcf8e207SAkhila YS 20*bcf8e207SAkhila YSallOf: 21*bcf8e207SAkhila YS - $ref: nand-controller.yaml# 22*bcf8e207SAkhila YS 23*bcf8e207SAkhila YSproperties: 24*bcf8e207SAkhila YS compatible: 25*bcf8e207SAkhila YS const: mxic,multi-itfc-v009-nand-controller 26*bcf8e207SAkhila YS 27*bcf8e207SAkhila YS reg: 28*bcf8e207SAkhila YS maxItems: 1 29*bcf8e207SAkhila YS 30*bcf8e207SAkhila YS interrupts: 31*bcf8e207SAkhila YS maxItems: 1 32*bcf8e207SAkhila YS 33*bcf8e207SAkhila YS "#address-cells": 34*bcf8e207SAkhila YS const: 1 35*bcf8e207SAkhila YS 36*bcf8e207SAkhila YS "#size-cells": 37*bcf8e207SAkhila YS const: 0 38*bcf8e207SAkhila YS 39*bcf8e207SAkhila YS clocks: 40*bcf8e207SAkhila YS minItems: 3 41*bcf8e207SAkhila YS maxItems: 3 42*bcf8e207SAkhila YS 43*bcf8e207SAkhila YS clock-names: 44*bcf8e207SAkhila YS items: 45*bcf8e207SAkhila YS - const: ps 46*bcf8e207SAkhila YS - const: send 47*bcf8e207SAkhila YS - const: send_dly 48*bcf8e207SAkhila YS 49*bcf8e207SAkhila YSrequired: 50*bcf8e207SAkhila YS - compatible 51*bcf8e207SAkhila YS - reg 52*bcf8e207SAkhila YS - interrupts 53*bcf8e207SAkhila YS - "#address-cells" 54*bcf8e207SAkhila YS - "#size-cells" 55*bcf8e207SAkhila YS - clocks 56*bcf8e207SAkhila YS - clock-names 57*bcf8e207SAkhila YS 58*bcf8e207SAkhila YSunevaluatedProperties: false 59*bcf8e207SAkhila YS 60*bcf8e207SAkhila YSexamples: 61*bcf8e207SAkhila YS - | 62*bcf8e207SAkhila YS #include <dt-bindings/interrupt-controller/arm-gic.h> 63*bcf8e207SAkhila YS nand-controller@43c30000 { 64*bcf8e207SAkhila YS compatible = "mxic,multi-itfc-v009-nand-controller"; 65*bcf8e207SAkhila YS reg = <0x43c30000 0x10000>; 66*bcf8e207SAkhila YS #address-cells = <1>; 67*bcf8e207SAkhila YS #size-cells = <0>; 68*bcf8e207SAkhila YS interrupts = <GIC_SPI 0x1d IRQ_TYPE_EDGE_RISING>; 69*bcf8e207SAkhila YS clocks = <&clkwizard 0>, <&clkwizard 1>, <&clkc 15>; 70*bcf8e207SAkhila YS clock-names = "ps", "send", "send_dly"; 71*bcf8e207SAkhila YS 72*bcf8e207SAkhila YS nand@0 { 73*bcf8e207SAkhila YS reg = <0>; 74*bcf8e207SAkhila YS nand-ecc-mode = "soft"; 75*bcf8e207SAkhila YS nand-ecc-algo = "bch"; 76*bcf8e207SAkhila YS }; 77*bcf8e207SAkhila YS }; 78*bcf8e207SAkhila YS... 79