mmc: sdhci-esdhc-imx: clear ESDHC_STD_TUNING_EN for manual tuning method
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@nxp.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
4f10001224
commit
a98c557e2a
|
@ -1120,6 +1120,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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue