[PATCH] mmc: fsl_esdhc_imx: Fix clock disable issue
Jaehoon Chung
jh80.chung at samsung.com
Wed Aug 25 23:47:56 CEST 2021
On 8/17/21 6:09 PM, Ye Li wrote:
> The SD clock disable is wrapped by MMC_SUPPORTS_TUNING. So it
> only works when UHS is enabled. However, in SD initialization the
> power cycle does not depends on UHS. But the power cycle needs
> disable the SD clock before power down.
> So this causes a problem when UHS is not enabled. Some cards can't
> become ready (ACMD14 timeout) due to the clock is enabled during
> power cycle.
>
> Signed-off-by: Ye Li <ye.li at nxp.com>
> Reviewed-by: Haibo Chen <haibo.chen at nxp.com>
Reviewed-by: Jaehoon Chung <jh80.chung at samsung.com>
Best Regards,
Jaehoon Chung
> ---
> drivers/mmc/fsl_esdhc_imx.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
> index aabf395..7b67972 100644
> --- a/drivers/mmc/fsl_esdhc_imx.c
> +++ b/drivers/mmc/fsl_esdhc_imx.c
> @@ -971,7 +971,6 @@ static int esdhc_set_ios_common(struct fsl_esdhc_priv *priv, struct mmc *mmc)
> if (priv->clock != clock)
> set_sysctl(priv, mmc, clock);
>
> -#ifdef MMC_SUPPORTS_TUNING
> if (mmc->clk_disable) {
> #ifdef CONFIG_FSL_USDHC
> esdhc_clrbits32(®s->vendorspec, VENDORSPEC_CKEN);
> @@ -987,6 +986,7 @@ static int esdhc_set_ios_common(struct fsl_esdhc_priv *priv, struct mmc *mmc)
> #endif
> }
>
> +#ifdef MMC_SUPPORTS_TUNING
> /*
> * For HS400/HS400ES mode, make sure set the strobe dll in the
> * target clock rate. So call esdhc_set_strobe_dll() after the
>
More information about the U-Boot
mailing list