diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mmc/Makefile | 1 | ||||
-rw-r--r-- | drivers/mmc/imx_esdhc.c | 17 |
2 files changed, 9 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); |