For NAND erase sizes smaller than one NAND erase block, erase
percentage output becomes grater than 100% e.g.
-- cut --
> nand info
Device 0: NAND 64MiB 1,8V 8-bit, sector size 16 KiB
> nand erase 0x100000 0x2000
NAND erase: device 0 offset 0x100000, size 0x2000
Erasing at 0x100000 -- 200% complete.
OK
>
-- cut --
Correct this and give user a warning that more is erased than specified:
-- cut --
> nand erase 0x100000 0x2000
NAND erase: device 0 offset 0x100000, size 0x2000
Warning: Erase size 0x00002000 smaller than one erase block 0x00004000
Erasing 0x00004000 instead
Erasing at 0x100000 -- 100% complete.
OK
>
-- cut --
This patch is against u-boot-nand-flash.git.
Signed-off-by: Dirk Behme <[EMAIL PROTECTED]>
--- drivers/mtd/nand/nand_util.c_orig 2008-01-14 21:13:10.000000000 +0100
+++ drivers/mtd/nand/nand_util.c 2008-01-14 21:46:53.000000000 +0100
@@ -153,6 +153,13 @@ int nand_erase_opts(nand_info_t *meminfo
priv_nand->bbt = NULL;
}
+ if(erase_length < meminfo->erasesize) {
+ printf("Warning: Erase size 0x%08x smaller than one " \
+ "erase block 0x%08x\n",erase_length, meminfo->erasesize);
+ printf(" Erasing 0x%08x instead\n", meminfo->erasesize);
+ erase_length = meminfo->erasesize;
+ }
+
for (;
erase.addr < opts->offset + erase_length;
erase.addr += meminfo->erasesize) {
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
U-Boot-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/u-boot-users