blob: b290574c84602949dc3cf2232d8e1d5ab50e5f78 [file] [log] [blame]
Rajan Vaja5529a012018-01-17 02:39:23 -08001/*
2 * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7/*
8 * ZynqMP system level PM-API functions for pin control.
9 */
10
11#ifndef _PM_API_IOCTL_H_
12#define _PM_API_IOCTL_H_
13
14#include "pm_common.h"
15
16enum pm_ioctl_id {
17 IOCTL_GET_RPU_OPER_MODE,
18 IOCTL_SET_RPU_OPER_MODE,
19 IOCTL_RPU_BOOT_ADDR_CONFIG,
20 IOCTL_TCM_COMB_CONFIG,
Rajan Vajaaea41bb2018-01-17 02:39:24 -080021 IOCTL_SET_TAPDELAY_BYPASS,
22 IOCTL_SET_SGMII_MODE,
23 IOCTL_SD_DLL_RESET,
24 IOCTL_SET_SD_TAPDELAY,
Rajan Vaja35116132018-01-17 02:39:25 -080025 /* Ioctl for clock driver */
26 IOCTL_SET_PLL_FRAC_MODE,
27 IOCTL_GET_PLL_FRAC_MODE,
28 IOCTL_SET_PLL_FRAC_DATA,
29 IOCTL_GET_PLL_FRAC_DATA,
Rajan Vaja5529a012018-01-17 02:39:23 -080030};
31
32enum rpu_oper_mode {
33 PM_RPU_MODE_LOCKSTEP,
34 PM_RPU_MODE_SPLIT,
35};
36
37enum rpu_boot_mem {
38 PM_RPU_BOOTMEM_LOVEC,
39 PM_RPU_BOOTMEM_HIVEC,
40};
41
42enum rpu_tcm_comb {
43 PM_RPU_TCM_SPLIT,
44 PM_RPU_TCM_COMB,
45};
46
Rajan Vajaaea41bb2018-01-17 02:39:24 -080047enum tap_delay_signal_type {
48 PM_TAPDELAY_NAND_DQS_IN,
49 PM_TAPDELAY_NAND_DQS_OUT,
50 PM_TAPDELAY_QSPI,
51 PM_TAPDELAY_MAX,
52};
53
54enum tap_delay_bypass_ctrl {
55 PM_TAPDELAY_BYPASS_DISABLE,
56 PM_TAPDELAY_BYPASS_ENABLE,
57};
58
59enum sgmii_mode {
60 PM_SGMII_DISABLE,
61 PM_SGMII_ENABLE,
62};
63
64enum tap_delay_type {
65 PM_TAPDELAY_INPUT,
66 PM_TAPDELAY_OUTPUT,
67};
68
69enum dll_reset_type {
70 PM_DLL_RESET_ASSERT,
71 PM_DLL_RESET_RELEASE,
72 PM_DLL_RESET_PULSE,
73};
74
Rajan Vaja5529a012018-01-17 02:39:23 -080075enum pm_ret_status pm_api_ioctl(enum pm_node_id nid,
76 unsigned int ioctl_id,
77 unsigned int arg1,
78 unsigned int arg2,
79 unsigned int *value);
80#endif /* _PM_API_IOCTL_H_ */