summaryrefslogtreecommitdiffstats
path: root/drivers/mci/omap_hsmmc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mci/omap_hsmmc.c')
-rw-r--r--drivers/mci/omap_hsmmc.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/mci/omap_hsmmc.c b/drivers/mci/omap_hsmmc.c
index 5fdf445c70..3f70e22629 100644
--- a/drivers/mci/omap_hsmmc.c
+++ b/drivers/mci/omap_hsmmc.c
@@ -29,7 +29,9 @@
#include <mci.h>
#include <clock.h>
#include <errno.h>
-#include <asm/io.h>
+#include <io.h>
+
+#include <mach/omap_hsmmc.h>
struct hsmmc {
unsigned char res1[0x10];
@@ -549,6 +551,7 @@ static void mmc_set_ios(struct mci_host *mci, struct device_d *dev,
static int omap_mmc_probe(struct device_d *dev)
{
struct omap_hsmmc *hsmmc;
+ struct omap_hsmmc_platform_data *pdata;
hsmmc = xzalloc(sizeof(*hsmmc));
@@ -564,7 +567,12 @@ static int omap_mmc_probe(struct device_d *dev)
hsmmc->mci.voltages = MMC_VDD_32_33 | MMC_VDD_33_34;
hsmmc->mci.f_min = 400000;
- hsmmc->mci.f_max = 52000000;
+
+ pdata = (struct omap_hsmmc_platform_data *)dev->platform_data;
+ if (pdata->f_max)
+ hsmmc->mci.f_max = pdata->f_max;
+ else
+ hsmmc->mci.f_max = 52000000;
mci_register(&hsmmc->mci);