[alsa-devel] [PATCH 1/2] ASoC: dapm - Add DAPM for always active DAC or ADC

Mark Brown broonie at sirena.org.uk
Tue Mar 24 17:15:10 CET 2009

On Tue, Mar 24, 2009 at 09:57:20PM +0900, Joonyoung Shim wrote:
> This patch supports DAPM widget for always active DAC or ADC regardless
> of stream. This widgets will be used for voice call at TWL4030 codec.

> TWL4030 codec use the digital signal for voice call, so it needs DAC and
> ADC to change signal to digital or analog, however currently DAC and ADC
> widgets cannot support voice call because they are activated only when
> playback or capture is executed.

What's actually needed here is proper path management in the digital
domain.  Powering components on all the time is clearly suboptimal since
it consumes power when the bypass paths aren't in use, potentially
including power from other components 

This is something that's planned in for the core (there are devices out
there with more complex digital routing needs than can be solved with
this sort of configuration) but I can't give you a specific schedule for

What I'd suggest doing for now is providing a direct analog link from
the ADC input to the DAC output for DAPM and then hooking in using
events on the widgets to manage the power of the DAC and ADC manually.
When the core gains support for digital routing this can be replaced.
Alternatively, if there is no integration with record or playback
required then there's no reason to represent them as DACs and ADCs, they
could be done as some other path element that DAPM does know about.

More information about the Alsa-devel mailing list