aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-07-15 02:12:31 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-08-14 00:44:14 -0400
commit4e04adaf87c678425b8009c5f208d9acfc1530ab (patch)
treeff40ab816ea4961066633c7023048cc8b3be2465 /sound/soc
parent70e141228a24a538dfcd5ba641f92c1bdc239eb0 (diff)
ASoC: Add VMID widget for wm_hubs devices
Currently this does not actually do anything, it is being introduced in order to facilitate additional power optimisations for current generation devices. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/wm8993.c4
-rw-r--r--sound/soc/codecs/wm8994.c3
-rw-r--r--sound/soc/codecs/wm_hubs.c16
3 files changed, 23 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8993.c b/sound/soc/codecs/wm8993.c
index f014e5676d20..eec8e1435116 100644
--- a/sound/soc/codecs/wm8993.c
+++ b/sound/soc/codecs/wm8993.c
@@ -847,6 +847,7 @@ SND_SOC_DAPM_SUPPLY("CLK_SYS", WM8993_BUS_CONTROL_1, 1, 0, clk_sys_event,
847 SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD), 847 SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD),
848SND_SOC_DAPM_SUPPLY("TOCLK", WM8993_CLOCKING_1, 14, 0, NULL, 0), 848SND_SOC_DAPM_SUPPLY("TOCLK", WM8993_CLOCKING_1, 14, 0, NULL, 0),
849SND_SOC_DAPM_SUPPLY("CLK_DSP", WM8993_CLOCKING_3, 0, 0, NULL, 0), 849SND_SOC_DAPM_SUPPLY("CLK_DSP", WM8993_CLOCKING_3, 0, 0, NULL, 0),
850SND_SOC_DAPM_SUPPLY("VMID", SND_SOC_NOPM, 0, 0, NULL, 0),
850 851
851SND_SOC_DAPM_ADC("ADCL", NULL, WM8993_POWER_MANAGEMENT_2, 1, 0), 852SND_SOC_DAPM_ADC("ADCL", NULL, WM8993_POWER_MANAGEMENT_2, 1, 0),
852SND_SOC_DAPM_ADC("ADCR", NULL, WM8993_POWER_MANAGEMENT_2, 0, 0), 853SND_SOC_DAPM_ADC("ADCR", NULL, WM8993_POWER_MANAGEMENT_2, 0, 0),
@@ -880,6 +881,9 @@ SND_SOC_DAPM_PGA("Direct Voice", SND_SOC_NOPM, 0, 0, NULL, 0),
880}; 881};
881 882
882static const struct snd_soc_dapm_route routes[] = { 883static const struct snd_soc_dapm_route routes[] = {
884 { "MICBIAS1", NULL, "VMID" },
885 { "MICBIAS2", NULL, "VMID" },
886
883 { "ADCL", NULL, "CLK_SYS" }, 887 { "ADCL", NULL, "CLK_SYS" },
884 { "ADCL", NULL, "CLK_DSP" }, 888 { "ADCL", NULL, "CLK_DSP" },
885 { "ADCR", NULL, "CLK_SYS" }, 889 { "ADCR", NULL, "CLK_SYS" },
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 4487c5e6ad89..f57e01344adb 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -1209,6 +1209,7 @@ SND_SOC_DAPM_INPUT("Clock"),
1209 1209
1210SND_SOC_DAPM_SUPPLY_S("MICBIAS Supply", 1, SND_SOC_NOPM, 0, 0, micbias_ev, 1210SND_SOC_DAPM_SUPPLY_S("MICBIAS Supply", 1, SND_SOC_NOPM, 0, 0, micbias_ev,
1211 SND_SOC_DAPM_PRE_PMU), 1211 SND_SOC_DAPM_PRE_PMU),
1212SND_SOC_DAPM_SUPPLY("VMID", SND_SOC_NOPM, 0, 0, NULL, 0),
1212 1213
1213SND_SOC_DAPM_SUPPLY("CLK_SYS", SND_SOC_NOPM, 0, 0, clk_sys_event, 1214SND_SOC_DAPM_SUPPLY("CLK_SYS", SND_SOC_NOPM, 0, 0, clk_sys_event,
1214 SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD), 1215 SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD),
@@ -1526,6 +1527,8 @@ static const struct snd_soc_dapm_route wm8994_revd_intercon[] = {
1526static const struct snd_soc_dapm_route wm8994_intercon[] = { 1527static const struct snd_soc_dapm_route wm8994_intercon[] = {
1527 { "AIF2DACL", NULL, "AIF2DAC Mux" }, 1528 { "AIF2DACL", NULL, "AIF2DAC Mux" },
1528 { "AIF2DACR", NULL, "AIF2DAC Mux" }, 1529 { "AIF2DACR", NULL, "AIF2DAC Mux" },
1530 { "MICBIAS1", NULL, "VMID" },
1531 { "MICBIAS2", NULL, "VMID" },
1529}; 1532};
1530 1533
1531static const struct snd_soc_dapm_route wm8958_intercon[] = { 1534static const struct snd_soc_dapm_route wm8958_intercon[] = {
diff --git a/sound/soc/codecs/wm_hubs.c b/sound/soc/codecs/wm_hubs.c
index 017522e7cef9..ca8ce03510f4 100644
--- a/sound/soc/codecs/wm_hubs.c
+++ b/sound/soc/codecs/wm_hubs.c
@@ -711,6 +711,11 @@ static const struct snd_soc_dapm_route analogue_routes[] = {
711 { "IN1L PGA", "IN1LP Switch", "IN1LP" }, 711 { "IN1L PGA", "IN1LP Switch", "IN1LP" },
712 { "IN1L PGA", "IN1LN Switch", "IN1LN" }, 712 { "IN1L PGA", "IN1LN Switch", "IN1LN" },
713 713
714 { "IN1L PGA", NULL, "VMID" },
715 { "IN1R PGA", NULL, "VMID" },
716 { "IN2L PGA", NULL, "VMID" },
717 { "IN2R PGA", NULL, "VMID" },
718
714 { "IN1R PGA", "IN1RP Switch", "IN1RP" }, 719 { "IN1R PGA", "IN1RP Switch", "IN1RP" },
715 { "IN1R PGA", "IN1RN Switch", "IN1RN" }, 720 { "IN1R PGA", "IN1RN Switch", "IN1RN" },
716 721
@@ -728,12 +733,14 @@ static const struct snd_soc_dapm_route analogue_routes[] = {
728 { "MIXINL", NULL, "Direct Voice" }, 733 { "MIXINL", NULL, "Direct Voice" },
729 { "MIXINL", NULL, "IN1LP" }, 734 { "MIXINL", NULL, "IN1LP" },
730 { "MIXINL", NULL, "Left Output Mixer" }, 735 { "MIXINL", NULL, "Left Output Mixer" },
736 { "MIXINL", NULL, "VMID" },
731 737
732 { "MIXINR", "IN1R Switch", "IN1R PGA" }, 738 { "MIXINR", "IN1R Switch", "IN1R PGA" },
733 { "MIXINR", "IN2R Switch", "IN2R PGA" }, 739 { "MIXINR", "IN2R Switch", "IN2R PGA" },
734 { "MIXINR", NULL, "Direct Voice" }, 740 { "MIXINR", NULL, "Direct Voice" },
735 { "MIXINR", NULL, "IN1RP" }, 741 { "MIXINR", NULL, "IN1RP" },
736 { "MIXINR", NULL, "Right Output Mixer" }, 742 { "MIXINR", NULL, "Right Output Mixer" },
743 { "MIXINR", NULL, "VMID" },
737 744
738 { "ADCL", NULL, "MIXINL" }, 745 { "ADCL", NULL, "MIXINL" },
739 { "ADCR", NULL, "MIXINR" }, 746 { "ADCR", NULL, "MIXINR" },
@@ -764,6 +771,7 @@ static const struct snd_soc_dapm_route analogue_routes[] = {
764 { "Earpiece Mixer", "Left Output Switch", "Left Output PGA" }, 771 { "Earpiece Mixer", "Left Output Switch", "Left Output PGA" },
765 { "Earpiece Mixer", "Right Output Switch", "Right Output PGA" }, 772 { "Earpiece Mixer", "Right Output Switch", "Right Output PGA" },
766 773
774 { "Earpiece Driver", NULL, "VMID" },
767 { "Earpiece Driver", NULL, "Earpiece Mixer" }, 775 { "Earpiece Driver", NULL, "Earpiece Mixer" },
768 { "HPOUT2N", NULL, "Earpiece Driver" }, 776 { "HPOUT2N", NULL, "Earpiece Driver" },
769 { "HPOUT2P", NULL, "Earpiece Driver" }, 777 { "HPOUT2P", NULL, "Earpiece Driver" },
@@ -786,9 +794,11 @@ static const struct snd_soc_dapm_route analogue_routes[] = {
786 { "SPKR Boost", "SPKR Switch", "SPKR" }, 794 { "SPKR Boost", "SPKR Switch", "SPKR" },
787 { "SPKR Boost", "SPKL Switch", "SPKL" }, 795 { "SPKR Boost", "SPKL Switch", "SPKL" },
788 796
797 { "SPKL Driver", NULL, "VMID" },
789 { "SPKL Driver", NULL, "SPKL Boost" }, 798 { "SPKL Driver", NULL, "SPKL Boost" },
790 { "SPKL Driver", NULL, "CLK_SYS" }, 799 { "SPKL Driver", NULL, "CLK_SYS" },
791 800
801 { "SPKR Driver", NULL, "VMID" },
792 { "SPKR Driver", NULL, "SPKR Boost" }, 802 { "SPKR Driver", NULL, "SPKR Boost" },
793 { "SPKR Driver", NULL, "CLK_SYS" }, 803 { "SPKR Driver", NULL, "CLK_SYS" },
794 804
@@ -802,12 +812,18 @@ static const struct snd_soc_dapm_route analogue_routes[] = {
802 812
803 { "Headphone PGA", NULL, "Left Headphone Mux" }, 813 { "Headphone PGA", NULL, "Left Headphone Mux" },
804 { "Headphone PGA", NULL, "Right Headphone Mux" }, 814 { "Headphone PGA", NULL, "Right Headphone Mux" },
815 { "Headphone PGA", NULL, "VMID" },
805 { "Headphone PGA", NULL, "CLK_SYS" }, 816 { "Headphone PGA", NULL, "CLK_SYS" },
806 { "Headphone PGA", NULL, "Headphone Supply" }, 817 { "Headphone PGA", NULL, "Headphone Supply" },
807 818
808 { "HPOUT1L", NULL, "Headphone PGA" }, 819 { "HPOUT1L", NULL, "Headphone PGA" },
809 { "HPOUT1R", NULL, "Headphone PGA" }, 820 { "HPOUT1R", NULL, "Headphone PGA" },
810 821
822 { "LINEOUT1N Driver", NULL, "VMID" },
823 { "LINEOUT1P Driver", NULL, "VMID" },
824 { "LINEOUT2N Driver", NULL, "VMID" },
825 { "LINEOUT2P Driver", NULL, "VMID" },
826
811 { "LINEOUT1N", NULL, "LINEOUT1N Driver" }, 827 { "LINEOUT1N", NULL, "LINEOUT1N Driver" },
812 { "LINEOUT1P", NULL, "LINEOUT1P Driver" }, 828 { "LINEOUT1P", NULL, "LINEOUT1P Driver" },
813 { "LINEOUT2N", NULL, "LINEOUT2N Driver" }, 829 { "LINEOUT2N", NULL, "LINEOUT2N Driver" },