|
@@ -572,9 +572,16 @@ int sdhci_setup_cfg(struct mmc_config *cfg, struct sdhci_host *host,
|
|
|
cfg->voltages |= host->voltages;
|
|
|
|
|
|
cfg->host_caps = MMC_MODE_HS | MMC_MODE_HS_52MHz | MMC_MODE_4BIT;
|
|
|
+
|
|
|
+ /* Since Host Controller Version3.0 */
|
|
|
if (SDHCI_GET_VERSION(host) >= SDHCI_SPEC_300) {
|
|
|
if (!(caps & SDHCI_CAN_DO_8BIT))
|
|
|
cfg->host_caps &= ~MMC_MODE_8BIT;
|
|
|
+
|
|
|
+ /* Find out whether clock multiplier is supported */
|
|
|
+ caps_1 = sdhci_readl(host, SDHCI_CAPABILITIES_1);
|
|
|
+ host->clk_mul = (caps_1 & SDHCI_CLOCK_MUL_MASK) >>
|
|
|
+ SDHCI_CLOCK_MUL_SHIFT;
|
|
|
}
|
|
|
|
|
|
if (host->host_caps)
|
|
@@ -582,16 +589,6 @@ int sdhci_setup_cfg(struct mmc_config *cfg, struct sdhci_host *host,
|
|
|
|
|
|
cfg->b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT;
|
|
|
|
|
|
- /*
|
|
|
- * In case of Host Controller v3.00, find out whether clock
|
|
|
- * multiplier is supported.
|
|
|
- */
|
|
|
- if (SDHCI_GET_VERSION(host) >= SDHCI_SPEC_300) {
|
|
|
- caps_1 = sdhci_readl(host, SDHCI_CAPABILITIES_1);
|
|
|
- host->clk_mul = (caps_1 & SDHCI_CLOCK_MUL_MASK) >>
|
|
|
- SDHCI_CLOCK_MUL_SHIFT;
|
|
|
- }
|
|
|
-
|
|
|
return 0;
|
|
|
}
|
|
|
|