Dear Marek Szyprowski, On 08/11/18 00:01, Marek Szyprowski wrote: > Add possibility to define a part of partition as a separate DFU entity. > This allows to have more than one items on the given partiton. > > The real use case for this option is TM2 board. It can use u-boot stored > as Linux kernel on the defined partiton (as RAW data) and load the real > kernel from the same partition, but stored under the certain offset. > > Signed-off-by: Marek Szyprowski <m.szyprow...@samsung.com> > --- > drivers/dfu/dfu_mmc.c | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > diff --git a/drivers/dfu/dfu_mmc.c b/drivers/dfu/dfu_mmc.c > index b45e6dc54c..826e70ffec 100644 > --- a/drivers/dfu/dfu_mmc.c > +++ b/drivers/dfu/dfu_mmc.c > @@ -357,6 +357,7 @@ int dfu_fill_entity_mmc(struct dfu_entity *dfu, char > *devstr, char *s) > struct blk_desc *blk_dev = mmc_get_blk_desc(mmc); > int mmcdev = second_arg; > int mmcpart = third_arg; > + int offset = 0; > > if (part_get_info(blk_dev, mmcpart, &partinfo) != 0) { > pr_err("Couldn't find part #%d on mmc device #%d\n", > @@ -364,9 +365,17 @@ int dfu_fill_entity_mmc(struct dfu_entity *dfu, char > *devstr, char *s) > return -ENODEV; > } > > + /* > + * Check for an extra entry at dfu_alt_info env variable > + * specifying the mmc HW defined partition number > + */ > + if (s) > + if (!strcmp(strsep(&s, " "), "offset")) > + offset = simple_strtoul(s, NULL, 0); > + > dfu->layout = DFU_RAW_ADDR; > - dfu->data.mmc.lba_start = partinfo.start; > - dfu->data.mmc.lba_size = partinfo.size; > + dfu->data.mmc.lba_start = partinfo.start+offset;
please add space. partinfo.start + offset > + dfu->data.mmc.lba_size = partinfo.size-offset; partinfo.size - offset > dfu->data.mmc.lba_blk_size = partinfo.blksz; > } else if (!strcmp(entity_type, "fat")) { > dfu->layout = DFU_FS_FAT; > Thanks, Minkyu Kang. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot