Message ID | 20190717163014.429-6-oleksandr.suvorov@toradex.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | VAG power control improvement for sgtl5000 codec | expand |
On Wed, Jul 17, 2019 at 1:30 PM Oleksandr Suvorov <oleksandr.suvorov@toradex.com> wrote: > > To enable "zero cross detect" for ADC/HP, change > HP_ZCD_EN/ADC_ZCD_EN bits only instead of writing the whole > CHIP_ANA_CTRL register. > > Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> > Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> > Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c index 0123d9cfcb473..31d546abde717 100644 --- a/sound/soc/codecs/sgtl5000.c +++ b/sound/soc/codecs/sgtl5000.c @@ -1443,6 +1443,7 @@ static int sgtl5000_probe(struct snd_soc_component *component) int ret; u16 reg; struct sgtl5000_priv *sgtl5000 = snd_soc_component_get_drvdata(component); + unsigned int zcd_mask = SGTL5000_HP_ZCD_EN | SGTL5000_ADC_ZCD_EN; /* power up sgtl5000 */ ret = sgtl5000_set_power_regs(component); @@ -1470,9 +1471,8 @@ static int sgtl5000_probe(struct snd_soc_component *component) 0x1f); snd_soc_component_write(component, SGTL5000_CHIP_PAD_STRENGTH, reg); - snd_soc_component_write(component, SGTL5000_CHIP_ANA_CTRL, - SGTL5000_HP_ZCD_EN | - SGTL5000_ADC_ZCD_EN); + snd_soc_component_update_bits(component, SGTL5000_CHIP_ANA_CTRL, + zcd_mask, zcd_mask); snd_soc_component_update_bits(component, SGTL5000_CHIP_MIC_CTRL, SGTL5000_BIAS_R_MASK,