1 /* 2 * Copyright (c) 2023 Intel Corporation 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef _SEDI_DRIVER_PM_H_ 8 #define _SEDI_DRIVER_PM_H_ 9 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 14 #include "sedi_driver_common.h" 15 16 /*! 17 * \defgroup sedi_driver_pm Power Management 18 * \ingroup sedi_driver 19 */ 20 21 /*! 22 * \defgroup pm_function_calls PM Driver Function Calls 23 * \ingroup sedi_driver_pm 24 * \{ 25 */ 26 27 /*! 28 * \brief Set a device into some power state 29 * \param[in] id: device id 30 * \param[in] state: the power state to be set to the device 31 * \return void 32 */ 33 void sedi_pm_set_device_power(IN sedi_devid_t id, IN sedi_power_state_t state); 34 35 /*! 36 * \brief Get the power state of a device 37 * \param[in] id: device id 38 * \return \ref sedi_power_state_t 39 */ 40 sedi_power_state_t sedi_pm_get_device_power(IN sedi_devid_t id); 41 42 /*! 43 * \brief Notify host suspend state change to SEDI PM 44 * \param[in] suspend: host goes into/out of suspend state 45 * \return void 46 */ 47 void sedi_pm_host_suspend(uint32_t suspend); 48 49 /*! 50 * \} 51 */ 52 53 #ifdef __cplusplus 54 } 55 #endif 56 57 #endif /* _SEDI_DRIVER_PM_H_*/ 58