[alsa-devel] Problem adding support for digital mixer in codec

Candelaria Villarreal, Jorge jorge.candelaria at ti.com
Thu Mar 25 17:56:40 CET 2010

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.

More information about the Alsa-devel mailing list