diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-07-19 09:02:34 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-07-20 04:48:25 -0400 |
commit | a3257ba869003ad10f292fea64bf31e2d3e2afff (patch) | |
tree | 2252dbfe7648f9aed1201ddc12079233b4b89907 /sound/soc | |
parent | 395e4b7362f4776d357856fdf93cdb2302d8555a (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.c | 27 |
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 | ||
2364 | static const struct snd_kcontrol_new aif1adc2l_mix[] = { | ||
2365 | SOC_DAPM_SINGLE("DMIC Switch", WM8994_AIF1_ADC2_LEFT_MIXER_ROUTING, | ||
2366 | 1, 1, 0), | ||
2367 | SOC_DAPM_SINGLE("AIF2 Switch", WM8994_AIF1_ADC2_LEFT_MIXER_ROUTING, | ||
2368 | 0, 1, 0), | ||
2369 | }; | ||
2370 | |||
2371 | static const struct snd_kcontrol_new aif1adc2r_mix[] = { | ||
2372 | SOC_DAPM_SINGLE("DMIC Switch", WM8994_AIF1_ADC2_RIGHT_MIXER_ROUTING, | ||
2373 | 1, 1, 0), | ||
2374 | SOC_DAPM_SINGLE("AIF2 Switch", WM8994_AIF1_ADC2_RIGHT_MIXER_ROUTING, | ||
2375 | 0, 1, 0), | ||
2376 | }; | ||
2377 | |||
2364 | static const struct snd_kcontrol_new aif2dac2l_mix[] = { | 2378 | static const struct snd_kcontrol_new aif2dac2l_mix[] = { |
2365 | SOC_DAPM_SINGLE("Right Sidetone Switch", WM8994_DAC2_LEFT_MIXER_ROUTING, | 2379 | SOC_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, | |||
2527 | SND_SOC_DAPM_MIXER("AIF1ADC1R Mixer", SND_SOC_NOPM, 0, 0, | 2541 | SND_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 | ||
2544 | SND_SOC_DAPM_MIXER("AIF1ADC2L Mixer", SND_SOC_NOPM, 0, 0, | ||
2545 | aif1adc2l_mix, ARRAY_SIZE(aif1adc2l_mix)), | ||
2546 | SND_SOC_DAPM_MIXER("AIF1ADC2R Mixer", SND_SOC_NOPM, 0, 0, | ||
2547 | aif1adc2r_mix, ARRAY_SIZE(aif1adc2r_mix)), | ||
2548 | |||
2530 | SND_SOC_DAPM_MIXER("AIF2DAC2L Mixer", SND_SOC_NOPM, 0, 0, | 2549 | SND_SOC_DAPM_MIXER("AIF2DAC2L Mixer", SND_SOC_NOPM, 0, 0, |
2531 | aif2dac2l_mix, ARRAY_SIZE(aif2dac2l_mix)), | 2550 | aif2dac2l_mix, ARRAY_SIZE(aif2dac2l_mix)), |
2532 | SND_SOC_DAPM_MIXER("AIF2DAC2R Mixer", SND_SOC_NOPM, 0, 0, | 2551 | SND_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" }, |