mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-11-28 22:21:49 +01:00
nand: Correct NAND erase percentage output
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 --
Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
This commit is contained in:
parent
5922db6c09
commit
9723bbb46a
@ -153,6 +153,13 @@ int nand_erase_opts(nand_info_t *meminfo, const nand_erase_options_t *opts)
|
|||||||
priv_nand->bbt = NULL;
|
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 (;
|
for (;
|
||||||
erase.addr < opts->offset + erase_length;
|
erase.addr < opts->offset + erase_length;
|
||||||
erase.addr += meminfo->erasesize) {
|
erase.addr += meminfo->erasesize) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user