diff options
author | Igor Grinberg <grinberg@compulab.co.il> | 2012-12-07 04:05:55 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2013-02-01 17:59:34 -0500 |
commit | ff95793a084b1375b6fb02c45750406aac9a26fa (patch) | |
tree | ca79ef58c6983029511ae1822ea095b92738b9b8 /arch | |
parent | 21cc2bda8bdca8c1f5f6871d3eb0e9632612cf25 (diff) |
ARM: OMAP3: cm-t3517: add MMC support
cm-t3517 uses two MMC interfaces. Add support for both.
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap2/board-cm-t3517.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/board-cm-t3517.c b/arch/arm/mach-omap2/board-cm-t3517.c index ebbc2adb499e..792d6841790a 100644 --- a/arch/arm/mach-omap2/board-cm-t3517.c +++ b/arch/arm/mach-omap2/board-cm-t3517.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <linux/mtd/mtd.h> | 32 | #include <linux/mtd/mtd.h> |
33 | #include <linux/mtd/nand.h> | 33 | #include <linux/mtd/nand.h> |
34 | #include <linux/mtd/partitions.h> | 34 | #include <linux/mtd/partitions.h> |
35 | #include <linux/mmc/host.h> | ||
35 | #include <linux/can/platform/ti_hecc.h> | 36 | #include <linux/can/platform/ti_hecc.h> |
36 | 37 | ||
37 | #include <asm/mach-types.h> | 38 | #include <asm/mach-types.h> |
@@ -46,6 +47,7 @@ | |||
46 | 47 | ||
47 | #include "mux.h" | 48 | #include "mux.h" |
48 | #include "control.h" | 49 | #include "control.h" |
50 | #include "hsmmc.h" | ||
49 | #include "common-board-devices.h" | 51 | #include "common-board-devices.h" |
50 | #include "am35xx-emac.h" | 52 | #include "am35xx-emac.h" |
51 | #include "gpmc-nand.h" | 53 | #include "gpmc-nand.h" |
@@ -121,6 +123,26 @@ static void cm_t3517_init_hecc(void) | |||
121 | static inline void cm_t3517_init_hecc(void) {} | 123 | static inline void cm_t3517_init_hecc(void) {} |
122 | #endif | 124 | #endif |
123 | 125 | ||
126 | #if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE) | ||
127 | static struct omap2_hsmmc_info cm_t3517_mmc[] = { | ||
128 | { | ||
129 | .mmc = 1, | ||
130 | .caps = MMC_CAP_4_BIT_DATA, | ||
131 | .gpio_cd = 144, | ||
132 | .gpio_wp = 59, | ||
133 | }, | ||
134 | { | ||
135 | .mmc = 2, | ||
136 | .caps = MMC_CAP_4_BIT_DATA, | ||
137 | .gpio_cd = -EINVAL, | ||
138 | .gpio_wp = -EINVAL, | ||
139 | }, | ||
140 | {} /* Terminator */ | ||
141 | }; | ||
142 | #else | ||
143 | #define cm_t3517_mmc NULL | ||
144 | #endif | ||
145 | |||
124 | #if defined(CONFIG_RTC_DRV_V3020) || defined(CONFIG_RTC_DRV_V3020_MODULE) | 146 | #if defined(CONFIG_RTC_DRV_V3020) || defined(CONFIG_RTC_DRV_V3020_MODULE) |
125 | #define RTC_IO_GPIO (153) | 147 | #define RTC_IO_GPIO (153) |
126 | #define RTC_WR_GPIO (154) | 148 | #define RTC_WR_GPIO (154) |
@@ -271,6 +293,10 @@ static struct omap_board_mux board_mux[] __initdata = { | |||
271 | /* CM-T3517 USB HUB nRESET */ | 293 | /* CM-T3517 USB HUB nRESET */ |
272 | OMAP3_MUX(MCBSP4_CLKX, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | 294 | OMAP3_MUX(MCBSP4_CLKX, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), |
273 | 295 | ||
296 | /* CD - GPIO144 and WP - GPIO59 for MMC1 - SB-T35 */ | ||
297 | OMAP3_MUX(UART2_CTS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP), | ||
298 | OMAP3_MUX(GPMC_CLK, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP), | ||
299 | |||
274 | { .reg_offset = OMAP_MUX_TERMINATOR }, | 300 | { .reg_offset = OMAP_MUX_TERMINATOR }, |
275 | }; | 301 | }; |
276 | #endif | 302 | #endif |
@@ -286,6 +312,7 @@ static void __init cm_t3517_init(void) | |||
286 | cm_t3517_init_usbh(); | 312 | cm_t3517_init_usbh(); |
287 | cm_t3517_init_hecc(); | 313 | cm_t3517_init_hecc(); |
288 | am35xx_emac_init(AM35XX_DEFAULT_MDIO_FREQUENCY, 1); | 314 | am35xx_emac_init(AM35XX_DEFAULT_MDIO_FREQUENCY, 1); |
315 | omap_hsmmc_init(cm_t3517_mmc); | ||
289 | } | 316 | } |
290 | 317 | ||
291 | MACHINE_START(CM_T3517, "Compulab CM-T3517") | 318 | MACHINE_START(CM_T3517, "Compulab CM-T3517") |