diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-zoom-peripherals.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-zoom-peripherals.c | 18 | 
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c index 03ec6b2fbde..f4ea9264967 100644 --- a/arch/arm/mach-omap2/board-zoom-peripherals.c +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c @@ -20,6 +20,7 @@  #include <linux/wl12xx.h>  #include <linux/mmc/host.h>  #include <linux/platform_data/gpio-omap.h> +#include <linux/platform_data/omap-twl4030.h>  #include <asm/mach-types.h>  #include <asm/mach/arch.h> @@ -226,6 +227,19 @@ static struct omap2_hsmmc_info mmc[] = {  	{}      /* Terminator */  }; +static struct omap_tw4030_pdata omap_twl4030_audio_data = { +	.voice_connected = true, +	.custom_routing	= true, + +	.has_hs		= OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, +	.has_hf		= OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, + +	.has_mainmic	= true, +	.has_submic	= true, +	.has_hsmic	= true, +	.has_linein	= OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT, +}; +  static int zoom_twl_gpio_setup(struct device *dev,  		unsigned gpio, unsigned ngpio)  { @@ -241,6 +255,10 @@ static int zoom_twl_gpio_setup(struct device *dev,  		pr_err("Failed to get LCD_PANEL_ENABLE_GPIO (gpio%d).\n",  				LCD_PANEL_ENABLE_GPIO); +	/* Audio setup */ +	omap_twl4030_audio_data.jack_detect = gpio + 2; +	omap_twl4030_audio_init("Zoom2", &omap_twl4030_audio_data); +  	return ret;  }  |