1*c6af2e7dSSimon GlassNAND Flash
2*c6af2e7dSSimon Glass----------
3*c6af2e7dSSimon Glass
4*c6af2e7dSSimon Glass(there isn't yet a generic binding in Linux, so this describes what is in
5*c6af2e7dSSimon GlassU-Boot. There should not be Linux-specific or U-Boot specific binding, just
6*c6af2e7dSSimon Glassa binding that describes this hardware. But agreeing a binding in Linux in
7*c6af2e7dSSimon Glassthe absence of a driver may be beyond my powers.)
8*c6af2e7dSSimon Glass
9*c6af2e7dSSimon GlassThe device node for a NAND flash device is as follows:
10*c6af2e7dSSimon Glass
11*c6af2e7dSSimon GlassRequired properties :
12*c6af2e7dSSimon Glass - compatible : Should be "manufacturer,device", "nand-flash"
13*c6af2e7dSSimon Glass
14*c6af2e7dSSimon GlassThis node should sit inside its controller.
15*c6af2e7dSSimon Glass
16*c6af2e7dSSimon Glass
17*c6af2e7dSSimon GlassNvidia NAND Controller
18*c6af2e7dSSimon Glass----------------------
19*c6af2e7dSSimon Glass
20*c6af2e7dSSimon GlassThe device node for a NAND flash controller is as follows:
21*c6af2e7dSSimon Glass
22*c6af2e7dSSimon GlassOptional properties:
23*c6af2e7dSSimon Glass
24*c6af2e7dSSimon Glassnvidia,wp-gpios : GPIO of write-protect line, three cells in the format:
25*c6af2e7dSSimon Glass		phandle, parameter, flags
26*c6af2e7dSSimon Glassnvidia,nand-width : bus width of the NAND device in bits
27*c6af2e7dSSimon Glass
28*c6af2e7dSSimon Glass - nvidia,nand-timing : Timing parameters for the NAND. Each is in ns.
29*c6af2e7dSSimon Glass	Order is: MAX_TRP_TREA, TWB, Max(tCS, tCH, tALS, tALH),
30*c6af2e7dSSimon Glass	TWHR, Max(tCS, tCH, tALS, tALH), TWH, TWP, TRH, TADL
31*c6af2e7dSSimon Glass
32*c6af2e7dSSimon Glass	MAX_TRP_TREA is:
33*c6af2e7dSSimon Glass		non-EDO mode: Max(tRP, tREA) + 6ns
34*c6af2e7dSSimon Glass		EDO mode: tRP timing
35*c6af2e7dSSimon Glass
36*c6af2e7dSSimon GlassThe 'reg' property should provide the chip select used by the flash chip.
37*c6af2e7dSSimon Glass
38*c6af2e7dSSimon Glass
39*c6af2e7dSSimon GlassExample
40*c6af2e7dSSimon Glass-------
41*c6af2e7dSSimon Glass
42*c6af2e7dSSimon Glassnand-controller@0x70008000 {
43*c6af2e7dSSimon Glass	compatible = "nvidia,tegra20-nand";
44*c6af2e7dSSimon Glass	#address-cells = <1>;
45*c6af2e7dSSimon Glass	#size-cells = <0>;
46*c6af2e7dSSimon Glass	nvidia,wp-gpios = <&gpio 59 0>;		/* PH3 */
47*c6af2e7dSSimon Glass	nvidia,nand-width = <8>;
48*c6af2e7dSSimon Glass	nvidia,timing = <26 100 20 80 20 10 12 10 70>;
49*c6af2e7dSSimon Glass	nand@0 {
50*c6af2e7dSSimon Glass		reg = <0>;
51*c6af2e7dSSimon Glass		compatible = "hynix,hy27uf4g2b", "nand-flash";
52*c6af2e7dSSimon Glass	};
53*c6af2e7dSSimon Glass};
54