|
@@ -1794,8 +1794,13 @@ int sdhci_add_host(struct sdhci_host *host)
|
|
|
mmc_dev(host->mmc)->dma_mask = &host->dma_mask;
|
|
|
}
|
|
|
|
|
|
- host->max_clk =
|
|
|
- (caps & SDHCI_CLOCK_BASE_MASK) >> SDHCI_CLOCK_BASE_SHIFT;
|
|
|
+ if (host->version >= SDHCI_SPEC_300)
|
|
|
+ host->max_clk = (caps & SDHCI_CLOCK_V3_BASE_MASK)
|
|
|
+ >> SDHCI_CLOCK_BASE_SHIFT;
|
|
|
+ else
|
|
|
+ host->max_clk = (caps & SDHCI_CLOCK_BASE_MASK)
|
|
|
+ >> SDHCI_CLOCK_BASE_SHIFT;
|
|
|
+
|
|
|
host->max_clk *= 1000000;
|
|
|
if (host->max_clk == 0 || host->quirks &
|
|
|
SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN) {
|