aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-07-19 09:02:34 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-07-20 04:48:25 -0400
commita3257ba869003ad10f292fea64bf31e2d3e2afff (patch)
tree2252dbfe7648f9aed1201ddc12079233b4b89907 /sound/soc
parent395e4b7362f4776d357856fdf93cdb2302d8555a (diff)
ASoC: Implement WM8994 AIF1ADC2 paths
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/wm8994.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index c41cf47f4009..0ddb6f1ce6fb 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -2361,6 +2361,20 @@ SOC_DAPM_SINGLE("AIF2 Switch", WM8994_AIF1_ADC1_RIGHT_MIXER_ROUTING,
2361 0, 1, 0), 2361 0, 1, 0),
2362}; 2362};
2363 2363
2364static const struct snd_kcontrol_new aif1adc2l_mix[] = {
2365SOC_DAPM_SINGLE("DMIC Switch", WM8994_AIF1_ADC2_LEFT_MIXER_ROUTING,
2366 1, 1, 0),
2367SOC_DAPM_SINGLE("AIF2 Switch", WM8994_AIF1_ADC2_LEFT_MIXER_ROUTING,
2368 0, 1, 0),
2369};
2370
2371static const struct snd_kcontrol_new aif1adc2r_mix[] = {
2372SOC_DAPM_SINGLE("DMIC Switch", WM8994_AIF1_ADC2_RIGHT_MIXER_ROUTING,
2373 1, 1, 0),
2374SOC_DAPM_SINGLE("AIF2 Switch", WM8994_AIF1_ADC2_RIGHT_MIXER_ROUTING,
2375 0, 1, 0),
2376};
2377
2364static const struct snd_kcontrol_new aif2dac2l_mix[] = { 2378static const struct snd_kcontrol_new aif2dac2l_mix[] = {
2365SOC_DAPM_SINGLE("Right Sidetone Switch", WM8994_DAC2_LEFT_MIXER_ROUTING, 2379SOC_DAPM_SINGLE("Right Sidetone Switch", WM8994_DAC2_LEFT_MIXER_ROUTING,
2366 5, 1, 0), 2380 5, 1, 0),
@@ -2527,6 +2541,11 @@ SND_SOC_DAPM_MIXER("AIF1ADC1L Mixer", SND_SOC_NOPM, 0, 0,
2527SND_SOC_DAPM_MIXER("AIF1ADC1R Mixer", SND_SOC_NOPM, 0, 0, 2541SND_SOC_DAPM_MIXER("AIF1ADC1R Mixer", SND_SOC_NOPM, 0, 0,
2528 aif1adc1r_mix, ARRAY_SIZE(aif1adc1r_mix)), 2542 aif1adc1r_mix, ARRAY_SIZE(aif1adc1r_mix)),
2529 2543
2544SND_SOC_DAPM_MIXER("AIF1ADC2L Mixer", SND_SOC_NOPM, 0, 0,
2545 aif1adc2l_mix, ARRAY_SIZE(aif1adc2l_mix)),
2546SND_SOC_DAPM_MIXER("AIF1ADC2R Mixer", SND_SOC_NOPM, 0, 0,
2547 aif1adc2r_mix, ARRAY_SIZE(aif1adc2r_mix)),
2548
2530SND_SOC_DAPM_MIXER("AIF2DAC2L Mixer", SND_SOC_NOPM, 0, 0, 2549SND_SOC_DAPM_MIXER("AIF2DAC2L Mixer", SND_SOC_NOPM, 0, 0,
2531 aif2dac2l_mix, ARRAY_SIZE(aif2dac2l_mix)), 2550 aif2dac2l_mix, ARRAY_SIZE(aif2dac2l_mix)),
2532SND_SOC_DAPM_MIXER("AIF2DAC2R Mixer", SND_SOC_NOPM, 0, 0, 2551SND_SOC_DAPM_MIXER("AIF2DAC2R Mixer", SND_SOC_NOPM, 0, 0,
@@ -2689,6 +2708,14 @@ static const struct snd_soc_dapm_route intercon[] = {
2689 { "AIF1ADC1R Mixer", "ADC/DMIC Switch", "ADCR Mux" }, 2708 { "AIF1ADC1R Mixer", "ADC/DMIC Switch", "ADCR Mux" },
2690 { "AIF1ADC1R Mixer", "AIF2 Switch", "AIF2DACR" }, 2709 { "AIF1ADC1R Mixer", "AIF2 Switch", "AIF2DACR" },
2691 2710
2711 { "AIF1ADC2L", NULL, "AIF1ADC2L Mixer" },
2712 { "AIF1ADC2L Mixer", "DMIC Switch", "DMIC2L" },
2713 { "AIF1ADC2L Mixer", "AIF2 Switch", "AIF2DACL" },
2714
2715 { "AIF1ADC2R", NULL, "AIF1ADC2R Mixer" },
2716 { "AIF1ADC2R Mixer", "DMIC Switch", "DMIC2R" },
2717 { "AIF1ADC2R Mixer", "AIF2 Switch", "AIF2DACR" },
2718
2692 /* Pin level routing for AIF3 */ 2719 /* Pin level routing for AIF3 */
2693 { "AIF1DAC1L", NULL, "AIF1DAC Mux" }, 2720 { "AIF1DAC1L", NULL, "AIF1DAC Mux" },
2694 { "AIF1DAC1R", NULL, "AIF1DAC Mux" }, 2721 { "AIF1DAC1R", NULL, "AIF1DAC Mux" },