162306a36Sopenharmony_ciNXP LPC32xx SoC NAND MLC controller
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciRequired properties:
462306a36Sopenharmony_ci- compatible: "nxp,lpc3220-mlc"
562306a36Sopenharmony_ci- reg: Address and size of the controller
662306a36Sopenharmony_ci- interrupts: The NAND interrupt specification
762306a36Sopenharmony_ci- gpios: GPIO specification for NAND write protect
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciThe following required properties are very controller specific. See the LPC32xx
1062306a36Sopenharmony_ciUser Manual 7.5.14 MLC NAND Timing Register (the values here are specified in
1162306a36Sopenharmony_ciHz, to make them independent of actual clock speed and to provide for good
1262306a36Sopenharmony_ciaccuracy:)
1362306a36Sopenharmony_ci- nxp,tcea_delay: TCEA_DELAY
1462306a36Sopenharmony_ci- nxp,busy_delay: BUSY_DELAY
1562306a36Sopenharmony_ci- nxp,nand_ta: NAND_TA
1662306a36Sopenharmony_ci- nxp,rd_high: RD_HIGH
1762306a36Sopenharmony_ci- nxp,rd_low: RD_LOW
1862306a36Sopenharmony_ci- nxp,wr_high: WR_HIGH
1962306a36Sopenharmony_ci- nxp,wr_low: WR_LOW
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciOptional subnodes:
2262306a36Sopenharmony_ci- Partitions, see Documentation/devicetree/bindings/mtd/mtd.yaml
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciExample:
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci	mlc: flash@200a8000 {
2762306a36Sopenharmony_ci		compatible = "nxp,lpc3220-mlc";
2862306a36Sopenharmony_ci		reg = <0x200A8000 0x11000>;
2962306a36Sopenharmony_ci		interrupts = <11 0>;
3062306a36Sopenharmony_ci		#address-cells = <1>;
3162306a36Sopenharmony_ci		#size-cells = <1>;
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci		nxp,tcea-delay = <333333333>;
3462306a36Sopenharmony_ci		nxp,busy-delay = <10000000>;
3562306a36Sopenharmony_ci		nxp,nand-ta = <18181818>;
3662306a36Sopenharmony_ci		nxp,rd-high = <31250000>;
3762306a36Sopenharmony_ci		nxp,rd-low = <45454545>;
3862306a36Sopenharmony_ci		nxp,wr-high = <40000000>;
3962306a36Sopenharmony_ci		nxp,wr-low = <83333333>;
4062306a36Sopenharmony_ci		gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci		mtd0@00000000 {
4362306a36Sopenharmony_ci			label = "boot";
4462306a36Sopenharmony_ci			reg = <0x00000000 0x00064000>;
4562306a36Sopenharmony_ci			read-only;
4662306a36Sopenharmony_ci		};
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci		...
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci	};
51