]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
imx: ventana: add PMIC fix for GW54xx-G
authorTim Harvey <tharvey@gateworks.com>
Fri, 11 Jun 2021 19:46:22 +0000 (12:46 -0700)
committerStefano Babic <sbabic@denx.de>
Sat, 10 Jul 2021 14:53:33 +0000 (16:53 +0200)
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>
board/gateworks/gw_ventana/common.c

index 4627a156feff1e624c53336de4a601f93d0d6a67..9f5f20f781f330b7071936f87c90d43ba8b0714a 100644 (file)
@@ -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);
+                               reg &= ~(LDO_VOL_MASK);
+                               reg |= (LDOB_2_50V | LDO_EN);
+                               pmic_reg_write(p, PFUZE100_VGEN6VOL, reg);
+                       }
                }
        }