summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/88pm860x-codec.c
diff options
context:
space:
mode:
authorBas Vermeulen <bas.vermeulen@novero.com>2011-09-19 13:09:10 +0200
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-09-21 15:52:28 +0100
commit548aae8cc497397310c66c336ed9c4f7dd5be4f4 (patch)
treeed7794aec7ca3a80596491e46913bd18f4d1b81e /sound/soc/codecs/88pm860x-codec.c
parent06c15baf90fc47eca1dc19e1f8ab26a7e159e173 (diff)
ASoC: 88pm860x-codec - reset the codec correctly
Reset the codec according to the Audio power-up delay errata for the 88PM8607. Signed-off-by: Bas Vermeulen <bas.vermeulen@novero.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/88pm860x-codec.c')
-rw-r--r--sound/soc/codecs/88pm860x-codec.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/codecs/88pm860x-codec.c b/sound/soc/codecs/88pm860x-codec.c
index 0198dbba3fc8..df7b4a0989c6 100644
--- a/sound/soc/codecs/88pm860x-codec.c
+++ b/sound/soc/codecs/88pm860x-codec.c
@@ -1179,6 +1179,9 @@ static int pm860x_set_bias_level(struct snd_soc_codec *codec,
case SND_SOC_BIAS_STANDBY:
if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) {
/* Enable Audio PLL & Audio section */
+ data = AUDIO_PLL | AUDIO_SECTION_ON;
+ pm860x_reg_write(codec->control_data, REG_MISC2, data);
+ udelay(300);
data = AUDIO_PLL | AUDIO_SECTION_RESET
| AUDIO_SECTION_ON;
pm860x_reg_write(codec->control_data, REG_MISC2, data);