diff options
author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2012-12-05 14:39:35 (GMT) |
---|---|---|
committer | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2013-01-22 09:34:55 (GMT) |
commit | c5913935657f81b8c9cae93d1a4200bba7faffb8 (patch) | |
tree | 7914bc3a43d204d424ec43d67e780ec1d9ff15b8 | |
parent | 40234bf733042eb4343cb47c816619758e477eeb (diff) | |
download | linux-c5913935657f81b8c9cae93d1a4200bba7faffb8.tar.xz |
ARM: OMAP: zoom: Audio support via the common omap-twl4030 machine driver
Use the common omap-twl4030 ASoC machine driver for audio.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
-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 03ec6b2..f4ea926 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; } |