From: Mark Brown [mailto:broonie@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 control. - 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.
Regards, Alex.