Skip to contentSkip to conversation

u-boot fails to read from nand flash in omap3

U-Boot fgd 3 participants 4 messages Jan 19, 2010 – Jan 20, 2010

lore
Share & tools
lore

fgd

author
#0 lore raw

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 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...
the exact error looks like this:
# nand read ${loadaddr} 280000 400000

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

Signature · 2 lines
View this message in context: http://old.nabble.com/u-boot-fails-to-read-from-nand-flash-in-omap3-tp27222315p27222315.html
Sent from the Uboot - Users mailing list archive at Nabble.com.
#1 lore raw
Quoted 13 lines · fgd

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?

Quoted 3 lines

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.

Quoted 2 lines

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...

Quoted 13 lines

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

Quoted 1 line

Fernando

Nick

#2 lore raw
In reply to fgd
Quoted 9 lines

-----Original Message-----
From: u-boot-bounces at lists.denx.de [mailto:u-boot- bounces at lists.denx.de] On Behalf Of fgd
Sent: Tuesday, January 19, 2010 1:52 PM
To: u-boot at lists.denx.de
Subject: [U-Boot] u-boot fails to read from nand flash in omap3

Quoted 8 lines

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

[Hiremath, Vaibhav] U-Boot version may be useful here.

Quoted 21 lines

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
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...
the exact error looks like this:
# nand read ${loadaddr} 280000 400000

Quoted 3 lines

NAND read: device 0 offset 0x280000, size 0x400000 NAND read from offset 280000 failed -74

[Hiremath, Vaibhav] Can you please provide exact steps which you are following for NAND write and read operation?

Quoted 6 lines

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

[Hiremath, Vaibhav] I am working on OMAP3EVM and it is working fine for me. It looks like somehow NAND is getting corrupted, detailed steps required to comment anything on this.

Thanks,
Vaibhav

Quoted 18 lines

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
--
View this message in context: http://old.nabble.com/u-boot-fails-to-
read-from-nand-flash-in-omap3-tp27222315p27222315.html Sent from the Uboot - Users mailing list archive at Nabble.com.

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

author
#3 lore raw
In reply to fgd

Thanks for your quick replies, I could finally solve it yesterday, the problem was that I was writing the nand with nandecc set to HW, so if I read it just after writing it would work, but as soon as I reseted it, it would go back to ecc SW and stop working... I was just forgetting to add a "nandecc hw" before reading the nand... thanks for the ideas, :) best regards

Signature · 2 lines
View this message in context: http://old.nabble.com/u-boot-fails-to-read-from-nand-flash-in-omap3-tp27222315p27238600.html
Sent from the Uboot - Users mailing list archive at Nabble.com.