aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm_hubs.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/codecs/wm_hubs.c')
-rw-r--r--sound/soc/codecs/wm_hubs.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/sound/soc/codecs/wm_hubs.c b/sound/soc/codecs/wm_hubs.c
index 4005e9af5d61..e55b298c14a0 100644
--- a/sound/soc/codecs/wm_hubs.c
+++ b/sound/soc/codecs/wm_hubs.c
@@ -787,17 +787,17 @@ static const struct snd_soc_dapm_route analogue_routes[] = {
787static const struct snd_soc_dapm_route lineout1_diff_routes[] = { 787static const struct snd_soc_dapm_route lineout1_diff_routes[] = {
788 { "LINEOUT1 Mixer", "IN1L Switch", "IN1L PGA" }, 788 { "LINEOUT1 Mixer", "IN1L Switch", "IN1L PGA" },
789 { "LINEOUT1 Mixer", "IN1R Switch", "IN1R PGA" }, 789 { "LINEOUT1 Mixer", "IN1R Switch", "IN1R PGA" },
790 { "LINEOUT1 Mixer", "Output Switch", "Left Output Mixer" }, 790 { "LINEOUT1 Mixer", "Output Switch", "Left Output PGA" },
791 791
792 { "LINEOUT1N Driver", NULL, "LINEOUT1 Mixer" }, 792 { "LINEOUT1N Driver", NULL, "LINEOUT1 Mixer" },
793 { "LINEOUT1P Driver", NULL, "LINEOUT1 Mixer" }, 793 { "LINEOUT1P Driver", NULL, "LINEOUT1 Mixer" },
794}; 794};
795 795
796static const struct snd_soc_dapm_route lineout1_se_routes[] = { 796static const struct snd_soc_dapm_route lineout1_se_routes[] = {
797 { "LINEOUT1N Mixer", "Left Output Switch", "Left Output Mixer" }, 797 { "LINEOUT1N Mixer", "Left Output Switch", "Left Output PGA" },
798 { "LINEOUT1N Mixer", "Right Output Switch", "Left Output Mixer" }, 798 { "LINEOUT1N Mixer", "Right Output Switch", "Right Output PGA" },
799 799
800 { "LINEOUT1P Mixer", "Left Output Switch", "Left Output Mixer" }, 800 { "LINEOUT1P Mixer", "Left Output Switch", "Left Output PGA" },
801 801
802 { "LINEOUT1N Driver", NULL, "LINEOUT1N Mixer" }, 802 { "LINEOUT1N Driver", NULL, "LINEOUT1N Mixer" },
803 { "LINEOUT1P Driver", NULL, "LINEOUT1P Mixer" }, 803 { "LINEOUT1P Driver", NULL, "LINEOUT1P Mixer" },
@@ -806,17 +806,17 @@ static const struct snd_soc_dapm_route lineout1_se_routes[] = {
806static const struct snd_soc_dapm_route lineout2_diff_routes[] = { 806static const struct snd_soc_dapm_route lineout2_diff_routes[] = {
807 { "LINEOUT2 Mixer", "IN2L Switch", "IN2L PGA" }, 807 { "LINEOUT2 Mixer", "IN2L Switch", "IN2L PGA" },
808 { "LINEOUT2 Mixer", "IN2R Switch", "IN2R PGA" }, 808 { "LINEOUT2 Mixer", "IN2R Switch", "IN2R PGA" },
809 { "LINEOUT2 Mixer", "Output Switch", "Right Output Mixer" }, 809 { "LINEOUT2 Mixer", "Output Switch", "Right Output PGA" },
810 810
811 { "LINEOUT2N Driver", NULL, "LINEOUT2 Mixer" }, 811 { "LINEOUT2N Driver", NULL, "LINEOUT2 Mixer" },
812 { "LINEOUT2P Driver", NULL, "LINEOUT2 Mixer" }, 812 { "LINEOUT2P Driver", NULL, "LINEOUT2 Mixer" },
813}; 813};
814 814
815static const struct snd_soc_dapm_route lineout2_se_routes[] = { 815static const struct snd_soc_dapm_route lineout2_se_routes[] = {
816 { "LINEOUT2N Mixer", "Left Output Switch", "Left Output Mixer" }, 816 { "LINEOUT2N Mixer", "Left Output Switch", "Left Output PGA" },
817 { "LINEOUT2N Mixer", "Right Output Switch", "Left Output Mixer" }, 817 { "LINEOUT2N Mixer", "Right Output Switch", "Right Output PGA" },
818 818
819 { "LINEOUT2P Mixer", "Right Output Switch", "Right Output Mixer" }, 819 { "LINEOUT2P Mixer", "Right Output Switch", "Right Output PGA" },
820 820
821 { "LINEOUT2N Driver", NULL, "LINEOUT2N Mixer" }, 821 { "LINEOUT2N Driver", NULL, "LINEOUT2N Mixer" },
822 { "LINEOUT2P Driver", NULL, "LINEOUT2P Mixer" }, 822 { "LINEOUT2P Driver", NULL, "LINEOUT2P Mixer" },
@@ -836,17 +836,21 @@ int wm_hubs_add_analogue_controls(struct snd_soc_codec *codec)
836 snd_soc_update_bits(codec, WM8993_RIGHT_LINE_INPUT_3_4_VOLUME, 836 snd_soc_update_bits(codec, WM8993_RIGHT_LINE_INPUT_3_4_VOLUME,
837 WM8993_IN2_VU, WM8993_IN2_VU); 837 WM8993_IN2_VU, WM8993_IN2_VU);
838 838
839 snd_soc_update_bits(codec, WM8993_SPEAKER_VOLUME_LEFT,
840 WM8993_SPKOUT_VU, WM8993_SPKOUT_VU);
839 snd_soc_update_bits(codec, WM8993_SPEAKER_VOLUME_RIGHT, 841 snd_soc_update_bits(codec, WM8993_SPEAKER_VOLUME_RIGHT,
840 WM8993_SPKOUT_VU, WM8993_SPKOUT_VU); 842 WM8993_SPKOUT_VU, WM8993_SPKOUT_VU);
841 843
842 snd_soc_update_bits(codec, WM8993_LEFT_OUTPUT_VOLUME, 844 snd_soc_update_bits(codec, WM8993_LEFT_OUTPUT_VOLUME,
843 WM8993_HPOUT1L_ZC, WM8993_HPOUT1L_ZC); 845 WM8993_HPOUT1_VU | WM8993_HPOUT1L_ZC,
846 WM8993_HPOUT1_VU | WM8993_HPOUT1L_ZC);
844 snd_soc_update_bits(codec, WM8993_RIGHT_OUTPUT_VOLUME, 847 snd_soc_update_bits(codec, WM8993_RIGHT_OUTPUT_VOLUME,
845 WM8993_HPOUT1_VU | WM8993_HPOUT1R_ZC, 848 WM8993_HPOUT1_VU | WM8993_HPOUT1R_ZC,
846 WM8993_HPOUT1_VU | WM8993_HPOUT1R_ZC); 849 WM8993_HPOUT1_VU | WM8993_HPOUT1R_ZC);
847 850
848 snd_soc_update_bits(codec, WM8993_LEFT_OPGA_VOLUME, 851 snd_soc_update_bits(codec, WM8993_LEFT_OPGA_VOLUME,
849 WM8993_MIXOUTL_ZC, WM8993_MIXOUTL_ZC); 852 WM8993_MIXOUTL_ZC | WM8993_MIXOUT_VU,
853 WM8993_MIXOUTL_ZC | WM8993_MIXOUT_VU);
850 snd_soc_update_bits(codec, WM8993_RIGHT_OPGA_VOLUME, 854 snd_soc_update_bits(codec, WM8993_RIGHT_OPGA_VOLUME,
851 WM8993_MIXOUTR_ZC | WM8993_MIXOUT_VU, 855 WM8993_MIXOUTR_ZC | WM8993_MIXOUT_VU,
852 WM8993_MIXOUTR_ZC | WM8993_MIXOUT_VU); 856 WM8993_MIXOUTR_ZC | WM8993_MIXOUT_VU);