From 94b072a8570ec1c1d4686d3ea2e026bbad2764d5 Mon Sep 17 00:00:00 2001 From: Devin Lu Date: Tue, 11 Aug 2020 16:46:12 +0800 Subject: burnet: Add batteries support This patch adds battery parameter as following: 1. DynaPack ATL 2. DynaPack COSMX 3. SIMPLO COSMX 4. SIMPLO HIGHPOWER 5. SAMSUNG SDI 6. COSMX BUG=none BRANCH=firmware-kukui-12573.B TEST=make sure battery charging, battery cutoff works. Signed-off-by: Devin Lu Change-Id: Ifc3fa4dfdeebb21460ee46572bb9475d607b58de Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2348735 Reviewed-by: Ting Shen --- board/burnet/battery.c | 132 +++++++++++++++++++++++++++++++++++++++++++++---- board/burnet/board.h | 6 ++- 2 files changed, 127 insertions(+), 11 deletions(-) diff --git a/board/burnet/battery.c b/board/burnet/battery.c index 1f9693e918..6373040d45 100644 --- a/board/burnet/battery.c +++ b/board/burnet/battery.c @@ -8,10 +8,10 @@ #include "gpio.h" const struct board_batt_params board_battery_info[] = { - /* Dynapack HIGHPOWER DAK124960-W110703HT Battery Information */ - [BATTERY_DANAPACK_HIGHPOWER] = { + /* Dynapack ATL Battery Information */ + [BATTERY_DANAPACK_ATL] = { .fuel_gauge = { - .manuf_name = "333-2D-14-A", + .manuf_name = "333-27-DA-A", .ship_mode = { .reg_addr = 0x0, .reg_data = { 0x0010, 0x0010 }, @@ -24,8 +24,8 @@ const struct board_batt_params board_battery_info[] = { }, }, .batt_info = { - .voltage_max = 8700, /* mV */ - .voltage_normal = 7600, /* mV */ + .voltage_max = 8800, /* mV */ + .voltage_normal = 7700, /* mV */ .voltage_min = 6000, /* mV */ .precharge_current = 256, /* mA */ .start_charging_min_c = 0, @@ -36,10 +36,10 @@ const struct board_batt_params board_battery_info[] = { .discharging_max_c = 60, }, }, - /* Dynapack CosMX DAK124960-W0P0707HT Battery Information */ + /* Dynapack CosMX Battery Information */ [BATTERY_DANAPACK_COS] = { .fuel_gauge = { - .manuf_name = "333-2C-14-A", + .manuf_name = "333-2C-DA-A", .ship_mode = { .reg_addr = 0x0, .reg_data = { 0x0010, 0x0010 }, @@ -52,8 +52,120 @@ const struct board_batt_params board_battery_info[] = { }, }, .batt_info = { - .voltage_max = 8700, /* mV */ - .voltage_normal = 7600, /* mV */ + .voltage_max = 8800, /* mV */ + .voltage_normal = 7700, /* mV */ + .voltage_min = 6000, /* mV */ + .precharge_current = 256, /* mA */ + .start_charging_min_c = 0, + .start_charging_max_c = 45, + .charging_min_c = 0, + .charging_max_c = 45, + .discharging_min_c = -10, + .discharging_max_c = 60, + }, + }, + /* Simplo CosMX Battery Information */ + [BATTERY_SIMPLO_COS] = { + .fuel_gauge = { + .manuf_name = "333-1C-DA-A", + .ship_mode = { + .reg_addr = 0x0, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .mfgacc_support = 1, + .reg_addr = 0x0, + .reg_mask = 0x0006, + .disconnect_val = 0x0, + }, + }, + .batt_info = { + .voltage_max = 8800, /* mV */ + .voltage_normal = 7700, /* mV */ + .voltage_min = 6000, /* mV */ + .precharge_current = 256, /* mA */ + .start_charging_min_c = 0, + .start_charging_max_c = 45, + .charging_min_c = 0, + .charging_max_c = 45, + .discharging_min_c = -10, + .discharging_max_c = 60, + }, + }, + /* Simplo HIGHPOWER Battery Information */ + [BATTERY_SIMPLO_HIGHPOWER] = { + .fuel_gauge = { + .manuf_name = "333-1D-DA-A", + .ship_mode = { + .reg_addr = 0x0, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .mfgacc_support = 1, + .reg_addr = 0x0, + .reg_mask = 0x0006, + .disconnect_val = 0x0, + }, + }, + .batt_info = { + .voltage_max = 8800, /* mV */ + .voltage_normal = 7700, /* mV */ + .voltage_min = 6000, /* mV */ + .precharge_current = 256, /* mA */ + .start_charging_min_c = 0, + .start_charging_max_c = 45, + .charging_min_c = 0, + .charging_max_c = 45, + .discharging_min_c = -10, + .discharging_max_c = 60, + }, + }, + /* Samsung SDI Battery Information */ + [BATTERY_SAMSUNG_SDI] = { + .fuel_gauge = { + .manuf_name = "333-54-DA-A", + .ship_mode = { + .reg_addr = 0x0, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .mfgacc_support = 1, + .reg_addr = 0x0, + .reg_mask = 0x0006, + .disconnect_val = 0x0, + }, + }, + .batt_info = { + .voltage_max = 8800, /* mV */ + .voltage_normal = 7700, /* mV */ + .voltage_min = 6000, /* mV */ + .precharge_current = 256, /* mA */ + .start_charging_min_c = 0, + .start_charging_max_c = 45, + .charging_min_c = 0, + .charging_max_c = 45, + .discharging_min_c = -10, + .discharging_max_c = 60, + }, + }, + /* CosMX Battery Information */ + [BATTERY_COS] = { + .fuel_gauge = { + .manuf_name = "333-AC-DA-A", + .ship_mode = { + .reg_addr = 0x0, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .mfgacc_support = 1, + .reg_addr = 0x0, + .reg_mask = 0x0006, + .disconnect_val = 0x0, + }, + }, + .batt_info = { + .voltage_max = 8800, /* mV */ + .voltage_normal = 7700, /* mV */ .voltage_min = 6000, /* mV */ .precharge_current = 256, /* mA */ .start_charging_min_c = 0, @@ -67,7 +179,7 @@ const struct board_batt_params board_battery_info[] = { }; BUILD_ASSERT(ARRAY_SIZE(board_battery_info) == BATTERY_TYPE_COUNT); -const enum battery_type DEFAULT_BATTERY_TYPE = BATTERY_DANAPACK_HIGHPOWER; +const enum battery_type DEFAULT_BATTERY_TYPE = BATTERY_DANAPACK_ATL; enum battery_present battery_hw_present(void) { diff --git a/board/burnet/board.h b/board/burnet/board.h index 4eeb48a785..36530f3d69 100644 --- a/board/burnet/board.h +++ b/board/burnet/board.h @@ -119,8 +119,12 @@ enum charge_port { }; enum battery_type { - BATTERY_DANAPACK_HIGHPOWER, + BATTERY_DANAPACK_ATL, BATTERY_DANAPACK_COS, + BATTERY_SIMPLO_COS, + BATTERY_SIMPLO_HIGHPOWER, + BATTERY_SAMSUNG_SDI, + BATTERY_COS, BATTERY_TYPE_COUNT, }; -- cgit v1.2.1