[PATCH 13/18] mmc: Add more debugging for SPL

Marek Vasut marex at denx.de
Wed Aug 28 05:38:16 CEST 2024


On 8/28/24 3:45 AM, Simon Glass wrote:
> When MMC booting fails it is sometimes hard to figure out what went
> wrong as there is no error code. It isn't even clear which MMC device
> was chosen, since SPL can have its own numbering.
> 
> Add some debugging to help with this.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
>   common/spl/spl_mmc.c | 13 +++++++++++++
>   1 file changed, 13 insertions(+)
> 
> diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
> index 3fd81608e9f..c0e8d407e5d 100644
> --- a/common/spl/spl_mmc.c
> +++ b/common/spl/spl_mmc.c
> @@ -50,6 +50,7 @@ int mmc_load_image_raw_sector(struct spl_image_info *spl_image,
>   	ret = spl_load(spl_image, bootdev, &load, 0, sector << bd->log2blksz);
>   	if (ret) {
>   		puts("mmc_load_image_raw_sector: mmc block read error\n");
> +		log_debug("(error=%d)\n", ret);
>   		return ret;
>   	}
>   
> @@ -76,6 +77,12 @@ static int spl_mmc_find_device(struct mmc **mmcp, int mmc_dev)
>   	int ret;
>   
>   #if CONFIG_IS_ENABLED(DM_MMC)
> +	struct udevice *dev;
> +	struct uclass *uc;
> +
> +	log_debug("Selecting MMC dev %d; seqs:\n", mmc_dev);
> +	uclass_id_foreach_dev(UCLASS_MMC, dev, uc)
> +		log_debug("%d: %s\n", dev_seq(dev), dev->name);
>   	ret = mmc_init_device(mmc_dev);
>   #else
>   	ret = mmc_initialize(NULL);
> @@ -91,6 +98,10 @@ static int spl_mmc_find_device(struct mmc **mmcp, int mmc_dev)
>   		       mmc_dev, ret);
>   		return ret;
>   	}
> +#if CONFIG_IS_ENABLED(DM_MMC)

if (CONFIG_IS_ENABLED(...)) ?


More information about the U-Boot mailing list