summaryrefslogtreecommitdiff
path: root/board/eldrid
diff options
context:
space:
mode:
authorScott Chao <scott_chao@wistron.corp-partner.google.com>2020-09-16 18:45:28 +0800
committerCommit Bot <commit-bot@chromium.org>2020-09-23 19:38:13 +0000
commita4e14b97193fe079d18e929ce9d28b586d5418de (patch)
treec1678a5960930a8bbe05b98937d2c4ab6d5c0f7e /board/eldrid
parent7caf6f199a53bfb1c1454053f4dbda77246053f2 (diff)
downloadchrome-ec-a4e14b97193fe079d18e929ce9d28b586d5418de.tar.gz
eldrid: limit input current to 90%
Protect adapter provide overcurrent. And follow OEM charger policy to set 90% input current limit when S0. BUG=b:169025944 BRANCH=none TEST=make -j BOARD=eldrid TEST=make buildall Signed-off-by: Scott Chao <scott_chao@wistron.corp-partner.google.com> Change-Id: Idc5aa532aaf5f4c7db45d9db2e1ce66032611a53 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2413810 Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
Diffstat (limited to 'board/eldrid')
-rw-r--r--board/eldrid/board.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/board/eldrid/board.c b/board/eldrid/board.c
index dad5e88cf2..e1baf7bf55 100644
--- a/board/eldrid/board.c
+++ b/board/eldrid/board.c
@@ -8,6 +8,7 @@
#include "common.h"
#include "accelgyro.h"
#include "cbi_ec_fw_config.h"
+#include "charge_state_v2.h"
#include "driver/accel_bma2x2.h"
#include "driver/accelgyro_bmi160.h"
#include "driver/bc12/pi3usb9201.h"
@@ -117,6 +118,21 @@ __override bool board_is_tbt_usb4_port(int port)
&& ((usb_db == DB_USB4_GEN2) || (usb_db == DB_USB4_GEN3)));
}
+__override void board_set_charge_limit(int port, int supplier, int charge_ma,
+ int max_ma, int charge_mv)
+{
+ /*
+ * Follow OEM request to limit the input current to
+ * 90% negotiated limit when S0.
+ */
+ if (chipset_in_state(CHIPSET_STATE_ON))
+ charge_ma = charge_ma * 90 / 100;
+
+ charge_set_input_current_limit(MAX(charge_ma,
+ CONFIG_CHARGER_INPUT_CURRENT),
+ charge_mv);
+}
+
/******************************************************************************/
/* Physical fans. These are logically separate from pwm_channels. */