From 16fff6b6f974f88a0687bf7cf19d247fcf3f502a Mon Sep 17 00:00:00 2001 From: Diana Z Date: Wed, 8 Jul 2020 16:36:21 -0600 Subject: 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 Change-Id: I0580acf9dc812edc699b6ea04ef18a1f84415657 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2289033 Reviewed-by: Aseda Aboagye --- driver/charger/sm5803.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'driver/charger') 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 @@ -309,6 +309,40 @@ static void sm5803_init(int chgnum) rv |= chg_write8(chgnum, 0x7D, 0x67); 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); } } -- cgit v1.2.1