summaryrefslogtreecommitdiff
path: root/drivers/mmc/zynq_sdhci.c
diff options
context:
space:
mode:
authorSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>2016-01-12 09:42:16 (GMT)
committerMichal Simek <michal.simek@xilinx.com>2016-01-27 14:55:54 (GMT)
commitb21561463885d4c2f40a133dae1ff00ef3f0175f (patch)
tree3fee83c2d22b142dc7c3dc333bb49e630efb7db6 /drivers/mmc/zynq_sdhci.c
parent429790026021d522d51617217d4b86218cca5750 (diff)
downloadu-boot-b21561463885d4c2f40a133dae1ff00ef3f0175f.tar.xz
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 <sivadur@xilinx.com> Signed-off-by: Emil Lenchak <emill@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'drivers/mmc/zynq_sdhci.c')
-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 f21ea52..039ec16 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,