summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAseda Aboagye <aaboagye@google.com>2018-07-08 11:04:46 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-07-17 02:26:27 -0700
commit9b1435c8cd31e01f18dd2b01a91517d0e5bc3ec4 (patch)
treebc33edc9681950863177d64838a406e03ea36d36
parentd4e075c3c1bc6faf34677941295266f5e7d07e12 (diff)
downloadchrome-ec-9b1435c8cd31e01f18dd2b01a91517d0e5bc3ec4.tar.gz
nocturne: Reduce input current limit by 5%.
Nocturne seems to overdraw its set input current limit by about 5%. Therefore, this CL simply reduces the set current limit to 95% of what's desired. BUG=b:72775843, b:111224125 BRANCH=master TEST=Flash nocturne; verify with USB-C power meter that power contracts are not exceeded. Change-Id: I649653427770020c97ae425e41967e755a4ec724 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/1128563 Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Benson Leung <bleung@google.com> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> (cherry picked from commit 9f741207bc0205b3c5b1099fdbd14d5612bd0f48) Reviewed-on: https://chromium-review.googlesource.com/1137993 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Benson Leung <bleung@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Scott Collyer <scollyer@chromium.org>
-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)