summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8990.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2008-11-17 18:09:34 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2008-11-17 18:24:54 +0100
commitbe1b87c70af69acfadb8a27a7a76dfb61de92643 (patch)
treea5ff1f252073881b12554b97a6205dd276e39269 /sound/soc/codecs/wm8990.c
parentASoC: Allow writes to uncached registers in WM8990 (diff)
downloadlinux-be1b87c70af69acfadb8a27a7a76dfb61de92643.tar.xz
linux-be1b87c70af69acfadb8a27a7a76dfb61de92643.zip
ASoC: Enable WM8990 ADC clocking workaround
Enable a hardware workaround which avoids problems with the clocking of the ADCs in certain configurations. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wm8990.c')
-rw-r--r--sound/soc/codecs/wm8990.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/soc/codecs/wm8990.c b/sound/soc/codecs/wm8990.c
index 5c84f02c4579..938e15429207 100644
--- a/sound/soc/codecs/wm8990.c
+++ b/sound/soc/codecs/wm8990.c
@@ -1272,9 +1272,11 @@ static int wm8990_set_bias_level(struct snd_soc_codec *codec,
/* disable POBCTRL, SOFT_ST and BUFDCOPEN */
wm8990_write(codec, WM8990_ANTIPOP2, WM8990_BUFIOEN);
- } else {
- /* ON -> standby */
+ /* Enable workaround for ADC clocking issue. */
+ wm8990_write(codec, WM8990_EXT_ACCESS_ENA, 0x2);
+ wm8990_write(codec, WM8990_EXT_CTL1, 0xa003);
+ wm8990_write(codec, WM8990_EXT_ACCESS_ENA, 0);
}
break;