|
@@ -557,6 +557,9 @@ int sdhci_setup_cfg(struct mmc_config *cfg, struct sdhci_host *host,
|
|
if (caps & SDHCI_CAN_VDD_180)
|
|
if (caps & SDHCI_CAN_VDD_180)
|
|
cfg->voltages |= MMC_VDD_165_195;
|
|
cfg->voltages |= MMC_VDD_165_195;
|
|
|
|
|
|
|
|
+ if (host->quirks & SDHCI_QUIRK_BROKEN_VOLTAGE)
|
|
|
|
+ cfg->voltages |= host->voltages;
|
|
|
|
+
|
|
cfg->host_caps = MMC_MODE_HS | MMC_MODE_HS_52MHz | MMC_MODE_4BIT;
|
|
cfg->host_caps = MMC_MODE_HS | MMC_MODE_HS_52MHz | MMC_MODE_4BIT;
|
|
if (SDHCI_GET_VERSION(host) >= SDHCI_SPEC_300) {
|
|
if (SDHCI_GET_VERSION(host) >= SDHCI_SPEC_300) {
|
|
if (caps & SDHCI_CAN_DO_8BIT)
|
|
if (caps & SDHCI_CAN_DO_8BIT)
|
|
@@ -597,9 +600,6 @@ int add_sdhci(struct sdhci_host *host, u32 max_clk, u32 min_clk)
|
|
if (ret)
|
|
if (ret)
|
|
return ret;
|
|
return ret;
|
|
|
|
|
|
- if (host->quirks & SDHCI_QUIRK_BROKEN_VOLTAGE)
|
|
|
|
- host->cfg.voltages |= host->voltages;
|
|
|
|
-
|
|
|
|
host->mmc = mmc_create(&host->cfg, host);
|
|
host->mmc = mmc_create(&host->cfg, host);
|
|
if (host->mmc == NULL) {
|
|
if (host->mmc == NULL) {
|
|
printf("%s: mmc create fail!\n", __func__);
|
|
printf("%s: mmc create fail!\n", __func__);
|