mmc: sdhci-omap: Workaround for Errata i834
authorKishon Vijay Abraham I <kishon@ti.com>
Fri, 27 Apr 2018 11:47:18 +0000 (17:17 +0530)
committerUlf Hansson <ulf.hansson@linaro.org>
Thu, 3 May 2018 07:37:11 +0000 (09:37 +0200)
Errata i834 in AM572x Sitara Processors Silicon Revision 2.0, 1.1
(SPRZ429K July 2014–Revised March 2017 [1]) mentions the maximum
obtainable timeout through MMC host controller is 700ms. And for
commands taking longer than 700ms, hardware timeout should be
disabled and software timeout should be used.

The workaround for Errata i834 can be achieved by adding
SDHCI_QUIRK2_DISABLE_HW_TIMEOUT quirk in sdhci-omap.

[1] -> http://www.ti.com/lit/er/sprz429k/sprz429k.pdf

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-omap.c

index d5c1a9c71f95676b19d94866e1011c608305b802..2232a9974b216ce697b8ee67e2ffc5de7a2f4e4a 100644 (file)
@@ -715,7 +715,8 @@ static const struct sdhci_pltfm_data sdhci_omap_pdata = {
                  SDHCI_QUIRK_BROKEN_ADMA_ZEROLEN_DESC,
        .quirks2 = SDHCI_QUIRK2_ACMD23_BROKEN |
                   SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
-                  SDHCI_QUIRK2_RSP_136_HAS_CRC,
+                  SDHCI_QUIRK2_RSP_136_HAS_CRC |
+                  SDHCI_QUIRK2_DISABLE_HW_TIMEOUT,
        .ops = &sdhci_omap_ops,
 };