summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/nocturne/board.c11
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)