DLPS Platform Exported Functions
- group DLPS_PLATFORM_Exported_Functions
-
Functions
-
void platform_pm_set_power_mode(PlatformPowerMode pf_power_mode_user)
-
Set platform power mode.
- Parameters:
-
mode -- [in] Platform power mode, refer to PlatformPowerMode.
-
PlatformPowerMode platform_pm_get_power_mode(void)
-
Get platform power mode.
- Returns:
-
Platform power mode, refer to PlatformPowerMode.
-
void btmac_pm_set_power_mode(BtmacPowerMode bz_power_mode_user)
-
Set BT power mode.
- Parameters:
-
mode -- [in] BT power mode, refer to BtmacPowerMode.
-
BtmacPowerMode btmac_pm_get_power_mode(void)
-
Get BT power mode.
- Returns:
-
BT power mode, refer to BtmacPowerMode.
-
inline void lps_mode_pause(void)
-
Pause low power mode. API increments a control value by 1. If the control value > 0, low power mode is not allowed to enter.
-
inline void lps_mode_resume(void)
-
Resume low power mode. API decrements a control value by 1. If the control value is reduced to 0, low power mode is allowed to enter.
-
inline bool dlps_check_cb_reg(DLPSEnterCheckFunc func)
-
Register check callback function to power manager. In idle task, system will call this function each time before entering DLPS to decide whether DLPS is allowed to enter.
- Parameters:
-
func -- [in] Check callback function, refer to DLPSEnterCheckFunc.
- Returns:
-
Operation result.
-
inline bool dlps_hw_control_cb_reg(DLPSHWControlFunc func, PlatformPMStage dlpsStage)
-
Register callback function to power manager which will call it in different power stages.
- Parameters:
func -- [in] Callback function, refer to DLPSHWControlFunc.
dlpsStage -- [in] Power stage for the callback function, refer to PlatformPMStage.
- Returns:
-
Operation result.
-
PlatformPowerModeErrorCode platform_pm_get_error_code(void)
-
Get error reason which prevents system from entering low power mode.
- Returns:
-
Error reason which prevents the system from entering low power mode, refer to PlatformPowerModeErrorCode.
-
uint32_t *platform_pm_get_refuse_reason(void)
-
Get callback function which prevents the system from entering low power mode.
- Returns:
-
Address of callback function which prevents the system from entering low power mode.
-
PlatformWakeupReason platform_pm_get_wakeup_reason(void)
-
Get wake-up reason when low power mode is exited.
- Returns:
-
Wake-up reason, refer to PlatformWakeupReason.
-
void platform_pm_get_statistics(uint32_t *wakeup_count, uint32_t *last_wakeup_clk, uint32_t *last_sleep_clk)
-
Get debug information of DLPS mode.
- Parameters:
wakeup_count -- [out] Total counts of entering and exiting DLPS.
last_wakeup_clk -- [out] Last wake-up clock, unit: 31.25us.
last_sleep_clk -- [out] Last sleep clock, unit: 31.25us.
-
void platform_pm_stop_all_non_excluded_timer(void)
-
Stop all of the SW timers which will wake up low power mode.
-
void set_boot_active_time(uint32_t active_time_ms)
-
Set active time after boot before entering into dlps.
- Parameters:
-
active_time_ms -- [in] time to keep active, unit ms.
-
inline void lps_mode_set(PlatformPowerMode mode)
-
Set low power mode.
- Parameters:
-
mode -- [in] Platform power mode, refer to PlatformPowerMode.
-
inline PlatformPowerMode lps_mode_get(void)
-
Get low power mode.
- Returns:
-
Platform power mode, , refer to PlatformPowerMode.
-
inline uint32_t lps_wakeup_count_get(void)
-
Return dlps wakeup counts.
- Returns:
-
DLPS wake up counts.
-
inline void set_dataram_to_shutdown(DATARAM_SHUTDOWN_LEVEL level)
-
Set data ram to shut down instead of deep sleep when enter dlps to reduce power consumption. Data ram(total 104k) divides into 5 blocks: 32k + 32k + 32k + 4k + 4k.
- Parameters:
-
level -- [in] Data SRAM shutdown level, refer to DATARAM_SHUTDOWN_LEVEL.
Variables
-
bool (*os_register_pm_excluded_handle)(void **pp_handle, PlatformExcludedHandleType type)
-
Exclude SW timer or task from low power wake list, SW timer needs to be one-shot timer.
- Param handle:
-
[in] Handle of SW timer or task.
- Param type:
-
[in] Type of SW timer or task, refer to PlatformExcludedHandleType.
- Return:
-
Operation status
-
bool (*os_unregister_pm_excluded_handle)(void **pp_handle, PlatformExcludedHandleType type)
-
Cancel exclude SW timer or task from low power wake list.
- Param handle:
-
[in] Handle of timer or task.
- Param type:
-
[in] Type of timer or task, refer to PlatformExcludedHandleType.
- Return:
-
Operation status
-
void platform_pm_set_power_mode(PlatformPowerMode pf_power_mode_user)