On Friday 08 May 2009 17:23:22 ext Jarkko Nikula wrote:
On Fri, 8 May 2009 16:55:01 +0300
Jarkko Nikula jhnikula@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?