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

Peter Ujfalusi peter.ujfalusi at nokia.com
Mon May 18 09:46:17 CEST 2009

On Friday 15 May 2009 09:30:08 Ujfalusi Peter (Nokia-D/Tampere) wrote:
> On Thursday 14 May 2009 15:53:34 ext Mark Brown wrote:
> > It might help to have the mixers and muxes maintain some state when they
> > change?  It's just a suggestion, I'm not familiar enough with the codec
> > to know if it's a sensible one for this device or if it's more trouble
> > than it's worth.
> I have given this one a though and it might be not that problematic. What
> I'm afraid is that there are some corner cases, which might need some
> special attention.

I have tried this. Worked well with the playback stop/start, but than getting 
the loopbacks working again proven to be close to impossible...
Anyway I have tried another approach, which seams to be working in all 
scenarios for the twl4030 codec.
It does not involve changes outside of the twl4030.c.
I will clean up the code and send the patches for testing.
In short:
I have moved the APGA control from the SND_SOC_DAPM_PGA to SND_SOC_DAPM_MIXER, 
also I have added another level of mixer for the digital path, which actually 
controls the DAC state.
Than I have SND_SOC_DAPM_PGA_E for the headset outputs.

Now the power up and power down order is correct and a minimal (almost no) pop 
can be heard on startup and on standby.

I know that this is kind of a hack, but there seams to be no other way to 
handle the twl4030 codec power on/off sequences.


More information about the Alsa-devel mailing list