diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-omap3pandora.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-omap3pandora.c | 26 | 
1 files changed, 20 insertions, 6 deletions
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index 1644b73017f..33d995d0f07 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c @@ -121,6 +121,11 @@ static struct platform_device pandora_leds_gpio = {  	},  }; +static struct platform_device pandora_backlight = { +	.name	= "pandora-backlight", +	.id	= -1, +}; +  #define GPIO_BUTTON(gpio_num, ev_type, ev_code, act_low, descr)	\  {								\  	.gpio		= gpio_num,				\ @@ -273,6 +278,7 @@ static struct omap2_hsmmc_info omap3pandora_mmc[] = {  		.gpio_cd	= -EINVAL,  		.gpio_wp	= 126,  		.ext_clock	= 0, +		.deferred	= true,  	},  	{  		.mmc		= 2, @@ -281,6 +287,7 @@ static struct omap2_hsmmc_info omap3pandora_mmc[] = {  		.gpio_wp	= 127,  		.ext_clock	= 1,  		.transceiver	= true, +		.deferred	= true,  	},  	{  		.mmc		= 3, @@ -300,7 +307,7 @@ static int omap3pandora_twl_gpio_setup(struct device *dev,  	/* gpio + {0,1} is "mmc{0,1}_cd" (input/IRQ) */  	omap3pandora_mmc[0].gpio_cd = gpio + 0;  	omap3pandora_mmc[1].gpio_cd = gpio + 1; -	omap2_hsmmc_init(omap3pandora_mmc); +	omap_hsmmc_late_init(omap3pandora_mmc);  	/* gpio + 13 drives 32kHz buffer for wifi module */  	gpio_32khz = gpio + 13; @@ -343,7 +350,7 @@ static struct regulator_consumer_supply pandora_vcc_lcd_supply[] = {  };  static struct regulator_consumer_supply pandora_usb_phy_supply[] = { -	REGULATOR_SUPPLY("hsusb0", "ehci-omap.0"), +	REGULATOR_SUPPLY("hsusb1", "ehci-omap.0"),  };  /* ads7846 on SPI and 2 nub controllers on I2C */ @@ -476,6 +483,10 @@ static struct platform_device pandora_vwlan_device = {  static struct twl4030_bci_platform_data pandora_bci_data; +static struct twl4030_power_data pandora_power_data = { +	.use_poweroff	= true, +}; +  static struct twl4030_platform_data omap3pandora_twldata = {  	.gpio		= &omap3pandora_gpio_data,  	.vmmc1		= &pandora_vmmc1, @@ -486,6 +497,7 @@ static struct twl4030_platform_data omap3pandora_twldata = {  	.vsim		= &pandora_vsim,  	.keypad		= &pandora_kp_data,  	.bci		= &pandora_bci_data, +	.power		= &pandora_power_data,  };  static struct i2c_board_info __initdata omap3pandora_i2c3_boardinfo[] = { @@ -557,17 +569,18 @@ static struct platform_device *omap3pandora_devices[] __initdata = {  	&pandora_leds_gpio,  	&pandora_keys_gpio,  	&pandora_vwlan_device, +	&pandora_backlight,  };  static const struct usbhs_omap_board_data usbhs_bdata __initconst = { -	.port_mode[0] = OMAP_EHCI_PORT_MODE_PHY, -	.port_mode[1] = OMAP_USBHS_PORT_MODE_UNUSED, +	.port_mode[0] = OMAP_USBHS_PORT_MODE_UNUSED, +	.port_mode[1] = OMAP_EHCI_PORT_MODE_PHY,  	.port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED,  	.phy_reset  = true, -	.reset_gpio_port[0]  = 16, -	.reset_gpio_port[1]  = -EINVAL, +	.reset_gpio_port[0]  = -EINVAL, +	.reset_gpio_port[1]  = 16,  	.reset_gpio_port[2]  = -EINVAL  }; @@ -580,6 +593,7 @@ static struct omap_board_mux board_mux[] __initdata = {  static void __init omap3pandora_init(void)  {  	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); +	omap_hsmmc_init(omap3pandora_mmc);  	omap3pandora_i2c_init();  	pandora_wl1251_init();  	platform_add_devices(omap3pandora_devices,  |