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

Jarkko Nikula jhnikula at gmail.com
Fri May 8 15:55:01 CEST 2009


On Fri, 8 May 2009 14:56:50 +0300
Peter Ujfalusi <peter.ujfalusi at nokia.com> wrote:

> But I have debugged this further and I believe I know what is going
> on: The sequence for disable according to the documentation:
> HS_POP_SET:RAMP_EN = 0
> HS_POP_GAIN:HSL_GAIN, HSR_GAIN = 0
> HS_POP_SET:VMID_EN = 0
> 
> Now what is missing from this is that after setting the
> HS_POP_SET:RAMP_EN = 0 it will take RAMP_DELAY time for the VMID to
> reach 0. Since we are not waiting between RAMP_EN = 0 and VMID_EN =
> 0, the VMID has been cut, which causes the 'tuck' on the headset
> output.
> 
I was looking the power-up phase and there, as far as I understand,
RAMP_DELAY is HW driven and no SW delays required like in power-down
path, code does power-up path correctly but still there is a pop. This
made me thinking the idea below.

I don't have TWL4030 TRM but AFAIK, the TPS65950 is the same chip and
I was looking HS power sequencing from page 691 in TPS65950 TRM.

http://focus.ti.com/docs/prod/folders/print/tps65950.html
http://www.ti.com/litv/pdf/swcu050d

> Anyways, this seams quite bad. I will think about it over the
> weekend...
> 
> Any ideas?
> 
Would it be possible that pop is not caused by the HS output but
inside the chip, like from DAC?

One nice method to hunt these is to use gpio to trigger scope at the
beginning of sequencing and toggle it at each step so it would be easy
to see what step is causing the strong pop and what kind of delays
are required to mask it.


-- 
Jarkko


More information about the Alsa-devel mailing list