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...@nxp.com>
> Reviewed-by: Haibo Chen <haibo.c...@nxp.com>

Reviewed-by: Jaehoon Chung <jh80.ch...@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(&regs->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
> 

Reply via email to