mmc: zynq_sdhci: Added qurik to disable high speed
authorSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Tue, 12 Jan 2016 09:42:16 +0000 (15:12 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Wed, 27 Jan 2016 14:55:54 +0000 (15:55 +0100)
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>
drivers/mmc/zynq_sdhci.c

index f21ea524af9f8ef0c387b9bb64176ef28eaad94a..039ec16e91fe4b94775773a8d705fdb82de159e4 100644 (file)
@@ -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,