blob: 548ac9e8dfee5faec714dcd9a9973c719481ff78 [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 Vaja393c0a22018-01-17 02:39:27 -080030 IOCTL_WRITE_GGS,
31 IOCTL_READ_GGS,
32 IOCTL_WRITE_PGGS,
33 IOCTL_READ_PGGS,
Rajan Vaja5529a012018-01-17 02:39:23 -080034};
35
36enum rpu_oper_mode {
37 PM_RPU_MODE_LOCKSTEP,
38 PM_RPU_MODE_SPLIT,
39};
40
41enum rpu_boot_mem {
42 PM_RPU_BOOTMEM_LOVEC,
43 PM_RPU_BOOTMEM_HIVEC,
44};
45
46enum rpu_tcm_comb {
47 PM_RPU_TCM_SPLIT,
48 PM_RPU_TCM_COMB,
49};
50
Rajan Vajaaea41bb2018-01-17 02:39:24 -080051enum tap_delay_signal_type {
52 PM_TAPDELAY_NAND_DQS_IN,
53 PM_TAPDELAY_NAND_DQS_OUT,
54 PM_TAPDELAY_QSPI,
55 PM_TAPDELAY_MAX,
56};
57
58enum tap_delay_bypass_ctrl {
59 PM_TAPDELAY_BYPASS_DISABLE,
60 PM_TAPDELAY_BYPASS_ENABLE,
61};
62
63enum sgmii_mode {
64 PM_SGMII_DISABLE,
65 PM_SGMII_ENABLE,
66};
67
68enum tap_delay_type {
69 PM_TAPDELAY_INPUT,
70 PM_TAPDELAY_OUTPUT,
71};
72
73enum dll_reset_type {
74 PM_DLL_RESET_ASSERT,
75 PM_DLL_RESET_RELEASE,
76 PM_DLL_RESET_PULSE,
77};
78
Rajan Vaja5529a012018-01-17 02:39:23 -080079enum pm_ret_status pm_api_ioctl(enum pm_node_id nid,
80 unsigned int ioctl_id,
81 unsigned int arg1,
82 unsigned int arg2,
83 unsigned int *value);
84#endif /* _PM_API_IOCTL_H_ */