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 0198dbba3fc830a3fc7771d2f4a2eaf1fa20615e..df7b4a0989c6b2d090c214fd7c13051c2faa1b07 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);