blob: 6e50e94b98f54f54fbfc3bd465890b5b20a4d2a1 [file] [log] [blame]
Tejas Patel9d09ff92019-01-08 01:46:35 -08001/*
2 * Copyright (c) 2019, Xilinx, Inc. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef PM_API_SYS_H
8#define PM_API_SYS_H
9
10#include <stdint.h>
Tejas Patelfe0e10a2019-12-08 23:29:44 -080011#include "pm_defs.h"
Tejas Patel9d09ff92019-01-08 01:46:35 -080012
13/**********************************************************
14 * PM API function declarations
15 **********************************************************/
16
17enum pm_ret_status pm_get_api_version(unsigned int *version);
Tejas Patelfe0e10a2019-12-08 23:29:44 -080018enum pm_ret_status pm_self_suspend(uint32_t nid,
19 unsigned int latency,
20 unsigned int state,
21 uintptr_t address);
22enum pm_ret_status pm_abort_suspend(enum pm_abort_reason reason);
23enum pm_ret_status pm_req_suspend(uint32_t target,
24 uint8_t ack,
25 unsigned int latency,
26 unsigned int state);
Tejas Patel41f3e0b2019-01-08 01:46:37 -080027enum pm_ret_status pm_request_device(uint32_t device_id, uint32_t capabilities,
28 uint32_t qos, uint32_t ack);
29enum pm_ret_status pm_release_device(uint32_t device_id);
30enum pm_ret_status pm_set_requirement(uint32_t device_id, uint32_t capabilities,
31 uint32_t latency, uint32_t qos);
32enum pm_ret_status pm_get_device_status(uint32_t device_id, uint32_t *response);
Tejas Patel9d09ff92019-01-08 01:46:35 -080033
34#endif /* PM_API_SYS_H */