提交 ca4513fe 编写于 作者: P Peter Ujfalusi 提交者: Mark Brown

ASoC: TWL4030: Do not alter the Headset output volume on power-up/down

There is a separate gain control for the Headset output already.
Do not reset the gain to 0 dB at power up.
In power-down, there is no need to set the Headset output gain
to power-down mode, since if the CODECPDZ is in powered off this
setting has no effect.
Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
上级 df339804
...@@ -887,7 +887,7 @@ static int twl4030_add_widgets(struct snd_soc_codec *codec) ...@@ -887,7 +887,7 @@ static int twl4030_add_widgets(struct snd_soc_codec *codec)
static void twl4030_power_up(struct snd_soc_codec *codec) static void twl4030_power_up(struct snd_soc_codec *codec)
{ {
u8 anamicl, regmisc1, byte, popn, hsgain; u8 anamicl, regmisc1, byte, popn;
int i = 0; int i = 0;
/* set CODECPDZ to turn on codec */ /* set CODECPDZ to turn on codec */
...@@ -925,10 +925,6 @@ static void twl4030_power_up(struct snd_soc_codec *codec) ...@@ -925,10 +925,6 @@ static void twl4030_power_up(struct snd_soc_codec *codec)
popn |= TWL4030_VMID_EN; popn |= TWL4030_VMID_EN;
twl4030_write(codec, TWL4030_REG_HS_POPN_SET, popn); twl4030_write(codec, TWL4030_REG_HS_POPN_SET, popn);
/* enable output stage and gain setting */
hsgain = TWL4030_HSR_GAIN_0DB | TWL4030_HSL_GAIN_0DB;
twl4030_write(codec, TWL4030_REG_HS_GAIN_SET, hsgain);
/* enable anti-pop ramp */ /* enable anti-pop ramp */
popn |= TWL4030_RAMP_EN; popn |= TWL4030_RAMP_EN;
twl4030_write(codec, TWL4030_REG_HS_POPN_SET, popn); twl4030_write(codec, TWL4030_REG_HS_POPN_SET, popn);
...@@ -936,17 +932,13 @@ static void twl4030_power_up(struct snd_soc_codec *codec) ...@@ -936,17 +932,13 @@ static void twl4030_power_up(struct snd_soc_codec *codec)
static void twl4030_power_down(struct snd_soc_codec *codec) static void twl4030_power_down(struct snd_soc_codec *codec)
{ {
u8 popn, hsgain; u8 popn;
/* disable anti-pop ramp */ /* disable anti-pop ramp */
popn = twl4030_read_reg_cache(codec, TWL4030_REG_HS_POPN_SET); popn = twl4030_read_reg_cache(codec, TWL4030_REG_HS_POPN_SET);
popn &= ~TWL4030_RAMP_EN; popn &= ~TWL4030_RAMP_EN;
twl4030_write(codec, TWL4030_REG_HS_POPN_SET, popn); twl4030_write(codec, TWL4030_REG_HS_POPN_SET, popn);
/* disable output stage and gain setting */
hsgain = TWL4030_HSR_GAIN_PWR_DOWN | TWL4030_HSL_GAIN_PWR_DOWN;
twl4030_write(codec, TWL4030_REG_HS_GAIN_SET, hsgain);
/* disable bias out */ /* disable bias out */
popn &= ~TWL4030_VMID_EN; popn &= ~TWL4030_VMID_EN;
twl4030_write(codec, TWL4030_REG_HS_POPN_SET, popn); twl4030_write(codec, TWL4030_REG_HS_POPN_SET, popn);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册