[alsa-devel] [PATCH 1/1] ASoC: TWL4030: Wait RAMP_DELAY on headsetl_event: POST_PMD

Peter Ujfalusi peter.ujfalusi at nokia.com
Thu May 14 07:27:11 CEST 2009

On Wednesday 13 May 2009 16:05:49 ext Mark Brown wrote:
> On Wed, May 13, 2009 at 03:57:09PM +0300, Peter Ujfalusi wrote:
> > Mark: About the  power up and down sequences in the soc-dapm.c file: are
> > they written in stone, or is it possible to make some - I think - minor
> > modification to the sequences?
> The change you've made is to power the amplifiers down after the mixers.
> That's going to cause problems on other systems - the result is going to
> be that the amplifiers end up amplifying any noise the mixers make on
> the way down which isn't good.  There's bits of the sequence that can be
> fairly readily reordered but I'd worry about that particular change.

That is why I'm a bit nervous when I need to touch the core... It has been 
working fine for all other codes so far. 
In the twl4030 codec case, the playback involves the following chain in DAPM 

Headset, PreDrive, Carkit, Earpiece:
DAC -> PGA -> Mixer -> output pin.

DAC -> PGA -> Mux -> output pin.

While for example the WM9713 has it in this way:
DAC -> Mixer -> PGA -> output pin

While I was looking at the sequences, I wonder why the mux and mixer handled 
in a differently?

I mean, that in power up the order is (simplified):
mux -> dac -> mixer -> pga

in power down:
pga -> mixer -> dac -> mux

Is it possible to add several SND_SOC_DAPM_PRE to the DAPM routing? For 
example to the HeadsetL, HeadsetR, HandsFreeL and HandsFreeR? How does it than 
would work?
If this is possible, than I can handle the correct power up/down sequences 
required for the twl4030 codec.


More information about the Alsa-devel mailing list