mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-19 19:34:35 +00:00
dfu: Add option to skip empty pages when flashing UBI images to NAND
Add a new option to enable the DROP_FFS flag when flashing UBI images to NAND in order to drop trailing all-0xff pages. This is similar to the existing FASTBOOT_FLASH_NAND_TRIMFFS option. Signed-off-by: Guillermo Rodriguez <guille.rodriguez@gmail.com> Cc: Lukasz Majewski <lukma@denx.de>
This commit is contained in:
parent
bf16a7be90
commit
13cb7cc9e8
2 changed files with 13 additions and 1 deletions
|
@ -42,6 +42,13 @@ config DFU_NAND
|
||||||
This option enables using DFU to read and write to NAND based
|
This option enables using DFU to read and write to NAND based
|
||||||
storage.
|
storage.
|
||||||
|
|
||||||
|
config DFU_NAND_TRIMFFS
|
||||||
|
bool "Skip empty pages when flashing UBI images to NAND"
|
||||||
|
depends on DFU_NAND
|
||||||
|
help
|
||||||
|
When flashing UBI images to NAND, enable the DROP_FFS flag to drop
|
||||||
|
trailing all-0xff pages.
|
||||||
|
|
||||||
config DFU_RAM
|
config DFU_RAM
|
||||||
bool "RAM back end for DFU"
|
bool "RAM back end for DFU"
|
||||||
help
|
help
|
||||||
|
|
|
@ -50,6 +50,7 @@ static int nand_block_op(enum dfu_op op, struct dfu_entity *dfu,
|
||||||
lim, buf);
|
lim, buf);
|
||||||
} else {
|
} else {
|
||||||
nand_erase_options_t opts;
|
nand_erase_options_t opts;
|
||||||
|
int write_flags = WITH_WR_VERIFY;
|
||||||
|
|
||||||
memset(&opts, 0, sizeof(opts));
|
memset(&opts, 0, sizeof(opts));
|
||||||
opts.offset = start;
|
opts.offset = start;
|
||||||
|
@ -62,8 +63,12 @@ static int nand_block_op(enum dfu_op op, struct dfu_entity *dfu,
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
/* then write */
|
/* then write */
|
||||||
|
#ifdef CONFIG_DFU_NAND_TRIMFFS
|
||||||
|
if (dfu->data.nand.ubi)
|
||||||
|
write_flags |= WITH_DROP_FFS;
|
||||||
|
#endif
|
||||||
ret = nand_write_skip_bad(mtd, start, &count, &actual,
|
ret = nand_write_skip_bad(mtd, start, &count, &actual,
|
||||||
lim, buf, WITH_WR_VERIFY);
|
lim, buf, write_flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue