125bbbd2dSJavier Almansa Sobrino /* 2adea6e52SGovindraj Raja * Copyright (c) 2020-2025, Arm Limited. All rights reserved. 325bbbd2dSJavier Almansa Sobrino * 425bbbd2dSJavier Almansa Sobrino * SPDX-License-Identifier: BSD-3-Clause 525bbbd2dSJavier Almansa Sobrino */ 625bbbd2dSJavier Almansa Sobrino 725bbbd2dSJavier Almansa Sobrino #ifndef NEOVERSE_N2_H 825bbbd2dSJavier Almansa Sobrino #define NEOVERSE_N2_H 925bbbd2dSJavier Almansa Sobrino 1025bbbd2dSJavier Almansa Sobrino /* Neoverse N2 ID register for revision r0p0 */ 1125bbbd2dSJavier Almansa Sobrino #define NEOVERSE_N2_MIDR U(0x410FD490) 1225bbbd2dSJavier Almansa Sobrino 131fe4a9d1SBipin Ravi /* Neoverse N2 loop count for CVE-2022-23960 mitigation */ 141fe4a9d1SBipin Ravi #define NEOVERSE_N2_BHB_LOOP_COUNT U(32) 151fe4a9d1SBipin Ravi 1625bbbd2dSJavier Almansa Sobrino /******************************************************************************* 1725bbbd2dSJavier Almansa Sobrino * CPU Power control register 1825bbbd2dSJavier Almansa Sobrino ******************************************************************************/ 1925bbbd2dSJavier Almansa Sobrino #define NEOVERSE_N2_CPUPWRCTLR_EL1 S3_0_C15_C2_7 2025bbbd2dSJavier Almansa Sobrino #define NEOVERSE_N2_CORE_PWRDN_EN_BIT (ULL(1) << 0) 2125bbbd2dSJavier Almansa Sobrino 2225bbbd2dSJavier Almansa Sobrino /******************************************************************************* 2325bbbd2dSJavier Almansa Sobrino * CPU Extended Control register specific definitions. 2425bbbd2dSJavier Almansa Sobrino ******************************************************************************/ 2525bbbd2dSJavier Almansa Sobrino #define NEOVERSE_N2_CPUECTLR_EL1 S3_0_C15_C1_4 2625bbbd2dSJavier Almansa Sobrino #define NEOVERSE_N2_CPUECTLR_EL1_EXTLLC_BIT (ULL(1) << 0) 274618b2bfSBipin Ravi #define NEOVERSE_N2_CPUECTLR_EL1_PFSTIDIS_BIT (ULL(1) << 8) 28*75384389SRohit Ner #define NEOVERSE_N2_CPUECTLR_EL1_PFDIS_BIT (ULL(1) << 15) 2925bbbd2dSJavier Almansa Sobrino 3025bbbd2dSJavier Almansa Sobrino /******************************************************************************* 3125bbbd2dSJavier Almansa Sobrino * CPU Auxiliary Control register specific definitions. 3225bbbd2dSJavier Almansa Sobrino ******************************************************************************/ 3365e04f27SBipin Ravi #define NEOVERSE_N2_CPUACTLR_EL1 S3_0_C15_C1_0 3465e04f27SBipin Ravi #define NEOVERSE_N2_CPUACTLR_EL1_BIT_46 (ULL(1) << 46) 355819e23bSnayanpatel-arm #define NEOVERSE_N2_CPUACTLR_EL1_BIT_22 (ULL(1) << 22) 3665e04f27SBipin Ravi 3765e04f27SBipin Ravi /******************************************************************************* 3865e04f27SBipin Ravi * CPU Auxiliary Control register 2 specific definitions. 3965e04f27SBipin Ravi ******************************************************************************/ 4025bbbd2dSJavier Almansa Sobrino #define NEOVERSE_N2_CPUACTLR2_EL1 S3_0_C15_C1_1 41e6602d4bSAkram Ahmad #define NEOVERSE_N2_CPUACTLR2_EL1_BIT_0 (ULL(1) << 0) 4225bbbd2dSJavier Almansa Sobrino #define NEOVERSE_N2_CPUACTLR2_EL1_BIT_2 (ULL(1) << 2) 4343438ad1SBoyan Karatotev #define NEOVERSE_N2_CPUACTLR2_EL1_BIT_36 (ULL(1) << 36) 44884d5156SDaniel Boulby #define NEOVERSE_N2_CPUACTLR2_EL1_BIT_40 (ULL(1) << 40) 4525bbbd2dSJavier Almansa Sobrino 467cfae932SBipin Ravi /******************************************************************************* 4712d28067SArvind Ram Prakash * CPU Auxiliary Control register 3 specific definitions. 4812d28067SArvind Ram Prakash ******************************************************************************/ 4912d28067SArvind Ram Prakash #define NEOVERSE_N2_CPUACTLR3_EL1 S3_0_C15_C1_2 5012d28067SArvind Ram Prakash #define NEOVERSE_N2_CPUACTLR3_EL1_BIT_47 (ULL(1) << 47) 5112d28067SArvind Ram Prakash 5212d28067SArvind Ram Prakash /******************************************************************************* 537cfae932SBipin Ravi * CPU Auxiliary Control register 5 specific definitions. 547cfae932SBipin Ravi ******************************************************************************/ 557cfae932SBipin Ravi #define NEOVERSE_N2_CPUACTLR5_EL1 S3_0_C15_C8_0 56eb44035cSArvind Ram Prakash #define NEOVERSE_N2_CPUACTLR5_EL1_BIT_56 (ULL(1) << 56) 57eb44035cSArvind Ram Prakash #define NEOVERSE_N2_CPUACTLR5_EL1_BIT_55 (ULL(1) << 55) 587cfae932SBipin Ravi #define NEOVERSE_N2_CPUACTLR5_EL1_BIT_44 (ULL(1) << 44) 59c948185cSnayanpatel-arm #define NEOVERSE_N2_CPUACTLR5_EL1_BIT_13 (ULL(1) << 13) 60603806d1Snayanpatel-arm #define NEOVERSE_N2_CPUACTLR5_EL1_BIT_17 (ULL(1) << 17) 61ef8f0c52Snayanpatel-arm 62ef8f0c52Snayanpatel-arm /******************************************************************************* 63ef8f0c52Snayanpatel-arm * CPU Auxiliary Control register specific definitions. 64ef8f0c52Snayanpatel-arm ******************************************************************************/ 65ef8f0c52Snayanpatel-arm #define NEOVERSE_N2_CPUECTLR2_EL1 S3_0_C15_C1_5 666cb8be17SBipin Ravi #define CPUECTLR2_EL1_TXREQ_STATIC_FULL ULL(0) 676cb8be17SBipin Ravi #define CPUECTLR2_EL1_TXREQ_LSB U(0) 686cb8be17SBipin Ravi #define CPUECTLR2_EL1_TXREQ_WIDTH U(3) 697cfae932SBipin Ravi 70adea6e52SGovindraj Raja #ifndef __ASSEMBLER__ 71adea6e52SGovindraj Raja long check_erratum_neoverse_n2_3701773(long cpu_rev); 72adea6e52SGovindraj Raja #endif /* __ASSEMBLER__ */ 73adea6e52SGovindraj Raja 7425bbbd2dSJavier Almansa Sobrino #endif /* NEOVERSE_N2_H */ 75