On Thu, 20 Dec 2018 at 12:57, BOUGH CHEN <haibo.chen@xxxxxxx> wrote: > > The bit ESDHC_STD_TUNING_EN may be configed by bootloader code if it > choose to use standard tuning method. So on linux side, if choose to > use manual tuning method, need to clear the bit ESDHC_STD_TUNING_EN, > remove the impact of bootloader code. > > Signed-off-by: Haibo Chen <haibo.chen@xxxxxxx> Applied for next, thanks! Kind regards Uffe > --- > drivers/mmc/host/sdhci-esdhc-imx.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c > index 75a2484..4b7bf07 100644 > --- a/drivers/mmc/host/sdhci-esdhc-imx.c > +++ b/drivers/mmc/host/sdhci-esdhc-imx.c > @@ -1137,6 +1137,15 @@ static void sdhci_esdhc_imx_hwinit(struct sdhci_host *host) > << ESDHC_TUNING_STEP_SHIFT; > } > writel(tmp, host->ioaddr + ESDHC_TUNING_CTRL); > + } else if (imx_data->socdata->flags & ESDHC_FLAG_MAN_TUNING) { > + /* > + * ESDHC_STD_TUNING_EN may be configed in bootloader > + * or ROM code, so clear this bit here to make sure > + * the manual tuning can work. > + */ > + tmp = readl(host->ioaddr + ESDHC_TUNING_CTRL); > + tmp &= ~ESDHC_STD_TUNING_EN; > + writel(tmp, host->ioaddr + ESDHC_TUNING_CTRL); > } > } > } > -- > 1.9.1 >