diff options
author | Tim Harvey <tharvey@gateworks.com> | 2021-06-11 12:46:22 -0700 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2021-07-10 16:53:33 +0200 |
commit | a32be88da0b2908f464ba6263ef82630b851df59 (patch) | |
tree | d9197579c44435e58ebc18461d58f7b9004ea941 /board/gateworks | |
parent | 6a4c67859cbea8be251720fe8d99729f63b1ff13 (diff) | |
download | u-boot-a32be88da0b2908f464ba6263ef82630b851df59.tar.gz |
imx: ventana: add PMIC fix for GW54xx-G
Substitutions in EOL parts changes the VDD_2P5 voltage rail such that
the previously unused VGEN6 LDO is needed in place of the lower power
VGEN5 for the GW54xx-G.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Diffstat (limited to 'board/gateworks')
-rw-r--r-- | board/gateworks/gw_ventana/common.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/board/gateworks/gw_ventana/common.c b/board/gateworks/gw_ventana/common.c index 4627a156fef..9f5f20f781f 100644 --- a/board/gateworks/gw_ventana/common.c +++ b/board/gateworks/gw_ventana/common.c @@ -1550,6 +1550,17 @@ void setup_pmic(void) int board = read_eeprom(CONFIG_I2C_GSC, &ventana_info); const int i2c_pmic = 1; u32 reg; + char rev; + int i; + + /* determine board revision */ + rev = 'A'; + for (i = sizeof(ventana_info.model) - 1; i > 0; i--) { + if (ventana_info.model[i] >= 'A') { + rev = ventana_info.model[i]; + break; + } + } i2c_set_bus_num(i2c_pmic); @@ -1573,6 +1584,17 @@ void setup_pmic(void) reg &= ~(SWBST_MODE_MASK | SWBST_VOL_MASK); reg |= (SWBST_5_00V | (SWBST_MODE_AUTO << SWBST_MODE_SHIFT)); pmic_reg_write(p, PFUZE100_SWBSTCON1, reg); + + if (board == GW54xx && (rev == 'G')) { + /* Disable VGEN5 */ + pmic_reg_write(p, PFUZE100_VGEN5VOL, 0); + + /* Set VGEN6 to 2.5V and enable */ + pmic_reg_read(p, PFUZE100_VGEN6VOL, ®); + reg &= ~(LDO_VOL_MASK); + reg |= (LDOB_2_50V | LDO_EN); + pmic_reg_write(p, PFUZE100_VGEN6VOL, reg); + } } } |