summaryrefslogtreecommitdiff
path: root/driver/charger
diff options
context:
space:
mode:
authorDiana Z <dzigterman@chromium.org>2020-07-08 16:36:21 -0600
committerCommit Bot <commit-bot@chromium.org>2020-07-10 02:24:20 +0000
commit16fff6b6f974f88a0687bf7cf19d247fcf3f502a (patch)
tree130dfba56fb3394618f9d56cb8a975df5f629679 /driver/charger
parenta8b45491623ae6858dfd60e82686ed6b1d9d5136 (diff)
downloadchrome-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.c34
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);
}
}