[alsa-devel] [PATCH 1/1] ASoC: TWL4030: Headset VMID ramp fix

Peter Ujfalusi peter.ujfalusi at nokia.com
Mon May 11 08:22:41 CEST 2009


On Friday 08 May 2009 17:23:22 ext Jarkko Nikula wrote:
> On Fri, 8 May 2009 16:55:01 +0300
>
> Jarkko Nikula <jhnikula at gmail.com> wrote:
> > Would it be possible that pop is not caused by the HS output but
> > inside the chip, like from DAC?
>
> Seems to be not the case. Pops are there even if I put msleep(250)
> before and after playing with the HS.
>
> A digital scope would definitely help here to see are there ramp and is
> the coupling configuration correct.

OK I got the scope hooked up.
Startup sequence on HS looks fine:
TWL4030_VMID_EN
TWL4030_RAMP_EN
HS gain restore.

On the shutdown sequence part I have the following:
~TWL4030_RAMP_EN
msleep(30)
~TWL4030_VMID_EN
HS gain mute

When the RAMP_DELAY = 0 (27/20/14 ms) the voltage on the HSOL line gradually 
ramps down.
If I set the RAMP_DELAY = 1 (55/40/27 ms) the voltage on HSOL line starts to 
gradually ramp down, but close to the end there is a clear cut (voltage jumps 
to 0, after around 30ms from the start of the ramp down). If I further 
increase the RAMP_DELAY, the cut happens at the same time, but it falls from 
even higher voltage to 0.

I think the solution for now is to fix the RAMP_DELAY to 0 (27/20/14 ms), and 
add the delay for the shutdown case.

Also I have tried gradually decrease the volume on the HS output. It does not 
seams to be working on the twl4030 codec: when the HSL_GAIN, HSR_GAIN is set 
to 0 it effectively cuts the output (HSOL line drops to zero -> 'tuck' can be 
heard)

Mark: what do you think, is it acceptable to add a maximum of 27ms delay to 
the hsol_event:SND_SOC_DAPM_POST_PMD event?

-- 
Péter


More information about the Alsa-devel mailing list