[PATCH 3/4] cmd: mmc: display write protect state of boot partition

Jaehoon Chung jh80.chung at samsung.com
Wed Apr 1 05:04:46 CEST 2020


Hi,

On 3/30/20 2:24 PM, Heinrich Schuchardt wrote:
> Boot partitions of eMMC devices can be power on or permanently write
> protected. Let the 'mmc info' command display the protection state.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> ---
>  cmd/mmc.c | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/cmd/mmc.c b/cmd/mmc.c
> index 6f3cb85cc0..d62c85e439 100644
> --- a/cmd/mmc.c
> +++ b/cmd/mmc.c
> @@ -54,6 +54,8 @@ static void print_mmcinfo(struct mmc *mmc)
>  	if (!IS_SD(mmc) && mmc->version >= MMC_VERSION_4_41) {
>  		bool has_enh = (mmc->part_support & ENHNCD_SUPPORT) != 0;
>  		bool usr_enh = has_enh && (mmc->part_attr & EXT_CSD_ENH_USR);
> +		u8 wp, ext_csd[MMC_MAX_BLOCK_LEN];
> +		int ret;
> 
>  #if CONFIG_IS_ENABLED(MMC_HW_PARTITIONING)
>  		puts("HC WP Group Size: ");
> @@ -90,6 +92,28 @@ static void print_mmcinfo(struct mmc *mmc)
>  					putc('\n');
>  			}
>  		}
> +		ret = mmc_send_ext_csd(mmc, ext_csd);
> +		if (ret)
> +			return;

Is it really needed to call mmc_send_ext_csd() at here.
ext_csd register value was already read somewhere.

Best Regards,
Jaehoon Chung

> +		wp = ext_csd[EXT_CSD_BOOT_WP_STATUS];
> +		for (i = 0; i < 2; ++i) {
> +			printf("Boot area %d is ", i);
> +			switch (wp & 3) {
> +			case 0:
> +				printf("not write protected\n");
> +				break;
> +			case 1:
> +				printf("power on protected\n");
> +				break;
> +			case 2:
> +				printf("permanently protected\n");
> +				break;
> +			default:
> +				printf("in reserved protection state\n");
> +				break;
> +			}
> +			wp >>= 2;
> +		}
>  	}
>  }
>  static struct mmc *init_mmc_device(int dev, bool force_init)
> --
> 2.25.1
> 
> 
> 



More information about the U-Boot mailing list