blob: d2ed412f8a110779208192a45d7377ff6e548c72 [file] [log] [blame]
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02001/*
Deepika Bhavnanic249d5e2020-02-06 16:29:45 -06002 * Copyright (c) 2018-2020, Arm Limited. All rights reserved.
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef __PMF_H__
8#define __PMF_H__
9
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020010/*
11 * Constants used for/by PMF services.
12 */
13#define PMF_ARM_TIF_IMPL_ID 0x41
14#define PMF_TID_SHIFT 0
15#define PMF_TID_MASK (0xFF << PMF_TID_SHIFT)
16#define PMF_SVC_ID_SHIFT 10
17#define PMF_SVC_ID_MASK (0x3F << PMF_SVC_ID_SHIFT)
18#define PMF_IMPL_ID_SHIFT 24
19#define PMF_IMPL_ID_MASK (0xFFU << PMF_IMPL_ID_SHIFT)
20
21/*
22 * Flags passed to PMF_GET_TIMESTAMP_XXX and PMF_CAPTURE_TIMESTAMP
23 */
24#define PMF_CACHE_MAINT (1 << 0)
25#define PMF_NO_CACHE_MAINT 0
26
27/*
28 * Defines for PMF SMC function ids.
29 */
Deepika Bhavnanic249d5e2020-02-06 16:29:45 -060030#ifndef __aarch64__
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020031#define PMF_SMC_GET_TIMESTAMP 0x82000010
32#else
33#define PMF_SMC_GET_TIMESTAMP 0xC2000010
34#endif
35
36#define PMF_NUM_SMC_CALLS 2
37
38/* Following are the supported PMF service IDs */
39#define PMF_PSCI_STAT_SVC_ID 0
40#define PMF_RT_INSTR_SVC_ID 1
41
42#endif /* __PMF_H__ */