zephyr/subsys/power/policy/pm_policy.h

70 lines
1.5 KiB
C

/*
* Copyright (c) 2018 Intel Corporation.
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _PM_POLICY_H_
#define _PM_POLICY_H_
#include <power.h>
#include <soc_power.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief Function to create device PM list
*/
extern void sys_pm_create_device_list(void);
/**
* @brief Function to suspend the devices in PM device list
*/
extern int sys_pm_suspend_devices(void);
/**
* @brief Function to force suspend the devices in PM device list
*/
extern int sys_pm_force_suspend_devices(void);
/**
* @brief Function to resume the devices in PM device list
*/
extern void sys_pm_resume_devices(void);
/**
* @brief Function to get the next PM state based on the ticks
*/
extern int sys_pm_policy_next_state(s32_t ticks, enum power_states *state);
/**
* @brief Application defined function for Lower Power entry
*
* Application defined function for doing any target specific operations
* for low power entry.
*/
extern void sys_pm_notify_lps_entry(enum power_states state);
/**
* @brief Application defined function for Lower Power exit
*
* Application defined function for doing any target specific operations
* for low power exit.
*/
extern void sys_pm_notify_lps_exit(enum power_states state);
/**
* @brief Dump Low Power states related debug info
*
* Dump Low Power states debug info like LPS entry count and residencies.
*/
extern void sys_pm_dump_debug_info(void);
#ifdef __cplusplus
}
#endif
#endif /* _PM_POLICY_H_ */