FreeCalypso > hg > fc-tourmaline
view src/cs/drivers/drv_app/power/power.h @ 244:96784b8974eb
Switch_ON(): detect charging mode by CHGPRES bit
Consider the following scenario: the phone is on, the user plugs in
the charger, and then executes the power-off operation. In the Iota
VRPC this sequence translates to a switch-off immediately followed
by another switch-on - but the CHGSTS bit doesn't get set on the second
switch-on cycle! Disassembly of Pirelli's fw shows that they check
the CHGPRES bit, and furthermore, if both CHGPRES and ONBSTS are set,
the code they pass to their modified Power_ON_Button() function is
the one for charging - so let's adopt the same CHGPRES check and
the same priority order for switch-on causes.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 03 May 2021 06:51:29 +0000 |
parents | 4e78acac3d88 |
children |
line wrap: on
line source
/******************************************************************************* * * power.h * * * (C) Texas Instruments 2001 * ******************************************************************************/ #ifndef __POWER_H__ #define __POWER_H__ #include "rv/rv_defined_swe.h" // for RVM_PWR_SWE /* Prototypes */ void Power_ON_Button(void); void Power_ON_Remote(void); void Switch_ON(void); void Set_Switch_ON_Cause(void); void Power_IT_WakeUp(void); void Power_OFF_Button(void); void Power_OFF_Remote(void); #ifdef RVM_PWR_SWE void PWR_Charger_Plug(void); void PWR_Charger_Unplug(void); #endif /* #ifdef RVM_PWR_SWE */ #endif /* __POWER_H__ */