[U-Boot] NAND issues

Derek Ou
2009-02-13T17:39:34Z

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