diff options
author | Yilun Lin <yllin@chromium.org> | 2019-11-06 17:10:04 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-12-17 08:29:21 +0000 |
commit | d0057c5466b67610386ca18cf0eb401b938c60c5 (patch) | |
tree | 2dff42ad8d75b4eb587f8bffed5a73f141e3d7d1 /board | |
parent | 5ec3b2791a405b18ff919bfd9a4283b1e03debda (diff) | |
download | chrome-ec-d0057c5466b67610386ca18cf0eb401b938c60c5.tar.gz |
baseboard/kukui: dynamic adjuct input current by thermal budget
Limit the charger input current if we are overheat,
and loose the limit if the thermal in control.
kukui/krane/kodama are suffering from thermal issue (>100 celsius
degree in charger junction) and the solution was limit the system
can only sink 5V/2A in S0. However, this cause slowing charging
as well. We'd like to loose the 5V/2A charging limit and controls
the thermal by restricting the charger input current.
This CL only applies the limitation when PD voltage > 5V, because
we don't see the overheat problem when krane charged with 5V.
TEST=on krane, ensure the temperature of junction is always under
84 celsius degree; ensure the curve of battery current at
charging is a smooth curve when PD voltage switching from high
to low.
BUG=b:141903096 b:144073892
BRANCH=kukui
Change-Id: I9657f5a04897010d7018f910cb77b210147d8356
Signed-off-by: Yilun Lin <yllin@chromium.org>
Signed-off-by: Eric Yilun Lin <yllin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1899660
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
Diffstat (limited to 'board')
-rw-r--r-- | board/kodama/board.c | 6 | ||||
-rw-r--r-- | board/kukui/board.c | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/board/kodama/board.c b/board/kodama/board.c index 7a221ace3d..bf6ec7dd84 100644 --- a/board/kodama/board.c +++ b/board/kodama/board.c @@ -10,6 +10,7 @@ #include "charge_ramp.h" #include "charge_state.h" #include "charger.h" +#include "charger_mt6370.h" #include "chipset.h" #include "common.h" #include "console.h" @@ -97,6 +98,11 @@ const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = { }, }; +struct mt6370_thermal_bound thermal_bound = { + .target = 75, + .err = 4, +}; + static void board_hpd_status(int port, int hpd_lvl, int hpd_irq) { /* diff --git a/board/kukui/board.c b/board/kukui/board.c index c3fc1fc9ce..8ff3e2cda0 100644 --- a/board/kukui/board.c +++ b/board/kukui/board.c @@ -10,6 +10,7 @@ #include "charge_ramp.h" #include "charge_state.h" #include "charger.h" +#include "charger_mt6370.h" #include "chipset.h" #include "common.h" #include "console.h" @@ -103,6 +104,11 @@ const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = { }, }; +struct mt6370_thermal_bound thermal_bound = { + .target = 80, + .err = 4, +}; + void board_set_dp_mux_control(int output_enable, int polarity) { if (board_get_version() >= 5) |