[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 
domain:

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

Handsfree:
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.

-- 
Péter


More information about the Alsa-devel mailing list