In the default 'auto' mode regulators that are very lightly loaded
can be put in PFM mode and fail to regulator properly. Switching them
to always use continuous PWM mode has a neglibable affect on system
power and garuntees proper regulation under lightly loaded circumstances.

Signed-off-by: Tim Harvey <[email protected]>
---
 board/gateworks/gw_ventana/common.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/board/gateworks/gw_ventana/common.c 
b/board/gateworks/gw_ventana/common.c
index 9f5f20f781..b5a0162c5e 100644
--- a/board/gateworks/gw_ventana/common.c
+++ b/board/gateworks/gw_ventana/common.c
@@ -1596,6 +1596,32 @@ void setup_pmic(void)
                                pmic_reg_write(p, PFUZE100_VGEN6VOL, reg);
                        }
                }
+
+               /* put all switchers in continuous mode */
+               pmic_reg_read(p, PFUZE100_SW1ABMODE, &reg);
+               reg &= ~(SW_MODE_MASK);
+               reg |= PWM_PWM;
+               pmic_reg_write(p, PFUZE100_SW1ABMODE, reg);
+
+               pmic_reg_read(p, PFUZE100_SW2MODE, &reg);
+               reg &= ~(SW_MODE_MASK);
+               reg |= PWM_PWM;
+               pmic_reg_write(p, PFUZE100_SW2MODE, reg);
+
+               pmic_reg_read(p, PFUZE100_SW3AMODE, &reg);
+               reg &= ~(SW_MODE_MASK);
+               reg |= PWM_PWM;
+               pmic_reg_write(p, PFUZE100_SW3AMODE, reg);
+
+               pmic_reg_read(p, PFUZE100_SW3BMODE, &reg);
+               reg &= ~(SW_MODE_MASK);
+               reg |= PWM_PWM;
+               pmic_reg_write(p, PFUZE100_SW3BMODE, reg);
+
+               pmic_reg_read(p, PFUZE100_SW4MODE, &reg);
+               reg &= ~(SW_MODE_MASK);
+               reg |= PWM_PWM;
+               pmic_reg_write(p, PFUZE100_SW4MODE, reg);
        }
 
        /* configure LTC3676 PMIC */
-- 
2.17.1

Reply via email to