84#ifndef _IARM_BUS_DEEPSLEEPMGR_H
85#define _IARM_BUS_DEEPSLEEPMGR_H
88#include "libIBusDaemon.h"
96#define IARM_BUS_DEEPSLEEPMGR_NAME "DEEPSLEEPMgr"
108#ifdef ENABLE_DEEP_SLEEP
160#define IARM_BUS_DEEPSLEEPMGR_API_SetDeepSleepTimer "SetDeepSleepTimer"
161#define IARM_BUS_DEEPSLEEPMGR_API_GetLastWakeupReason "GetLastWakeupReason"
162#define IARM_BUS_DEEPSLEEPMGR_API_GetLastWakeupKeyCode "GetLastWakeupKeycode"
enum _DeepSleep_WakeupReason_t DeepSleep_WakeupReason_t
Enum for all possible Wakeup Reasons from DeepSleep State.
int PLAT_DS_INIT(void)
Initializes the underlying Deep Sleep Management module.
void PLAT_DS_DeepSleepWakeup(void)
Sets or configures the platform status after deepsleep wake-up.
_DeepSleep_WakeupReason_t
Enum for all possible Wakeup Reasons from DeepSleep State.
Definition deepSleepMgr.h:175
int PLAT_DS_SetDeepSleep(uint32_t deep_sleep_timeout, bool *isGPIOWakeup)
Sets the CPE's Power State to Deep Sleep.
int PLAT_DS_GetLastWakeupKeyCode(IARM_Bus_DeepSleepMgr_WakeupKeyCode_Param_t *wakeupKeyCode)
Gets the CPE's Last wakeup key code.
void PLAT_DS_TERM(void)
Terminates the CPE Deep Sleep Management module.
int PLAT_DS_GetLastWakeupReason(DeepSleep_WakeupReason_t *wakeupReason)
Gets the CPE's Last wakeup reason.
struct _IARM_Bus_DeepSleepMgr_WakeupKeyCode_Param_t IARM_Bus_DeepSleepMgr_WakeupKeyCode_Param_t
Struct for handling the wake up key code.
struct _IARM_Bus_DeepSleepMgr_SetDeepSleepTimer_Param_t IARM_Bus_DeepSleepMgr_SetDeepSleepTimer_Param_t
Structure which holds the HAL timeout in seconds.
enum _DeepSleepStatus_t DeepSleepStatus_t
_DeepSleepStatus_t
Definition deepSleepMgr.h:98
@ DEEPSLEEP_WAKEUPREASON_WARM_RESET
Definition deepSleepMgr.h:187
@ DEEPSLEEP_WAKEUPREASON_VOICE
Definition deepSleepMgr.h:192
@ DEEPSLEEP_WAKEUPREASON_CEC
Definition deepSleepMgr.h:190
@ DEEPSLEEP_WAKEUPREASON_UNKNOWN
Definition deepSleepMgr.h:193
@ DEEPSLEEP_WAKEUPREASON_COLDBOOT
Definition deepSleepMgr.h:188
@ DEEPSLEEP_WAKEUPREASON_IR
Definition deepSleepMgr.h:176
@ DEEPSLEEP_WAKEUPREASON_LAN
Definition deepSleepMgr.h:180
@ DEEPSLEEP_WAKEUPREASON_STR_AUTH_FAILURE
Definition deepSleepMgr.h:189
@ DEEPSLEEP_WAKEUPREASON_WATCHDOG
Definition deepSleepMgr.h:184
@ DEEPSLEEP_WAKEUPREASON_GPIO
Definition deepSleepMgr.h:179
@ DEEPSLEEP_WAKEUPREASON_RCU_BT
Definition deepSleepMgr.h:177
@ DEEPSLEEP_WAKEUPREASON_TIMER
Definition deepSleepMgr.h:182
@ DEEPSLEEP_WAKEUPREASON_THERMAL_RESET
Definition deepSleepMgr.h:186
@ DEEPSLEEP_WAKEUPREASON_FRONT_PANEL
Definition deepSleepMgr.h:183
@ DEEPSLEEP_WAKEUPREASON_WLAN
Definition deepSleepMgr.h:181
@ DEEPSLEEP_WAKEUPREASON_PRESENCE
Definition deepSleepMgr.h:191
@ DEEPSLEEP_WAKEUPREASON_RCU_RF4CE
Definition deepSleepMgr.h:178
@ DEEPSLEEP_WAKEUPREASON_SOFTWARE_RESET
Definition deepSleepMgr.h:185
@ DeepSleepStatus_Failed
Definition deepSleepMgr.h:99
@ DeepSleepStatus_InProgress
Definition deepSleepMgr.h:101
@ DeepSleepStatus_Completed
Definition deepSleepMgr.h:102
@ DeepSleepStatus_NotStarted
Definition deepSleepMgr.h:100
Structure which holds the HAL timeout in seconds.
Definition deepSleepMgr.h:167
unsigned int timeout
Definition deepSleepMgr.h:168
Struct for handling the wake up key code.
Definition deepSleepMgr.h:202
unsigned int keyCode
Definition deepSleepMgr.h:203