[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <15af220ffe1bcd36bd0cf178ed9f8d09a332d447.camel@toradex.com>
Date: Thu, 13 Jun 2019 09:06:07 +0000
From: Marcel Ziswiler <marcel.ziswiler@...adex.com>
To: "festevam@...il.com" <festevam@...il.com>,
Oleksandr Suvorov <oleksandr.suvorov@...adex.com>
CC: Igor Opaniuk <igor.opaniuk@...adex.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"alsa-devel@...a-project.org" <alsa-devel@...a-project.org>
Subject: Re: [PATCH v1 4/6] ASoC: sgtl5000: Fix charge pump source assignment
On Tue, 2019-05-21 at 13:36 +0300, Oleksandr Suvorov wrote:
> If VDDA != VDDIO and any of them is greater than 3.1V, charge pump
> source can be assigned automatically.
>
> Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@...adex.com>
Reviewed-by: Marcel Ziswiler <marcel.ziswiler@...adex.com>
> ---
>
> sound/soc/codecs/sgtl5000.c | 14 +++++++++-----
> 1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git sound/soc/codecs/sgtl5000.c sound/soc/codecs/sgtl5000.c
> index e813a37910af..ee1e4bf61322 100644
> --- sound/soc/codecs/sgtl5000.c
> +++ sound/soc/codecs/sgtl5000.c
> @@ -1174,12 +1174,16 @@ static int sgtl5000_set_power_regs(struct
> snd_soc_component *component)
> SGTL5000_INT_OSC_EN);
> /* Enable VDDC charge pump */
> ana_pwr |= SGTL5000_VDDC_CHRGPMP_POWERUP;
> - } else if (vddio >= 3100 && vdda >= 3100) {
> + } else {
> ana_pwr &= ~SGTL5000_VDDC_CHRGPMP_POWERUP;
> - /* VDDC use VDDIO rail */
> - lreg_ctrl |= SGTL5000_VDDC_ASSN_OVRD;
> - lreg_ctrl |= SGTL5000_VDDC_MAN_ASSN_VDDIO <<
> - SGTL5000_VDDC_MAN_ASSN_SHIFT;
> + /* if vddio == vdda the source of charge pump should be
> + * assigned manually to VDDIO
> + */
> + if (vddio == vdda) {
> + lreg_ctrl |= SGTL5000_VDDC_ASSN_OVRD;
> + lreg_ctrl |= SGTL5000_VDDC_MAN_ASSN_VDDIO <<
> + SGTL5000_VDDC_MAN_ASSN_SHIFT;
> + }
> }
>
> snd_soc_component_write(component, SGTL5000_CHIP_LINREG_CTRL,
> lreg_ctrl);
> --
> 2.20.1
Powered by blists - more mailing lists