xref: /freebsd/sys/contrib/device-tree/Bindings/mtd/lpc32xx-mlc.txt (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1c66ec88fSEmmanuel VadotNXP LPC32xx SoC NAND MLC controller
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel VadotRequired properties:
4c66ec88fSEmmanuel Vadot- compatible: "nxp,lpc3220-mlc"
5c66ec88fSEmmanuel Vadot- reg: Address and size of the controller
6c66ec88fSEmmanuel Vadot- interrupts: The NAND interrupt specification
7c66ec88fSEmmanuel Vadot- gpios: GPIO specification for NAND write protect
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel VadotThe following required properties are very controller specific. See the LPC32xx
10c66ec88fSEmmanuel VadotUser Manual 7.5.14 MLC NAND Timing Register (the values here are specified in
11c66ec88fSEmmanuel VadotHz, to make them independent of actual clock speed and to provide for good
12c66ec88fSEmmanuel Vadotaccuracy:)
13c66ec88fSEmmanuel Vadot- nxp,tcea_delay: TCEA_DELAY
14c66ec88fSEmmanuel Vadot- nxp,busy_delay: BUSY_DELAY
15c66ec88fSEmmanuel Vadot- nxp,nand_ta: NAND_TA
16c66ec88fSEmmanuel Vadot- nxp,rd_high: RD_HIGH
17c66ec88fSEmmanuel Vadot- nxp,rd_low: RD_LOW
18c66ec88fSEmmanuel Vadot- nxp,wr_high: WR_HIGH
19c66ec88fSEmmanuel Vadot- nxp,wr_low: WR_LOW
20c66ec88fSEmmanuel Vadot
21c66ec88fSEmmanuel VadotOptional subnodes:
22*8bab661aSEmmanuel Vadot- Partitions, see Documentation/devicetree/bindings/mtd/mtd.yaml
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel VadotExample:
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot	mlc: flash@200a8000 {
27c66ec88fSEmmanuel Vadot		compatible = "nxp,lpc3220-mlc";
28c66ec88fSEmmanuel Vadot		reg = <0x200A8000 0x11000>;
29c66ec88fSEmmanuel Vadot		interrupts = <11 0>;
30c66ec88fSEmmanuel Vadot		#address-cells = <1>;
31c66ec88fSEmmanuel Vadot		#size-cells = <1>;
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot		nxp,tcea-delay = <333333333>;
34c66ec88fSEmmanuel Vadot		nxp,busy-delay = <10000000>;
35c66ec88fSEmmanuel Vadot		nxp,nand-ta = <18181818>;
36c66ec88fSEmmanuel Vadot		nxp,rd-high = <31250000>;
37c66ec88fSEmmanuel Vadot		nxp,rd-low = <45454545>;
38c66ec88fSEmmanuel Vadot		nxp,wr-high = <40000000>;
39c66ec88fSEmmanuel Vadot		nxp,wr-low = <83333333>;
40c66ec88fSEmmanuel Vadot		gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot		mtd0@00000000 {
43c66ec88fSEmmanuel Vadot			label = "boot";
44c66ec88fSEmmanuel Vadot			reg = <0x00000000 0x00064000>;
45c66ec88fSEmmanuel Vadot			read-only;
46c66ec88fSEmmanuel Vadot		};
47c66ec88fSEmmanuel Vadot
48c66ec88fSEmmanuel Vadot		...
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot	};
51