From a2fbfacff042b6a282ae06ae4a1ca5b5a42714bb Mon Sep 17 00:00:00 2001 From: Krishna Konda Date: Mon, 23 Jun 2014 14:50:38 -0700 Subject: sdhci: sdhci-msm: fix issue with hs400 mode In HS400 mode, command line is still operated in SDR mode and not DDR mode like data lines. So in order to correctly process command responses, the hardware needs to be set appropriately or else there will command crc or similar errors due to incorrect sampling of the response. Change-Id: I426ff4fc4798afae254d11a608c800dc0b7bf765 Signed-off-by: Krishna Konda --- drivers/mmc/host/sdhci-msm.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c index 469b79ebe77b..6d00eff97a29 100644 --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c @@ -883,6 +883,11 @@ static int sdhci_msm_hs400_dll_calibration(struct sdhci_host *host) if (ret) goto out; + /* Write 1 to CMD_DAT_TRACK_SEL field in DLL_CONFIG */ + writel_relaxed((readl_relaxed(host->ioaddr + CORE_DLL_CONFIG) + | CORE_CMD_DAT_TRACK_SEL), + host->ioaddr + CORE_DLL_CONFIG); + if (msm_host->use_cdclp533) /* Calibrate CDCLP533 DLL HW */ ret = sdhci_msm_cdclp533_calibration(host); -- cgit v1.2.3