[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