FreeCalypso > hg > fc-tourmaline
view src/cs/drivers/drv_app/pwr/pwr_api.h @ 263:b5e8dfd114a7
Switch_ON(): go into charging boot mode on either CHGSTS or CHGPRES
If someone were to plug and then unplug a charger into a switched-off
phone in an extremely brief "glitch" manner, we should do an automatic
power-off on boot in this condition. When we were checking only
CHGPRES in Switch_ON(), we would go into Misc boot state instead,
which is undesirable. Now if we have a CHGSTS but not CHGPRES
condition, we will go into charging boot mode, and FCBM will then
do the automatic power-off upon detecting absence of the charger
in its periodic polling.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Fri, 14 May 2021 05:50:36 +0000 |
| parents | 4e78acac3d88 |
| children |
line wrap: on
line source
/******************************************************************************* * * pwr_api.h * * Purpose: This file contains definitions that can be used by any SWE * for power management services. * * Author Candice Bazanegue (c-brille@ti.com) * * (C) Texas Instruments 2001 * ******************************************************************************/ #ifndef __PWR_API_H__ #define __PWR_API_H__ #include "rv/rv_general.h" typedef T_RV_RET T_POWER_RET; typedef enum { POWER_OK = 0, /* OK */ POWER_ERROR = -1 /* ERROR */ }; /* Define the different charging process states */ typedef enum { CHARGE_STOPPED, TESTING_BATTERY, CI_CHARGE_STARTED, /* constant current charge */ CV_CHARGE_STARTED /* constant voltage charge */ }T_PWR_CHARGING_STATE; /* Define the different states for TIMER0 use */ typedef enum { BATTERY_TYPE_TEST, BATTERY_SHORT_TEST, BATTERY_OPEN_TEST, BATTERY_50UA_TEMP_TEST, BATTERY_10UA_TEMP_TEST, BATTERY_CALIBRATION }T_PWR_TIMER0_STATE; typedef struct { BOOLEAN info_enable; T_RV_RETURN return_path; }T_POWER_INFO; typedef UINT8 T_PWR_PERCENT; typedef struct { T_PWR_PERCENT remain_capa_threshold; T_RV_RETURN return_path; }T_POWER_ALERT; typedef enum { BAT_TEMP_OUTSIDE_LIMITS, BAT_OPEN_TEST_FAILED, BAT_SHORT_TEST_FAILED, BAT_TYPE_UNKNOWN } T_BAT_PROBLEM; /* Prototypes */ T_POWER_RET power_info_register(BOOLEAN info_enable, T_RV_RETURN return_path); T_POWER_RET power_alert_register(T_PWR_PERCENT remain_capa_threshold, T_RV_RETURN return_path); T_POWER_RET power_emergency_register(T_RV_RETURN return_path); T_POWER_RET power_battery_information(void); void pwr_get_bat_info(void); #endif /* __PWR_API_H__ */
