
On 19/01/10 08:21, fgd wrote:
Hi everyone, I've recently been playing with an omap3 beagle board and I've found a problem that I think involves the reading of nand memory... I have recompiled u-boot for the beagle board (I just changed its prompt, as a simple test to check that it's my u-boot and not the one that was there before, and I used the default configs for the beagle), then I have loaded u-boot and the x-loader into flash, and I have succesfully rebooted and seen 'my' u-boot prompt... after that, I wanted to load a linux kernel and a file system into nand flash, instead of using the external memory card (if I boot a kernel stored there, it works), so I go and load an uImage into flash, then read it back to RAM, and boot from there, and it still works, BUT, as soon as I reset the
Maybe you do this after running Linux and Linux has configured the SoC to access the NAND? Can you use u-boot to write to NAND after a reset, but before Linux boots?
OMAP, when it tries to copy the kernel data stored in flash into RAM to boot from it, the nand reading operation will fail, and if I try to boot that kernel it will complain about a CRC checksum error...
After a reset, I guess your UBL (and u-boot) is not enabling NAND accesses? I added some code to the Davinci nand driver to fix a similar issue on that arch.
the exact error looks like this: # nand read ${loadaddr} 280000 400000
u-boot's nboot command can read the uImage header and copy from NAND only the required amount of data. It only copies to RAM, so you still need to bootm...
NAND read: device 0 offset 0x280000, size 0x400000 NAND read from offset 280000 failed -74
note that this just happens after I reset the board... I thought it could be a hardware problem with my board, but I've tried in a different board (an omap3 evm) and I'm getting the same thing, so I think I might be missing something... has anyone of you tried something like this or has encountered any similar problem? any help will be greatly appreciated, if you need any extra info about what I have done just tell me... thanks a lot in advance, regards
Fernando
Nick