diff options
Diffstat (limited to 'common/charge_state_v2.c')
-rw-r--r-- | common/charge_state_v2.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/common/charge_state_v2.c b/common/charge_state_v2.c index f7ad95bb29..fe35a26851 100644 --- a/common/charge_state_v2.c +++ b/common/charge_state_v2.c @@ -1027,6 +1027,17 @@ int charge_prevent_power_on(int power_button_pressed) (charge_manager_get_charger_current() == CHARGE_CURRENT_UNINITIALIZED)) prevent_power_on = 1; + +#ifdef CONFIG_BATTERY_HW_PRESENT_CUSTOM + /* + * If battery is NOT physically present then prevent power on until + * charge manager provides at least LIKELY_PD_USBC_POWER_MW. + */ + if (extpower_is_present() && battery_hw_present() == BP_NO && + charge_manager_get_power_limit_uw() < + (LIKELY_PD_USBC_POWER_MW * 1000)) + prevent_power_on = 1; +#endif #endif return prevent_power_on; |