On Wed, 07 Nov 2018 16:01:00 +0100 Marek Szyprowski <m.szyprow...@samsung.com> 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; > + dfu->data.mmc.lba_size = > partinfo.size-offset; dfu->data.mmc.lba_blk_size = > partinfo.blksz; } else if (!strcmp(entity_type, "fat")) { > dfu->layout = DFU_FS_FAT; Acked-by: Lukasz Majewski <lu...@denx.de> Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lu...@denx.de
pgpGRkN5vyj6M.pgp
Description: OpenPGP digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot