diff options
author | alvishsu <alvishsu@google.com> | 2022-10-11 11:51:15 +0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-10-28 02:28:57 +0000 |
commit | bbf6ba87683755adf276ec1737bb4d8b172341b9 (patch) | |
tree | bb20fbcded32e83ba20304ba4aaf7664d1f77e28 /driver/charger/rt9490.c | |
parent | 78ef44f31e9d44d627ddd35bb9aeea57d00534b9 (diff) | |
download | chrome-ec-bbf6ba87683755adf276ec1737bb4d8b172341b9.tar.gz |
rt9490: disable EOC-Force-CCM
RT9490 enables EOC-Force-CCM from ES2 to improve IEOC accuracy,
while causes other serious problems, like causing Vsys drop
randomly when removing the AC.
BUG=b:254187010
TEST=Check IEOC accuracy is still tolerable (200~240mA),
and 0x11[3]==1'b1
BRANCH=none
Signed-off-by: Alvis Hsu <alvishsu@google.com>
Change-Id: I9427262d495234360ccd192ef1b83196652615b4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3943273
Reviewed-by: Eric Yilun Lin <yllin@google.com>
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Commit-Queue: Eric Yilun Lin <yllin@google.com>
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
Diffstat (limited to 'driver/charger/rt9490.c')
-rw-r--r-- | driver/charger/rt9490.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/driver/charger/rt9490.c b/driver/charger/rt9490.c index 14b8449d35..0f198c6b76 100644 --- a/driver/charger/rt9490.c +++ b/driver/charger/rt9490.c @@ -64,7 +64,11 @@ static const struct charger_info rt9490_charger_info = { }; static const struct rt9490_init_setting default_init_setting = { - .eoc_current = 200, + /* b/230442545#comment28 + * With EOC-Force-CCM disabled, the real IEOC would be + * 30~50mA lower than expected, so move eoc_current one step up + */ + .eoc_current = 240, .mivr = 4000, .boost_voltage = 5050, .boost_current = 1500, @@ -342,6 +346,13 @@ static int rt9490_init_setting(int chgnum) */ RETURN_ERROR(rt9490_enable_pwm_1mhz(CHARGER_SOLO, true)); + /* b/230442545#comment28 + * Disable EOC-Force-CCM which would potentially + * cause Vsys drop problem for all silicon version(ES1~ES4) + */ + RETURN_ERROR(rt9490_set_bit(chgnum, RT9490_REG_CHG_CTRL2, + RT9490_DIS_EOC_FCCM)); + return EC_SUCCESS; } |