From 0388c64a1a9216500c5eb8bcbdacaa63919a65eb Mon Sep 17 00:00:00 2001 From: Lars Ivar Miljeteig Date: Thu, 1 Mar 2018 18:02:55 +0100 Subject: [PATCH] zero-gravitas: 3.1v operation Set SW4 and SW2 to 3.1v Set VGEN5 and VGEN6 to 3.1v --- .../reMarkable/zero-gravitas/zero-gravitas.c | 40 +++++++++++++++++-- include/power/pfuze100_pmic.h | 5 +++ 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/board/reMarkable/zero-gravitas/zero-gravitas.c b/board/reMarkable/zero-gravitas/zero-gravitas.c index bfd0c3cf4a..c37175fbb3 100644 --- a/board/reMarkable/zero-gravitas/zero-gravitas.c +++ b/board/reMarkable/zero-gravitas/zero-gravitas.c @@ -800,16 +800,48 @@ int power_init_board(void) reg |= SW1xCONF_DVSSPEED_4US; pmic_reg_write(p, PFUZE100_SW1CCONF, reg); - /* Set 3V3_SW4 voltage to 3.3V */ + /* Set 3V3_SW2 voltage to 3.1V */ + pmic_reg_read(p, PFUZE100_SW2VOL, ®); + reg &= ~SW2_VOL_MASK; + reg |= SW2_3_10V; + pmic_reg_write(p, PFUZE100_SW2VOL, reg); + + pmic_reg_read(p, PFUZE100_SW2STBY, ®); + reg &= ~SW2_VOL_MASK; + reg |= SW2_3_10V; + pmic_reg_write(p, PFUZE100_SW2STBY, reg); + + pmic_reg_read(p, PFUZE100_SW2OFF, ®); + reg &= ~SW2_VOL_MASK; + reg |= SW2_3_10V; + pmic_reg_write(p, PFUZE100_SW2OFF, reg); + + /* Set 3V3_SW4 voltage to 3.1V */ pmic_reg_read(p, PFUZE100_SW4VOL, ®); reg &= ~SW4_VOL_MASK; - reg |= SW4_3_300V; + reg |= SW4_3_10V; pmic_reg_write(p, PFUZE100_SW4VOL, reg); - /* Set 3V3_VGEN6 voltage to 3.3V */ + pmic_reg_read(p, PFUZE100_SW4STBY, ®); + reg &= ~SW4_VOL_MASK; + reg |= SW4_3_10V; + pmic_reg_write(p, PFUZE100_SW4STBY, reg); + + pmic_reg_read(p, PFUZE100_SW4OFF, ®); + reg &= ~SW4_VOL_MASK; + reg |= SW4_3_10V; + pmic_reg_write(p, PFUZE100_SW4OFF, reg); + + /* Set 3V3_VGEN5 voltage to 3.1V */ + pmic_reg_read(p, PFUZE100_VGEN5VOL, ®); + reg &= ~LDO_VOL_MASK; + reg |= LDOB_3_10V; + pmic_reg_write(p, PFUZE100_VGEN5VOL, reg); + + /* Set 3V3_VGEN6 voltage to 3.1V */ pmic_reg_read(p, PFUZE100_VGEN6VOL, ®); reg &= ~LDO_VOL_MASK; - reg |= LDOB_3_30V; + reg |= LDOB_3_10V; pmic_reg_write(p, PFUZE100_VGEN6VOL, reg); /* Set modes */ diff --git a/include/power/pfuze100_pmic.h b/include/power/pfuze100_pmic.h index 6b63a669d4..df33abbdd6 100644 --- a/include/power/pfuze100_pmic.h +++ b/include/power/pfuze100_pmic.h @@ -107,8 +107,13 @@ enum { #define PFUZE100_SW1ABC_SETP(x) ((x - 3000) / 250) +/* SW2 Output Voltage Configuration */ +#define SW2_3_10V 110 +#define SW2_VOL_MASK 0x7F + /* SW4 Output Voltage Configuration */ #define SW4_1_800V 56 +#define SW4_3_10V 110 #define SW4_3_300V 114 #define SW4_VOL_MASK 0x7F