On 11/4/20 3:17 PM, Minkyu Kang wrote: > Hi, > > On Wed, 4 Nov 2020 at 08:36, Jaehoon Chung <jh80.ch...@samsung.com> wrote: > >> Add DFU_SKIP layout cencept. >> > > "cencept" -> typo??
Will fix. Best Regards, Jaehoon Chung > > >> If layout is "skip", it will be skipped after nothing to do. >> It's useful to support multiple board with one tar file. >> >> Signed-off-by: Jaehoon Chung <jh80.ch...@samsung.com> >> --- >> doc/README.dfu | 10 +++++++++- >> drivers/dfu/dfu.c | 2 +- >> drivers/dfu/dfu_mmc.c | 9 +++++++++ >> include/dfu.h | 1 + >> 4 files changed, 20 insertions(+), 2 deletions(-) >> >> diff --git a/doc/README.dfu b/doc/README.dfu >> index 4b9f88354072..827d300e251f 100644 >> --- a/doc/README.dfu >> +++ b/doc/README.dfu >> @@ -17,7 +17,7 @@ Overview: >> - The access to mediums is done in DFU backends (driver/dfu) >> >> Today the supported DFU backends are: >> - - MMC (RAW or FAT / EXT2 / EXT3 / EXT4 file system) >> + - MMC (RAW or FAT / EXT2 / EXT3 / EXT4 file system / SKIP) >> - NAND >> - RAM >> - SF (serial flash) >> @@ -91,6 +91,7 @@ Commands: >> <name> part <dev> <part_id> [mmcpart <num>] raw access to partition >> <name> fat <dev> <part_id> [mmcpart <num>] file in FAT partition >> <name> ext4 <dev> <part_id> [mmcpart <num>] file in EXT4 partition >> + <name> skip 0 0 Skip after Nothing to do >> >> with <partid> being the GPT or DOS partition index, >> with <num> being the eMMC hardware partition number. >> @@ -103,6 +104,13 @@ Commands: >> >> "u-boot raw 0x80 0x800;uImage ext4 0 2" >> >> + If don't want to flash image file to storage, use "skip" layout. >> + - It can be protected to flash wrong image with specific board name. >> + - Especailly, this layout will be useful when thor protocol is used. >> + For example, if make a tar file to support two board with >> u-boot-<board1>.bin >> + and u-boot-<board2>.bin, it can make to flash a proper u-boot >> without fail. >> + "u-boot-<board1>.bin raw 0x80 0x800; u-boot-<board2>.bin skip 0 0" >> + >> "nand" (raw slc nand device) >> cmd: dfu 0 nand <dev> >> each element in "dfu_alt_info" = >> diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c >> index a298c2c43999..f679f1fa5fe5 100644 >> --- a/drivers/dfu/dfu.c >> +++ b/drivers/dfu/dfu.c >> @@ -614,7 +614,7 @@ const char *dfu_get_dev_type(enum dfu_device_type t) >> const char *dfu_get_layout(enum dfu_layout l) >> { >> const char *const dfu_layout[] = {NULL, "RAW_ADDR", "FAT", "EXT2", >> - "EXT3", "EXT4", "RAM_ADDR" }; >> + "EXT3", "EXT4", "RAM_ADDR", >> "SKIP" }; >> return dfu_layout[l]; >> } >> >> diff --git a/drivers/dfu/dfu_mmc.c b/drivers/dfu/dfu_mmc.c >> index 691d01c7ebdf..c7c324b0a986 100644 >> --- a/drivers/dfu/dfu_mmc.c >> +++ b/drivers/dfu/dfu_mmc.c >> @@ -108,6 +108,8 @@ static int mmc_file_op(enum dfu_op op, struct >> dfu_entity *dfu, >> case DFU_FS_EXT4: >> fstype = FS_TYPE_EXT; >> break; >> + case DFU_SKIP: >> + return 0; >> default: >> printf("%s: Layout (%s) not (yet) supported!\n", __func__, >> dfu_get_layout(dfu->layout)); >> @@ -204,6 +206,9 @@ int dfu_write_medium_mmc(struct dfu_entity *dfu, >> case DFU_FS_EXT4: >> ret = mmc_file_buf_write(dfu, offset, buf, len); >> break; >> + case DFU_SKIP: >> + ret = 0; >> + break; >> default: >> printf("%s: Layout (%s) not (yet) supported!\n", __func__, >> dfu_get_layout(dfu->layout)); >> @@ -238,6 +243,8 @@ int dfu_get_medium_size_mmc(struct dfu_entity *dfu, >> u64 *size) >> if (ret < 0) >> return ret; >> return 0; >> + case DFU_SKIP: >> + return 0; >> default: >> printf("%s: Layout (%s) not (yet) supported!\n", __func__, >> dfu_get_layout(dfu->layout)); >> @@ -399,6 +406,8 @@ int dfu_fill_entity_mmc(struct dfu_entity *dfu, char >> *devstr, char *s) >> dfu->layout = DFU_FS_FAT; >> } else if (!strcmp(entity_type, "ext4")) { >> dfu->layout = DFU_FS_EXT4; >> + } else if (!strcmp(entity_type, "skip")) { >> + dfu->layout = DFU_SKIP; >> } else { >> pr_err("Memory layout (%s) not supported!\n", entity_type); >> return -ENODEV; >> diff --git a/include/dfu.h b/include/dfu.h >> index 84abdc79acd1..2e8276c69c9f 100644 >> --- a/include/dfu.h >> +++ b/include/dfu.h >> @@ -33,6 +33,7 @@ enum dfu_layout { >> DFU_FS_EXT3, >> DFU_FS_EXT4, >> DFU_RAM_ADDR, >> + DFU_SKIP, >> }; >> >> enum dfu_op { >> -- >> 2.29.0 >> >> > just left one minor comment. > > Reviewed-by: Minkyu Kang <mk7.k...@samsung.com> >