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