aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8993.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/codecs/wm8993.c')
-rw-r--r--sound/soc/codecs/wm8993.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8993.c b/sound/soc/codecs/wm8993.c
index 828d8174d5b7..bacfc2f20d70 100644
--- a/sound/soc/codecs/wm8993.c
+++ b/sound/soc/codecs/wm8993.c
@@ -213,6 +213,7 @@ static struct {
213}; 213};
214 214
215struct wm8993_priv { 215struct wm8993_priv {
216 struct wm_hubs_data hubs_data;
216 u16 reg_cache[WM8993_REGISTER_COUNT]; 217 u16 reg_cache[WM8993_REGISTER_COUNT];
217 struct wm8993_platform_data pdata; 218 struct wm8993_platform_data pdata;
218 struct snd_soc_codec codec; 219 struct snd_soc_codec codec;
@@ -997,6 +998,11 @@ static int wm8993_set_bias_level(struct snd_soc_codec *codec,
997 998
998 case SND_SOC_BIAS_STANDBY: 999 case SND_SOC_BIAS_STANDBY:
999 if (codec->bias_level == SND_SOC_BIAS_OFF) { 1000 if (codec->bias_level == SND_SOC_BIAS_OFF) {
1001 /* Tune DC servo configuration */
1002 snd_soc_write(codec, 0x44, 3);
1003 snd_soc_write(codec, 0x56, 3);
1004 snd_soc_write(codec, 0x44, 0);
1005
1000 /* Bring up VMID with fast soft start */ 1006 /* Bring up VMID with fast soft start */
1001 snd_soc_update_bits(codec, WM8993_ANTIPOP2, 1007 snd_soc_update_bits(codec, WM8993_ANTIPOP2,
1002 WM8993_STARTUP_BIAS_ENA | 1008 WM8993_STARTUP_BIAS_ENA |
@@ -1591,6 +1597,8 @@ static int wm8993_i2c_probe(struct i2c_client *i2c,
1591 codec->num_dai = 1; 1597 codec->num_dai = 1;
1592 codec->private_data = wm8993; 1598 codec->private_data = wm8993;
1593 1599
1600 wm8993->hubs_data.hp_startup_mode = 1;
1601
1594 memcpy(wm8993->reg_cache, wm8993_reg_defaults, 1602 memcpy(wm8993->reg_cache, wm8993_reg_defaults,
1595 sizeof(wm8993->reg_cache)); 1603 sizeof(wm8993->reg_cache));
1596 1604