aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8962.c
diff options
context:
space:
mode:
authorNicolin Chen <b42378@freescale.com>2013-06-14 07:49:06 -0400
committerMark Brown <broonie@linaro.org>2013-06-14 07:43:16 -0400
commitf5055f93733730b61a8a69dedbb216e6b4dd84c5 (patch)
tree13d83e01d27c4ec9b98d3a90acc9686601258517 /sound/soc/codecs/wm8962.c
parent2e7ee15ced914e109a1a5b6dfcd463d846a13bd5 (diff)
ASoC: wm8962: Enable start-up and normal bias after reset in runtime resume
This part of bias settings are essential for WM8962 to power up. Without it "wm8962 0-001a: DC servo timed out" might be prompted due to power-up failure that happens to FLL if being used. The driver's also bringing the bias down in the suspend path so it needs to be powered up in the resume path for symmetry. According to dapm_pre_sequence_async(), DAPM would call pm_runtime_get_sync() to let driver finish the bias settings in pm_runtime_resume() before the bias level being set to STANDBY. So no need to worry about disordered settings for VMID of WM8962. Signed-off-by: Nicolin Chen <b42378@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/codecs/wm8962.c')
-rw-r--r--sound/soc/codecs/wm8962.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index 730dd0c0f0ab..4b7915bec2f1 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -3723,6 +3723,17 @@ static int wm8962_runtime_resume(struct device *dev)
3723 3723
3724 regcache_sync(wm8962->regmap); 3724 regcache_sync(wm8962->regmap);
3725 3725
3726 regmap_update_bits(wm8962->regmap, WM8962_ANTI_POP,
3727 WM8962_STARTUP_BIAS_ENA | WM8962_VMID_BUF_ENA,
3728 WM8962_STARTUP_BIAS_ENA | WM8962_VMID_BUF_ENA);
3729
3730 /* Bias enable at 2*5k (fast start-up) */
3731 regmap_update_bits(wm8962->regmap, WM8962_PWR_MGMT_1,
3732 WM8962_BIAS_ENA | WM8962_VMID_SEL_MASK,
3733 WM8962_BIAS_ENA | 0x180);
3734
3735 msleep(5);
3736
3726 return 0; 3737 return 0;
3727} 3738}
3728 3739