diff options
author | Caveh Jalali <caveh@chromium.org> | 2021-11-02 23:43:14 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-11-17 22:06:24 +0000 |
commit | 07de73c3113f35226eff345469336a50c83eb1f3 (patch) | |
tree | 4383209d0e1257f8d58c6ac877a6815968f2c16a | |
parent | a19c2540ff286fa652f561700b15fa545851a9c6 (diff) | |
download | chrome-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.c | 10 | ||||
-rw-r--r-- | include/config.h | 11 | ||||
-rw-r--r-- | zephyr/Kconfig.battery | 18 | ||||
-rw-r--r-- | zephyr/shim/include/config_chip.h | 11 |
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, ®); @@ -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 |