Thread (6 messages) 6 messages, 2 authors, 2025-08-08

Re: [PATCH v2 2/2] mmc: sdhci_am654: Disable HS400 for AM62P SR1.0 and SR1.1

From: Judith Mendez <hidden>
Date: 2025-08-08 13:38:17
Also in: linux-mmc, lkml

Hi all,

On 8/7/25 5:51 PM, Judith Mendez wrote:
quoted hunk ↗ jump to hunk
This adds SDHCI_AM654_QUIRK_DISABLE_HS400 quirk which shall be used
to disable HS400 support. AM62P SR1.0 and SR1.1 do not support HS400
due to errata i2458 [0] so disable HS400 for these SoC revisions.

[0] https://www.ti.com/lit/er/sprz574a/sprz574a.pdf
Signed-off-by: Judith Mendez <redacted>
---
  drivers/mmc/host/sdhci_am654.c | 18 ++++++++++++++++++
  1 file changed, 18 insertions(+)
diff --git a/drivers/mmc/host/sdhci_am654.c b/drivers/mmc/host/sdhci_am654.c
index e4fc345be7e5..dc4975514847 100644
--- a/drivers/mmc/host/sdhci_am654.c
+++ b/drivers/mmc/host/sdhci_am654.c
@@ -156,6 +156,7 @@ struct sdhci_am654_data {
  
  #define SDHCI_AM654_QUIRK_FORCE_CDTEST BIT(0)
  #define SDHCI_AM654_QUIRK_SUPPRESS_V1P8_ENA BIT(1)
+#define SDHCI_AM654_QUIRK_DISABLE_HS400 BIT(2)
  };
  
  struct window {
@@ -765,6 +766,7 @@ static int sdhci_am654_init(struct sdhci_host *host)
  {
  	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
  	struct sdhci_am654_data *sdhci_am654 = sdhci_pltfm_priv(pltfm_host);
+	struct device *dev = mmc_dev(host->mmc);
  	u32 ctl_cfg_2 = 0;
  	u32 mask;
  	u32 val;
@@ -820,6 +822,12 @@ static int sdhci_am654_init(struct sdhci_host *host)
  	if (ret)
  		goto err_cleanup_host;
  
+	if (sdhci_am654->quirks & SDHCI_AM654_QUIRK_DISABLE_HS400 &&
+	    host->mmc->caps2 & (MMC_CAP2_HS400 | MMC_CAP2_HS400_ES)) {
+		dev_err(dev, "Disable descoped HS400 mode for this silicon revision\n");
Forgot to switch to dev_info, so will respin the series one more time.

Sorry for the noise.

~ Judith

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help