summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/board-3430sdp.c
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2013-02-09 16:55:44 -0800
committerOlof Johansson <olof@lixom.net>2013-02-09 16:55:44 -0800
commit78d9b8055b9aaf53ced11fc15728df31610a21e9 (patch)
treed427fb08840a10c6c4fcf38d77d2e2a46e5192fd /arch/arm/mach-omap2/board-3430sdp.c
parent61cfd8736040dd2d620278fb11c6c4acfeb041c9 (diff)
parent6689c87555839d90f2a0b76d1f982713487a11d2 (diff)
downloadolio-linux-3.10-78d9b8055b9aaf53ced11fc15728df31610a21e9.tar.xz
olio-linux-3.10-78d9b8055b9aaf53ced11fc15728df31610a21e9.zip
Merge tag 'omap-for-v3.9/twl-signed-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/boards
From Tony Lidgren: OMAP TWL updates from Peter Ujfalusi <peter.ujfalusi@ti.com>: Update for audio support via omap-twl4030 and pwm updates in board level, and zoom-peripherals update to not request the TWL GPIO7. * tag 'omap-for-v3.9/twl-signed-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Fix twl section warnings related to omap_twl4030_audio_init ARM: board-zoom: Do not request LCD panel enable GPIO from twl4030 ARM: OMAP: omap3beagle: Use the pwm_leds driver to control the PMU_STAT led ARM: OMAP: board-4430sdp: Proper support for TWL6030 PWM LED/Backlight ARM: OMAP: sdp3430: Audio support via the common omap-twl4030 machine driver ARM: OMAP: zoom: Audio support via the common omap-twl4030 machine driver ARM: OMAP2+: twl-common: Allow boards to customize the twl4030 audio setup ARM: OMAP2+: twl-common: Add default twl4030 audio configuration ARM: OMAP: zoom: Zoom2 does not have extmute functionality ARM: OMAP: 3430sdp: Enable extmute functionality for audio
Diffstat (limited to 'arch/arm/mach-omap2/board-3430sdp.c')
-rw-r--r--arch/arm/mach-omap2/board-3430sdp.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
index bb73afc9ac1..e7ef3111a0f 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -25,6 +25,7 @@
#include <linux/gpio.h>
#include <linux/mmc/host.h>
#include <linux/platform_data/spi-omap2-mcspi.h>
+#include <linux/platform_data/omap-twl4030.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
@@ -209,6 +210,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 sdp3430_twl_gpio_setup(struct device *dev,
unsigned gpio, unsigned ngpio)
{
@@ -225,6 +239,9 @@ static int sdp3430_twl_gpio_setup(struct device *dev,
/* gpio + 15 is "sub_lcd_nRST" (output) */
gpio_request_one(gpio + 15, GPIOF_OUT_INIT_LOW, "sub_lcd_nRST");
+ omap_twl4030_audio_data.jack_detect = gpio + 2;
+ omap_twl4030_audio_init("SDP3430", &omap_twl4030_audio_data);
+
return 0;
}
@@ -382,6 +399,9 @@ static int __init omap3430_i2c_init(void)
sdp3430_twldata.vpll2->constraints.apply_uV = true;
sdp3430_twldata.vpll2->constraints.name = "VDVI";
+ sdp3430_twldata.audio->codec->hs_extmute = 1;
+ sdp3430_twldata.audio->codec->hs_extmute_gpio = -EINVAL;
+
omap3_pmic_init("twl4030", &sdp3430_twldata);
/* i2c2 on camera connector (for sensor control) and optional isp1301 */