diff options
author | Ayushee Shah <ayushee.shah@intel.com> | 2020-11-24 09:47:28 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-11-25 19:20:17 +0000 |
commit | b67a2783ff93fd66980eb3b7d26d80ff38c3328e (patch) | |
tree | bfabc65dd944c1d3a2f413d8ee0fb5ad2b5c2483 | |
parent | ef7bd34101fd0c5829175f163fb9dc5094df8541 (diff) | |
download | chrome-ec-b67a2783ff93fd66980eb3b7d26d80ff38c3328e.tar.gz |
Intelrvp:Separate battery configuration into board specific files
This CL adds the battery configuration from interlrvp baseboard
to board specific file for Alderlake, Tigerlake and jasperlake
platform so that same manufacturer battery but with different
config params can be used on intended platforms.
BUG=b:174129818
BRANCH=None
TEST=Able to see correct battery configuration in "battery" EC command
and can see the battery charging and discharging.
Signed-off-by: Ayushee Shah <ayushee.shah@intel.com>
Change-Id: I639eb4466c49dbdc01d31feb4ace8844a6b1ac87
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2557763
Reviewed-by: Vijay P Hiremath <vijay.p.hiremath@intel.com>
Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r-- | baseboard/intelrvp/baseboard.h | 8 | ||||
-rw-r--r-- | baseboard/intelrvp/build.mk | 1 | ||||
-rw-r--r-- | board/adlrvpp_ite/battery.c | 48 | ||||
-rw-r--r-- | board/adlrvpp_ite/board.h | 5 | ||||
-rw-r--r-- | board/adlrvpp_ite/build.mk | 1 | ||||
-rw-r--r-- | board/jslrvp_ite/battery.c | 78 | ||||
-rw-r--r-- | board/jslrvp_ite/board.h | 6 | ||||
-rw-r--r-- | board/jslrvp_ite/build.mk | 1 | ||||
-rw-r--r-- | board/tglrvpu_ite/battery.c (renamed from baseboard/intelrvp/battery.c) | 35 | ||||
-rw-r--r-- | board/tglrvpu_ite/board.h | 6 | ||||
-rw-r--r-- | board/tglrvpu_ite/build.mk | 1 |
11 files changed, 147 insertions, 43 deletions
diff --git a/baseboard/intelrvp/baseboard.h b/baseboard/intelrvp/baseboard.h index 48ababd771..8ed8600237 100644 --- a/baseboard/intelrvp/baseboard.h +++ b/baseboard/intelrvp/baseboard.h @@ -200,14 +200,6 @@ enum temp_sensor_id { TEMP_SENSOR_COUNT, }; -/* List of supported batteries */ -enum battery_type { - BATTERY_SIMPLO_SMP_HHP_408, - BATTERY_SIMPLO_SMP_CA_445, - BATTERY_GETAC_SMP_HHP_408, - BATTERY_TYPE_COUNT, -}; - /* TODO(b:132652892): Verify the below numbers. */ #define PD_POWER_SUPPLY_TURN_ON_DELAY 30000 /* us */ #define PD_POWER_SUPPLY_TURN_OFF_DELAY 250000 /* us */ diff --git a/baseboard/intelrvp/build.mk b/baseboard/intelrvp/build.mk index cfa92cc0c6..5a77e95af5 100644 --- a/baseboard/intelrvp/build.mk +++ b/baseboard/intelrvp/build.mk @@ -9,7 +9,6 @@ #Intel RVP common files baseboard-y=baseboard.o baseboard-$(CONFIG_LED_COMMON)+=led.o led_states.o -baseboard-$(CONFIG_BATTERY_SMART)+=battery.o ifneq ($(CONFIG_USB_POWER_DELIVERY),) baseboard-$(CONFIG_USB_POWER_DELIVERY)+=chg_usb_pd.o diff --git a/board/adlrvpp_ite/battery.c b/board/adlrvpp_ite/battery.c new file mode 100644 index 0000000000..315d5c247e --- /dev/null +++ b/board/adlrvpp_ite/battery.c @@ -0,0 +1,48 @@ +/* Copyright 2020 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + * + * Battery pack vendor provided charging profile + */ + +#include "battery_fuel_gauge.h" +#include "battery_smart.h" +#include "common.h" +#include "util.h" + +const struct board_batt_params board_battery_info[] = { + /* + * Getac Battery (Getac SMP-HHP-408) Information + * Fuel gauge: BQ40Z50-R3 + */ + [BATTERY_GETAC_SMP_HHP_408] = { + .fuel_gauge = { + .manuf_name = "Getac", + .ship_mode = { + .reg_addr = 0x00, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = 0x0, + .reg_mask = 0x6000, + .disconnect_val = 0x6000, + } + }, + .batt_info = { + .voltage_max = 13050, /* mV */ + .voltage_normal = 11400, + .voltage_min = 9000, + .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 = 0, + .discharging_max_c = 60, + }, + }, +}; +BUILD_ASSERT(ARRAY_SIZE(board_battery_info) == BATTERY_TYPE_COUNT); + +const enum battery_type DEFAULT_BATTERY_TYPE = BATTERY_GETAC_SMP_HHP_408; + diff --git a/board/adlrvpp_ite/board.h b/board/adlrvpp_ite/board.h index 4f629fc710..05da4f7d69 100644 --- a/board/adlrvpp_ite/board.h +++ b/board/adlrvpp_ite/board.h @@ -156,6 +156,11 @@ enum adlrvp_charge_ports { TYPE_C_PORT_3, }; +enum battery_type { + BATTERY_GETAC_SMP_HHP_408, + BATTERY_TYPE_COUNT, +}; + void espi_reset_pin_asserted_interrupt(enum gpio_signal signal); void extpower_interrupt(enum gpio_signal signal); void ppc_interrupt(enum gpio_signal signal); diff --git a/board/adlrvpp_ite/build.mk b/board/adlrvpp_ite/build.mk index fe5f548324..81dcb59de3 100644 --- a/board/adlrvpp_ite/build.mk +++ b/board/adlrvpp_ite/build.mk @@ -12,3 +12,4 @@ CHIP_VARIANT:=it8320dx BASEBOARD:=intelrvp board-y=board.o +board-$(CONFIG_BATTERY_SMART)+=battery.o diff --git a/board/jslrvp_ite/battery.c b/board/jslrvp_ite/battery.c new file mode 100644 index 0000000000..3584aec56d --- /dev/null +++ b/board/jslrvp_ite/battery.c @@ -0,0 +1,78 @@ +/* Copyright 2020 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + * + * Battery pack vendor provided charging profile + */ + +#include "battery_fuel_gauge.h" +#include "battery_smart.h" +#include "common.h" +#include "util.h" + +const struct board_batt_params board_battery_info[] = { + /* + * Simplo Battery (SMP-HHP-408) Information + * Fuel gauge: BQ40Z50 + */ + [BATTERY_SIMPLO_SMP_HHP_408] = { + .fuel_gauge = { + .manuf_name = "SMP-HHP-408", + .ship_mode = { + .reg_addr = 0x00, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = SB_BATTERY_STATUS, + .reg_mask = STATUS_INITIALIZED, + .disconnect_val = 0x0, + } + }, + .batt_info = { + .voltage_max = 8700, /* mV */ + .voltage_normal = 7600, + .voltage_min = 6100, + .precharge_current = 204, /* mA */ + .start_charging_min_c = 0, + .start_charging_max_c = 45, + .charging_min_c = 0, + .charging_max_c = 45, + .discharging_min_c = 0, + .discharging_max_c = 60, + }, + }, + /* + * Simplo Battery (SMP-CA-445) Information + * Fuel gauge: BQ30Z554 + */ + [BATTERY_SIMPLO_SMP_CA_445] = { + .fuel_gauge = { + .manuf_name = "SMP-CA-445", + .ship_mode = { + .reg_addr = 0x00, + .reg_data = { 0x0010, 0x0010 }, + }, + .fet = { + .reg_addr = SB_BATTERY_STATUS, + .reg_mask = STATUS_INITIALIZED, + .disconnect_val = 0x0, + } + }, + .batt_info = { + .voltage_max = 8700, /* mV */ + .voltage_normal = 7600, + .voltage_min = 6100, + .precharge_current = 150, /* mA */ + .start_charging_min_c = 0, + .start_charging_max_c = 45, + .charging_min_c = 0, + .charging_max_c = 45, + .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_SIMPLO_SMP_CA_445; + diff --git a/board/jslrvp_ite/board.h b/board/jslrvp_ite/board.h index 264415a0ef..896e773a9d 100644 --- a/board/jslrvp_ite/board.h +++ b/board/jslrvp_ite/board.h @@ -82,6 +82,12 @@ enum jslrvp_i2c_channel { I2C_CHAN_COUNT, }; +enum battery_type { + BATTERY_SIMPLO_SMP_HHP_408, + BATTERY_SIMPLO_SMP_CA_445, + BATTERY_TYPE_COUNT, +}; + /* Define max power */ #define PD_MAX_POWER_MW 45000 diff --git a/board/jslrvp_ite/build.mk b/board/jslrvp_ite/build.mk index 31f33208ba..4903661c30 100644 --- a/board/jslrvp_ite/build.mk +++ b/board/jslrvp_ite/build.mk @@ -13,3 +13,4 @@ CHIP_VARIANT:=it8320dx BASEBOARD:=intelrvp board-y=board.o +board-$(CONFIG_BATTERY_SMART)+=battery.o diff --git a/baseboard/intelrvp/battery.c b/board/tglrvpu_ite/battery.c index ffabd3c723..d529f7677e 100644 --- a/baseboard/intelrvp/battery.c +++ b/board/tglrvpu_ite/battery.c @@ -1,4 +1,4 @@ -/* Copyright 2018 The Chromium OS Authors. All rights reserved. +/* Copyright 2020 The Chromium OS Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. * @@ -41,11 +41,9 @@ const struct board_batt_params board_battery_info[] = { .discharging_max_c = 60, }, }, - /* * Simplo Battery (SMP-CA-445) Information * Fuel gauge: BQ30Z554 - * TODO: SYSCROS-25972 */ [BATTERY_SIMPLO_SMP_CA_445] = { .fuel_gauge = { @@ -73,37 +71,6 @@ const struct board_batt_params board_battery_info[] = { .discharging_max_c = 60, }, }, - - /* - * Getac Battery (Getac SMP-HHP-408) Information - * Fuel gauge: BQ40Z50-R3 - */ - [BATTERY_GETAC_SMP_HHP_408] = { - .fuel_gauge = { - .manuf_name = "Getac", - .ship_mode = { - .reg_addr = 0x00, - .reg_data = { 0x0010, 0x0010 }, - }, - .fet = { - .reg_addr = 0x0, - .reg_mask = 0x6000, - .disconnect_val = 0x6000, - } - }, - .batt_info = { - .voltage_max = 13050, /* mV */ - .voltage_normal = 11400, - .voltage_min = 9000, - .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 = 0, - .discharging_max_c = 60, - }, - }, }; BUILD_ASSERT(ARRAY_SIZE(board_battery_info) == BATTERY_TYPE_COUNT); diff --git a/board/tglrvpu_ite/board.h b/board/tglrvpu_ite/board.h index 95ba60f0a3..b653502a3d 100644 --- a/board/tglrvpu_ite/board.h +++ b/board/tglrvpu_ite/board.h @@ -111,6 +111,12 @@ enum tglrvp_i2c_channel { I2C_CHAN_COUNT, }; +enum battery_type { + BATTERY_SIMPLO_SMP_HHP_408, + BATTERY_SIMPLO_SMP_CA_445, + BATTERY_TYPE_COUNT, +}; + /* Define max power */ #define PD_MAX_POWER_MW 60000 diff --git a/board/tglrvpu_ite/build.mk b/board/tglrvpu_ite/build.mk index 57c49d3569..4d8fd44fdf 100644 --- a/board/tglrvpu_ite/build.mk +++ b/board/tglrvpu_ite/build.mk @@ -13,3 +13,4 @@ CHIP_VARIANT:=it8320dx BASEBOARD:=intelrvp board-y=board.o +board-$(CONFIG_BATTERY_SMART)+=battery.o |