Commit 27eeb1fe authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Liam Girdwood

ASoC: TWL4030: DAC power optimization

Restructure the DAPM connections in order to enable
only the needed DAC (out of four in twl4030 series).
I need to keep the 'AIF Enable' supply connected to
the L2/R2 digital path, since the digital loopback
needs AIF and APLL running.
If no valid route available, than none of the DAC will
be powered, but the AIF and APLL is going to be enabled.
Furthermore, if only one audio path have valid route,
than only the corresponding DAC will be powered.
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: default avatarMark Brown <broonie@opensource.wolfsomicro.com>
Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
parent 8b0d3153
...@@ -1460,8 +1460,11 @@ static const struct snd_soc_dapm_route intercon[] = { ...@@ -1460,8 +1460,11 @@ static const struct snd_soc_dapm_route intercon[] = {
/* Supply for the digital part (APLL) */ /* Supply for the digital part (APLL) */
{"Digital Voice Playback Mixer", NULL, "APLL Enable"}, {"Digital Voice Playback Mixer", NULL, "APLL Enable"},
{"Digital R1 Playback Mixer", NULL, "AIF Enable"}, {"DAC Left1", NULL, "AIF Enable"},
{"Digital L1 Playback Mixer", NULL, "AIF Enable"}, {"DAC Right1", NULL, "AIF Enable"},
{"DAC Left2", NULL, "AIF Enable"},
{"DAC Right1", NULL, "AIF Enable"},
{"Digital R2 Playback Mixer", NULL, "AIF Enable"}, {"Digital R2 Playback Mixer", NULL, "AIF Enable"},
{"Digital L2 Playback Mixer", NULL, "AIF Enable"}, {"Digital L2 Playback Mixer", NULL, "AIF Enable"},
...@@ -1532,10 +1535,10 @@ static const struct snd_soc_dapm_route intercon[] = { ...@@ -1532,10 +1535,10 @@ static const struct snd_soc_dapm_route intercon[] = {
/* outputs */ /* outputs */
/* Must be always connected (for AIF and APLL) */ /* Must be always connected (for AIF and APLL) */
{"Virtual HiFi OUT", NULL, "Digital L1 Playback Mixer"}, {"Virtual HiFi OUT", NULL, "DAC Left1"},
{"Virtual HiFi OUT", NULL, "Digital R1 Playback Mixer"}, {"Virtual HiFi OUT", NULL, "DAC Right1"},
{"Virtual HiFi OUT", NULL, "Digital L2 Playback Mixer"}, {"Virtual HiFi OUT", NULL, "DAC Left2"},
{"Virtual HiFi OUT", NULL, "Digital R2 Playback Mixer"}, {"Virtual HiFi OUT", NULL, "DAC Right2"},
/* Must be always connected (for APLL) */ /* Must be always connected (for APLL) */
{"Virtual Voice OUT", NULL, "Digital Voice Playback Mixer"}, {"Virtual Voice OUT", NULL, "Digital Voice Playback Mixer"},
/* Physical outputs */ /* Physical outputs */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment