ARM: OMAP: zoom: Audio support via the common omap-twl4030 machine driver
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Wed, 5 Dec 2012 14:39:35 +0000 (15:39 +0100)
committerPeter Ujfalusi <peter.ujfalusi@ti.com>
Tue, 22 Jan 2013 09:34:55 +0000 (10:34 +0100)
Use the common omap-twl4030 ASoC machine driver for audio.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
arch/arm/mach-omap2/board-zoom-peripherals.c

index 03ec6b2fbde1963d6946b18d700ffc48cd83c031..f4ea92649672caf468b1714049339fbcc9f894fe 100644 (file)
@@ -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;
 }