NAND Flash, Localbus and UPM

Alemao xcarandiru at gmail.com
Tue Jul 15 00:47:32 EST 2008


Hi all,

Im trying to use a NAND flash (NAND512W3A, from ST) in MPC8360
localbus, with UPM.
My board is based on the mpc8360erdk. I also have a NOR flash
connected in the localbus.

But I have some doubts in how to put this information at the DTS file.
Im doing this way:

       soc8360 at e0000000 {
              .
              .
              .
       };

       localbus at e0005000 {
                compatible = "fsl,mpc8360-localbus";
                #address-cells = <2>;
                #size-cells = <1>;
                reg = <e0005000 d8>;

                ranges = <0 0 ff800000   1000000      // nor flash,  16 MB
                                  1 0 60000000 4000000>;   // nand
flash, 64 MB (512 Mb)

                nor-flash at 0,0 {
                        compatible = "amd,s29glxxx", "cfi-flash";
                        reg = <0 0 40000>;
                        bank-width = <2>;
                        device-width = <1>;
                };

                nand-flash at 1,0 {
                        compatible = "stmicro,NAND512W3A", "fsl,upm-nand";
                        reg = <1 0 4000000>;   //reg = <1 0 1>;
                        width = <1>;
                        upm = "A";
                        upm-addr-offset = <16>;
                        upm-cmd-offset = <8>;
                        gpios = <4 18>;
                        gpio-parent = <&qe_pio>;
                        wait-pattern;
                        wait-write;
                };
       };



In range information:

ranges = <0 0 ff800000 1000000         // nor flash,  16 MB
                   1 0 60000000 4000000>;   // nand flash, 64 MB (512 Mb)

i dont know what ff800000 and 60000000 means,
i got those values from some posts in the mail-list. I also searched
the datasheet and didnt find anything about those values.

The size values, 1000000 and 4000000, im using the memory density.
Is this correct? Cause i read some posts that the nand size was very
small, like 32K, seems that its something like the block size of
nand.



In reg information:

reg = <0 0 1000000>;    // nor-flash
reg = <1 0 4000000>;    // nand-flash

Dont know if its correct. The third argument i used the size,
but the second i dont know what value use.



In other post by Anton, i saw something like these:

       upm at 1,0 {		
		flash {		
	           ...
        	};
       };


Should i use it?

I must confess, im really confuse about all this stuffs.
I read linux/Documentation/powerpc/booting-without-of.txt but didnt
clarify so much.

Cheers,

--
Alemao


More information about the Linuxppc-embedded mailing list