summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaveh Jalali <caveh@chromium.org>2021-11-02 23:43:14 -0700
committerCommit Bot <commit-bot@chromium.org>2021-11-17 22:06:24 +0000
commit07de73c3113f35226eff345469336a50c83eb1f3 (patch)
tree4383209d0e1257f8d58c6ac877a6815968f2c16a
parenta19c2540ff286fa652f561700b15fa545851a9c6 (diff)
downloadchrome-ec-07de73c3113f35226eff345469336a50c83eb1f3.tar.gz
bq25710: Allow IDCHG_TH2 to be customized
This adds support for configuring the charger's 2nd battery discharge current limit (IDCHG_TH2). BRANCH=none BUG=b:185190976 TEST=buildall passes Signed-off-by: Caveh Jalali <caveh@chromium.org> Change-Id: I84512b7a93ccea8e8b0a53e6a655f59e85845e2b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3284638 Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r--driver/charger/bq25710.c10
-rw-r--r--include/config.h11
-rw-r--r--zephyr/Kconfig.battery18
-rw-r--r--zephyr/shim/include/config_chip.h11
4 files changed, 49 insertions, 1 deletions
diff --git a/driver/charger/bq25710.c b/driver/charger/bq25710.c
index 43fb2be29b..3429f913d3 100644
--- a/driver/charger/bq25710.c
+++ b/driver/charger/bq25710.c
@@ -50,6 +50,10 @@
#define CONFIG_CHARGER_BQ25720_IDCHG_DEG2 1
#endif
+#ifndef CONFIG_CHARGER_BQ25720_IDCHG_TH2_CUSTOM
+#define CONFIG_CHARGER_BQ25720_IDCHG_TH2 1
+#endif
+
/*
* Helper macros
*/
@@ -432,7 +436,8 @@ static int bq257x0_init_charge_option_4(int chgnum)
return EC_SUCCESS;
if (!IS_ENABLED(CONFIG_CHARGER_BQ25720_VSYS_UVP_CUSTOM) &&
- !IS_ENABLED(CONFIG_CHARGER_BQ25720_IDCHG_DEG2_CUSTOM))
+ !IS_ENABLED(CONFIG_CHARGER_BQ25720_IDCHG_DEG2_CUSTOM) &&
+ !IS_ENABLED(CONFIG_CHARGER_BQ25720_IDCHG_TH2_CUSTOM))
return EC_SUCCESS;
rv = raw_read16(chgnum, BQ25720_REG_CHARGE_OPTION_4, &reg);
@@ -446,6 +451,9 @@ static int bq257x0_init_charge_option_4(int chgnum)
reg = SET_CO4(IDCHG_DEG2, CONFIG_CHARGER_BQ25720_IDCHG_DEG2,
reg);
+ if (IS_ENABLED(CONFIG_CHARGER_BQ25720_IDCHG_TH2_CUSTOM))
+ reg = SET_CO4(IDCHG_TH2, CONFIG_CHARGER_BQ25720_IDCHG_TH2, reg);
+
return raw_write16(chgnum, BQ25720_REG_CHARGE_OPTION_4, reg);
}
diff --git a/include/config.h b/include/config.h
index 9bc65aa5ef..7fc59ac4a1 100644
--- a/include/config.h
+++ b/include/config.h
@@ -1072,6 +1072,17 @@
*/
#undef CONFIG_CHARGER_BQ25720_IDCHG_DEG2
+/* Enable if CONFIG_CHARGER_BQ25720_IDCHG_TH2 should be applied */
+#undef CONFIG_CHARGER_BQ25720_IDCHG_TH2_CUSTOM
+
+/*
+ * This config option is used to set the charger's 2nd battery discharge
+ * current limit (IDCHG_TH2) as a percentage of IDCHG_TH1. This is a 3
+ * bit field with default value 1 (150%). The encoded value ranges from
+ * 125% to 400%.
+ */
+#undef CONFIG_CHARGER_BQ25720_IDCHG_TH2
+
/* Value of the bq25710 charge sense resistor, in mOhms */
#undef CONFIG_CHARGER_BQ25710_SENSE_RESISTOR
diff --git a/zephyr/Kconfig.battery b/zephyr/Kconfig.battery
index 0d09926a55..16664d20cf 100644
--- a/zephyr/Kconfig.battery
+++ b/zephyr/Kconfig.battery
@@ -399,6 +399,24 @@ config PLATFORM_EC_CHARGER_BQ25720_IDCHG_DEG2
value 1 (1.6 ms). The encoded value ranges from 100 us to 12
ms.
+config PLATFORM_EC_CHARGER_BQ25720_IDCHG_TH2_CUSTOM
+ bool "IDCHG_TH2 override"
+ depends on PLATFORM_EC_CHARGER_BQ25720
+ help
+ Enable customizing the charger's 2nd battery discharge current
+ limit (IDCHG_TH2).
+
+config PLATFORM_EC_CHARGER_BQ25720_IDCHG_TH2
+ int "IDCHG threshold 2"
+ range 0 7
+ default 1
+ depends on PLATFORM_EC_CHARGER_BQ25720_IDCHG_TH2_CUSTOM
+ help
+ Sets the charger's 2nd battery discharge current limit
+ (IDCHG_TH2) as a percentage of IDCHG_TH1. This is a 3 bit
+ field with default value 1 (150%). The encoded value ranges
+ from 125% to 400%.
+
config PLATFORM_EC_CHARGER_BQ25710_VSYS_MIN_VOLTAGE_CUSTOM
bool "Enable minimum system voltage override"
depends on PLATFORM_EC_CHARGER_BQ25710 || PLATFORM_EC_CHARGER_BQ25720
diff --git a/zephyr/shim/include/config_chip.h b/zephyr/shim/include/config_chip.h
index ae78a8e1b9..9598e2cf5a 100644
--- a/zephyr/shim/include/config_chip.h
+++ b/zephyr/shim/include/config_chip.h
@@ -1747,6 +1747,17 @@
CONFIG_PLATFORM_EC_CHARGER_BQ25720_IDCHG_DEG2
#endif
+#undef CONFIG_CHARGER_BQ25720_IDCHG_TH2_CUSTOM
+#ifdef CONFIG_PLATFORM_EC_CHARGER_BQ25720_IDCHG_TH2_CUSTOM
+#define CONFIG_CHARGER_BQ25720_IDCHG_TH2_CUSTOM
+#endif
+
+#undef CONFIG_CHARGER_BQ25720_IDCHG_TH2
+#ifdef CONFIG_PLATFORM_EC_CHARGER_BQ25720_IDCHG_TH2
+#define CONFIG_CHARGER_BQ25720_IDCHG_TH2 \
+ CONFIG_PLATFORM_EC_CHARGER_BQ25720_IDCHG_TH2
+#endif
+
#undef CONFIG_CHARGER_BQ25710_VSYS_MIN_VOLTAGE_CUSTOM
#ifdef CONFIG_PLATFORM_EC_CHARGER_BQ25710_VSYS_MIN_VOLTAGE_CUSTOM
#define CONFIG_CHARGER_BQ25710_VSYS_MIN_VOLTAGE_CUSTOM