mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 07:03:03 +02:00
mmc: Merge branch fixes into next
Merge the mmc fixes for v6.17-rc[n] into the next branch, to allow them to get tested together with the new mmc changes that are targeted for v6.18. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
commit
e7d1ce96f1
|
|
@ -155,6 +155,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 {
|
||||
|
|
@ -764,6 +765,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;
|
||||
|
|
@ -819,6 +821,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_info(dev, "HS400 mode not supported on this silicon revision, disabling it\n");
|
||||
host->mmc->caps2 &= ~(MMC_CAP2_HS400 | MMC_CAP2_HS400_ES);
|
||||
}
|
||||
|
||||
ret = __sdhci_add_host(host);
|
||||
if (ret)
|
||||
goto err_cleanup_host;
|
||||
|
|
@ -882,6 +890,12 @@ static int sdhci_am654_get_of_property(struct platform_device *pdev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static const struct soc_device_attribute sdhci_am654_descope_hs400[] = {
|
||||
{ .family = "AM62PX", .revision = "SR1.0" },
|
||||
{ .family = "AM62PX", .revision = "SR1.1" },
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
|
||||
static const struct of_device_id sdhci_am654_of_match[] = {
|
||||
{
|
||||
.compatible = "ti,am654-sdhci-5.1",
|
||||
|
|
@ -969,6 +983,10 @@ static int sdhci_am654_probe(struct platform_device *pdev)
|
|||
if (ret)
|
||||
return dev_err_probe(dev, ret, "parsing dt failed\n");
|
||||
|
||||
soc = soc_device_match(sdhci_am654_descope_hs400);
|
||||
if (soc)
|
||||
sdhci_am654->quirks |= SDHCI_AM654_QUIRK_DISABLE_HS400;
|
||||
|
||||
host->mmc_host_ops.start_signal_voltage_switch = sdhci_am654_start_signal_voltage_switch;
|
||||
host->mmc_host_ops.execute_tuning = sdhci_am654_execute_tuning;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user