diff options
-rw-r--r-- | arch/arm/mach-omap2/hsmmc.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/hsmmc.h | 2 | ||||
-rw-r--r-- | drivers/mmc/host/omap_hsmmc.c | 8 |
3 files changed, 9 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c index 19dd1657245c..9abab0f52f79 100644 --- a/arch/arm/mach-omap2/hsmmc.c +++ b/arch/arm/mach-omap2/hsmmc.c | |||
@@ -316,6 +316,7 @@ static int omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c, | |||
316 | mmc->slots[0].pm_caps = c->pm_caps; | 316 | mmc->slots[0].pm_caps = c->pm_caps; |
317 | mmc->slots[0].internal_clock = !c->ext_clock; | 317 | mmc->slots[0].internal_clock = !c->ext_clock; |
318 | mmc->dma_mask = 0xffffffff; | 318 | mmc->dma_mask = 0xffffffff; |
319 | mmc->max_freq = c->max_freq; | ||
319 | if (cpu_is_omap44xx()) | 320 | if (cpu_is_omap44xx()) |
320 | mmc->reg_offset = OMAP4_MMC_REG_OFFSET; | 321 | mmc->reg_offset = OMAP4_MMC_REG_OFFSET; |
321 | else | 322 | else |
diff --git a/arch/arm/mach-omap2/hsmmc.h b/arch/arm/mach-omap2/hsmmc.h index c4409730c4bb..0017ae24995e 100644 --- a/arch/arm/mach-omap2/hsmmc.h +++ b/arch/arm/mach-omap2/hsmmc.h | |||
@@ -26,6 +26,8 @@ struct omap2_hsmmc_info { | |||
26 | char *name; /* or NULL for default */ | 26 | char *name; /* or NULL for default */ |
27 | struct device *dev; /* returned: pointer to mmc adapter */ | 27 | struct device *dev; /* returned: pointer to mmc adapter */ |
28 | int ocr_mask; /* temporary HACK */ | 28 | int ocr_mask; /* temporary HACK */ |
29 | int max_freq; /* maximum clock, if constrained by external | ||
30 | * circuitry, or 0 for default */ | ||
29 | /* Remux (pad configuration) when powering on/off */ | 31 | /* Remux (pad configuration) when powering on/off */ |
30 | void (*remux)(struct device *dev, int slot, int power_on); | 32 | void (*remux)(struct device *dev, int slot, int power_on); |
31 | /* init some special card */ | 33 | /* init some special card */ |
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index fd0c661bbad3..36e7f5bc58a3 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c | |||
@@ -1912,8 +1912,12 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev) | |||
1912 | if (mmc_slot(host).vcc_aux_disable_is_sleep) | 1912 | if (mmc_slot(host).vcc_aux_disable_is_sleep) |
1913 | mmc_slot(host).no_off = 1; | 1913 | mmc_slot(host).no_off = 1; |
1914 | 1914 | ||
1915 | mmc->f_min = OMAP_MMC_MIN_CLOCK; | 1915 | mmc->f_min = OMAP_MMC_MIN_CLOCK; |
1916 | mmc->f_max = OMAP_MMC_MAX_CLOCK; | 1916 | |
1917 | if (pdata->max_freq > 0) | ||
1918 | mmc->f_max = pdata->max_freq; | ||
1919 | else | ||
1920 | mmc->f_max = OMAP_MMC_MAX_CLOCK; | ||
1917 | 1921 | ||
1918 | spin_lock_init(&host->irq_lock); | 1922 | spin_lock_init(&host->irq_lock); |
1919 | 1923 | ||