|
@@ -806,6 +806,15 @@ static int twl6040_set_bias_level(struct snd_soc_codec *codec,
|
|
|
|
|
|
/* initialize vdd/vss registers with reg_cache */
|
|
|
twl6040_init_vdd_regs(codec);
|
|
|
+
|
|
|
+ /* Set external boost GPO */
|
|
|
+ twl6040_write(codec, TWL6040_REG_GPOCTL, 0x02);
|
|
|
+
|
|
|
+ /* Set initial minimal gain values */
|
|
|
+ twl6040_write(codec, TWL6040_REG_HSGAIN, 0xFF);
|
|
|
+ twl6040_write(codec, TWL6040_REG_EARCTL, 0x1E);
|
|
|
+ twl6040_write(codec, TWL6040_REG_HFLGAIN, 0x1D);
|
|
|
+ twl6040_write(codec, TWL6040_REG_HFRGAIN, 0x1D);
|
|
|
break;
|
|
|
case SND_SOC_BIAS_OFF:
|
|
|
if (!priv->codec_powered)
|