Liam Girdwood wrote:
On Thu, 2010-03-25 at 09:17 +0200, Peter Ujfalusi wrote:
What I did with the TWL4030 codec, is that I have moved the actual DAC power control from the DAPM_DAC to different widget (the DAPM_DAC is kind of a fake one). This was needed to support the digital loopback functionality.
So if you reorder the DAPM widgets (making sure that the switch order still OK), than I think you can treat one of the paths as normal playback path (fake DAPM_DAC -> mixer (have the DAC power bit handled here) -> ...). Than you might consider of adding the rest of the paths as DAPM_INPUT, and connect them to the mixer (which after the fake DAC). So you kind of have digital loopback from those to the analog domain.
This approach currently works well on the twl4030. However, you may want to consider using SND_SOC_DAPM_AIF_IN() for your input paths here. e.g.
AIF_IN -> MIXER -> DAC -> rest of codec
I see now, this is exactly what I was looking for. I will give it a try then. Thanks.