[PATCH 2/2] mmc: fsl_esdhc_imx: Use esdhc_soc_data flags to set host caps

sbabic at denx.de sbabic at denx.de
Sat Feb 19 14:07:50 CET 2022


> The Linux driver automatically can detect and enable UHS, HS200, HS400
> and HS400_ES automatically without extra flags being placed into the
> device tree.
> Right now, for U-Boot to use UHS, HS200 or HS400, the extra flags are
> needed in the device tree.  Instead, go through the esdhc_soc_data
> flags and enable the host caps where applicable to automatically
> enable higher speeds.
> Suggested-by: Fabio Estevam <festevam at gmail.com>
> Signed-off-by: Adam Ford <aford173 at gmail.com>
> diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
> index e5814232a2..5088e78bb6 100644
> --- a/drivers/mmc/fsl_esdhc_imx.c
> +++ b/drivers/mmc/fsl_esdhc_imx.c
> @@ -1305,8 +1305,29 @@ static int fsl_esdhc_init(struct fsl_esdhc_priv *priv,
>  			val |= ESDHC_TUNING_CMD_CRC_CHECK_DISABLE;
>  			esdhc_write32(&regs->tuning_ctrl, val);
>  		}
> -	}
>  
> +		/*
> +		 * UHS doesn't have explicit ESDHC flags, so if it's
> +		 * not supported, disable it in config.
> +		 */
> +		if (CONFIG_IS_ENABLED(MMC_UHS_SUPPORT))
> +			cfg->host_caps |= UHS_CAPS;
> +
> +		if (CONFIG_IS_ENABLED(MMC_HS200_SUPPORT)) {
> +			if (priv->flags & ESDHC_FLAG_HS200)
> +				cfg->host_caps |= MMC_CAP(MMC_HS_200);
> +		}
> +
> +		if (CONFIG_IS_ENABLED(MMC_HS400_SUPPORT)) {
> +			if (priv->flags & ESDHC_FLAG_HS400)
> +				cfg->host_caps |= MMC_CAP(MMC_HS_400);
> +		}
> +
> +		if (CONFIG_IS_ENABLED(MMC_HS400_ES_SUPPORT)) {
> +			if (priv->flags & ESDHC_FLAG_HS400_ES)
> +				cfg->host_caps |= MMC_CAP(MMC_HS_400_ES);
> +		}
> +	}
>  	return 0;
>  }
>  
Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list