summaryrefslogtreecommitdiff
path: root/board/kakadu/board.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/kakadu/board.c')
-rw-r--r--board/kakadu/board.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/board/kakadu/board.c b/board/kakadu/board.c
index 75eb9ac112..0031b986a5 100644
--- a/board/kakadu/board.c
+++ b/board/kakadu/board.c
@@ -500,3 +500,17 @@ void board_fill_source_power_info(int port,
r->max_power = r->meas.voltage_now * r->meas.current_max;
}
+/* b/207456334: bugged reserved bits causes device not charging */
+static void mt6370_reg_fix(void)
+{
+ i2c_update8(I2C_PORT_CHARGER,
+ RT946X_ADDR_FLAGS,
+ RT946X_REG_CHGCTRL1,
+ BIT(3) | BIT(5), MASK_CLR);
+ i2c_update8(I2C_PORT_CHARGER,
+ RT946X_ADDR_FLAGS,
+ RT946X_REG_CHGCTRL2,
+ BIT(5) | BIT(RT946X_SHIFT_BATDET_DIS_DLY),
+ MASK_CLR);
+}
+DECLARE_HOOK(HOOK_INIT, mt6370_reg_fix, HOOK_PRIO_DEFAULT);