diff mbox series

[v2,4/6] ASoC: sgtl5000: Fix charge pump source assignment

Message ID 20190625074937.2621-5-oleksandr.suvorov@toradex.com (mailing list archive)
State New, archived
Headers show
Series VAG power control improvement for sgtl5000 codec | expand

Commit Message

Oleksandr Suvorov June 25, 2019, 7:49 a.m. UTC
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@toradex.com>
---

 sound/soc/codecs/sgtl5000.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

Comments

Igor Opaniuk July 11, 2019, 10:15 a.m. UTC | #1
Hi Oleksandr,

On Tue, Jun 25, 2019 at 10:56 AM Oleksandr Suvorov
<oleksandr.suvorov@toradex.com> wrote:
>
> If VDDA != VDDIO and any of them is greater than 3.1V, charge pump
> source can be assigned automatically.
minor: Could also you please add a reference link to the commit message,
where this behavior is defined?

>
> Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
> ---
>
>  sound/soc/codecs/sgtl5000.c | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
> index e813a37910af4..ee1e4bf613227 100644
> --- a/sound/soc/codecs/sgtl5000.c
> +++ b/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
> +                */
minor: please check the preferred style for long (multi-line) comments
in coding-style.rst,
first line should be empty.

> +               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
>

With my comments addressed:
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
diff mbox series

Patch

diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
index e813a37910af4..ee1e4bf613227 100644
--- a/sound/soc/codecs/sgtl5000.c
+++ b/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);