[alsa-devel] ASoC - Output widgets

Alexandre BOUIN a.bouin at kerlink.fr
Mon Feb 25 10:39:15 CET 2008

> From: Mark Brown [mailto:broonie at opensource.wolfsonmicro.com]
> On Fri, Feb 22, 2008 at 05:39:54PM +0100, Alexandre BOUIN wrote:
> > Using ASoC layer, I'd like to perform this example behaviour with my
> widgets
> > :
> >  - 1 output mixer MIXOUT is connected to 2 outputs OUT1 and OUT2
> >  - OUT1 and OUT2 can be powered independently
> > This seems easy, but atm while one is powered, the other is powered
> too.
> I may be misunderstanding what you're doing here but I suspect that
> you need to use snd_soc_dapm_set_endpoint() to mark the outputs that
> are
> not in use as disconnected.  If you do that then then DAPM will not
> power up the relevant output path.
> You can do this at any point at run time - see sound/soc/pxa/tosa.c for
> an example of this.

I've used tosa board as an example. 
Maybe I've done something wrong but when I play sound files, both amplifier
are powered together.
After playing this track, both amplifier are shutdown together.

As it should be an audio path problem, I detail you my audio path here : 
 - 1 SND_SOC_DAPM_MIXER is connected to 2 SND_SOC_DAPM_PGA with power
 - each PGA is connected to an SND_SOC_DAPM_OUTPUT
 - according to tosa example : 
    - first OUTPUT is connected to a SND_SOC_DAPM_HP defined as endpoint
    - second OUTPUT is connected to a SND_SOC_DAPM_SPK defined as endpoint
this SPK is set disconnected in my tosa_ac97_init -like function

Using DPAM debug traces, I've notice that both PGAs are powered regardless
of their ON/OFF status.

More information about the Alsa-devel mailing list