diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-05-03 14:29:52 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-05-03 18:29:08 -0400 |
commit | abc9d5aa085a4316e1abcd3c3f12ff0bb0133d57 (patch) | |
tree | a3029f27d79d64b4ba48891757e7e949b65e8af7 | |
parent | b06c16dc3252018d0cad8fbd026cb9d65af31a4a (diff) |
ASoC: Use shared controls for input signal path in WM8915
Gives finer grained power management.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
-rw-r--r-- | sound/soc/codecs/wm8915.c | 45 |
1 files changed, 25 insertions, 20 deletions
diff --git a/sound/soc/codecs/wm8915.c b/sound/soc/codecs/wm8915.c index 4a3c5cc77e55..0dc1dd70a138 100644 --- a/sound/soc/codecs/wm8915.c +++ b/sound/soc/codecs/wm8915.c | |||
@@ -991,10 +991,10 @@ SND_SOC_DAPM_MICBIAS("MICB1", WM8915_POWER_MANAGEMENT_1, 8, 0), | |||
991 | SND_SOC_DAPM_PGA("IN1L PGA", WM8915_POWER_MANAGEMENT_2, 5, 0, NULL, 0), | 991 | SND_SOC_DAPM_PGA("IN1L PGA", WM8915_POWER_MANAGEMENT_2, 5, 0, NULL, 0), |
992 | SND_SOC_DAPM_PGA("IN1R PGA", WM8915_POWER_MANAGEMENT_2, 4, 0, NULL, 0), | 992 | SND_SOC_DAPM_PGA("IN1R PGA", WM8915_POWER_MANAGEMENT_2, 4, 0, NULL, 0), |
993 | 993 | ||
994 | SND_SOC_DAPM_PGA("ADC", SND_SOC_NOPM, 0, 0, NULL, 0), | 994 | SND_SOC_DAPM_MUX("IN1L Mux", SND_SOC_NOPM, 0, 0, &in1_mux), |
995 | 995 | SND_SOC_DAPM_MUX("IN1R Mux", SND_SOC_NOPM, 0, 0, &in1_mux), | |
996 | SND_SOC_DAPM_MUX("IN1 Mux", SND_SOC_NOPM, 0, 0, &in1_mux), | 996 | SND_SOC_DAPM_MUX("IN2L Mux", SND_SOC_NOPM, 0, 0, &in2_mux), |
997 | SND_SOC_DAPM_MUX("IN2 Mux", SND_SOC_NOPM, 0, 0, &in2_mux), | 997 | SND_SOC_DAPM_MUX("IN2R Mux", SND_SOC_NOPM, 0, 0, &in2_mux), |
998 | 998 | ||
999 | SND_SOC_DAPM_PGA("IN1L", WM8915_POWER_MANAGEMENT_7, 2, 0, NULL, 0), | 999 | SND_SOC_DAPM_PGA("IN1L", WM8915_POWER_MANAGEMENT_7, 2, 0, NULL, 0), |
1000 | SND_SOC_DAPM_PGA("IN1R", WM8915_POWER_MANAGEMENT_7, 3, 0, NULL, 0), | 1000 | SND_SOC_DAPM_PGA("IN1R", WM8915_POWER_MANAGEMENT_7, 3, 0, NULL, 0), |
@@ -1172,28 +1172,33 @@ static const struct snd_soc_dapm_route wm8915_dapm_routes[] = { | |||
1172 | { "DMIC1L", NULL, "DMIC1" }, | 1172 | { "DMIC1L", NULL, "DMIC1" }, |
1173 | { "DMIC1R", NULL, "DMIC1" }, | 1173 | { "DMIC1R", NULL, "DMIC1" }, |
1174 | 1174 | ||
1175 | { "ADC", NULL, "ADCL" }, | 1175 | { "IN1L Mux", "ADC", "ADCL" }, |
1176 | { "ADC", NULL, "ADCR" }, | 1176 | { "IN1L Mux", "DMIC1", "DMIC1L" }, |
1177 | { "IN1L Mux", "DMIC2", "DMIC2L" }, | ||
1178 | |||
1179 | { "IN1R Mux", "ADC", "ADCR" }, | ||
1180 | { "IN1R Mux", "DMIC1", "DMIC1R" }, | ||
1181 | { "IN1R Mux", "DMIC2", "DMIC2R" }, | ||
1177 | 1182 | ||
1178 | { "IN1 Mux", "ADC", "ADC" }, | 1183 | { "IN2L Mux", "ADC", "ADCL" }, |
1179 | { "IN1 Mux", "DMIC1", "DMIC1" }, | 1184 | { "IN2L Mux", "DMIC1", "DMIC1L" }, |
1180 | { "IN1 Mux", "DMIC2", "DMIC2" }, | 1185 | { "IN2L Mux", "DMIC2", "DMIC2L" }, |
1181 | 1186 | ||
1182 | { "IN2 Mux", "ADC", "ADC" }, | 1187 | { "IN2R Mux", "ADC", "ADCR" }, |
1183 | { "IN2 Mux", "DMIC1", "DMIC1" }, | 1188 | { "IN2R Mux", "DMIC1", "DMIC1R" }, |
1184 | { "IN2 Mux", "DMIC2", "DMIC2" }, | 1189 | { "IN2R Mux", "DMIC2", "DMIC2R" }, |
1185 | 1190 | ||
1186 | { "Left Sidetone", "IN1", "IN1 Mux" }, | 1191 | { "Left Sidetone", "IN1", "IN1L Mux" }, |
1187 | { "Left Sidetone", "IN2", "IN2 Mux" }, | 1192 | { "Left Sidetone", "IN2", "IN2L Mux" }, |
1188 | 1193 | ||
1189 | { "Right Sidetone", "IN1", "IN1 Mux" }, | 1194 | { "Right Sidetone", "IN1", "IN1R Mux" }, |
1190 | { "Right Sidetone", "IN2", "IN2 Mux" }, | 1195 | { "Right Sidetone", "IN2", "IN2R Mux" }, |
1191 | 1196 | ||
1192 | { "DSP1TXL", "IN1 Switch", "IN1 Mux" }, | 1197 | { "DSP1TXL", "IN1 Switch", "IN1L Mux" }, |
1193 | { "DSP1TXR", "IN1 Switch", "IN1 Mux" }, | 1198 | { "DSP1TXR", "IN1 Switch", "IN1R Mux" }, |
1194 | 1199 | ||
1195 | { "DSP2TXL", "IN1 Switch", "IN2 Mux" }, | 1200 | { "DSP2TXL", "IN1 Switch", "IN2L Mux" }, |
1196 | { "DSP2TXR", "IN1 Switch", "IN2 Mux" }, | 1201 | { "DSP2TXR", "IN1 Switch", "IN2R Mux" }, |
1197 | 1202 | ||
1198 | { "AIF1TX0", NULL, "DSP1TXL" }, | 1203 | { "AIF1TX0", NULL, "DSP1TXL" }, |
1199 | { "AIF1TX1", NULL, "DSP1TXR" }, | 1204 | { "AIF1TX1", NULL, "DSP1TXR" }, |