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:
Guillermo Rodríguez 2019-12-16 16:27:57 +01:00 committed by Marek Vasut
parent bf16a7be90
commit 13cb7cc9e8
2 changed files with 13 additions and 1 deletions

View File

@ -42,6 +42,13 @@ config DFU_NAND
This option enables using DFU to read and write to NAND based
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
bool "RAM back end for DFU"
help

View File

@ -50,6 +50,7 @@ static int nand_block_op(enum dfu_op op, struct dfu_entity *dfu,
lim, buf);
} else {
nand_erase_options_t opts;
int write_flags = WITH_WR_VERIFY;
memset(&opts, 0, sizeof(opts));
opts.offset = start;
@ -62,8 +63,12 @@ static int nand_block_op(enum dfu_op op, struct dfu_entity *dfu,
if (ret)
return ret;
/* 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,
lim, buf, WITH_WR_VERIFY);
lim, buf, write_flags);
}
if (ret != 0) {