From: Peter Ujfalusi Date: Fri, 23 Dec 2016 09:21:11 +0000 (+0200) Subject: ASoC: tlv320aic3x: Add delay after power on and register sync X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=03303da5243f394f5cc5e530a8bc9f26ad2c79cb;p=linux.git ASoC: tlv320aic3x: Add delay after power on and register sync When the codec is powered on, it's registers are in reset state as the power off will do a soft reset of the codec. After the register sync we need to add delay to remove the pop-noise on stream start. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown --- diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c index bb94d50052d7a..29bf8c81ae028 100644 --- a/sound/soc/codecs/tlv320aic3x.c +++ b/sound/soc/codecs/tlv320aic3x.c @@ -1393,6 +1393,12 @@ static int aic3x_set_power(struct snd_soc_codec *codec, int power) snd_soc_write(codec, AIC3X_PLL_PROGC_REG, pll_c); snd_soc_write(codec, AIC3X_PLL_PROGD_REG, pll_d); } + + /* + * Delay is needed to reduce pop-noise after syncing back the + * registers + */ + mdelay(50); } else { /* * Do soft reset to this codec instance in order to clear