ASoC: 88pm860x-codec - reset the codec correctly
authorBas Vermeulen <bas.vermeulen@novero.com>
Mon, 19 Sep 2011 11:09:10 +0000 (13:09 +0200)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 21 Sep 2011 14:52:28 +0000 (15:52 +0100)
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>
sound/soc/codecs/88pm860x-codec.c

index 0198dbb..df7b4a0 100644 (file)
@@ -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);