diff options
-rw-r--r-- | board/dojo/battery.c | 176 | ||||
-rw-r--r-- | board/dojo/board.c | 2 | ||||
-rw-r--r-- | board/dojo/board.h | 11 | ||||
-rw-r--r-- | board/dojo/gpio.inc | 17 |
4 files changed, 113 insertions, 93 deletions
diff --git a/board/dojo/battery.c b/board/dojo/battery.c index 72daf4966d..d0b5eb47d2 100644 --- a/board/dojo/battery.c +++ b/board/dojo/battery.c @@ -8,119 +8,151 @@ #include "battery_smart.h" const struct board_batt_params board_battery_info[] = { - /* Panasonic AP16L5J Battery Information */ - [BATTERY_PANASONIC_AC16L5J] = { + /* DynaPack CosMX Battery Information */ + [BATTERY_DYNAPACK_COS] = { .fuel_gauge = { - .manuf_name = "PANASONIC", - .device_name = "AP16L5J", + .manuf_name = "333-2C-DA-A", .ship_mode = { - .reg_addr = 0x3A, - .reg_data = { 0xC574, 0xC574 }, + .reg_addr = 0x00, + .reg_data = { 0x0010, 0x0010 }, }, .fet = { + .mfgacc_support = 1, .reg_addr = 0x0, - .reg_mask = 0x4000, + .reg_mask = 0x0006, .disconnect_val = 0x0, - } + }, }, .batt_info = { - .voltage_max = 8800, - .voltage_normal = 7700, - .voltage_min = 6000, - .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 = 8800, /* mV */ + .voltage_normal = 7700, + .voltage_min = 6000, + .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, }, }, - [BATTERY_PANASONIC_AC16L5J_KT00205009] = { + + /* DynaPack ATL Battery Information */ + [BATTERY_DYNAPACK_ATL] = { .fuel_gauge = { - .manuf_name = "PANASONIC KT00205009", - .device_name = "AP16L5J", + .manuf_name = "333-27-DA-A", .ship_mode = { - .reg_addr = 0x3A, - .reg_data = { 0xC574, 0xC574 }, + .reg_addr = 0x00, + .reg_data = { 0x0010, 0x0010 }, }, .fet = { + .mfgacc_support = 1, .reg_addr = 0x0, - .reg_mask = 0x4000, + .reg_mask = 0x0006, .disconnect_val = 0x0, - } + }, }, .batt_info = { - .voltage_max = 8800, - .voltage_normal = 7700, - .voltage_min = 6000, - .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 = 8800, /* mV */ + .voltage_normal = 7700, + .voltage_min = 6000, + .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, }, }, - /* AP16L8J */ - [BATTERY_AP16L8J] = { + + /* Simplo CosMX Battery Information */ + [BATTERY_SIMPLO_COS] = { .fuel_gauge = { - .manuf_name = "LGC KT0020G010", - .device_name = "AP16L8J", + .manuf_name = "333-1C-DA-A", .ship_mode = { - .reg_addr = 0x3A, - .reg_data = { 0xC574, 0xC574 }, + .reg_addr = 0x00, + .reg_data = { 0x0010, 0x0010 }, }, .fet = { .mfgacc_support = 1, .reg_addr = 0x0, - .reg_mask = 0x0002, + .reg_mask = 0x0006, .disconnect_val = 0x0, - } + }, }, .batt_info = { - .voltage_max = 8700, - .voltage_normal = 7500, /* 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 = 75, + .voltage_max = 8800, /* mV */ + .voltage_normal = 7700, + .voltage_min = 6000, + .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, }, }, - /* LGC AP18C8K Battery Information */ - [BATTERY_LGC_AP18C8K] = { + + /* Simplo HIGHPOWER Battery Information */ + [BATTERY_SIMPLO_HIGHPOWER] = { .fuel_gauge = { - .manuf_name = "LGC KT0030G020", - .device_name = "AP18C8K", + .manuf_name = "333-1D-DA-A", .ship_mode = { - .reg_addr = 0x3A, - .reg_data = { 0xC574, 0xC574 }, + .reg_addr = 0x00, + .reg_data = { 0x0010, 0x0010 }, }, .fet = { - .reg_addr = 0x43, - .reg_mask = 0x0001, + .mfgacc_support = 1, + .reg_addr = 0x0, + .reg_mask = 0x0006, + .disconnect_val = 0x0, + }, + }, + .batt_info = { + .voltage_max = 8800, /* mV */ + .voltage_normal = 7700, + .voltage_min = 6000, + .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 B00C4473A9D0002 Battery Information */ + [BATTERY_COS] = { + .fuel_gauge = { + .manuf_name = "333-AC-DA-A", + .ship_mode = { + .reg_addr = 0x00, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .mfgacc_support = 1, + .reg_addr = 0x0, + .reg_mask = 0x0006, .disconnect_val = 0x0, }, }, .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 = 8800, /* mV */ + .voltage_normal = 7700, + .voltage_min = 6000, + .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, }, }, }; BUILD_ASSERT(ARRAY_SIZE(board_battery_info) == BATTERY_TYPE_COUNT); -const enum battery_type DEFAULT_BATTERY_TYPE = BATTERY_PANASONIC_AC16L5J; +const enum battery_type DEFAULT_BATTERY_TYPE = BATTERY_DYNAPACK_COS; diff --git a/board/dojo/board.c b/board/dojo/board.c index 35dae9ed36..1b1c1541d9 100644 --- a/board/dojo/board.c +++ b/board/dojo/board.c @@ -2,7 +2,7 @@ * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ -/* Cherry board configuration */ +/* Dojo board configuration */ #include "common.h" #include "console.h" diff --git a/board/dojo/board.h b/board/dojo/board.h index 1c52eac8ba..8dfb377695 100644 --- a/board/dojo/board.h +++ b/board/dojo/board.h @@ -2,7 +2,7 @@ * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ -/* Cherry board configuration */ +/* Dojo board configuration */ #ifndef __CROS_EC_BOARD_H #define __CROS_EC_BOARD_H @@ -85,10 +85,11 @@ #include "registers.h" enum battery_type { - BATTERY_PANASONIC_AC16L5J, - BATTERY_PANASONIC_AC16L5J_KT00205009, - BATTERY_AP16L8J, - BATTERY_LGC_AP18C8K, + BATTERY_DYNAPACK_COS, + BATTERY_DYNAPACK_ATL, + BATTERY_SIMPLO_COS, + BATTERY_SIMPLO_HIGHPOWER, + BATTERY_COS, BATTERY_TYPE_COUNT, }; diff --git a/board/dojo/gpio.inc b/board/dojo/gpio.inc index 296e3a418e..972357b3c9 100644 --- a/board/dojo/gpio.inc +++ b/board/dojo/gpio.inc @@ -33,11 +33,7 @@ GPIO_INT(BASE_IMU_INT_L, PIN(M, 3), GPIO_INT_FALLING | GPIO_SEL_1P8V, icm42607_interrupt) /* USB-C interrupts */ GPIO_INT(USB_C0_PPC_INT_ODL, PIN(D, 1), GPIO_INT_BOTH, ppc_interrupt) -#ifdef BOARD_CHERRY -GPIO_INT(USB_C0_BC12_INT_ODL,PIN(J, 4), GPIO_INT_FALLING, bc12_interrupt) -#else /* TOMATO */ GPIO_INT(USB_C0_BC12_INT_ODL,PIN(I, 5), GPIO_INT_FALLING, bc12_interrupt) -#endif GPIO_INT(USB_C1_INT_ODL, PIN(B, 2), GPIO_INT_FALLING, rt1718s_tcpc_interrupt) /* TODO: not used in other devices? */ GPIO(LID_ACCEL_INT_L, PIN(M, 2), GPIO_INT_FALLING | GPIO_SEL_1P8V) @@ -57,10 +53,8 @@ GPIO_INT(WP, PIN(I, 4), GPIO_INT_BOTH | GPIO_SEL_1P8V, switch_interrupt) /* EC_FLASH_WP_OD */ GPIO_INT(SPI0_CS, PIN(M, 5), GPIO_INT_FALLING, spi_event) /* SPI slave Chip Select -- AP_SPI_EC_CS_L */ -#ifndef BOARD_CHERRY GPIO_INT(AP_XHCI_INIT_DONE, PIN(J, 5), GPIO_INT_BOTH | GPIO_PULL_DOWN | GPIO_SEL_1P8V, xhci_init_done_interrupt) -#endif /* Power Sequencing Signals */ GPIO(EC_PMIC_EN_ODL, PIN(D, 0), GPIO_ODR_HIGH | GPIO_SEL_1P8V) @@ -131,15 +125,7 @@ GPIO(PG_PP5000_S5_OD, PIN(D, 2), GPIO_INPUT) GPIO(PG_MT6315_GPU_ODL, PIN(H, 6), GPIO_INPUT) /* reserved for future use */ GPIO(CCD_MODE_ODL, PIN(C, 4), GPIO_INPUT) -/* - * ADC pins don't have internal pull-down capability, - * so we set them as output low. - */ -#ifdef BOARD_CHERRY -GPIO(NC_GPI5, PIN(I, 5), GPIO_OUT_LOW) -#else -GPIO(NC_GPJ4, PIN(J, 4), GPIO_INPUT | GPIO_PULL_DOWN) -#endif + /* NC pins, enable internal pull-up/down to avoid floating state. */ GPIO(NC_GPA1, PIN(A, 1), GPIO_INPUT | GPIO_PULL_DOWN) GPIO(PWM7, PIN(A, 7), GPIO_INPUT | GPIO_PULL_DOWN) @@ -148,6 +134,7 @@ GPIO(SPI_CLK_GPG6, PIN(G, 6), GPIO_INPUT | GPIO_PULL_UP) GPIO(PG_NVME_OD, PIN(H, 3), GPIO_INPUT | GPIO_PULL_DOWN) GPIO(EN_PP2500_NVME_X, PIN(J, 2), GPIO_INPUT | GPIO_PULL_DOWN) GPIO(EN_PP1200_NVME_X, PIN(J, 3), GPIO_INPUT | GPIO_PULL_DOWN) +GPIO(NC_GPJ4, PIN(J, 4), GPIO_INPUT | GPIO_PULL_DOWN) GPIO(NC_GPM6, PIN(M, 6), GPIO_INPUT | GPIO_PULL_DOWN) /* * These pins don't have internal pull-down capability, |