On Fri, 8 May 2009 14:56:50 +0300 Peter Ujfalusi peter.ujfalusi@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.