diff options
author | Sowmya Aralguppe <sowmya.aralguppe@intel.com> | 2024-08-02 07:37:36 +0530 |
---|---|---|
committer | Karthik Ramasubramanian <kramasub@google.com> | 2024-11-04 17:30:01 +0000 |
commit | 8a17b89733a6ea10bb9a0c86feb8927b069825be (patch) | |
tree | 5702547489c85c284dadcbaf0bc5fd446443a9f2 /src/ec | |
parent | af4a2ed955ed93512cdb13d78b5d5a779bac1fb0 (diff) |
ec/google/chromeec: Add is_battery_present()
This patch adds is_battery_present() to check if the
battery is physically present
BUG=b:335046538,b:329722827
TEST=Build Brox and check is_battery_present
returns the correct battery status.
Change-Id: Ie49ed8f6d8b0fa59ec0e7b06efea9cac4d253957
Signed-off-by: Sowmya Aralguppe <sowmya.aralguppe@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83735
Reviewed-by: Caveh Jalali <caveh@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Diffstat (limited to 'src/ec')
-rw-r--r-- | src/ec/google/chromeec/ec.c | 16 | ||||
-rw-r--r-- | src/ec/google/chromeec/ec.h | 8 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c index 088f2fe553..2ef2ea90d5 100644 --- a/src/ec/google/chromeec/ec.c +++ b/src/ec/google/chromeec/ec.c @@ -1566,3 +1566,19 @@ bool google_chromeec_is_battery_present_and_above_critical_threshold(void) return false; } + +bool google_chromeec_is_battery_present(void) +{ + struct ec_params_battery_dynamic_info params = { + .index = 0, + }; + struct ec_response_battery_dynamic_info resp; + + if (ec_cmd_battery_get_dynamic(PLAT_EC, ¶ms, &resp) == 0) { + /* Check if battery is present */ + if (resp.flags & EC_BATT_FLAG_BATT_PRESENT) + return true; + } + + return false; +} diff --git a/src/ec/google/chromeec/ec.h b/src/ec/google/chromeec/ec.h index 0062df60db..20b508c66a 100644 --- a/src/ec/google/chromeec/ec.h +++ b/src/ec/google/chromeec/ec.h @@ -425,6 +425,14 @@ void google_chromeec_clear_ec_ap_idle(void); bool google_chromeec_is_battery_present_and_above_critical_threshold(void); /** + * Check if battery is present. + * + * @return true: if the battery is present + * false: if the battery is not present + */ +bool google_chromeec_is_battery_present(void); + +/** * Determine if the UCSI stack is currently active. * * @return true if EC implements the UCSI stack |