
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@toradex.com
Reviewed-by: Marcel Ziswiler marcel.ziswiler@toradex.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