aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorLopez Cruz, Misael <x0052729@ti.com>2009-03-19 02:07:34 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-03-19 07:56:16 -0400
commit632087748c3795a54d5631e640df65592774e045 (patch)
tree9012485098b8f69b09b450ddcbdd5f3852e2857f /sound/soc
parentf8d5fc924b1bec95f47b0a9e8f9a6e22fa1c7b05 (diff)
ASoC: Declare Headset as Mic and Headphone widgets for SDP3430
Headset was declared previously as a Headphone widget connecting HSMIC and HSOL/HSOR pins of TWL4030 codec in SDP430 machine driver. The capture path becomes invalid as the Headphone widget is not a valid input endpoint. Instead of that, the Headset is declared as separate Microphone and Headphone widgets. Current patch modifies audio map: - Headset Mic: HSMIC with bias - Headset Stereophone: HSOL, HSOR Signed-off-by: Misael Lopez Cruz <x0052729@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/omap/sdp3430.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/sound/soc/omap/sdp3430.c b/sound/soc/omap/sdp3430.c
index 0a41de677e77..10f1c867f11d 100644
--- a/sound/soc/omap/sdp3430.c
+++ b/sound/soc/omap/sdp3430.c
@@ -90,8 +90,12 @@ static struct snd_soc_jack hs_jack;
90/* Headset jack detection DAPM pins */ 90/* Headset jack detection DAPM pins */
91static struct snd_soc_jack_pin hs_jack_pins[] = { 91static struct snd_soc_jack_pin hs_jack_pins[] = {
92 { 92 {
93 .pin = "Headset Jack", 93 .pin = "Headset Mic",
94 .mask = SND_JACK_HEADSET, 94 .mask = SND_JACK_MICROPHONE,
95 },
96 {
97 .pin = "Headset Stereophone",
98 .mask = SND_JACK_HEADPHONE,
95 }, 99 },
96}; 100};
97 101
@@ -109,7 +113,8 @@ static struct snd_soc_jack_gpio hs_jack_gpios[] = {
109static const struct snd_soc_dapm_widget sdp3430_twl4030_dapm_widgets[] = { 113static const struct snd_soc_dapm_widget sdp3430_twl4030_dapm_widgets[] = {
110 SND_SOC_DAPM_MIC("Ext Mic", NULL), 114 SND_SOC_DAPM_MIC("Ext Mic", NULL),
111 SND_SOC_DAPM_SPK("Ext Spk", NULL), 115 SND_SOC_DAPM_SPK("Ext Spk", NULL),
112 SND_SOC_DAPM_HP("Headset Jack", NULL), 116 SND_SOC_DAPM_MIC("Headset Mic", NULL),
117 SND_SOC_DAPM_HP("Headset Stereophone", NULL),
113}; 118};
114 119
115static const struct snd_soc_dapm_route audio_map[] = { 120static const struct snd_soc_dapm_route audio_map[] = {
@@ -123,11 +128,13 @@ static const struct snd_soc_dapm_route audio_map[] = {
123 {"Ext Spk", NULL, "HFL"}, 128 {"Ext Spk", NULL, "HFL"},
124 {"Ext Spk", NULL, "HFR"}, 129 {"Ext Spk", NULL, "HFR"},
125 130
126 /* Headset: HSMIC (with bias), HSOL, HSOR */ 131 /* Headset Mic: HSMIC with bias */
127 {"Headset Jack", NULL, "HSOL"},
128 {"Headset Jack", NULL, "HSOR"},
129 {"HSMIC", NULL, "Headset Mic Bias"}, 132 {"HSMIC", NULL, "Headset Mic Bias"},
130 {"Headset Mic Bias", NULL, "Headset Jack"}, 133 {"Headset Mic Bias", NULL, "Headset Mic"},
134
135 /* Headset Stereophone (Headphone): HSOL, HSOR */
136 {"Headset Stereophone", NULL, "HSOL"},
137 {"Headset Stereophone", NULL, "HSOR"},
131}; 138};
132 139
133static int sdp3430_twl4030_init(struct snd_soc_codec *codec) 140static int sdp3430_twl4030_init(struct snd_soc_codec *codec)
@@ -146,7 +153,8 @@ static int sdp3430_twl4030_init(struct snd_soc_codec *codec)
146 /* SDP3430 connected pins */ 153 /* SDP3430 connected pins */
147 snd_soc_dapm_enable_pin(codec, "Ext Mic"); 154 snd_soc_dapm_enable_pin(codec, "Ext Mic");
148 snd_soc_dapm_enable_pin(codec, "Ext Spk"); 155 snd_soc_dapm_enable_pin(codec, "Ext Spk");
149 snd_soc_dapm_disable_pin(codec, "Headset Jack"); 156 snd_soc_dapm_disable_pin(codec, "Headset Mic");
157 snd_soc_dapm_disable_pin(codec, "Headset Stereophone");
150 158
151 /* TWL4030 not connected pins */ 159 /* TWL4030 not connected pins */
152 snd_soc_dapm_nc_pin(codec, "AUXL"); 160 snd_soc_dapm_nc_pin(codec, "AUXL");