1 /*
2  * Copyright (c) 2018-2022, Arm Limited and Contributors. All rights reserved.
3  * Copyright (c) 2022-2023, Advanced Micro Devices, Inc. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 /*
9  * ZynqMP system level PM-API functions for pin control.
10  */
11 
12 #ifndef PM_API_IOCTL_H
13 #define PM_API_IOCTL_H
14 
15 #include "pm_common.h"
16 
17 //RPU operation mode
18 #define	PM_RPU_MODE_LOCKSTEP 0U
19 #define	PM_RPU_MODE_SPLIT 1U
20 
21 //RPU boot mem
22 #define	PM_RPU_BOOTMEM_LOVEC 0U
23 #define	PM_RPU_BOOTMEM_HIVEC 1U
24 
25 //RPU tcm mpde
26 #define	PM_RPU_TCM_SPLIT 0U
27 #define	PM_RPU_TCM_COMB 1U
28 
29 //tap delay signal type
30 #define	PM_TAPDELAY_NAND_DQS_IN 0U
31 #define	PM_TAPDELAY_NAND_DQS_OUT 1U
32 #define	PM_TAPDELAY_QSPI 2U
33 #define	PM_TAPDELAY_MAX 3U
34 
35 //tap delay bypass
36 #define	PM_TAPDELAY_BYPASS_DISABLE 0U
37 #define	PM_TAPDELAY_BYPASS_ENABLE 1U
38 
39 enum tap_delay_type {
40 	PM_TAPDELAY_INPUT,
41 	PM_TAPDELAY_OUTPUT,
42 };
43 
44 //dll reset type
45 #define	PM_DLL_RESET_ASSERT 0U
46 #define	PM_DLL_RESET_RELEASE 1U
47 #define	PM_DLL_RESET_PULSE 2U
48 
49 enum pm_ret_status pm_api_ioctl(enum pm_node_id nid,
50 				uint32_t ioctl_id,
51 				uint32_t arg1,
52 				uint32_t arg2,
53 				uint32_t *value);
54 enum pm_ret_status tfa_ioctl_bitmask(uint32_t *bit_mask);
55 #endif /* PM_API_IOCTL_H */
56