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

Jarkko Nikula jhnikula at gmail.com
Fri May 8 08:40:44 CEST 2009


On Fri,  8 May 2009 09:11:17 +0300
Peter Ujfalusi <peter.ujfalusi at nokia.com> wrote:

> This patch fixes the 'tuck' phenomena observed on the headset
> output after the streams are stopped and DAPM send the codec
> to standby mode.
> 
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi at nokia.com>
> ---
>  sound/soc/codecs/twl4030.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c
> index fd392c6..06042a1 100644
> --- a/sound/soc/codecs/twl4030.c
> +++ b/sound/soc/codecs/twl4030.c
> @@ -599,7 +599,7 @@ static int headsetl_event(struct
> snd_soc_dapm_widget *w, /* Is this needed? Can we just use whatever
> gain here? */ twl4030_write(w->codec, TWL4030_REG_HS_GAIN_SET,
>  				(hs_gain & (~0x0f)) | 0x0a);
> -		hs_pop |= TWL4030_RAMP_EN;
> +		hs_pop &= ~TWL4030_VMID_EN;
>  		twl4030_write(w->codec, TWL4030_REG_HS_POPN_SET,
> hs_pop); 
>  		/* Restore the original volume */
> @@ -613,7 +613,7 @@ static int headsetl_event(struct
> snd_soc_dapm_widget *w, twl4030_i2c_write_u8
> (TWL4030_MODULE_AUDIO_VOICE, hs_gain & (~0x0f),
>  					TWL4030_REG_HS_GAIN_SET);
> -		hs_pop &= ~TWL4030_VMID_EN;
> +		hs_pop |= TWL4030_RAMP_EN;
>  		twl4030_write(w->codec, TWL4030_REG_HS_POPN_SET,

It really does fix the power-up & -down pops on Beagle. By listening
carefully I can hear slight power-up and -down pops but only if really
focusing on it.

But now the audio output is distorted and volume level is a little bit
lower. Without the patch it plays fine. Is it possible that now the
output voltage is not correctly biased? Worth to check with a scope.


-- 
Jarkko


More information about the Alsa-devel mailing list