diff options
-rw-r--r-- | board/nocturne/board.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/board/nocturne/board.c b/board/nocturne/board.c index f3aafed99c..72ddf7b28f 100644 --- a/board/nocturne/board.c +++ b/board/nocturne/board.c @@ -568,9 +568,14 @@ int board_set_active_charge_port(int port) void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma, int charge_mv) { - charge_set_input_current_limit(MAX(charge_ma, - CONFIG_CHARGER_INPUT_CURRENT), - charge_mv); + int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT); + + /* + * Nocturne seems to overdraw its set input current limit by about 5%. + * Request at most 95% of what's desired. + */ + icl = icl * 95 / 100; + charge_set_input_current_limit(icl, charge_mv); } static void board_chipset_reset(void) |