I'm trying to boot from a Micron NAND (MT29C4G48MAZAPAKD-5iT) on a custom board with a DM3725 processor and so far have not had any success. The board boots OK from the MMC. The Micron NAND is specified as having a 4b ECC, but the first block is designated as a 1b ECC for less than 1000 Program/Erase cycles (which we are no where close to). It's DeviceID is specified as: BCh, which according to the AM/DM37xx-TRM Rev. N, table 26-32, should be OK.
I have programmed the x-loader (mlo) from the MMC card into the first block of NAND using the following U-Boot sequence:
=> mmc init
mmc1 is available
=> fatload mmc 0 80008000 mlo
reading mlo
21956 bytes read
=> nandecc hw
HW ECC selected
=> nand write 80008000 0 20000
NAND write: device 0 offset 0x0, size 0x20000
131072 bytes written: OK
=> nand write 80008000 20000 20000
NAND write: device 0 offset 0x20000, size 0x20000
131072 bytes written: OK
=> nand write 80008000 40000 20000
NAND write: device 0 offset 0x40000, size 0x20000
131072 bytes written: OK
=> nand write 80008000 60000 20000
NAND write: device 0 offset 0x60000, size 0x20000
131072 bytes written: OK
=>
After programming the x-loader into the NAND I see this:
=> nand dump 0
Page 00000000 dump:
bc 55 00 00 00 08 20 40 12 00 00 ea 14 f0 9f e5
10 f0 9f e5 0c f0 9f e5 08 f0 9f e5 04 f0 9f e5
00 f0 9f e5 04 f0 1f e5 60 09 20 40 78 56 34 12
So far so good ....
I then set the boot configuration pins to: 0b01111
I confirmed this using a JTAG bdm and observed this for the CONTROL_STATUS register:
BDI-3000>md 0x480022f0 1
480022f0 : 0x0000030f 783 ....
Again, so far so good ...
I then clear the SRAM (0x40200000 to 0x40204000), remove the MMC card and power cycle the board. Using the JTAG bdm, I observe this in the SRAM:
BDI-3000>md 0x40200800
40200800 : a6cec1c9 6e269f42 3cde7746 fe17a611 ....B.&nFw.<....
40200810 : 65e3d747 9755e0b2 5340d57c 577a9fa9 G..e..U.|.@S..zW
40200820 : 6c39fa0a 06a628da 35fd6720 fa290f82 ..9l.(.. g.5..).
40200830 : 3c255773 33581222 c90f69a5 be514086 sW%<".X3.i...@Q.
40200840 : 3f6b8177 9ef5de54 234e5eeb fe6d8276 w.k?T....^N#v.m.
40200850 : 5ce11716 f1335ec4 e18a2a01 6ef62be3 ...\.^3..*...+.n
This appears to be garbage data ... but it is not random data and appears consistent across power cycles, so maybe it's coming from somewhere else ? When I boot with the MMC card I get this:
BDI-3000>md 0x40200800
40200800 : ea000012 e59ff014 e59ff010 e59ff00c ................
40200810 : e59ff008 e59ff004 e59ff000 e51ff004 ................
40200820 : 40200960 12345678 12345678 12345678 `. @xV4.xV4.xV4.
40200830 : 12345678 12345678 12345678 12345678 xV4.xV4.xV4.xV4.
Which of course is good data.
Can you tell me if there are any known issues with the newer Micron 4GByte NAND devices in the PoP package ? Or is there something that I may have missed ?
Any help would be greatly appreciated !
Thank you,
-Kevin