diff options
Diffstat (limited to 'arch/arm/mach-pxa/palmte2.c')
| -rw-r--r-- | arch/arm/mach-pxa/palmte2.c | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/arch/arm/mach-pxa/palmte2.c b/arch/arm/mach-pxa/palmte2.c index 43fcf2e86887..d823b09801df 100644 --- a/arch/arm/mach-pxa/palmte2.c +++ b/arch/arm/mach-pxa/palmte2.c | |||
| @@ -25,6 +25,7 @@ | |||
| 25 | #include <linux/gpio.h> | 25 | #include <linux/gpio.h> |
| 26 | #include <linux/wm97xx_batt.h> | 26 | #include <linux/wm97xx_batt.h> |
| 27 | #include <linux/power_supply.h> | 27 | #include <linux/power_supply.h> |
| 28 | #include <linux/usb/gpio_vbus.h> | ||
| 28 | 29 | ||
| 29 | #include <asm/mach-types.h> | 30 | #include <asm/mach-types.h> |
| 30 | #include <asm/mach/arch.h> | 31 | #include <asm/mach/arch.h> |
| @@ -37,6 +38,7 @@ | |||
| 37 | #include <mach/mfp-pxa25x.h> | 38 | #include <mach/mfp-pxa25x.h> |
| 38 | #include <mach/irda.h> | 39 | #include <mach/irda.h> |
| 39 | #include <mach/udc.h> | 40 | #include <mach/udc.h> |
| 41 | #include <mach/palmasoc.h> | ||
| 40 | 42 | ||
| 41 | #include "generic.h" | 43 | #include "generic.h" |
| 42 | #include "devices.h" | 44 | #include "devices.h" |
| @@ -107,6 +109,7 @@ static unsigned long palmte2_pin_config[] __initdata = { | |||
| 107 | GPIO1_RST, /* reset */ | 109 | GPIO1_RST, /* reset */ |
| 108 | GPIO4_GPIO, /* Hotsync button */ | 110 | GPIO4_GPIO, /* Hotsync button */ |
| 109 | GPIO9_GPIO, /* power detect */ | 111 | GPIO9_GPIO, /* power detect */ |
| 112 | GPIO15_GPIO, /* earphone detect */ | ||
| 110 | GPIO37_GPIO, /* LCD power */ | 113 | GPIO37_GPIO, /* LCD power */ |
| 111 | GPIO56_GPIO, /* Backlight power */ | 114 | GPIO56_GPIO, /* Backlight power */ |
| 112 | }; | 115 | }; |
| @@ -318,11 +321,18 @@ static struct pxaficp_platform_data palmte2_ficp_platform_data = { | |||
| 318 | /****************************************************************************** | 321 | /****************************************************************************** |
| 319 | * UDC | 322 | * UDC |
| 320 | ******************************************************************************/ | 323 | ******************************************************************************/ |
| 321 | static struct pxa2xx_udc_mach_info palmte2_udc_info __initdata = { | 324 | static struct gpio_vbus_mach_info palmte2_udc_info = { |
| 322 | .gpio_vbus = GPIO_NR_PALMTE2_USB_DETECT_N, | 325 | .gpio_vbus = GPIO_NR_PALMTE2_USB_DETECT_N, |
| 323 | .gpio_vbus_inverted = 1, | 326 | .gpio_vbus_inverted = 1, |
| 324 | .gpio_pullup = GPIO_NR_PALMTE2_USB_PULLUP, | 327 | .gpio_pullup = GPIO_NR_PALMTE2_USB_PULLUP, |
| 325 | .gpio_pullup_inverted = 0, | 328 | }; |
| 329 | |||
| 330 | static struct platform_device palmte2_gpio_vbus = { | ||
| 331 | .name = "gpio-vbus", | ||
| 332 | .id = -1, | ||
| 333 | .dev = { | ||
| 334 | .platform_data = &palmte2_udc_info, | ||
| 335 | }, | ||
| 326 | }; | 336 | }; |
| 327 | 337 | ||
| 328 | /****************************************************************************** | 338 | /****************************************************************************** |
| @@ -395,6 +405,21 @@ static struct wm97xx_batt_info wm97xx_batt_pdata = { | |||
| 395 | }; | 405 | }; |
| 396 | 406 | ||
| 397 | /****************************************************************************** | 407 | /****************************************************************************** |
| 408 | * aSoC audio | ||
| 409 | ******************************************************************************/ | ||
| 410 | static struct palm27x_asoc_info palmte2_asoc_pdata = { | ||
| 411 | .jack_gpio = GPIO_NR_PALMTE2_EARPHONE_DETECT, | ||
| 412 | }; | ||
| 413 | |||
| 414 | static struct platform_device palmte2_asoc = { | ||
| 415 | .name = "palm27x-asoc", | ||
| 416 | .id = -1, | ||
| 417 | .dev = { | ||
| 418 | .platform_data = &palmte2_asoc_pdata, | ||
| 419 | }, | ||
| 420 | }; | ||
| 421 | |||
| 422 | /****************************************************************************** | ||
| 398 | * Framebuffer | 423 | * Framebuffer |
| 399 | ******************************************************************************/ | 424 | ******************************************************************************/ |
| 400 | static struct pxafb_mode_info palmte2_lcd_modes[] = { | 425 | static struct pxafb_mode_info palmte2_lcd_modes[] = { |
| @@ -429,6 +454,8 @@ static struct platform_device *devices[] __initdata = { | |||
| 429 | #endif | 454 | #endif |
| 430 | &palmte2_backlight, | 455 | &palmte2_backlight, |
| 431 | &power_supply, | 456 | &power_supply, |
| 457 | &palmte2_asoc, | ||
| 458 | &palmte2_gpio_vbus, | ||
| 432 | }; | 459 | }; |
| 433 | 460 | ||
| 434 | /* setup udc GPIOs initial state */ | 461 | /* setup udc GPIOs initial state */ |
| @@ -447,7 +474,6 @@ static void __init palmte2_init(void) | |||
| 447 | set_pxa_fb_info(&palmte2_lcd_screen); | 474 | set_pxa_fb_info(&palmte2_lcd_screen); |
| 448 | pxa_set_mci_info(&palmte2_mci_platform_data); | 475 | pxa_set_mci_info(&palmte2_mci_platform_data); |
| 449 | palmte2_udc_init(); | 476 | palmte2_udc_init(); |
| 450 | pxa_set_udc_info(&palmte2_udc_info); | ||
| 451 | pxa_set_ac97_info(NULL); | 477 | pxa_set_ac97_info(NULL); |
| 452 | pxa_set_ficp_info(&palmte2_ficp_platform_data); | 478 | pxa_set_ficp_info(&palmte2_ficp_platform_data); |
| 453 | wm97xx_bat_set_pdata(&wm97xx_batt_pdata); | 479 | wm97xx_bat_set_pdata(&wm97xx_batt_pdata); |
