[PATCH v1 4/6] ASoC: sgtl5000: Fix charge pump source assignment

From: Oleksandr Suvorov
Date: Tue May 21 2019 - 06:39:23 EST


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@xxxxxxxxxxx>
---

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


--

Ciklum refers to one or more of Ciklum Group Holdings LTD. and its
subsidiaries and affiliates each of which is a legally separate entity.
Ciklum LLC is a limited liability company registered in Ukraine under
EDRPOU code 31902643, with its registered address at 12 Amosova St., 03680,
Kyiv, Ukraine.



The contents of this e-mail (including any attachments)
are confidential and may be legally privileged. If you are not the intended
recipient of this e-mail, please notify the sender immediately and then
delete it (including any attachments) from all your systems. Any
unauthorised use, reproduction, distribution, disclosure and/or
modification of this message and/or its contents are strictly prohibited.
We cannot guarantee that this e-mail is secure or error-free. Ciklum cannot
be held liable for any loss or damage caused by software viruses or
resulting from any use of or reliance on this email by anyone, other than
the intended addressee to the extent agreed in a contract for the matter to
which this email relates (if any). Messages sent to and from Ciklum may be
monitored; by replying to this e-mail you give your consent to such
monitoring. Notice: we do not accept service by e-mail of court
proceedings, other processes or formal notices of any kind without specific
prior written agreement. This email does not constitute a binding offer or
acceptance for Ciklum unless so set forth in a separate document.