From mboxrd@z Thu Jan 1 00:00:00 1970 From: Derek Ou Date: Fri, 13 Feb 2009 10:39:34 -0700 Subject: [U-Boot] NAND issues Message-ID: <4995B056.5040005@siconix.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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