xref: /rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_n1.h (revision f2d6b4ee5740245a92fd511180f7eebc6736a80b)
1b04ea14bSJohn Tsichritzis /*
2*f2d6b4eeSManish Pandey  * Copyright (c) 2017-2020, ARM Limited and Contributors. All rights reserved.
3b04ea14bSJohn Tsichritzis  *
4b04ea14bSJohn Tsichritzis  * SPDX-License-Identifier: BSD-3-Clause
5b04ea14bSJohn Tsichritzis  */
6b04ea14bSJohn Tsichritzis 
7da6d75a0SJohn Tsichritzis #ifndef NEOVERSE_N1_H
8da6d75a0SJohn Tsichritzis #define NEOVERSE_N1_H
9b04ea14bSJohn Tsichritzis 
10b04ea14bSJohn Tsichritzis #include <lib/utils_def.h>
11b04ea14bSJohn Tsichritzis 
12da6d75a0SJohn Tsichritzis /* Neoverse N1 MIDR for revision 0 */
13da6d75a0SJohn Tsichritzis #define NEOVERSE_N1_MIDR		U(0x410fd0c0)
14b04ea14bSJohn Tsichritzis 
1580942622Slaurenw-arm /* Exception Syndrome register EC code for IC Trap */
1680942622Slaurenw-arm #define NEOVERSE_N1_EC_IC_TRAP		U(0x1f)
1780942622Slaurenw-arm 
18b04ea14bSJohn Tsichritzis /*******************************************************************************
19632ab3ebSLouis Mayencourt  * CPU Power Control register specific definitions.
20b04ea14bSJohn Tsichritzis  ******************************************************************************/
21da6d75a0SJohn Tsichritzis #define NEOVERSE_N1_CPUPWRCTLR_EL1	S3_0_C15_C2_7
22b04ea14bSJohn Tsichritzis 
23da6d75a0SJohn Tsichritzis /* Definitions of register field mask in NEOVERSE_N1_CPUPWRCTLR_EL1 */
24da6d75a0SJohn Tsichritzis #define NEOVERSE_N1_CORE_PWRDN_EN_MASK	U(0x1)
25b04ea14bSJohn Tsichritzis 
26da6d75a0SJohn Tsichritzis #define NEOVERSE_N1_ACTLR_AMEN_BIT	(U(1) << 4)
27b04ea14bSJohn Tsichritzis 
28da6d75a0SJohn Tsichritzis #define NEOVERSE_N1_AMU_NR_COUNTERS	U(5)
29da6d75a0SJohn Tsichritzis #define NEOVERSE_N1_AMU_GROUP0_MASK	U(0x1f)
30b04ea14bSJohn Tsichritzis 
31632ab3ebSLouis Mayencourt /*******************************************************************************
32632ab3ebSLouis Mayencourt  * CPU Extended Control register specific definitions.
33632ab3ebSLouis Mayencourt  ******************************************************************************/
34632ab3ebSLouis Mayencourt #define NEOVERSE_N1_CPUECTLR_EL1	S3_0_C15_C1_4
35632ab3ebSLouis Mayencourt 
369eceb020Slauwal01 #define NEOVERSE_N1_WS_THR_L2_MASK	(ULL(3) << 24)
3711c48370Slauwal01 #define NEOVERSE_N1_CPUECTLR_EL1_MM_TLBPF_DIS_BIT	(ULL(1) << 51)
38*f2d6b4eeSManish Pandey #define NEOVERSE_N1_CPUECTLR_EL1_EXTLLC_BIT		(ULL(1) << 0)
399eceb020Slauwal01 
40632ab3ebSLouis Mayencourt /*******************************************************************************
41632ab3ebSLouis Mayencourt  * CPU Auxiliary Control register specific definitions.
42632ab3ebSLouis Mayencourt  ******************************************************************************/
43a601afe1Slauwal01 #define NEOVERSE_N1_CPUACTLR_EL1	S3_0_C15_C1_0
44a601afe1Slauwal01 
45a601afe1Slauwal01 #define NEOVERSE_N1_CPUACTLR_EL1_BIT_6	(ULL(1) << 6)
46411f4959Slauwal01 #define NEOVERSE_N1_CPUACTLR_EL1_BIT_13	(ULL(1) << 13)
47a601afe1Slauwal01 
48632ab3ebSLouis Mayencourt #define NEOVERSE_N1_CPUACTLR2_EL1	S3_0_C15_C1_1
49632ab3ebSLouis Mayencourt 
502017ab24Slauwal01 #define NEOVERSE_N1_CPUACTLR2_EL1_BIT_0		(ULL(1) << 0)
51632ab3ebSLouis Mayencourt #define NEOVERSE_N1_CPUACTLR2_EL1_BIT_2		(ULL(1) << 2)
52ef5fa7d4Slauwal01 #define NEOVERSE_N1_CPUACTLR2_EL1_BIT_11	(ULL(1) << 11)
532017ab24Slauwal01 #define NEOVERSE_N1_CPUACTLR2_EL1_BIT_15	(ULL(1) << 15)
545f5d0763SAndre Przywara #define NEOVERSE_N1_CPUACTLR2_EL1_BIT_16	(ULL(1) << 16)
55e34606f2Slauwal01 #define NEOVERSE_N1_CPUACTLR2_EL1_BIT_59	(ULL(1) << 59)
56e34606f2Slauwal01 
57335b3c79Slauwal01 #define NEOVERSE_N1_CPUACTLR3_EL1	S3_0_C15_C1_2
58335b3c79Slauwal01 
59335b3c79Slauwal01 #define NEOVERSE_N1_CPUACTLR3_EL1_BIT_10	(ULL(1) << 10)
60632ab3ebSLouis Mayencourt 
61b04ea14bSJohn Tsichritzis /* Instruction patching registers */
62b04ea14bSJohn Tsichritzis #define CPUPSELR_EL3	S3_6_C15_C8_0
63b04ea14bSJohn Tsichritzis #define CPUPCR_EL3	S3_6_C15_C8_1
64b04ea14bSJohn Tsichritzis #define CPUPOR_EL3	S3_6_C15_C8_2
65b04ea14bSJohn Tsichritzis #define CPUPMR_EL3	S3_6_C15_C8_3
66b04ea14bSJohn Tsichritzis 
67da6d75a0SJohn Tsichritzis #endif /* NEOVERSE_N1_H */
68