[U-Boot] [PATCH v4 01/18] mmc: show hardware partition sizes in mmcinfo output

Pantelis Antoniou panto at antoniou-consulting.com
Mon Jan 19 16:37:45 CET 2015


Hi Diego,

> On Dec 23, 2014, at 11:50 , Diego Santa Cruz <Diego.SantaCruz at spinetix.com> wrote:
> 
> There is currently no command that will provide an overview of the hardware
> partitions present on an eMMC device, one has to switch to every partition
> via "mmc dev" and run mmcinfo for each to get the partition's capacity.
> This commit adds a few lines of output to mmcinfo with the sizes of the
> present partitions, like this:
> 
> Device: OMAP SD/MMC
> Manufacturer ID: fe
> OEM: 14e
> Name: MMC16
> Tran Speed: 52000000
> Rd Block Len: 512
> MMC version 4.41
> High Capacity: Yes
> Capacity: 13.8 GiB
> Bus Width: 4-bit
> User Capacity: 13.8 GiB
> Boot Capacity: 16 MiB
> RPMB Capacity: 128 KiB
> GP1 Capacity: 64 MiB
> GP2 Capacity: 64 MiB
> 
> Signed-off-by: Diego Santa Cruz <Diego.SantaCruz at spinetix.com>
> ---
> common/cmd_mmc.c | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
> 
> diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
> index 96478e4..fa765d7 100644
> --- a/common/cmd_mmc.c
> +++ b/common/cmd_mmc.c
> @@ -73,6 +73,8 @@ U_BOOT_CMD(
> 
> static void print_mmcinfo(struct mmc *mmc)
> {
> +	int i;
> +
> 	printf("Device: %s\n", mmc->cfg->name);
> 	printf("Manufacturer ID: %x\n", mmc->cid[0] >> 24);
> 	printf("OEM: %x\n", (mmc->cid[0] >> 8) & 0xffff);
> @@ -92,6 +94,21 @@ static void print_mmcinfo(struct mmc *mmc)
> 
> 	printf("Bus Width: %d-bit%s\n", mmc->bus_width,
> 			mmc->ddr_mode ? " DDR" : "");
> +
> +	if (!IS_SD(mmc) && (mmc->version >= MMC_VERSION_4)) {
> +		puts("User Capacity: ");
> +		print_size(mmc->capacity_user, "\n");
> +		puts("Boot Capacity: ");
> +		print_size(mmc->capacity_boot, "\n");
> +		puts("RPMB Capacity: ");
> +		print_size(mmc->capacity_rpmb, "\n");
> +		for (i = 0; i < ARRAY_SIZE(mmc->capacity_gp); i++) {
> +			if (mmc->capacity_gp[i]) {
> +				printf("GP%i Capacity: ", i);
> +				print_size(mmc->capacity_gp[i], "\n");
> +			}
> +		}
> +	}
> }
> static struct mmc *init_mmc_device(int dev, bool force_init)
> {
> -- 
> 2.2.1
> 

Applied with a minor edit removing the superfluous parentheses.

— Pantelis



More information about the U-Boot mailing list