[U-Boot] NAND issues

Derek Ou derek at siconix.com
Fri Feb 13 18:39:34 CET 2009


I have a few issues/questions regarding the NAND commands in the latest 
git main tree.
1) The nand_util.c does not have WATCHDOG_RESET() in the 
nand_read_skip_bad() and nand_write_skip_bad() while the original 
nand_write_opts() and nand_read_opts() do.  Is there a special reason 
this is removed?  It's likely that watchdog will fail when trying to 
read/write large files from NAND.

2) "nand write.jffs2" used to allow writing non page-aligned data.  So 
we can have scripts like "tftp 0x22000000 u-boot.bin" and "nand 
write.jffs2 0x22000000 0x20000 $(filesize)" to automate downloading 
files to NAND.  Now, "nand write(.jffs2)" and nand_write_skip_bad() 
rejects non page-aligned write.  I think we have to either pad the 
binary file to page-aligned or re-write nand_write_skip_bad().  Is there 
another way/parameter to write non page-aligned data?

3) In common/cmd_nand.c, nand_load_image() starting at at line 492 call 
nand_read() at line 514 and line 547.  Does it mean that 
nand_load_image() will read NAND bad blocks?  Should they be 
nand_read_skip_bad() instead?  Especially, line 546 has this comment     
/* FIXME: skip bad blocks */

Thanks,
Derek


More information about the U-Boot mailing list