18c2ecf20Sopenharmony_ciNXP LPC32xx SoC NAND MLC controller
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired properties:
48c2ecf20Sopenharmony_ci- compatible: "nxp,lpc3220-mlc"
58c2ecf20Sopenharmony_ci- reg: Address and size of the controller
68c2ecf20Sopenharmony_ci- interrupts: The NAND interrupt specification
78c2ecf20Sopenharmony_ci- gpios: GPIO specification for NAND write protect
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciThe following required properties are very controller specific. See the LPC32xx
108c2ecf20Sopenharmony_ciUser Manual 7.5.14 MLC NAND Timing Register (the values here are specified in
118c2ecf20Sopenharmony_ciHz, to make them independent of actual clock speed and to provide for good
128c2ecf20Sopenharmony_ciaccuracy:)
138c2ecf20Sopenharmony_ci- nxp,tcea_delay: TCEA_DELAY
148c2ecf20Sopenharmony_ci- nxp,busy_delay: BUSY_DELAY
158c2ecf20Sopenharmony_ci- nxp,nand_ta: NAND_TA
168c2ecf20Sopenharmony_ci- nxp,rd_high: RD_HIGH
178c2ecf20Sopenharmony_ci- nxp,rd_low: RD_LOW
188c2ecf20Sopenharmony_ci- nxp,wr_high: WR_HIGH
198c2ecf20Sopenharmony_ci- nxp,wr_low: WR_LOW
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciOptional subnodes:
228c2ecf20Sopenharmony_ci- Partitions, see Documentation/devicetree/bindings/mtd/partition.txt
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciExample:
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci	mlc: flash@200a8000 {
278c2ecf20Sopenharmony_ci		compatible = "nxp,lpc3220-mlc";
288c2ecf20Sopenharmony_ci		reg = <0x200A8000 0x11000>;
298c2ecf20Sopenharmony_ci		interrupts = <11 0>;
308c2ecf20Sopenharmony_ci		#address-cells = <1>;
318c2ecf20Sopenharmony_ci		#size-cells = <1>;
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci		nxp,tcea-delay = <333333333>;
348c2ecf20Sopenharmony_ci		nxp,busy-delay = <10000000>;
358c2ecf20Sopenharmony_ci		nxp,nand-ta = <18181818>;
368c2ecf20Sopenharmony_ci		nxp,rd-high = <31250000>;
378c2ecf20Sopenharmony_ci		nxp,rd-low = <45454545>;
388c2ecf20Sopenharmony_ci		nxp,wr-high = <40000000>;
398c2ecf20Sopenharmony_ci		nxp,wr-low = <83333333>;
408c2ecf20Sopenharmony_ci		gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci		mtd0@00000000 {
438c2ecf20Sopenharmony_ci			label = "boot";
448c2ecf20Sopenharmony_ci			reg = <0x00000000 0x00064000>;
458c2ecf20Sopenharmony_ci			read-only;
468c2ecf20Sopenharmony_ci		};
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci		...
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci	};
51