diff options
author | Helmut Raiger <helmut.raiger@hale.at> | 2012-01-11 03:59:22 +0000 |
---|---|---|
committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-02-12 10:11:26 +0100 |
commit | fa47a28661719ec73479c96b12823fd4e7373314 (patch) | |
tree | c04bb76672f1973f83a54467f35ed893d3066d3c /drivers/mmc/mxcmmc.c | |
parent | 2af81e2735bb50a679dd84d54e821b1b2f1c56e3 (diff) | |
download | u-boot-imx-fa47a28661719ec73479c96b12823fd4e7373314.zip u-boot-imx-fa47a28661719ec73479c96b12823fd4e7373314.tar.gz u-boot-imx-fa47a28661719ec73479c96b12823fd4e7373314.tar.bz2 |
mmc: access mxcmmc from mx31 boards
This patch modifies mxcmmc.c to be used
not only by i.MX27 but also by i.MX31 boards.
Both use the same SD controller, but have different
clock set-ups.
The i.MX27 imx_get_XXXclock functions are made static to
generic.c and a public mxc_get_clock() function
is provided. Pins, base address and prototypes for
an i.MX31 specific board_init_mmc() are provided.
Some of the i.MX27 clock getters are unused and marked
as such to avoid warnings (./MAKEALL -s mx27), but
the code was left in for future use.
Signed-off-by: Helmut Raiger <helmut.raiger@hale.at>
Acked-by: Stefano Babic <sbabic@denx.de>
Diffstat (limited to 'drivers/mmc/mxcmmc.c')
-rw-r--r-- | drivers/mmc/mxcmmc.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/mmc/mxcmmc.c b/drivers/mmc/mxcmmc.c index 8afb221..d58c18b 100644 --- a/drivers/mmc/mxcmmc.c +++ b/drivers/mmc/mxcmmc.c @@ -25,9 +25,7 @@ #include <mmc.h> #include <asm/errno.h> #include <asm/io.h> -#ifdef CONFIG_MX27 #include <asm/arch/clock.h> -#endif #define DRIVER_NAME "mxc-mmc" @@ -422,7 +420,7 @@ static void mxcmci_set_clk_rate(struct mxcmci_host *host, unsigned int clk_ios) { unsigned int divider; int prescaler = 0; - unsigned long clk_in = imx_get_perclk2(); + unsigned long clk_in = mxc_get_clock(MXC_ESDHC_CLK); while (prescaler <= 0x800) { for (divider = 1; divider <= 0xF; divider++) { @@ -509,8 +507,8 @@ static int mxcmci_initialize(bd_t *bis) mmc->voltages = MMC_VDD_32_33 | MMC_VDD_33_34; - mmc->f_min = imx_get_perclk2() >> 7; - mmc->f_max = imx_get_perclk2() >> 1; + mmc->f_min = mxc_get_clock(MXC_ESDHC_CLK) >> 7; + mmc->f_max = mxc_get_clock(MXC_ESDHC_CLK) >> 1; mmc->b_max = 0; |