blob: 6b094db113c607f10869d811c79400301cfb7ec8 [file] [log] [blame]
Rajan Vaja5529a012018-01-17 02:39:23 -08001/*
Michal Simek2a47faa2023-04-14 08:43:51 +02002 * Copyright (c) 2018-2022, Arm Limited and Contributors. All rights reserved.
Jay Buddhabhatti5b672d92023-03-23 05:02:50 -07003 * Copyright (c) 2022-2023, Advanced Micro Devices, Inc. All rights reserved.
Rajan Vaja5529a012018-01-17 02:39:23 -08004 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8/*
9 * ZynqMP system level PM-API functions for pin control.
10 */
11
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +000012#ifndef PM_API_IOCTL_H
13#define PM_API_IOCTL_H
Rajan Vaja5529a012018-01-17 02:39:23 -080014
15#include "pm_common.h"
16
Jolly Shah69fb5bf2018-02-07 16:25:41 -080017//RPU operation mode
18#define PM_RPU_MODE_LOCKSTEP 0U
19#define PM_RPU_MODE_SPLIT 1U
Rajan Vaja5529a012018-01-17 02:39:23 -080020
Jolly Shah69fb5bf2018-02-07 16:25:41 -080021//RPU boot mem
22#define PM_RPU_BOOTMEM_LOVEC 0U
23#define PM_RPU_BOOTMEM_HIVEC 1U
Rajan Vaja5529a012018-01-17 02:39:23 -080024
Jolly Shah69fb5bf2018-02-07 16:25:41 -080025//RPU tcm mpde
26#define PM_RPU_TCM_SPLIT 0U
27#define PM_RPU_TCM_COMB 1U
Rajan Vaja5529a012018-01-17 02:39:23 -080028
Jolly Shah69fb5bf2018-02-07 16:25:41 -080029//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
Rajan Vajaaea41bb2018-01-17 02:39:24 -080034
Jolly Shah69fb5bf2018-02-07 16:25:41 -080035//tap delay bypass
36#define PM_TAPDELAY_BYPASS_DISABLE 0U
37#define PM_TAPDELAY_BYPASS_ENABLE 1U
Rajan Vajaaea41bb2018-01-17 02:39:24 -080038
Jolly Shah69fb5bf2018-02-07 16:25:41 -080039//sgmii mode
40#define PM_SGMII_DISABLE 0U
41#define PM_SGMII_ENABLE 1U
Rajan Vajaaea41bb2018-01-17 02:39:24 -080042
43enum tap_delay_type {
44 PM_TAPDELAY_INPUT,
45 PM_TAPDELAY_OUTPUT,
46};
47
Jolly Shah69fb5bf2018-02-07 16:25:41 -080048//dll reset type
49#define PM_DLL_RESET_ASSERT 0U
50#define PM_DLL_RESET_RELEASE 1U
51#define PM_DLL_RESET_PULSE 2U
Rajan Vajaaea41bb2018-01-17 02:39:24 -080052
Rajan Vaja5529a012018-01-17 02:39:23 -080053enum pm_ret_status pm_api_ioctl(enum pm_node_id nid,
Venkatesh Yadav Abbarapue7c45382022-05-19 14:49:49 +053054 uint32_t ioctl_id,
55 uint32_t arg1,
56 uint32_t arg2,
57 uint32_t *value);
Prasad Kummarie0783112023-04-26 11:02:07 +053058enum pm_ret_status tfa_ioctl_bitmask(uint32_t *bit_mask);
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +000059#endif /* PM_API_IOCTL_H */