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 43fcf2e8688..d823b09801d 100644 --- a/arch/arm/mach-pxa/palmte2.c +++ b/arch/arm/mach-pxa/palmte2.c @@ -25,6 +25,7 @@  #include <linux/gpio.h>  #include <linux/wm97xx_batt.h>  #include <linux/power_supply.h> +#include <linux/usb/gpio_vbus.h>  #include <asm/mach-types.h>  #include <asm/mach/arch.h> @@ -37,6 +38,7 @@  #include <mach/mfp-pxa25x.h>  #include <mach/irda.h>  #include <mach/udc.h> +#include <mach/palmasoc.h>  #include "generic.h"  #include "devices.h" @@ -107,6 +109,7 @@ static unsigned long palmte2_pin_config[] __initdata = {  	GPIO1_RST,	/* reset */  	GPIO4_GPIO,	/* Hotsync button */  	GPIO9_GPIO,	/* power detect */ +	GPIO15_GPIO,	/* earphone detect */  	GPIO37_GPIO,	/* LCD power */  	GPIO56_GPIO,	/* Backlight power */  }; @@ -318,11 +321,18 @@ static struct pxaficp_platform_data palmte2_ficp_platform_data = {  /******************************************************************************   * UDC   ******************************************************************************/ -static struct pxa2xx_udc_mach_info palmte2_udc_info __initdata = { +static struct gpio_vbus_mach_info palmte2_udc_info = {  	.gpio_vbus		= GPIO_NR_PALMTE2_USB_DETECT_N,  	.gpio_vbus_inverted	= 1,  	.gpio_pullup		= GPIO_NR_PALMTE2_USB_PULLUP, -	.gpio_pullup_inverted	= 0, +}; + +static struct platform_device palmte2_gpio_vbus = { +	.name	= "gpio-vbus", +	.id	= -1, +	.dev	= { +		.platform_data	= &palmte2_udc_info, +	},  };  /****************************************************************************** @@ -395,6 +405,21 @@ static struct wm97xx_batt_info wm97xx_batt_pdata = {  };  /****************************************************************************** + * aSoC audio + ******************************************************************************/ +static struct palm27x_asoc_info palmte2_asoc_pdata = { +	.jack_gpio	= GPIO_NR_PALMTE2_EARPHONE_DETECT, +}; + +static struct platform_device palmte2_asoc = { +	.name = "palm27x-asoc", +	.id   = -1, +	.dev  = { +		.platform_data = &palmte2_asoc_pdata, +	}, +}; + +/******************************************************************************   * Framebuffer   ******************************************************************************/  static struct pxafb_mode_info palmte2_lcd_modes[] = { @@ -429,6 +454,8 @@ static struct platform_device *devices[] __initdata = {  #endif  	&palmte2_backlight,  	&power_supply, +	&palmte2_asoc, +	&palmte2_gpio_vbus,  };  /* setup udc GPIOs initial state */ @@ -447,7 +474,6 @@ static void __init palmte2_init(void)  	set_pxa_fb_info(&palmte2_lcd_screen);  	pxa_set_mci_info(&palmte2_mci_platform_data);  	palmte2_udc_init(); -	pxa_set_udc_info(&palmte2_udc_info);  	pxa_set_ac97_info(NULL);  	pxa_set_ficp_info(&palmte2_ficp_platform_data);  	wm97xx_bat_set_pdata(&wm97xx_batt_pdata);  |