diff options
author | johnwc_yeh <johnwc_yeh@compal.corp-partner.google.com> | 2021-08-17 16:59:56 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-08-18 07:02:27 +0000 |
commit | ab6945cb0d35e619cb2e3afd6eb588d964d11459 (patch) | |
tree | 2b5e07980370210a58ee34bea3c45c9ba3702e7f /board/driblee/battery.c | |
parent | ffdf685340801816a2dd6fcdaafceae7ac8f5490 (diff) | |
download | chrome-ec-ab6945cb0d35e619cb2e3afd6eb588d964d11459.tar.gz |
Driblee: Initial EC image setup battery parameter
Setup battery parameter for driblee.
BUG=b:196910958
BRANCH=keeby
TEST=make BOARD=driblee
Signed-off-by: johnwc_yeh <johnwc_yeh@compal.corp-partner.google.com>
Change-Id: I6196138c5546beb2a724921c2c1add03a7cd4ce9
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3099426
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'board/driblee/battery.c')
-rw-r--r-- | board/driblee/battery.c | 608 |
1 files changed, 557 insertions, 51 deletions
diff --git a/board/driblee/battery.c b/board/driblee/battery.c index 326ac93a6b..ff67e823ff 100644 --- a/board/driblee/battery.c +++ b/board/driblee/battery.c @@ -4,11 +4,10 @@ * * Battery pack vendor provided charging profile */ -#include "battery.h" + #include "battery_fuel_gauge.h" +#include "charge_state.h" #include "common.h" -#include "gpio.h" -#include "util.h" /* * Battery info for lalala battery types. Note that the fields @@ -33,44 +32,520 @@ * address, mask, and disconnect value need to be provided. */ const struct board_batt_params board_battery_info[] = { - /* LGC AP18C8K Battery Information */ - [BATTERY_LGC_AP18C8K] = { + /* BYD Battery Information */ + [BATTERY_BYD_1VX1H] = { .fuel_gauge = { - .manuf_name = "LGC KT0030G020", - .device_name = "AP18C8K", + .manuf_name = "BYD", + .device_name = "DELL 1VX1H", .ship_mode = { - .reg_addr = 0x3A, - .reg_data = { 0xC574, 0xC574 }, + .wb_support = 1, + .reg_addr = 0x44, + .reg_data = { 0x0010, 0x0010 }, }, .fet = { - .reg_addr = 0x43, - .reg_mask = 0x0001, - .disconnect_val = 0x0, + .reg_addr = 0x0, + .reg_mask = 0x2000, + .disconnect_val = 0x2000, + .cfet_mask = 0x4000, + .cfet_off_val = 0x4000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, + }, + }, + + /* BYD Battery Information */ + [BATTERY_BYD_YT39X] = { + .fuel_gauge = { + .manuf_name = "BYD", + .device_name = "DELL YT39X", + .ship_mode = { + .wb_support = 1, + .reg_addr = 0x44, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x0, + .reg_mask = 0x2000, + .disconnect_val = 0x2000, + .cfet_mask = 0x4000, + .cfet_off_val = 0x4000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, + }, + }, + + /* BYD Battery Information */ + [BATTERY_BYD_X0Y5M] = { + .fuel_gauge = { + .manuf_name = "BYD", + .device_name = "DELL X0Y5M", + .ship_mode = { + .reg_addr = 0x00, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x043, + .reg_mask = 0x0001, + .disconnect_val = 0x0000, .cfet_mask = 0x0002, .cfet_off_val = 0x0000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, + }, + }, + + /* LGC Battery Information */ + [BATTERY_LGC_FDRHM] = { + .fuel_gauge = { + .manuf_name = "LGC-LGC3.65", + .device_name = "DELL FDRHM", + .ship_mode = { + .wb_support = 1, + .reg_addr = 0x44, + .reg_data = { 0x0010, 0x0010 }, }, + .fet = { + .reg_addr = 0x0, + .reg_mask = 0x2000, + .disconnect_val = 0x2000, + .cfet_mask = 0x4000, + .cfet_off_val = 0x4000, + } }, .batt_info = { - .voltage_max = 13050, - .voltage_normal = 11250, - .voltage_min = 9000, - .precharge_current = 256, - .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 = 75, + .voltage_max = 13200, /* mV */ + .voltage_normal = 11460, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, }, }, - /* Murata AP18C4K Battery Information */ - [BATTERY_MURATA_AP18C4K] = { + + /* LGC Battery Information */ + [BATTERY_LGC_8GHCX] = { .fuel_gauge = { - .manuf_name = "Murata KT00304012", - .device_name = "AP18C4K", + .manuf_name = "LGC-LGC3.65", + .device_name = "DELL 8GHCX", .ship_mode = { - .reg_addr = 0x3A, - .reg_data = { 0xC574, 0xC574 }, + .wb_support = 1, + .reg_addr = 0x44, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x0, + .reg_mask = 0x2000, + .disconnect_val = 0x2000, + .cfet_mask = 0x4000, + .cfet_off_val = 0x4000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11460, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, + }, + }, + + + /* SWD-ATL Battery Information */ + [BATTERY_SWD_ATL_WJPC4] = { + .fuel_gauge = { + .manuf_name = "SWD-ATL3.618", + .device_name = "DELL WJPC4", + .ship_mode = { + .wb_support = 1, + .reg_addr = 0x44, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x0, + .reg_mask = 0x2000, + .disconnect_val = 0x2000, + .cfet_mask = 0x4000, + .cfet_off_val = 0x4000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, + }, + }, + + /* SWD-ATL Battery Information */ + [BATTERY_SWD_ATL_CTGKT] = { + .fuel_gauge = { + .manuf_name = "SWD-ATL3.618", + .device_name = "DELL CTGKT", + .ship_mode = { + .wb_support = 1, + .reg_addr = 0x44, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x0, + .reg_mask = 0x2000, + .disconnect_val = 0x2000, + .cfet_mask = 0x4000, + .cfet_off_val = 0x4000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, + }, + }, + + /* SWD-COS Battery Information */ + [BATTERY_SWD_COS_WJPC4] = { + .fuel_gauge = { + .manuf_name = "SWD-COS3.634", + .device_name = "DELL WJPC4", + .ship_mode = { + .wb_support = 1, + .reg_addr = 0x44, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x0, + .reg_mask = 0x2000, + .disconnect_val = 0x2000, + .cfet_mask = 0x4000, + .cfet_off_val = 0x4000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, + }, + }, + + /* SWD-COS Battery Information */ + [BATTERY_SWD_COS_CTGKT] = { + .fuel_gauge = { + .manuf_name = "SWD-COS3.634", + .device_name = "DELL CTGKT", + .ship_mode = { + .wb_support = 1, + .reg_addr = 0x44, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x0, + .reg_mask = 0x2000, + .disconnect_val = 0x2000, + .cfet_mask = 0x4000, + .cfet_off_val = 0x4000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, + }, + }, + + /* SMP-ATL Battery Information */ + [BATTERY_SMP_ATL_VM732] = { + .fuel_gauge = { + .manuf_name = "SMP-ATL-3.61", + .device_name = "DELL VM732", + .ship_mode = { + .wb_support = 1, + .reg_addr = 0x44, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x0, + .reg_mask = 0x2000, + .disconnect_val = 0x2000, + .cfet_mask = 0x4000, + .cfet_off_val = 0x4000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, + }, + }, + + /* SMP-ATL Battery Information */ + [BATTERY_SMP_ATL_26JGK] = { + .fuel_gauge = { + .manuf_name = "SMP-ATL-3.61", + .device_name = "DELL 26JGK", + .ship_mode = { + .wb_support = 1, + .reg_addr = 0x44, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x0, + .reg_mask = 0x2000, + .disconnect_val = 0x2000, + .cfet_mask = 0x4000, + .cfet_off_val = 0x4000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, + }, + }, + + /* SMP-ATL Battery Information */ + [BATTERY_SMP_ATL_RF9H3] = { + .fuel_gauge = { + .manuf_name = "SMP-ATL-3.61", + .device_name = "DELL RF9H3", + .ship_mode = { + .reg_addr = 0x00, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x43, + .reg_mask = 0x0001, + .disconnect_val = 0x0000, + .cfet_mask = 0x0002, + .cfet_off_val = 0x0000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, + }, + }, + + /* SMP-COS Battery Information */ + [BATTERY_SMP_COS_VM732] = { + .fuel_gauge = { + .manuf_name = "SMP-COS3.63", + .device_name = "DELL VM732", + .ship_mode = { + .wb_support = 1, + .reg_addr = 0x44, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x0, + .reg_mask = 0x2000, + .disconnect_val = 0x2000, + .cfet_mask = 0x4000, + .cfet_off_val = 0x4000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, + }, + }, + + /* SMP-COS Battery Information */ + [BATTERY_SMP_COS_26JGK] = { + .fuel_gauge = { + .manuf_name = "SMP-COS3.63", + .device_name = "DELL 26JGK", + .ship_mode = { + .wb_support = 1, + .reg_addr = 0x44, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x0, + .reg_mask = 0x2000, + .disconnect_val = 0x2000, + .cfet_mask = 0x4000, + .cfet_off_val = 0x4000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, + }, + }, + /* SMP-COS Battery Information */ + [BATTERY_SMP_COS_RF9H3] = { + .fuel_gauge = { + .manuf_name = "SMP-COS3.63", + .device_name = "DELL RF9H3", + .ship_mode = { + .reg_addr = 0x00, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x43, + .reg_mask = 0x0001, + .disconnect_val = 0x0000, + .cfet_mask = 0x0002, + .cfet_off_val = 0x0000, + } + }, + .batt_info = { + .voltage_max = 13200, /* mV */ + .voltage_normal = 11400, + .voltage_min = 9000, + .precharge_current = 256, /* mA */ + .start_charging_min_c = -3, + .start_charging_max_c = 50, + .charging_min_c = -3, + .charging_max_c = 60, + .discharging_min_c = -5, + .discharging_max_c = 70, + }, + }, + + /* BYD 16DPHYMD Battery Information */ + [BATTERY_BYD16] = { + .fuel_gauge = { + .manuf_name = "BYD-BYD3.685", + .ship_mode = { + .reg_addr = 0x00, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x043, + .reg_mask = 0x0001, + .disconnect_val = 0x000, + .cfet_mask = 0x0002, + .cfet_off_val = 0x0000, + } + }, + .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 = 0, + .discharging_max_c = 70, + }, + }, + + /* LGC Battery Information */ + [BATTERY_LGC3] = { + .fuel_gauge = { + .manuf_name = "LGC-LGC3.553", + .ship_mode = { + .reg_addr = 0x00, + .reg_data = { 0x0010, 0x0010 }, }, .fet = { .reg_addr = 0x0, @@ -78,51 +553,82 @@ const struct board_batt_params board_battery_info[] = { .disconnect_val = 0x2000, .cfet_mask = 0x4000, .cfet_off_val = 0x4000, + } + }, + .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 = 0x043, + .reg_mask = 0x0001, + .disconnect_val = 0x000, + .cfet_mask = 0x0002, + .cfet_off_val = 0x0000, + } }, .batt_info = { - .voltage_max = 13200, - .voltage_normal = 11400, - .voltage_min = 9000, - .precharge_current = 256, + .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 = 75, + .discharging_max_c = 70, }, }, - /* AP19B8M */ - [BATTERY_AP19B8M] = { + + /* SIMPLO-LISHEN 7T0D3YMD Battery Information */ + [BATTERY_SIMPLO_LS] = { .fuel_gauge = { - .manuf_name = "LGC KT0030G024", + .manuf_name = "SMP-LS3.66", .ship_mode = { - .reg_addr = 0x3A, - .reg_data = { 0xC574, 0xC574 }, + .reg_addr = 0x0, + .reg_data = { 0x0010, 0x0010 }, }, .fet = { - .reg_addr = 0x43, + .reg_addr = 0x043, .reg_mask = 0x0001, - .disconnect_val = 0x0, + .disconnect_val = 0x000, .cfet_mask = 0x0002, .cfet_off_val = 0x0000, } }, .batt_info = { - .voltage_max = 13350, - .voltage_normal = 11610, - .voltage_min = 9000, - .precharge_current = 256, - .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 = 75, + .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 = 0, + .discharging_max_c = 70, }, }, }; BUILD_ASSERT(ARRAY_SIZE(board_battery_info) == BATTERY_TYPE_COUNT); -const enum battery_type DEFAULT_BATTERY_TYPE = BATTERY_LGC_AP18C8K; +const enum battery_type DEFAULT_BATTERY_TYPE = BATTERY_BYD_1VX1H; |