blob: 0d5085433c93d62b39f749ac79a1eaecbca73f82 [file] [log] [blame]
Javier Almansa Sobrino9faad3c2020-10-23 13:22:07 +01001/*
Bipin Ravi86499742022-01-18 01:59:06 -06002 * Copyright (c) 2020-2022, Arm Limited. All rights reserved.
Javier Almansa Sobrino9faad3c2020-10-23 13:22:07 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef NEOVERSE_N2_H
8#define NEOVERSE_N2_H
9
10/* Neoverse N2 ID register for revision r0p0 */
nayanpatel-armd4c5f9c2021-09-28 09:46:45 -070011#define NEOVERSE_N2_MIDR U(0x410FD490)
Javier Almansa Sobrino9faad3c2020-10-23 13:22:07 +010012
Bipin Ravi86499742022-01-18 01:59:06 -060013/* Neoverse N2 loop count for CVE-2022-23960 mitigation */
14#define NEOVERSE_N2_BHB_LOOP_COUNT U(32)
15
Javier Almansa Sobrino9faad3c2020-10-23 13:22:07 +010016/*******************************************************************************
17 * CPU Power control register
18 ******************************************************************************/
nayanpatel-armd4c5f9c2021-09-28 09:46:45 -070019#define NEOVERSE_N2_CPUPWRCTLR_EL1 S3_0_C15_C2_7
20#define NEOVERSE_N2_CORE_PWRDN_EN_BIT (ULL(1) << 0)
Javier Almansa Sobrino9faad3c2020-10-23 13:22:07 +010021
22/*******************************************************************************
23 * CPU Extended Control register specific definitions.
24 ******************************************************************************/
nayanpatel-armd4c5f9c2021-09-28 09:46:45 -070025#define NEOVERSE_N2_CPUECTLR_EL1 S3_0_C15_C1_4
26#define NEOVERSE_N2_CPUECTLR_EL1_EXTLLC_BIT (ULL(1) << 0)
27#define NEOVERSE_N2_CPUECTLR_EL1_PFSTIDIS_BIT (ULL(1) << 8)
Javier Almansa Sobrino9faad3c2020-10-23 13:22:07 +010028
29/*******************************************************************************
30 * CPU Auxiliary Control register specific definitions.
31 ******************************************************************************/
nayanpatel-armd4c5f9c2021-09-28 09:46:45 -070032#define NEOVERSE_N2_CPUACTLR_EL1 S3_0_C15_C1_0
33#define NEOVERSE_N2_CPUACTLR_EL1_BIT_46 (ULL(1) << 46)
nayanpatel-arm2f153992021-10-06 15:31:24 -070034#define NEOVERSE_N2_CPUACTLR_EL1_BIT_22 (ULL(1) << 22)
Bipin Ravieb35e852021-03-30 16:08:32 -050035
36/*******************************************************************************
37 * CPU Auxiliary Control register 2 specific definitions.
38 ******************************************************************************/
nayanpatel-armd4c5f9c2021-09-28 09:46:45 -070039#define NEOVERSE_N2_CPUACTLR2_EL1 S3_0_C15_C1_1
Akram Ahmadb621bda2022-07-18 12:27:29 +010040#define NEOVERSE_N2_CPUACTLR2_EL1_BIT_0 (ULL(1) << 0)
nayanpatel-armd4c5f9c2021-09-28 09:46:45 -070041#define NEOVERSE_N2_CPUACTLR2_EL1_BIT_2 (ULL(1) << 2)
Boyan Karatotevd3f8b4d2022-10-03 14:07:08 +010042#define NEOVERSE_N2_CPUACTLR2_EL1_BIT_36 (ULL(1) << 36)
Daniel Boulby1af2b112022-07-06 14:33:13 +010043#define NEOVERSE_N2_CPUACTLR2_EL1_BIT_40 (ULL(1) << 40)
Javier Almansa Sobrino9faad3c2020-10-23 13:22:07 +010044
Bipin Ravi7e030692021-08-30 13:02:51 -050045/*******************************************************************************
Arvind Ram Prakash189622a2023-07-17 14:46:14 -050046 * CPU Auxiliary Control register 3 specific definitions.
47 ******************************************************************************/
48#define NEOVERSE_N2_CPUACTLR3_EL1 S3_0_C15_C1_2
49#define NEOVERSE_N2_CPUACTLR3_EL1_BIT_47 (ULL(1) << 47)
50
51/*******************************************************************************
Bipin Ravi7e030692021-08-30 13:02:51 -050052 * CPU Auxiliary Control register 5 specific definitions.
53 ******************************************************************************/
nayanpatel-armd4c5f9c2021-09-28 09:46:45 -070054#define NEOVERSE_N2_CPUACTLR5_EL1 S3_0_C15_C8_0
Arvind Ram Prakash465f93b2023-07-05 17:24:23 -050055#define NEOVERSE_N2_CPUACTLR5_EL1_BIT_56 (ULL(1) << 56)
56#define NEOVERSE_N2_CPUACTLR5_EL1_BIT_55 (ULL(1) << 55)
nayanpatel-armd4c5f9c2021-09-28 09:46:45 -070057#define NEOVERSE_N2_CPUACTLR5_EL1_BIT_44 (ULL(1) << 44)
nayanpatel-arm8e1aa012021-10-20 18:28:58 -070058#define NEOVERSE_N2_CPUACTLR5_EL1_BIT_13 (ULL(1) << 13)
nayanpatel-armfed98132021-10-07 17:59:33 -070059#define NEOVERSE_N2_CPUACTLR5_EL1_BIT_17 (ULL(1) << 17)
nayanpatel-armd4c5f9c2021-09-28 09:46:45 -070060
61/*******************************************************************************
62 * CPU Auxiliary Control register specific definitions.
63 ******************************************************************************/
64#define NEOVERSE_N2_CPUECTLR2_EL1 S3_0_C15_C1_5
65#define NEOVERSE_N2_CPUECTLR2_EL1_PF_MODE_CNSRV ULL(9)
66#define CPUECTLR2_EL1_PF_MODE_LSB U(11)
67#define CPUECTLR2_EL1_PF_MODE_WIDTH U(4)
Bipin Ravi7e030692021-08-30 13:02:51 -050068
Javier Almansa Sobrino9faad3c2020-10-23 13:22:07 +010069#endif /* NEOVERSE_N2_H */