[PATCH v2 2/2] mmc: am654_sdhci: Disable HS400 for AM62P SR1.0 and SR1.1
Judith Mendez
jm at ti.com
Tue Aug 5 18:14:19 CEST 2025
AM62P SR1.0 and SR1.1 do not support HS400 due to errata i2458 [0] so
add functionality to detect these SoC revisions and disable HS400.
[0] https://www.ti.com/lit/er/sprz574a/sprz574a.pdf
Signed-off-by: Judith Mendez <jm at ti.com>
Reviewed-by: Peng Fan <peng.fan at nxp.com>
---
drivers/mmc/am654_sdhci.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/mmc/am654_sdhci.c b/drivers/mmc/am654_sdhci.c
index d3c8f94dd0c..7e4e7e1b90e 100644
--- a/drivers/mmc/am654_sdhci.c
+++ b/drivers/mmc/am654_sdhci.c
@@ -629,6 +629,12 @@ const struct soc_attr am654_sdhci_soc_attr[] = {
{/* sentinel */}
};
+static struct soc_attr sdhci_am654_descope_hs400[] = {
+ { .family = "AM62PX", .revision = "SR1.0" },
+ { .family = "AM62PX", .revision = "SR1.1" },
+ { /* sentinel */ }
+};
+
static int sdhci_am654_get_otap_delay(struct udevice *dev,
struct mmc_config *cfg)
{
@@ -715,6 +721,12 @@ static int am654_sdhci_probe(struct udevice *dev)
host->ops = soc_drv_data->ops;
}
+ soc = soc_device_match(sdhci_am654_descope_hs400);
+ if (soc) {
+ dev_err(dev, "Disable descoped HS400 mode for this silicon revision\n");
+ plat->cfg.host_caps &= ~(MMC_MODE_HS400 | MMC_MODE_HS400_ES);
+ }
+
host->mmc->priv = host;
upriv->mmc = host->mmc;
--
2.49.0
More information about the U-Boot
mailing list