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 1644b73017fc..33d995d0f075 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 = { | |||
121 | }, | 121 | }, |
122 | }; | 122 | }; |
123 | 123 | ||
124 | static struct platform_device pandora_backlight = { | ||
125 | .name = "pandora-backlight", | ||
126 | .id = -1, | ||
127 | }; | ||
128 | |||
124 | #define GPIO_BUTTON(gpio_num, ev_type, ev_code, act_low, descr) \ | 129 | #define GPIO_BUTTON(gpio_num, ev_type, ev_code, act_low, descr) \ |
125 | { \ | 130 | { \ |
126 | .gpio = gpio_num, \ | 131 | .gpio = gpio_num, \ |
@@ -273,6 +278,7 @@ static struct omap2_hsmmc_info omap3pandora_mmc[] = { | |||
273 | .gpio_cd = -EINVAL, | 278 | .gpio_cd = -EINVAL, |
274 | .gpio_wp = 126, | 279 | .gpio_wp = 126, |
275 | .ext_clock = 0, | 280 | .ext_clock = 0, |
281 | .deferred = true, | ||
276 | }, | 282 | }, |
277 | { | 283 | { |
278 | .mmc = 2, | 284 | .mmc = 2, |
@@ -281,6 +287,7 @@ static struct omap2_hsmmc_info omap3pandora_mmc[] = { | |||
281 | .gpio_wp = 127, | 287 | .gpio_wp = 127, |
282 | .ext_clock = 1, | 288 | .ext_clock = 1, |
283 | .transceiver = true, | 289 | .transceiver = true, |
290 | .deferred = true, | ||
284 | }, | 291 | }, |
285 | { | 292 | { |
286 | .mmc = 3, | 293 | .mmc = 3, |
@@ -300,7 +307,7 @@ static int omap3pandora_twl_gpio_setup(struct device *dev, | |||
300 | /* gpio + {0,1} is "mmc{0,1}_cd" (input/IRQ) */ | 307 | /* gpio + {0,1} is "mmc{0,1}_cd" (input/IRQ) */ |
301 | omap3pandora_mmc[0].gpio_cd = gpio + 0; | 308 | omap3pandora_mmc[0].gpio_cd = gpio + 0; |
302 | omap3pandora_mmc[1].gpio_cd = gpio + 1; | 309 | omap3pandora_mmc[1].gpio_cd = gpio + 1; |
303 | omap2_hsmmc_init(omap3pandora_mmc); | 310 | omap_hsmmc_late_init(omap3pandora_mmc); |
304 | 311 | ||
305 | /* gpio + 13 drives 32kHz buffer for wifi module */ | 312 | /* gpio + 13 drives 32kHz buffer for wifi module */ |
306 | gpio_32khz = gpio + 13; | 313 | gpio_32khz = gpio + 13; |
@@ -343,7 +350,7 @@ static struct regulator_consumer_supply pandora_vcc_lcd_supply[] = { | |||
343 | }; | 350 | }; |
344 | 351 | ||
345 | static struct regulator_consumer_supply pandora_usb_phy_supply[] = { | 352 | static struct regulator_consumer_supply pandora_usb_phy_supply[] = { |
346 | REGULATOR_SUPPLY("hsusb0", "ehci-omap.0"), | 353 | REGULATOR_SUPPLY("hsusb1", "ehci-omap.0"), |
347 | }; | 354 | }; |
348 | 355 | ||
349 | /* ads7846 on SPI and 2 nub controllers on I2C */ | 356 | /* ads7846 on SPI and 2 nub controllers on I2C */ |
@@ -476,6 +483,10 @@ static struct platform_device pandora_vwlan_device = { | |||
476 | 483 | ||
477 | static struct twl4030_bci_platform_data pandora_bci_data; | 484 | static struct twl4030_bci_platform_data pandora_bci_data; |
478 | 485 | ||
486 | static struct twl4030_power_data pandora_power_data = { | ||
487 | .use_poweroff = true, | ||
488 | }; | ||
489 | |||
479 | static struct twl4030_platform_data omap3pandora_twldata = { | 490 | static struct twl4030_platform_data omap3pandora_twldata = { |
480 | .gpio = &omap3pandora_gpio_data, | 491 | .gpio = &omap3pandora_gpio_data, |
481 | .vmmc1 = &pandora_vmmc1, | 492 | .vmmc1 = &pandora_vmmc1, |
@@ -486,6 +497,7 @@ static struct twl4030_platform_data omap3pandora_twldata = { | |||
486 | .vsim = &pandora_vsim, | 497 | .vsim = &pandora_vsim, |
487 | .keypad = &pandora_kp_data, | 498 | .keypad = &pandora_kp_data, |
488 | .bci = &pandora_bci_data, | 499 | .bci = &pandora_bci_data, |
500 | .power = &pandora_power_data, | ||
489 | }; | 501 | }; |
490 | 502 | ||
491 | static struct i2c_board_info __initdata omap3pandora_i2c3_boardinfo[] = { | 503 | static struct i2c_board_info __initdata omap3pandora_i2c3_boardinfo[] = { |
@@ -557,17 +569,18 @@ static struct platform_device *omap3pandora_devices[] __initdata = { | |||
557 | &pandora_leds_gpio, | 569 | &pandora_leds_gpio, |
558 | &pandora_keys_gpio, | 570 | &pandora_keys_gpio, |
559 | &pandora_vwlan_device, | 571 | &pandora_vwlan_device, |
572 | &pandora_backlight, | ||
560 | }; | 573 | }; |
561 | 574 | ||
562 | static const struct usbhs_omap_board_data usbhs_bdata __initconst = { | 575 | static const struct usbhs_omap_board_data usbhs_bdata __initconst = { |
563 | 576 | ||
564 | .port_mode[0] = OMAP_EHCI_PORT_MODE_PHY, | 577 | .port_mode[0] = OMAP_USBHS_PORT_MODE_UNUSED, |
565 | .port_mode[1] = OMAP_USBHS_PORT_MODE_UNUSED, | 578 | .port_mode[1] = OMAP_EHCI_PORT_MODE_PHY, |
566 | .port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED, | 579 | .port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED, |
567 | 580 | ||
568 | .phy_reset = true, | 581 | .phy_reset = true, |
569 | .reset_gpio_port[0] = 16, | 582 | .reset_gpio_port[0] = -EINVAL, |
570 | .reset_gpio_port[1] = -EINVAL, | 583 | .reset_gpio_port[1] = 16, |
571 | .reset_gpio_port[2] = -EINVAL | 584 | .reset_gpio_port[2] = -EINVAL |
572 | }; | 585 | }; |
573 | 586 | ||
@@ -580,6 +593,7 @@ static struct omap_board_mux board_mux[] __initdata = { | |||
580 | static void __init omap3pandora_init(void) | 593 | static void __init omap3pandora_init(void) |
581 | { | 594 | { |
582 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); | 595 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); |
596 | omap_hsmmc_init(omap3pandora_mmc); | ||
583 | omap3pandora_i2c_init(); | 597 | omap3pandora_i2c_init(); |
584 | pandora_wl1251_init(); | 598 | pandora_wl1251_init(); |
585 | platform_add_devices(omap3pandora_devices, | 599 | platform_add_devices(omap3pandora_devices, |