On 6/08/20 2:48 pm, haibo.chen@xxxxxxx wrote: > From: Haibo Chen <haibo.chen@xxxxxxx> > > According to IC suggestion, everytime before sending the tuning command, > need to reset the usdhc, so to reset the tuning circuit, to let every > tuning command work well for the manual tuning method. For standard > tuning method, IC already add the reset operation in the logic. > > Signed-off-by: Haibo Chen <haibo.chen@xxxxxxx> > --- > drivers/mmc/host/sdhci-esdhc-imx.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c > index a76b4513fbec..e4694eb1b914 100644 > --- a/drivers/mmc/host/sdhci-esdhc-imx.c > +++ b/drivers/mmc/host/sdhci-esdhc-imx.c > @@ -990,6 +990,7 @@ static void esdhc_prepare_tuning(struct sdhci_host *host, u32 val) > > /* FIXME: delay a bit for card to be ready for next tuning due to errors */ > mdelay(1); > + sdhci_reset(host, SDHCI_RESET_ALL); Doesn't that reset all registers i.e. the entire ios state? > > reg = readl(host->ioaddr + ESDHC_MIX_CTRL); > reg |= ESDHC_MIX_CTRL_EXE_TUNE | ESDHC_MIX_CTRL_SMPCLK_SEL | >