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>
This commit is contained in:
Sowmya Aralguppe 2024-08-02 07:37:36 +05:30 committed by Karthik Ramasubramanian
commit 8a17b89733
2 changed files with 24 additions and 0 deletions

View file

@ -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, &params, &resp) == 0) {
/* Check if battery is present */
if (resp.flags & EC_BATT_FLAG_BATT_PRESENT)
return true;
}
return false;
}

View file

@ -424,6 +424,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.
*