diff options
author | Krishna Konda <kkonda@codeaurora.org> | 2014-06-23 14:50:38 -0700 |
---|---|---|
committer | Subhash Jadavani <subhashj@codeaurora.org> | 2016-05-27 10:29:08 -0700 |
commit | a2fbfacff042b6a282ae06ae4a1ca5b5a42714bb (patch) | |
tree | e6dcac9cae5e8ad2b9cb6a3411de365602490235 /drivers/mmc | |
parent | 7302266f4cc943dd37f0cfd7db16e83ecf28f7cb (diff) |
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 <kkonda@codeaurora.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/host/sdhci-msm.c | 5 |
1 files changed, 5 insertions, 0 deletions
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); |