diff options
author | Diana Z <dzigterman@chromium.org> | 2020-07-08 16:36:21 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-07-10 02:24:20 +0000 |
commit | 16fff6b6f974f88a0687bf7cf19d247fcf3f502a (patch) | |
tree | 130dfba56fb3394618f9d56cb8a975df5f629679 /driver/charger | |
parent | a8b45491623ae6858dfd60e82686ed6b1d9d5136 (diff) | |
download | chrome-ec-16fff6b6f974f88a0687bf7cf19d247fcf3f502a.tar.gz |
SM5803: Add 2S battery inits
Adding 2S battery inits from vendor, with check on platform ID to
identify the 2S units.
BRANCH=None
BUG=b:155218826
TEST=make -j buildall
Signed-off-by: Diana Z <dzigterman@chromium.org>
Change-Id: I0580acf9dc812edc699b6ea04ef18a1f84415657
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2289033
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'driver/charger')
-rw-r--r-- | driver/charger/sm5803.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/driver/charger/sm5803.c b/driver/charger/sm5803.c index bdc7addf9f..dedf8e0318 100644 --- a/driver/charger/sm5803.c +++ b/driver/charger/sm5803.c @@ -310,6 +310,40 @@ static void sm5803_init(int chgnum) rv |= chg_write8(chgnum, 0x7E, 0x04); rv |= chg_write8(chgnum, 0x33, 0x3C); + } else if (platform_id >= 0x06 && platform_id <= 0x0D) { + /* 2S Battery inits */ + rv |= main_write8(chgnum, 0x30, 0xC0); + rv |= main_write8(chgnum, 0x80, 0x01); + rv |= main_write8(chgnum, 0x1A, 0x08); + + rv |= meas_write8(chgnum, 0x08, 0xC2); + + rv |= chg_write8(chgnum, 0x1D, 0x40); + + rv |= chg_write8(chgnum, 0x22, 0xB3); + + rv |= chg_write8(chgnum, 0x4F, 0xBF); + + rv |= chg_write8(chgnum, 0x52, 0x77); + rv |= chg_write8(chgnum, 0x53, 0xD2); + rv |= chg_write8(chgnum, 0x54, 0x02); + rv |= chg_write8(chgnum, 0x55, 0xD1); + rv |= chg_write8(chgnum, 0x56, 0x7F); + rv |= chg_write8(chgnum, 0x57, 0x02); + rv |= chg_write8(chgnum, 0x58, 0xD1); + rv |= chg_write8(chgnum, 0x59, 0x7F); + rv |= chg_write8(chgnum, 0x5A, 0x13); + rv |= chg_write8(chgnum, 0x5B, 0x50); + rv |= chg_write8(chgnum, 0x5D, 0xD0); + + rv |= chg_write8(chgnum, 0x60, 0x44); + rv |= chg_write8(chgnum, 0x65, 0x35); + rv |= chg_write8(chgnum, 0x66, 0x29); + + rv |= chg_write8(chgnum, 0x7D, 0x97); + rv |= chg_write8(chgnum, 0x7E, 0x07); + + rv |= chg_write8(chgnum, 0x33, 0x3C); } } |