summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiva Durga Prasad Paladugu <[email protected]>2016-01-12 15:12:16 +0530
committerMichal Simek <[email protected]>2016-01-27 15:55:54 +0100
commitb21561463885d4c2f40a133dae1ff00ef3f0175f (patch)
tree3fee83c2d22b142dc7c3dc333bb49e630efb7db6
parent429790026021d522d51617217d4b86218cca5750 (diff)
mmc: zynq_sdhci: Added qurik to disable high speed
Add quirk to disable high speed incase the high speed was broken.This solves the issue where the the controller is used in High Speed Mode and the the hold time requirement for the JEDEC/MMC 4.41 specification is NOT met. This timing issue is not on all boards and hence provided config option to enable it when required. Signed-off-by: Siva Durga Prasad Paladugu <[email protected]> Signed-off-by: Emil Lenchak <[email protected]> Signed-off-by: Michal Simek <[email protected]>
-rw-r--r--drivers/mmc/zynq_sdhci.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mmc/zynq_sdhci.c b/drivers/mmc/zynq_sdhci.c
index f21ea524af9..039ec16e91f 100644
--- a/drivers/mmc/zynq_sdhci.c
+++ b/drivers/mmc/zynq_sdhci.c
@@ -24,6 +24,11 @@ static int arasan_sdhci_probe(struct udevice *dev)
host->quirks = SDHCI_QUIRK_WAIT_SEND_CMD |
SDHCI_QUIRK_BROKEN_R1B;
+
+#ifdef CONFIG_ZYNQ_HISPD_BROKEN
+ host->quirks |= SDHCI_QUIRK_NO_HISPD_BIT;
+#endif
+
host->version = sdhci_readw(host, SDHCI_HOST_VERSION);
add_sdhci(host, CONFIG_ZYNQ_SDHCI_MAX_FREQ,