1*c66ec88fSEmmanuel VadotFreescale Localbus UPM programmed to work with NAND flash
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot- compatible : "fsl,upm-nand".
5*c66ec88fSEmmanuel Vadot- reg : should specify localbus chip select and size used for the chip.
6*c66ec88fSEmmanuel Vadot- fsl,upm-addr-offset : UPM pattern offset for the address latch.
7*c66ec88fSEmmanuel Vadot- fsl,upm-cmd-offset : UPM pattern offset for the command latch.
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel VadotOptional properties:
10*c66ec88fSEmmanuel Vadot- fsl,upm-addr-line-cs-offsets : address offsets for multi-chip support.
11*c66ec88fSEmmanuel Vadot	The corresponding address lines are used to select the chip.
12*c66ec88fSEmmanuel Vadot- gpios : may specify optional GPIOs connected to the Ready-Not-Busy pins
13*c66ec88fSEmmanuel Vadot	(R/B#). For multi-chip devices, "n" GPIO definitions are required
14*c66ec88fSEmmanuel Vadot	according to the number of chips.
15*c66ec88fSEmmanuel Vadot
16*c66ec88fSEmmanuel VadotDeprecated properties:
17*c66ec88fSEmmanuel Vadot- fsl,upm-wait-flags : add chip-dependent short delays after running the
18*c66ec88fSEmmanuel Vadot	UPM pattern (0x1), after writing a data byte (0x2) or after
19*c66ec88fSEmmanuel Vadot	writing out a buffer (0x4).
20*c66ec88fSEmmanuel Vadot- chip-delay : chip dependent delay for transferring data from array to
21*c66ec88fSEmmanuel Vadot	read registers (tR). Required if property "gpios" is not used
22*c66ec88fSEmmanuel Vadot	(R/B# pins not connected).
23*c66ec88fSEmmanuel Vadot
24*c66ec88fSEmmanuel VadotEach flash chip described may optionally contain additional sub-nodes
25*c66ec88fSEmmanuel Vadotdescribing partitions of the address space. See partition.txt for more
26*c66ec88fSEmmanuel Vadotdetail.
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel VadotExamples:
29*c66ec88fSEmmanuel Vadot
30*c66ec88fSEmmanuel Vadotupm@1,0 {
31*c66ec88fSEmmanuel Vadot	compatible = "fsl,upm-nand";
32*c66ec88fSEmmanuel Vadot	reg = <1 0 1>;
33*c66ec88fSEmmanuel Vadot	fsl,upm-addr-offset = <16>;
34*c66ec88fSEmmanuel Vadot	fsl,upm-cmd-offset = <8>;
35*c66ec88fSEmmanuel Vadot	gpios = <&qe_pio_e 18 0>;
36*c66ec88fSEmmanuel Vadot
37*c66ec88fSEmmanuel Vadot	flash {
38*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
39*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
40*c66ec88fSEmmanuel Vadot		compatible = "...";
41*c66ec88fSEmmanuel Vadot
42*c66ec88fSEmmanuel Vadot		partition@0 {
43*c66ec88fSEmmanuel Vadot			...
44*c66ec88fSEmmanuel Vadot		};
45*c66ec88fSEmmanuel Vadot	};
46*c66ec88fSEmmanuel Vadot};
47*c66ec88fSEmmanuel Vadot
48*c66ec88fSEmmanuel Vadotupm@3,0 {
49*c66ec88fSEmmanuel Vadot	#address-cells = <0>;
50*c66ec88fSEmmanuel Vadot	#size-cells = <0>;
51*c66ec88fSEmmanuel Vadot	compatible = "tqc,tqm8548-upm-nand", "fsl,upm-nand";
52*c66ec88fSEmmanuel Vadot	reg = <3 0x0 0x800>;
53*c66ec88fSEmmanuel Vadot	fsl,upm-addr-offset = <0x10>;
54*c66ec88fSEmmanuel Vadot	fsl,upm-cmd-offset = <0x08>;
55*c66ec88fSEmmanuel Vadot	/* Multi-chip NAND device */
56*c66ec88fSEmmanuel Vadot	fsl,upm-addr-line-cs-offsets = <0x0 0x200>;
57*c66ec88fSEmmanuel Vadot
58*c66ec88fSEmmanuel Vadot	nand@0 {
59*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
60*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
61*c66ec88fSEmmanuel Vadot
62*c66ec88fSEmmanuel Vadot		partition@0 {
63*c66ec88fSEmmanuel Vadot			    label = "fs";
64*c66ec88fSEmmanuel Vadot			    reg = <0x00000000 0x10000000>;
65*c66ec88fSEmmanuel Vadot		};
66*c66ec88fSEmmanuel Vadot	};
67*c66ec88fSEmmanuel Vadot};
68