aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorIgor Grinberg <grinberg@compulab.co.il>2012-12-07 04:05:55 -0500
committerTony Lindgren <tony@atomide.com>2013-02-01 17:59:34 -0500
commitff95793a084b1375b6fb02c45750406aac9a26fa (patch)
treeca79ef58c6983029511ae1822ea095b92738b9b8 /arch
parent21cc2bda8bdca8c1f5f6871d3eb0e9632612cf25 (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.c27
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)
121static inline void cm_t3517_init_hecc(void) {} 123static 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)
127static 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
291MACHINE_START(CM_T3517, "Compulab CM-T3517") 318MACHINE_START(CM_T3517, "Compulab CM-T3517")