mmc: sdhci: Enable HS400 support if available in caps

HS400 is indicated in bit63 of capability register in few IP's.
Add a quirk to check this and add HS400 to host capabilities.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com>
This commit is contained in:
Ashok Reddy Soma 2023-01-10 04:31:23 -07:00 committed by Jaehoon Chung
parent 6f5bb9913c
commit 386f5d3673
2 changed files with 7 additions and 0 deletions

View file

@ -995,6 +995,10 @@ int sdhci_setup_cfg(struct mmc_config *cfg, struct sdhci_host *host,
cfg->host_caps |= MMC_CAP(UHS_SDR50);
}
if ((host->quirks & SDHCI_QUIRK_CAPS_BIT63_FOR_HS400) &&
(caps_1 & SDHCI_SUPPORT_HS400))
cfg->host_caps |= MMC_CAP(MMC_HS_400);
if (caps_1 & SDHCI_SUPPORT_DDR50)
cfg->host_caps |= MMC_CAP(UHS_DDR50);

View file

@ -189,6 +189,7 @@
#define SDHCI_SUPPORT_SDR50 0x00000001
#define SDHCI_SUPPORT_SDR104 0x00000002
#define SDHCI_SUPPORT_DDR50 0x00000004
#define SDHCI_SUPPORT_HS400 BIT(31)
#define SDHCI_USE_SDR50_TUNING 0x00002000
#define SDHCI_CLOCK_MUL_MASK 0x00FF0000
@ -248,6 +249,8 @@
#define SDHCI_QUIRK_USE_WIDE8 (1 << 8)
#define SDHCI_QUIRK_NO_1_8_V (1 << 9)
#define SDHCI_QUIRK_SUPPORT_SINGLE (1 << 10)
/* Capability register bit-63 indicates HS400 support */
#define SDHCI_QUIRK_CAPS_BIT63_FOR_HS400 BIT(11)
/* to make gcc happy */
struct sdhci_host;