Skip to content

Commit

Permalink
ASoC: wm8994: Tune VMID power down sequence
Browse files Browse the repository at this point in the history
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Mark Brown committed Oct 15, 2012
1 parent a3a1d9d commit f95be9d
Showing 1 changed file with 4 additions and 18 deletions.
22 changes: 4 additions & 18 deletions sound/soc/codecs/wm8994.c
Original file line number Diff line number Diff line change
Expand Up @@ -939,16 +939,10 @@ static void vmid_dereference(struct snd_soc_codec *codec)
WM8994_BIAS_SRC |
WM8994_VMID_DISCH);

switch (wm8994->vmid_mode) {
case WM8994_VMID_FORCE:
msleep(350);
break;
default:
break;
}
snd_soc_update_bits(codec, WM8994_POWER_MANAGEMENT_1,
WM8994_VMID_SEL_MASK, 0);

snd_soc_update_bits(codec, WM8994_ADDITIONAL_CONTROL,
WM8994_VROI, WM8994_VROI);
msleep(400);

/* Active discharge */
snd_soc_update_bits(codec, WM8994_ANTIPOP_1,
Expand All @@ -957,17 +951,12 @@ static void vmid_dereference(struct snd_soc_codec *codec)
WM8994_LINEOUT1_DISCH |
WM8994_LINEOUT2_DISCH);

msleep(150);

snd_soc_update_bits(codec, WM8994_POWER_MANAGEMENT_3,
WM8994_LINEOUT1N_ENA |
WM8994_LINEOUT1P_ENA |
WM8994_LINEOUT2N_ENA |
WM8994_LINEOUT2P_ENA, 0);

snd_soc_update_bits(codec, WM8994_ADDITIONAL_CONTROL,
WM8994_VROI, 0);

/* Switch off startup biases */
snd_soc_update_bits(codec, WM8994_ANTIPOP_2,
WM8994_BIAS_SRC |
Expand All @@ -976,10 +965,7 @@ static void vmid_dereference(struct snd_soc_codec *codec)
WM8994_VMID_RAMP_MASK, 0);

snd_soc_update_bits(codec, WM8994_POWER_MANAGEMENT_1,
WM8994_BIAS_ENA | WM8994_VMID_SEL_MASK, 0);

snd_soc_update_bits(codec, WM8994_ANTIPOP_2,
WM8994_VMID_RAMP_MASK, 0);
WM8994_VMID_SEL_MASK, 0);
}

pm_runtime_put(codec->dev);
Expand Down

0 comments on commit f95be9d

Please sign in to comment.