[PATCH] dfu: mmc: Add support for exposing whole mmc device
Mattijs Korpershoek
mkorpershoek at baylibre.com
Tue Oct 31 10:34:05 CET 2023
On dim., oct. 29, 2023 at 23:37, Marek Vasut <marex at denx.de> wrote:
> Add support for exposing the whole mmc device by setting the 'size'
> parameter to 0. This can be useful in case it is not clear what the
> total device size is up front. Update the documentation accordingly.
>
> Signed-off-by: Marek Vasut <marex at denx.de>
> ---
> Cc: Lukasz Majewski <lukma at denx.de>
> Cc: Mattijs Korpershoek <mkorpershoek at baylibre.com>
> Cc: Tom Rini <trini at konsulko.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek at baylibre.com>
> ---
> doc/usage/dfu.rst | 5 +++++
> drivers/dfu/dfu_mmc.c | 10 ++++++++++
> 2 files changed, 15 insertions(+)
>
> diff --git a/doc/usage/dfu.rst b/doc/usage/dfu.rst
> index 68cacbbef66..8845a71df36 100644
> --- a/doc/usage/dfu.rst
> +++ b/doc/usage/dfu.rst
> @@ -121,6 +121,11 @@ mmc
>
> with
>
> + offset
> + is the offset in the device (hexadecimal without "0x")
> + size
> + is the size of the access area (hexadecimal without "0x")
> + or 0 which means whole device
> partid
> being the GPT or DOS partition index,
> num
> diff --git a/drivers/dfu/dfu_mmc.c b/drivers/dfu/dfu_mmc.c
> index cdb3c18b01d..12c54e90ef7 100644
> --- a/drivers/dfu/dfu_mmc.c
> +++ b/drivers/dfu/dfu_mmc.c
> @@ -386,6 +386,16 @@ int dfu_fill_entity_mmc(struct dfu_entity *dfu, char *devstr, char **argv, int a
> dfu->data.mmc.lba_size = third_arg;
> dfu->data.mmc.lba_blk_size = mmc->read_bl_len;
>
> + /*
> + * In case the size is zero (i.e. mmc raw 0x10 0),
> + * assume the user intends to use whole device.
> + */
> + if (third_arg == 0) {
> + struct blk_desc *blk_dev = mmc_get_blk_desc(mmc);
> +
> + dfu->data.mmc.lba_size = blk_dev->lba;
> + }
> +
> /*
> * Check for an extra entry at dfu_alt_info env variable
> * specifying the mmc HW defined partition number
> --
> 2.42.0
More information about the U-Boot
mailing list