[alsa-devel] [PATCH v2 3/6] ASoC: sgtl5000: Fix of unmute outputs on probe

Igor Opaniuk igor.opaniuk at toradex.com
Thu Jul 11 12:19:34 CEST 2019


On Tue, Jun 25, 2019 at 10:54 AM Oleksandr Suvorov
<oleksandr.suvorov at 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 at toradex.com>
> ---
>
>  sound/soc/codecs/sgtl5000.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
> index bb58c997c6914..e813a37910af4 100644
> --- a/sound/soc/codecs/sgtl5000.c
> +++ b/sound/soc/codecs/sgtl5000.c
> @@ -1289,6 +1289,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);
> @@ -1316,9 +1317,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,
> --
> 2.20.1
>

Reviewed-by: Igor Opaniuk <igor.opaniuk at toradex.com>

-- 
Best regards - Freundliche Grüsse - Meilleures salutations

Senior Development Engineer,
Igor Opaniuk

Toradex AG
Altsagenstrasse 5 | 6048 Horw/Luzern | Switzerland | T: +41 41 500 48
00 (main line)


More information about the Alsa-devel mailing list