summaryrefslogtreecommitdiff
path: root/board/fleex
diff options
context:
space:
mode:
authorelthanhuang <elthan_huang@compal.corp-partner.google.com>2018-07-24 13:33:52 +0800
committerchrome-bot <chrome-bot@chromium.org>2018-07-30 23:08:19 -0700
commitc23e697ae3989a8562e40b92e60ddb6cb27b05a9 (patch)
treeefc36218bbf9aac16b90678b939defd7622df6ec /board/fleex
parent1513e1dc9b03f032b07ce09254d42fe6a1fbb296 (diff)
downloadchrome-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.c88
-rw-r--r--board/fleex/board.h3
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,
};