Skip to content

Commit 516cd09

Browse files
jmentigregkh
authored andcommitted
mmc: sdhci_am654: Workaround for Errata i2312
commit 6d0b1c0 upstream. Errata i2312 [0] for K3 silicon 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 i2312 can be achieved by adding SDHCI_QUIRK2_DISABLE_HW_TIMEOUT quirk in sdhci_am654. [0] https://www.ti.com/lit/pdf/sprz487 Signed-off-by: Judith Mendez <jm@ti.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Fixes: 41fd4ca ("mmc: sdhci_am654: Add Initial Support for AM654 SDHCI driver") Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20250626231452.3460987-1-jm@ti.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 5280e0b commit 516cd09

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

drivers/mmc/host/sdhci_am654.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,8 @@ static const struct sdhci_ops sdhci_am654_ops = {
588588
static const struct sdhci_pltfm_data sdhci_am654_pdata = {
589589
.ops = &sdhci_am654_ops,
590590
.quirks = SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12,
591-
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
591+
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
592+
SDHCI_QUIRK2_DISABLE_HW_TIMEOUT,
592593
};
593594

594595
static const struct sdhci_am654_driver_data sdhci_am654_sr1_drvdata = {
@@ -618,7 +619,8 @@ static const struct sdhci_ops sdhci_j721e_8bit_ops = {
618619
static const struct sdhci_pltfm_data sdhci_j721e_8bit_pdata = {
619620
.ops = &sdhci_j721e_8bit_ops,
620621
.quirks = SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12,
621-
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
622+
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
623+
SDHCI_QUIRK2_DISABLE_HW_TIMEOUT,
622624
};
623625

624626
static const struct sdhci_am654_driver_data sdhci_j721e_8bit_drvdata = {
@@ -642,7 +644,8 @@ static const struct sdhci_ops sdhci_j721e_4bit_ops = {
642644
static const struct sdhci_pltfm_data sdhci_j721e_4bit_pdata = {
643645
.ops = &sdhci_j721e_4bit_ops,
644646
.quirks = SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12,
645-
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
647+
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
648+
SDHCI_QUIRK2_DISABLE_HW_TIMEOUT,
646649
};
647650

648651
static const struct sdhci_am654_driver_data sdhci_j721e_4bit_drvdata = {

0 commit comments

Comments
 (0)