summaryrefslogtreecommitdiff
path: root/board/tglrvpu_ite
diff options
context:
space:
mode:
authorAyushee Shah <ayushee.shah@intel.com>2020-11-24 09:47:28 -0800
committerCommit Bot <commit-bot@chromium.org>2020-11-25 19:20:17 +0000
commitb67a2783ff93fd66980eb3b7d26d80ff38c3328e (patch)
treebfabc65dd944c1d3a2f413d8ee0fb5ad2b5c2483 /board/tglrvpu_ite
parentef7bd34101fd0c5829175f163fb9dc5094df8541 (diff)
downloadchrome-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.c77
-rw-r--r--board/tglrvpu_ite/board.h6
-rw-r--r--board/tglrvpu_ite/build.mk1
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