diff options
author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2016-12-23 11:21:11 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-12-31 18:43:46 +0000 |
commit | 03303da5243f394f5cc5e530a8bc9f26ad2c79cb (patch) | |
tree | 925eb4dafce2760b11bd99c6a99dcfe650b5d1ee /sound | |
parent | 63c3194b82530bd71fd49db84eb7ab656b8d404a (diff) | |
download | op-kernel-dev-03303da5243f394f5cc5e530a8bc9f26ad2c79cb.zip op-kernel-dev-03303da5243f394f5cc5e530a8bc9f26ad2c79cb.tar.gz |
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 <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/tlv320aic3x.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c index bb94d50..29bf8c8 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 |