Errata i834 in AM572x Sitara Processors Silicon Revision 2.0, 1.1
(SPRZ429L July 2014–Revised April 2018 [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/sprz429l/sprz429l.pdf

Signed-off-by: Kishon Vijay Abraham I <[email protected]>
Acked-by: Tony Lindgren <[email protected]>
---
 drivers/mmc/host/sdhci-omap.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/host/sdhci-omap.c b/drivers/mmc/host/sdhci-omap.c
index 2d9ea23610d5..b2c54940d032 100644
--- a/drivers/mmc/host/sdhci-omap.c
+++ b/drivers/mmc/host/sdhci-omap.c
@@ -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,
 };
 
-- 
2.17.0

Reply via email to