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 /board/tglrvpu_ite | |
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>
Diffstat (limited to 'board/tglrvpu_ite')
-rw-r--r-- | board/tglrvpu_ite/battery.c | 77 | ||||
-rw-r--r-- | board/tglrvpu_ite/board.h | 6 | ||||
-rw-r--r-- | board/tglrvpu_ite/build.mk | 1 |
3 files changed, 84 insertions, 0 deletions
diff --git a/board/tglrvpu_ite/battery.c b/board/tglrvpu_ite/battery.c new file mode 100644 index 0000000000..d529f7677e --- /dev/null +++ b/board/tglrvpu_ite/battery.c @@ -0,0 +1,77 @@ +/* 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_HHP_408; 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 |