1 /*
2  * Copyright (c) 2017-2021, ARM Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef AMU_PRIVATE_H
8 #define AMU_PRIVATE_H
9 
10 #include <stdint.h>
11 
12 #include <lib/cassert.h>
13 #include <lib/extensions/amu.h>
14 #include <lib/utils_def.h>
15 
16 #include <platform_def.h>
17 
18 #define AMU_GROUP0_MAX_COUNTERS		U(16)
19 #define AMU_GROUP1_MAX_COUNTERS		U(16)
20 
21 #define AMU_AMCGCR_CG0NC_MAX		U(16)
22 
23 uint64_t amu_group0_cnt_read_internal(unsigned int idx);
24 void amu_group0_cnt_write_internal(unsigned int idx, uint64_t val);
25 
26 uint64_t amu_group1_cnt_read_internal(unsigned int idx);
27 void amu_group1_cnt_write_internal(unsigned int idx, uint64_t val);
28 void amu_group1_set_evtype_internal(unsigned int idx, unsigned int val);
29 
30 #if __aarch64__
31 uint64_t amu_group0_voffset_read_internal(unsigned int idx);
32 void amu_group0_voffset_write_internal(unsigned int idx, uint64_t val);
33 
34 uint64_t amu_group1_voffset_read_internal(unsigned int idx);
35 void amu_group1_voffset_write_internal(unsigned int idx, uint64_t val);
36 #endif
37 
38 #endif /* AMU_PRIVATE_H */
39