diff options
-rw-r--r-- | board/mrbland/battery.c | 145 | ||||
-rw-r--r-- | board/mrbland/board.h | 12 |
2 files changed, 35 insertions, 122 deletions
diff --git a/board/mrbland/battery.c b/board/mrbland/battery.c index b1a05809f0..a99d71e7f4 100644 --- a/board/mrbland/battery.c +++ b/board/mrbland/battery.c @@ -10,7 +10,7 @@ #include "util.h" /* - * Battery info for all homestar battery types. Note that the fields + * Battery info for all mrbland battery types. Note that the fields * start_charging_min/max and charging_min/max are not used for the charger. * The effective temperature limits are given by discharging_min/max_c. * @@ -33,127 +33,40 @@ */ const struct board_batt_params board_battery_info[] = { - /* COSMX GH02047XL 333-1C-DA-A */ - [BATTERY_GH02047XL_1C] = { + /* Celxpert L21C2PG1 */ + [BATTERY_L21C2PG1] = { .fuel_gauge = { - .manuf_name = "333-1C-DA-A", - .device_name = "GH02047XL", + .manuf_name = "Celxpert", + .device_name = "LNV-5B11F38374", .ship_mode = { - .reg_addr = 0x00, - .reg_data = { 0x0010, 0x0010 }, - }, - .fet = { - .mfgacc_support = 1, - .reg_addr = 0x0, - .reg_mask = 0x0002, - .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 GH02047XL */ - [BATTERY_GH02047XL] = { - .fuel_gauge = { - .manuf_name = "333-AC-DA-A", - .device_name = "GH02047XL", - .ship_mode = { - .reg_addr = 0x00, - .reg_data = { 0x0010, 0x0010 }, - }, - .fet = { - .mfgacc_support = 1, - .reg_addr = 0x0, - .reg_mask = 0x0002, - .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 DS02032XL */ - [BATTERY_DS02032XL] = { - .fuel_gauge = { - .manuf_name = "333-AC-13-A", - .device_name = "DS02032XL", - .ship_mode = { - .reg_addr = 0x00, - .reg_data = { 0x0010, 0x0010 }, - }, - .fet = { - .mfgacc_support = 1, - .reg_addr = 0x0, - .reg_mask = 0x0002, - .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, - }, - }, - /* SMP DS02032XL */ - [BATTERY_DS02032XL_1C] = { - .fuel_gauge = { - .manuf_name = "333-1C-13-A", - .device_name = "DS02032XL", - .ship_mode = { - .reg_addr = 0x00, - .reg_data = { 0x0010, 0x0010 }, + .reg_addr = 0x34, + .reg_data = { 0x0000, 0x1000 }, }, .fet = { .mfgacc_support = 1, - .reg_addr = 0x0, - .reg_mask = 0x0002, + .reg_addr = 0x34, + .reg_mask = 0x0100, .disconnect_val = 0x0, } }, .batt_info = { .voltage_max = 8800, /* mV */ - .voltage_normal = 7700, /* mV */ + .voltage_normal = 7680, /* mV */ .voltage_min = 6000, /* mV */ - .precharge_current = 256, /* mA */ + .precharge_current = 384, /* mA */ .start_charging_min_c = 0, - .start_charging_max_c = 45, + .start_charging_max_c = 50, .charging_min_c = 0, - .charging_max_c = 45, - .discharging_min_c = -10, + .charging_max_c = 60, + .discharging_min_c = -20, .discharging_max_c = 60, }, }, - /* Sunwoda L21D4PG0 */ - [BATTERY_L21D4PG0] = { + /* Sunwoda L21D2PG1 */ + [BATTERY_L21D2PG1] = { .fuel_gauge = { .manuf_name = "Sunwoda", - .device_name = "L21D4PG0", + .device_name = "LNV-5B11F38370", .ship_mode = { .reg_addr = 0x34, .reg_data = { 0x0000, 0x1000 }, @@ -166,23 +79,23 @@ const struct board_batt_params board_battery_info[] = { } }, .batt_info = { - .voltage_max = 8900, /* mV */ - .voltage_normal = 7720, /* mV */ + .voltage_max = 8800, /* mV */ + .voltage_normal = 7680, /* mV */ .voltage_min = 6000, /* mV */ - .precharge_current = 274, /* mA */ + .precharge_current = 200, /* mA */ .start_charging_min_c = 0, .start_charging_max_c = 50, .charging_min_c = 0, - .charging_max_c = 60, + .charging_max_c = 63, .discharging_min_c = -20, - .discharging_max_c = 60, + .discharging_max_c = 63, }, }, - /* SMP L21M4PG0 */ - [BATTERY_L21M4PG0] = { + /* SMP L21M2PG1 */ + [BATTERY_L21M2PG1] = { .fuel_gauge = { .manuf_name = "SMP", - .device_name = "L21M4PG0", + .device_name = "LNV-5B11F38381", .ship_mode = { .reg_addr = 0x34, .reg_data = { 0x0000, 0x1000 }, @@ -195,10 +108,10 @@ const struct board_batt_params board_battery_info[] = { } }, .batt_info = { - .voltage_max = 8900, /* mV */ - .voltage_normal = 7720, /* mV */ + .voltage_max = 8800, /* mV */ + .voltage_normal = 7680, /* mV */ .voltage_min = 6000, /* mV */ - .precharge_current = 274, /* mA */ + .precharge_current = 128, /* mA */ .start_charging_min_c = 0, .start_charging_max_c = 50, .charging_min_c = 0, @@ -210,4 +123,4 @@ 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_L21D4PG0; +const enum battery_type DEFAULT_BATTERY_TYPE = BATTERY_L21D2PG1; diff --git a/board/mrbland/board.h b/board/mrbland/board.h index 77d8734850..f4cb398c50 100644 --- a/board/mrbland/board.h +++ b/board/mrbland/board.h @@ -31,6 +31,9 @@ #define CONFIG_BATTERY_REVIVE_DISCONNECT #define CONFIG_BATTERY_FUEL_GAUGE #define CONFIG_BATTERY_VENDOR_PARAM +#define CONFIG_BATTERY_V2 +#define CONFIG_BATTERY_COUNT 1 +#define CONFIG_HOSTCMD_BATTERY_V2 /* Enable PD3.0 */ #define CONFIG_USB_PD_REV30 @@ -101,12 +104,9 @@ enum pwm_channel { /* List of possible batteries */ enum battery_type { - BATTERY_GH02047XL_1C, - BATTERY_GH02047XL, - BATTERY_DS02032XL, - BATTERY_DS02032XL_1C, - BATTERY_L21D4PG0, - BATTERY_L21M4PG0, + BATTERY_L21C2PG1, + BATTERY_L21D2PG1, + BATTERY_L21M2PG1, BATTERY_TYPE_COUNT, }; |