aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorPeter Ujfalusi <peter.ujfalusi@ti.com>2011-12-22 05:55:49 -0500
committerPeter Ujfalusi <peter.ujfalusi@ti.com>2012-01-26 08:40:46 -0500
commitb3208839106476fe31b4bf3e6a2470cae509b2a5 (patch)
treefd88d853f2c0a0c8b89d8291f6bf9663a5267de7 /sound
parent778cee7afd063b1321dd9a2d2ecd8822d76bb33a (diff)
ASoC: omap-abe-twl6040: Add complete DAPM routing
SDP4430 is a reference platform, and as such it has all possible audio routing implemented. Correct the DAPM routing to be complete. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/omap/omap-abe-twl6040.c46
1 files changed, 28 insertions, 18 deletions
diff --git a/sound/soc/omap/omap-abe-twl6040.c b/sound/soc/omap/omap-abe-twl6040.c
index ca7152cb6a25..f2b5fec8f680 100644
--- a/sound/soc/omap/omap-abe-twl6040.c
+++ b/sound/soc/omap/omap-abe-twl6040.c
@@ -113,38 +113,48 @@ static struct snd_soc_jack_pin hs_jack_pins[] = {
113 113
114/* SDP4430 machine DAPM */ 114/* SDP4430 machine DAPM */
115static const struct snd_soc_dapm_widget twl6040_dapm_widgets[] = { 115static const struct snd_soc_dapm_widget twl6040_dapm_widgets[] = {
116 SND_SOC_DAPM_MIC("Ext Mic", NULL), 116 /* Outputs */
117 SND_SOC_DAPM_SPK("Ext Spk", NULL),
118 SND_SOC_DAPM_MIC("Headset Mic", NULL),
119 SND_SOC_DAPM_HP("Headset Stereophone", NULL), 117 SND_SOC_DAPM_HP("Headset Stereophone", NULL),
120 SND_SOC_DAPM_SPK("Earphone Spk", NULL), 118 SND_SOC_DAPM_SPK("Earphone Spk", NULL),
121 SND_SOC_DAPM_INPUT("FM Stereo In"), 119 SND_SOC_DAPM_SPK("Ext Spk", NULL),
120 SND_SOC_DAPM_LINE("Line Out", NULL),
121 SND_SOC_DAPM_SPK("Vibrator", NULL),
122
123 /* Inputs */
124 SND_SOC_DAPM_MIC("Headset Mic", NULL),
125 SND_SOC_DAPM_MIC("Main Handset Mic", NULL),
126 SND_SOC_DAPM_MIC("Sub Handset Mic", NULL),
127 SND_SOC_DAPM_LINE("Line In", NULL),
122}; 128};
123 129
124static const struct snd_soc_dapm_route audio_map[] = { 130static const struct snd_soc_dapm_route audio_map[] = {
125 /* External Mics: MAINMIC, SUBMIC with bias*/ 131 /* Routings for outputs */
126 {"MAINMIC", NULL, "Ext Mic"}, 132 {"Headset Stereophone", NULL, "HSOL"},
127 {"SUBMIC", NULL, "Ext Mic"}, 133 {"Headset Stereophone", NULL, "HSOR"},
128 {"Ext Mic", NULL, "Main Mic Bias"}, 134
135 {"Earphone Spk", NULL, "EP"},
129 136
130 /* External Speakers: HFL, HFR */
131 {"Ext Spk", NULL, "HFL"}, 137 {"Ext Spk", NULL, "HFL"},
132 {"Ext Spk", NULL, "HFR"}, 138 {"Ext Spk", NULL, "HFR"},
133 139
134 /* Headset Mic: HSMIC with bias */ 140 {"Line Out", NULL, "AUXL"},
141 {"Line Out", NULL, "AUXR"},
142
143 {"Vibrator", NULL, "VIBRAL"},
144 {"Vibrator", NULL, "VIBRAR"},
145
146 /* Routings for inputs */
135 {"HSMIC", NULL, "Headset Mic"}, 147 {"HSMIC", NULL, "Headset Mic"},
136 {"Headset Mic", NULL, "Headset Mic Bias"}, 148 {"Headset Mic", NULL, "Headset Mic Bias"},
137 149
138 /* Headset Stereophone (Headphone): HSOL, HSOR */ 150 {"MAINMIC", NULL, "Main Handset Mic"},
139 {"Headset Stereophone", NULL, "HSOL"}, 151 {"Main Handset Mic", NULL, "Main Mic Bias"},
140 {"Headset Stereophone", NULL, "HSOR"},
141 152
142 /* Earphone speaker */ 153 {"SUBMIC", NULL, "Sub Handset Mic"},
143 {"Earphone Spk", NULL, "EP"}, 154 {"Sub Handset Mic", NULL, "Main Mic Bias"},
144 155
145 /* Aux/FM Stereo In: AFML, AFMR */ 156 {"AFML", NULL, "Line In"},
146 {"AFML", NULL, "FM Stereo In"}, 157 {"AFMR", NULL, "Line In"},
147 {"AFMR", NULL, "FM Stereo In"},
148}; 158};
149 159
150static int omap_abe_twl6040_init(struct snd_soc_pcm_runtime *rtd) 160static int omap_abe_twl6040_init(struct snd_soc_pcm_runtime *rtd)