aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/sdhci-esdhc-imx.c
diff options
context:
space:
mode:
authorDong Aisheng <aisheng.dong@freescale.com>2016-07-12 15:46:14 +0800
committerUlf Hansson <ulf.hansson@linaro.org>2016-07-25 10:34:54 +0200
commitca8cc0fe0e55866dee5009aff5f4740b5daf790b (patch)
tree553bd96445631b54defd7234adabd51de2e7c65c /drivers/mmc/host/sdhci-esdhc-imx.c
parentmmc: sdhci-esdhc-imx: restore watermark level setting after resume (diff)
downloadlinux-dev-ca8cc0fe0e55866dee5009aff5f4740b5daf790b.tar.xz
linux-dev-ca8cc0fe0e55866dee5009aff5f4740b5daf790b.zip
mmc: sdhci-esdhci-imx: disable DLL delay line settings explicitly
Disable DLL delay line settings explicitly during driver initialization in case ROM/uBoot had set an invalid delay. e.g. MX6DL ROM has set the default delay line(DLLCTRL) to 0x1000021, the uSDHC clock timing will become marginal when works on DDR mode due to default delay and will possibly see CRC errors in case the board is not perfectly designed on the eMMC chip layout. Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/host/sdhci-esdhc-imx.c')
-rw-r--r--drivers/mmc/host/sdhci-esdhc-imx.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index 91c6a6864e15..874d5105f83c 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -1187,6 +1187,9 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
*/
writel(readl(host->ioaddr + 0x6c) | BIT(7),
host->ioaddr + 0x6c);
+
+ /* disable DLL_CTRL delay line settings */
+ writel(0x0, host->ioaddr + ESDHC_DLL_CTRL);
}
if (imx_data->socdata->flags & ESDHC_FLAG_MAN_TUNING)