diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-omap3touchbook.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-omap3touchbook.c | 18 | 
1 files changed, 11 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c index a0b851aafcc..ae2251fa4a6 100644 --- a/arch/arm/mach-omap2/board-omap3touchbook.c +++ b/arch/arm/mach-omap2/board-omap3touchbook.c @@ -42,6 +42,7 @@  #include <asm/mach/arch.h>  #include <asm/mach/map.h>  #include <asm/mach/flash.h> +#include <asm/system_info.h>  #include <plat/board.h>  #include "common.h" @@ -100,6 +101,7 @@ static struct omap2_hsmmc_info mmc[] = {  		.mmc		= 1,  		.caps		= MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,  		.gpio_wp	= 29, +		.deferred	= true,  	},  	{}	/* Terminator */  }; @@ -117,15 +119,9 @@ static struct gpio_led gpio_leds[];  static int touchbook_twl_gpio_setup(struct device *dev,  		unsigned gpio, unsigned ngpio)  { -	if (system_rev >= 0x20 && system_rev <= 0x34301000) { -		omap_mux_init_gpio(23, OMAP_PIN_INPUT); -		mmc[0].gpio_wp = 23; -	} else { -		omap_mux_init_gpio(29, OMAP_PIN_INPUT); -	}  	/* gpio + 0 is "mmc0_cd" (input/IRQ) */  	mmc[0].gpio_cd = gpio + 0; -	omap2_hsmmc_init(mmc); +	omap_hsmmc_late_init(mmc);  	/* REVISIT: need ehci-omap hooks for external VBUS  	 * power switch and overcurrent detect @@ -351,6 +347,14 @@ static void __init omap3_touchbook_init(void)  	pm_power_off = omap3_touchbook_poweroff; +	if (system_rev >= 0x20 && system_rev <= 0x34301000) { +		omap_mux_init_gpio(23, OMAP_PIN_INPUT); +		mmc[0].gpio_wp = 23; +	} else { +		omap_mux_init_gpio(29, OMAP_PIN_INPUT); +	} +	omap_hsmmc_init(mmc); +  	omap3_touchbook_i2c_init();  	platform_add_devices(omap3_touchbook_devices,  			ARRAY_SIZE(omap3_touchbook_devices));  |