summaryrefslogtreecommitdiff
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
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>
-rw-r--r--baseboard/intelrvp/baseboard.h8
-rw-r--r--baseboard/intelrvp/build.mk1
-rw-r--r--board/adlrvpp_ite/battery.c48
-rw-r--r--board/adlrvpp_ite/board.h5
-rw-r--r--board/adlrvpp_ite/build.mk1
-rw-r--r--board/jslrvp_ite/battery.c78
-rw-r--r--board/jslrvp_ite/board.h6
-rw-r--r--board/jslrvp_ite/build.mk1
-rw-r--r--board/tglrvpu_ite/battery.c (renamed from baseboard/intelrvp/battery.c)35
-rw-r--r--board/tglrvpu_ite/board.h6
-rw-r--r--board/tglrvpu_ite/build.mk1
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