diff options
author | Kyungmin Park <kyungmin.park@samsung.com> | 2006-09-25 05:41:25 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2006-09-25 05:41:25 -0400 |
commit | abc45e1d69542281fb2b40968e5d112f51976623 (patch) | |
tree | 363aec3e781d5d44762dd7513cbfb678ac746c37 /arch/arm/plat-omap/devices.c | |
parent | d1284b5f11aa946d732d60a402dfeec86a7bb2ef (diff) |
ARM: OMAP: Apollon MMC support
Apollon board MMC supports on OMAP2
TODO:
We have to check MMC on H4
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/plat-omap/devices.c')
-rw-r--r-- | arch/arm/plat-omap/devices.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c index 1812f237d12f..dbc3f44e07a6 100644 --- a/arch/arm/plat-omap/devices.c +++ b/arch/arm/plat-omap/devices.c | |||
@@ -148,7 +148,7 @@ static inline void omap_init_kp(void) {} | |||
148 | 148 | ||
149 | #ifdef CONFIG_ARCH_OMAP24XX | 149 | #ifdef CONFIG_ARCH_OMAP24XX |
150 | #define OMAP_MMC1_BASE 0x4809c000 | 150 | #define OMAP_MMC1_BASE 0x4809c000 |
151 | #define OMAP_MMC1_INT 83 | 151 | #define OMAP_MMC1_INT INT_24XX_MMC_IRQ |
152 | #else | 152 | #else |
153 | #define OMAP_MMC1_BASE 0xfffb7800 | 153 | #define OMAP_MMC1_BASE 0xfffb7800 |
154 | #define OMAP_MMC1_INT INT_MMC | 154 | #define OMAP_MMC1_INT INT_MMC |
@@ -225,7 +225,14 @@ static void __init omap_init_mmc(void) | |||
225 | /* block 1 is always available and has just one pinout option */ | 225 | /* block 1 is always available and has just one pinout option */ |
226 | mmc = &mmc_conf->mmc[0]; | 226 | mmc = &mmc_conf->mmc[0]; |
227 | if (mmc->enabled) { | 227 | if (mmc->enabled) { |
228 | if (!cpu_is_omap24xx()) { | 228 | if (cpu_is_omap24xx()) { |
229 | omap_cfg_reg(H18_24XX_MMC_CMD); | ||
230 | omap_cfg_reg(H15_24XX_MMC_CLKI); | ||
231 | omap_cfg_reg(G19_24XX_MMC_CLKO); | ||
232 | omap_cfg_reg(F20_24XX_MMC_DAT0); | ||
233 | omap_cfg_reg(F19_24XX_MMC_DAT_DIR0); | ||
234 | omap_cfg_reg(G18_24XX_MMC_CMD_DIR); | ||
235 | } else { | ||
229 | omap_cfg_reg(MMC_CMD); | 236 | omap_cfg_reg(MMC_CMD); |
230 | omap_cfg_reg(MMC_CLK); | 237 | omap_cfg_reg(MMC_CLK); |
231 | omap_cfg_reg(MMC_DAT0); | 238 | omap_cfg_reg(MMC_DAT0); |
@@ -236,7 +243,14 @@ static void __init omap_init_mmc(void) | |||
236 | } | 243 | } |
237 | } | 244 | } |
238 | if (mmc->wire4) { | 245 | if (mmc->wire4) { |
239 | if (!cpu_is_omap24xx()) { | 246 | if (cpu_is_omap24xx()) { |
247 | omap_cfg_reg(H14_24XX_MMC_DAT1); | ||
248 | omap_cfg_reg(E19_24XX_MMC_DAT2); | ||
249 | omap_cfg_reg(D19_24XX_MMC_DAT3); | ||
250 | omap_cfg_reg(E20_24XX_MMC_DAT_DIR1); | ||
251 | omap_cfg_reg(F18_24XX_MMC_DAT_DIR2); | ||
252 | omap_cfg_reg(E18_24XX_MMC_DAT_DIR3); | ||
253 | } else { | ||
240 | omap_cfg_reg(MMC_DAT1); | 254 | omap_cfg_reg(MMC_DAT1); |
241 | /* NOTE: DAT2 can be on W10 (here) or M15 */ | 255 | /* NOTE: DAT2 can be on W10 (here) or M15 */ |
242 | if (!mmc->nomux) | 256 | if (!mmc->nomux) |