diff options
Diffstat (limited to 'board/metaknight/board.c')
-rw-r--r-- | board/metaknight/board.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/board/metaknight/board.c b/board/metaknight/board.c index e5d86aba63..5aa3a21cc0 100644 --- a/board/metaknight/board.c +++ b/board/metaknight/board.c @@ -396,6 +396,19 @@ int board_set_active_charge_port(int port) return EC_SUCCESS; } +void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma, + int charge_mv) +{ + int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT); + + /* + * b/147463641: The charger IC seems to overdraw ~4%, therefore we + * reduce our target accordingly. + */ + icl = icl * 96 / 100; + charge_set_input_current_limit(icl, charge_mv); +} + __override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp) { if (port < 0 || port > board_get_usb_pd_port_count()) |