From 19179e5502c33a4099ba0e386face2d49b4770ab Mon Sep 17 00:00:00 2001 From: Scott Chao Date: Wed, 18 Aug 2021 11:08:10 +0800 Subject: primus: fix battery setting and add Simplo battery - Follow Sunwoda spec to correct the setting. - Add Simplo battery. BUG=b:195568649 BRANCH=none TEST=make -j BOARD=primus TEST=ectool batterycutoff works. Change-Id: Ic9b44916a7bcbbc8497aa2a91f580d503dd1291b Signed-off-by: Scott Chao Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3102334 Reviewed-by: Boris Mittelberg --- board/primus/battery.c | 36 +++++++++++++++++++++++++++++++----- board/primus/board.h | 1 + 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/board/primus/battery.c b/board/primus/battery.c index 2a08ad9bb5..dd722fc5d9 100644 --- a/board/primus/battery.c +++ b/board/primus/battery.c @@ -32,9 +32,6 @@ * address, mask, and disconnect value need to be provided. */ const struct board_batt_params board_battery_info[] = { - /* SUNWODA L20D3PG1 57W - * Gauge IC: TI - */ [BATTERY_SUNWODA] = { .fuel_gauge = { .manuf_name = "Sunwoda", @@ -54,13 +51,42 @@ const struct board_batt_params board_battery_info[] = { .voltage_max = 13200, /* mV */ .voltage_normal = 11520, /* mV */ .voltage_min = 9000, /* mV */ - .precharge_current = 250, /* mA */ + .precharge_current = 251, /* mA */ .start_charging_min_c = 0, .start_charging_max_c = 50, .charging_min_c = 0, .charging_max_c = 60, .discharging_min_c = -20, - .discharging_max_c = 70, + .discharging_max_c = 60, + }, + }, + + [BATTERY_SMP] = { + .fuel_gauge = { + .manuf_name = "SMP", + .device_name = "LNV-5B11F21953", + .ship_mode = { + .reg_addr = 0x00, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .mfgacc_support = 1, + .reg_addr = 0x0000, + .reg_mask = 0x6000, + .disconnect_val = 0x6000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11520, /* mV */ + .voltage_min = 9000, /* mV */ + .precharge_current = 250, /* mA */ + .start_charging_min_c = 0, + .start_charging_max_c = 60, + .charging_min_c = 0, + .charging_max_c = 60, + .discharging_min_c = -20, + .discharging_max_c = 60, }, }, }; diff --git a/board/primus/board.h b/board/primus/board.h index bb6ee5781c..2f78f22107 100644 --- a/board/primus/board.h +++ b/board/primus/board.h @@ -182,6 +182,7 @@ enum sensor_id { enum battery_type { BATTERY_SUNWODA, + BATTERY_SMP, BATTERY_TYPE_COUNT }; -- cgit v1.2.1