summaryrefslogtreecommitdiff
path: root/baseboard/intelrvp
diff options
context:
space:
mode:
authorDeepti Deshatty <deepti.deshatty@intel.corp-partner.google.com>2021-10-05 10:14:40 +0530
committerCommit Bot <commit-bot@chromium.org>2021-10-28 19:52:56 +0000
commit1b1a883d7fcb2f5015e9e9cfd8892c7a3d508ba0 (patch)
treefc82a22d65a87c003444db3f271c1c9ed84d61d1 /baseboard/intelrvp
parent491779d5e873d4a056cc52df20dcdd1ba28b8502 (diff)
downloadchrome-ec-1b1a883d7fcb2f5015e9e9cfd8892c7a3d508ba0.tar.gz
adlrvp-n: Enable bq25720 charger drivers
Changes enable drivers to support BQ25720 charger chip for ADL-N. ADLRVP variants uses ISL9241 drivers too. Hence both the driver files needs to be compiled. At boot time, depending on the board id read, right drivers are executed for the platform. BRANCH=none TEST=Battery charging verified on ADL-N board. Signed-off-by: Deepti Deshatty <deepti.deshatty@intel.corp-partner.google.com> Change-Id: I952a3b7d23f52ec512f90a843db1f4db2fe0e95d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3204652 Reviewed-by: caveh jalali <caveh@chromium.org> Reviewed-by: Vijay Hiremath <vijay.p.hiremath@intel.com>
Diffstat (limited to 'baseboard/intelrvp')
-rw-r--r--baseboard/intelrvp/adlrvp.c22
-rw-r--r--baseboard/intelrvp/adlrvp.h9
2 files changed, 29 insertions, 2 deletions
diff --git a/baseboard/intelrvp/adlrvp.c b/baseboard/intelrvp/adlrvp.c
index 13a0ee7d3d..8ec1b820b2 100644
--- a/baseboard/intelrvp/adlrvp.c
+++ b/baseboard/intelrvp/adlrvp.c
@@ -6,6 +6,7 @@
/* Intel ADLRVP board-specific common configuration */
#include "charger.h"
+#include "bq25710.h"
#include "common.h"
#include "driver/retimer/bb_retimer_public.h"
#include "hooks.h"
@@ -236,7 +237,7 @@ struct ioexpander_config_t ioex_config[] = {
BUILD_ASSERT(ARRAY_SIZE(ioex_config) == CONFIG_IO_EXPANDER_PORT_COUNT);
/* Charger Chips */
-const struct charger_config_t chg_chips[] = {
+struct charger_config_t chg_chips[] = {
{
.i2c_port = I2C_PORT_CHARGER,
.i2c_addr_flags = ISL9241_ADDR_FLAGS,
@@ -325,6 +326,22 @@ static void enable_h1_irq(void)
}
DECLARE_HOOK(HOOK_INIT, enable_h1_irq, HOOK_PRIO_LAST);
+static void configure_charger(void)
+{
+ switch (ADL_RVP_BOARD_ID(board_get_version())) {
+ case ADLN_LP5_ERB_SKU_BOARD_ID:
+ case ADLN_LP5_RVP_SKU_BOARD_ID:
+ /* charger chip BQ25720 support */
+ chg_chips[0].i2c_addr_flags = BQ25710_SMBUS_ADDR1_FLAGS;
+ chg_chips[0].drv = &bq25710_drv;
+ break;
+
+ /* Add additional board SKUs */
+ default:
+ break;
+ }
+}
+
static void configure_retimer_usbmux(void)
{
switch (ADL_RVP_BOARD_ID(board_get_version())) {
@@ -461,6 +478,9 @@ __override void board_pre_task_i2c_peripheral_init(void)
/* Make sure SBU are routed to CCD or AUX based on CCD status at init */
board_connect_c0_sbu_deferred();
+ /* Reconfigure board specific charger drivers */
+ configure_charger();
+
/* Configure board specific retimer & mux */
configure_retimer_usbmux();
}
diff --git a/baseboard/intelrvp/adlrvp.h b/baseboard/intelrvp/adlrvp.h
index 4914293cd1..ab0471adaf 100644
--- a/baseboard/intelrvp/adlrvp.h
+++ b/baseboard/intelrvp/adlrvp.h
@@ -118,8 +118,15 @@
#define BOARD_FAN_MIN_RPM 3000
#define BOARD_FAN_MAX_RPM 10000
-/* Charger */
+/* Charger Configs */
+#define CONFIG_CHARGER_RUNTIME_CONFIG
+/* Charger chip on ADL-P, ADL-M */
#define CONFIG_CHARGER_ISL9241
+/* Charger chip on ADL-N */
+#define CONFIG_CHARGER_BQ25720
+#define CONFIG_CHARGER_BQ25720_VSYS_TH2_DV 70
+#define CONFIG_CHARGER_BQ25710_SENSE_RESISTOR 10
+#define CONFIG_CHARGER_BQ25710_SENSE_RESISTOR_AC 10
/* Port 80 */
#define PORT80_I2C_ADDR MAX695X_I2C_ADDR1_FLAGS