ASoC: sgtl5000: Fix of unmute outputs on probe
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> Link: https://lore.kernel.org/r/20190719100524.23300-6-oleksandr.suvorov@toradex.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
694b14554d
commit
631bc8f013
|
@ -1453,6 +1453,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);
|
||||
|
@ -1480,9 +1481,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,
|
||||
|
|
Loading…
Reference in New Issue