diff options
-rw-r--r-- | drivers/mmc/Makefile | 1 | ||||
-rw-r--r-- | drivers/mmc/imx_esdhc.c | 17 | ||||
-rw-r--r-- | include/configs/mx25_3stack.h | 1 |
3 files changed, 10 insertions, 9 deletions
diff --git a/drivers/mmc/Makefile b/drivers/mmc/Makefile index 15c07ca..2902ba5 100644 --- a/drivers/mmc/Makefile +++ b/drivers/mmc/Makefile @@ -32,7 +32,6 @@ COBJS-$(CONFIG_OMAP3_MMC) += omap3_mmc.o COBJS-$(CONFIG_FSL_ESDHC) += fsl_esdhc.o COBJS-$(CONFIG_MXC_MMC) += mxcmmc.o COBJS-$(CONFIG_PXA_MMC) += pxa_mmc.o -COBJS-$(CONFIG_FSL_MMC) += fsl_mmc.o COBJS-$(CONFIG_FSL_MMC) += fsl_esdhc.o COBJS-$(CONFIG_IMX_MMC) += imx_esdhc.o diff --git a/drivers/mmc/imx_esdhc.c b/drivers/mmc/imx_esdhc.c index 025be87..39a0b49 100644 --- a/drivers/mmc/imx_esdhc.c +++ b/drivers/mmc/imx_esdhc.c @@ -315,19 +315,17 @@ void set_sysctl(struct mmc *mmc, uint clock) clk = (pre_div << 8) | (div << 4); -#ifdef CONFIG_MX25 - tmp = readl(®s->sysctl) | (SYSCTL_HCKEN | SYSCTL_IPGEN); -#else +#ifndef CONFIG_IMX_ESDHC_V1 tmp = readl(®s->sysctl) & (~SYSCTL_SDCLKEN); -#endif writel(tmp, ®s->sysctl); +#endif tmp = (readl(®s->sysctl) & (~SYSCTL_CLOCK_MASK)) | clk; writel(tmp, ®s->sysctl); mdelay(100); -#ifdef CONFIG_MX25 +#ifdef CONFIG_IMX_ESDHC_V1 tmp = readl(®s->sysctl) | SYSCTL_PEREN; writel(tmp, ®s->sysctl); #else @@ -372,6 +370,11 @@ static int esdhc_init(struct mmc *mmc) while (readl(®s->sysctl) & SYSCTL_RSTA) mdelay(1); +#ifdef CONFIG_IMX_ESDHC_V1 + tmp = readl(®s->sysctl) | (SYSCTL_HCKEN | SYSCTL_IPGEN); + writel(tmp, ®s->sysctl); +#endif + /* Set the initial clock speed */ set_sysctl(mmc, 400000); @@ -389,9 +392,7 @@ static int esdhc_init(struct mmc *mmc) } */ -#ifndef CONFIG_MX25 - set_sysctl(mmc, 400000); - +#ifndef CONFIG_IMX_ESDHC_V1 tmp = readl(®s->sysctl) | SYSCTL_INITA; writel(tmp, ®s->sysctl); diff --git a/include/configs/mx25_3stack.h b/include/configs/mx25_3stack.h index e1a35f6..b0401cd 100644 --- a/include/configs/mx25_3stack.h +++ b/include/configs/mx25_3stack.h @@ -110,6 +110,7 @@ #define CONFIG_MMC 1 #define CONFIG_GENERIC_MMC #define CONFIG_IMX_MMC + #define CONFIG_IMX_ESDHC_V1 #define CONFIG_DOS_PARTITION 1 #define CONFIG_CMD_FAT 1 #endif |