aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/tlv320dac33.c
diff options
context:
space:
mode:
authorPeter Ujfalusi <peter.ujfalusi@nokia.com>2010-12-08 09:04:33 -0500
committerLiam Girdwood <lrg@slimlogic.co.uk>2010-12-09 04:31:35 -0500
commit76eac39ce5f64b95931a6026812e902cb8863a6c (patch)
tree2b32647198204ea102739e82be7067334f044c31 /sound/soc/codecs/tlv320dac33.c
parent9e87186fff939924da58b8f562ec275757e29776 (diff)
ASoC: tlv320dac33: Move DAC LR power on to a supply widget
The power for the DACs need to be enabled, even when only the analog bypass is in use with the codec, otherwise the audio is going to be distorted. Make sure that the DACs are powered all the time, when there is audio activity. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'sound/soc/codecs/tlv320dac33.c')
-rw-r--r--sound/soc/codecs/tlv320dac33.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c
index e2e873ee47de..cee0f9912408 100644
--- a/sound/soc/codecs/tlv320dac33.c
+++ b/sound/soc/codecs/tlv320dac33.c
@@ -590,8 +590,8 @@ static const struct snd_soc_dapm_widget dac33_dapm_widgets[] = {
590 SND_SOC_DAPM_INPUT("LINEL"), 590 SND_SOC_DAPM_INPUT("LINEL"),
591 SND_SOC_DAPM_INPUT("LINER"), 591 SND_SOC_DAPM_INPUT("LINER"),
592 592
593 SND_SOC_DAPM_DAC("DACL", "Left Playback", DAC33_LDAC_PWR_CTRL, 2, 0), 593 SND_SOC_DAPM_DAC("DACL", "Left Playback", SND_SOC_NOPM, 0, 0),
594 SND_SOC_DAPM_DAC("DACR", "Right Playback", DAC33_RDAC_PWR_CTRL, 2, 0), 594 SND_SOC_DAPM_DAC("DACR", "Right Playback", SND_SOC_NOPM, 0, 0),
595 595
596 /* Analog bypass */ 596 /* Analog bypass */
597 SND_SOC_DAPM_SWITCH("Analog Left Bypass", SND_SOC_NOPM, 0, 0, 597 SND_SOC_DAPM_SWITCH("Analog Left Bypass", SND_SOC_NOPM, 0, 0,
@@ -604,6 +604,11 @@ static const struct snd_soc_dapm_widget dac33_dapm_widgets[] = {
604 SND_SOC_DAPM_REG(snd_soc_dapm_mixer, "Output Right Amplifier", 604 SND_SOC_DAPM_REG(snd_soc_dapm_mixer, "Output Right Amplifier",
605 DAC33_OUT_AMP_PWR_CTRL, 4, 3, 3, 0), 605 DAC33_OUT_AMP_PWR_CTRL, 4, 3, 3, 0),
606 606
607 SND_SOC_DAPM_SUPPLY("Left DAC Power",
608 DAC33_LDAC_PWR_CTRL, 2, 0, NULL, 0),
609 SND_SOC_DAPM_SUPPLY("Right DAC Power",
610 DAC33_RDAC_PWR_CTRL, 2, 0, NULL, 0),
611
607 SND_SOC_DAPM_PRE("Prepare Playback", playback_event), 612 SND_SOC_DAPM_PRE("Prepare Playback", playback_event),
608}; 613};
609 614
@@ -618,6 +623,9 @@ static const struct snd_soc_dapm_route audio_map[] = {
618 {"Output Left Amplifier", NULL, "Analog Left Bypass"}, 623 {"Output Left Amplifier", NULL, "Analog Left Bypass"},
619 {"Output Right Amplifier", NULL, "Analog Right Bypass"}, 624 {"Output Right Amplifier", NULL, "Analog Right Bypass"},
620 625
626 {"Output Left Amplifier", NULL, "Left DAC Power"},
627 {"Output Right Amplifier", NULL, "Right DAC Power"},
628
621 /* output */ 629 /* output */
622 {"LEFT_LO", NULL, "Output Left Amplifier"}, 630 {"LEFT_LO", NULL, "Output Left Amplifier"},
623 {"RIGHT_LO", NULL, "Output Right Amplifier"}, 631 {"RIGHT_LO", NULL, "Output Right Amplifier"},