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(®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 >