diff options
author | elthanhuang <elthan_huang@compal.corp-partner.google.com> | 2018-07-24 13:33:52 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-07-30 23:08:19 -0700 |
commit | c23e697ae3989a8562e40b92e60ddb6cb27b05a9 (patch) | |
tree | efc36218bbf9aac16b90678b939defd7622df6ec /board/fleex | |
parent | 1513e1dc9b03f032b07ce09254d42fe6a1fbb296 (diff) | |
download | chrome-ec-c23e697ae3989a8562e40b92e60ddb6cb27b05a9.tar.gz |
Fleex: Update battery parameter
This patch makes EC configure battery parameters differently based
on manufacturer name
BUG=b:111330630,b:110076440
BRANCH=none
TEST=Verify BYD/LGC/Simplo battery can be found via EC console
Change-Id: Ic963dd203d89371dd6915992157c51398cf700d6
Signed-off-by: elthanhuang <elthan_huang@compal.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/1148023
Commit-Ready: Jett Rink <jettrink@chromium.org>
Tested-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com>
Reviewed-by: Raymond Chou <raymond_chou@compal.corp-partner.google.com>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'board/fleex')
-rw-r--r-- | board/fleex/battery.c | 88 | ||||
-rw-r--r-- | board/fleex/board.h | 3 |
2 files changed, 88 insertions, 3 deletions
diff --git a/board/fleex/battery.c b/board/fleex/battery.c index 01aed49eb4..03edd4248d 100644 --- a/board/fleex/battery.c +++ b/board/fleex/battery.c @@ -32,9 +32,91 @@ * address, mask, and disconnect value need to be provided. */ const struct board_batt_params board_battery_info[] = { - /* TODO(b/110076440): fill in after receive datasheets */ + /* BYD Battery Information */ + [BATTERY_BYD] = { + .fuel_gauge = { + .manuf_name = "BYD", + .ship_mode = { + .reg_addr = 0x44, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .mfgacc_support = 1, + .reg_addr = 0x0, + .reg_mask = 0x0001, + .disconnect_val = 0x0, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, /* mV */ + .voltage_min = 9000, /* mV */ + .precharge_current = 256, /* 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, + }, + }, + + /* LGC Battery Information */ + [BATTERY_LGC] = { + .fuel_gauge = { + .manuf_name = "LGC-LGC3.553", + .ship_mode = { + .reg_addr = 0x44, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x0, + .reg_mask = 0x0001, + .disconnect_val = 0x0, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, /* mV */ + .voltage_min = 9000, /* mV */ + .precharge_current = 256, /* 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, + }, + }, + + /* SIMPLO Battery Information */ + [BATTERY_SIMPLO] = { + .fuel_gauge = { + .manuf_name = "SMP-SDI3.72", + .ship_mode = { + .reg_addr = 0x0, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x0, + .reg_mask = 0x0002, + .disconnect_val = 0x0, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, /* mV */ + .voltage_min = 9000, /* mV */ + .precharge_current = 256, /* 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, + }, + }, }; BUILD_ASSERT(ARRAY_SIZE(board_battery_info) == BATTERY_TYPE_COUNT); -/* TODO(b/110076440): make another battery default */ -const enum battery_type DEFAULT_BATTERY_TYPE = BATTERY_TYPE_COUNT; +const enum battery_type DEFAULT_BATTERY_TYPE = BATTERY_LGC; diff --git a/board/fleex/board.h b/board/fleex/board.h index 0a95ca9e84..ae8a8ccdbf 100644 --- a/board/fleex/board.h +++ b/board/fleex/board.h @@ -88,6 +88,9 @@ enum sensor_id { /* List of possible batteries */ enum battery_type { + BATTERY_BYD, + BATTERY_LGC, + BATTERY_SIMPLO, BATTERY_TYPE_COUNT, }; |