summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Ma <magf@bitland.corp-partner.google.com>2019-09-30 16:24:58 +0800
committerCommit Bot <commit-bot@chromium.org>2019-10-10 12:53:25 +0000
commiteea0da9e3d21b9b8bc6b95ef007fee4d2fdb0ba4 (patch)
treea2e17f7ddacaa6d2b80f93beef74721f42510b04
parent1562d4f9303d163a15aa896ad55a4957804490d9 (diff)
downloadchrome-ec-eea0da9e3d21b9b8bc6b95ef007fee4d2fdb0ba4.tar.gz
akemi: Add battery information
Akemi support three batteries: - LGC: L18L4PE0 - SUNWODA: L19D4PG2 - SMP: L19M4PG2 This CL add the support of them. BUG=b:141621369, b:141660298 BRANCH=none TEST=boot akemi board with battery, charging/discharging/cutoff work as expected. Change-Id: I8735f6a0bcd90abc4923d98b2d337ca41b9f12c7 Signed-off-by: Paul Ma <magf@bitland.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1831717 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
-rw-r--r--board/akemi/battery.c81
-rw-r--r--board/akemi/board.h5
2 files changed, 55 insertions, 31 deletions
diff --git a/board/akemi/battery.c b/board/akemi/battery.c
index b81fa795b9..d9587eae8d 100644
--- a/board/akemi/battery.c
+++ b/board/akemi/battery.c
@@ -32,62 +32,85 @@
* address, mask, and disconnect value need to be provided.
*/
const struct board_batt_params board_battery_info[] = {
- /* SMP LIS Dell FMXMT Battery Information */
- [BATTERY_SMP_LIS] = {
+ [BATTERY_LGC] = {
.fuel_gauge = {
- .manuf_name = "SMP-LIS3.78",
+ .manuf_name = "LGC",
.ship_mode = {
- .reg_addr = 0x0,
- .reg_data = { 0x10, 0x10 },
+ .reg_addr = 0x34,
+ .reg_data = { 0x0000, 0x1000 },
},
.fet = {
- .reg_addr = 0x0,
- .reg_mask = 0x2000,
- .disconnect_val = 0x2000,
+ .reg_addr = 0x34,
+ .reg_mask = 0x0100,
+ .disconnect_val = 0x0100,
}
},
.batt_info = {
- .voltage_max = 8800,
- .voltage_normal = 7660, /* mV */
- .voltage_min = 6000, /* mV */
- .precharge_current = 256, /* mA */
+ .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 = 50,
+ .charging_min_c = 0,
+ .charging_max_c = 60,
+ .discharging_min_c = -20,
+ .discharging_max_c = 73,
+ },
+ },
+ [BATTERY_SUNWODA] = {
+ .fuel_gauge = {
+ .manuf_name = "SUNWODA",
+ .ship_mode = {
+ .reg_addr = 0x34,
+ .reg_data = { 0x0000, 0x1000 },
+ },
+ .fet = {
+ .reg_addr = 0x34,
+ .reg_mask = 0x0100,
+ .disconnect_val = 0x0100,
+ }
+ },
+ .batt_info = {
+ .voltage_max = 8800, /* mV */
+ .voltage_normal = 7680, /* mV */
+ .voltage_min = 6000, /* mV */
+ .precharge_current = 333, /* mA */
.start_charging_min_c = 0,
- .start_charging_max_c = 60,
+ .start_charging_max_c = 50,
.charging_min_c = 0,
.charging_max_c = 60,
- .discharging_min_c = 0,
+ .discharging_min_c = -20,
.discharging_max_c = 60,
},
},
-
- /* SMP SDI Dell FMXMT Battery Information */
- [BATTERY_SMP_SDI] = {
+ [BATTERY_SMP] = {
.fuel_gauge = {
- .manuf_name = "SMP-SDI-3727",
+ .manuf_name = "SMP",
.ship_mode = {
- .reg_addr = 0x0,
- .reg_data = { 0x10, 0x10 },
+ .reg_addr = 0x34,
+ .reg_data = { 0x0000, 0x1000 },
},
.fet = {
- .reg_addr = 0x0,
- .reg_mask = 0x2000,
- .disconnect_val = 0x2000,
+ .reg_addr = 0x34,
+ .reg_mask = 0x0100,
+ .disconnect_val = 0x0100,
}
},
.batt_info = {
.voltage_max = 8800,
- .voltage_normal = 7660, /* mV */
- .voltage_min = 6000, /* mV */
- .precharge_current = 256, /* mA */
+ .voltage_normal = 7680, /* mV */
+ .voltage_min = 6500, /* mV */
+ .precharge_current = 337, /* mA */
.start_charging_min_c = 0,
- .start_charging_max_c = 60,
+ .start_charging_max_c = 50,
.charging_min_c = 0,
.charging_max_c = 60,
- .discharging_min_c = 0,
+ .discharging_min_c = -20,
.discharging_max_c = 60,
},
},
};
BUILD_ASSERT(ARRAY_SIZE(board_battery_info) == BATTERY_TYPE_COUNT);
-const enum battery_type DEFAULT_BATTERY_TYPE = BATTERY_SMP_SDI;
+const enum battery_type DEFAULT_BATTERY_TYPE = BATTERY_LGC;
diff --git a/board/akemi/board.h b/board/akemi/board.h
index c95a1d5d7b..630416914d 100644
--- a/board/akemi/board.h
+++ b/board/akemi/board.h
@@ -147,8 +147,9 @@ enum temp_sensor_id {
/* List of possible batteries */
enum battery_type {
- BATTERY_SMP_LIS,
- BATTERY_SMP_SDI,
+ BATTERY_LGC,
+ BATTERY_SUNWODA,
+ BATTERY_SMP,
BATTERY_TYPE_COUNT,
};