xref: /rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a72.h (revision 72e8f2456af54b75a0a1d92aadfce0b4bcde6ba1)
11ba93aebSVikram Kanigiri /*
2*4c700c15SGovindraj Raja  * Copyright (c) 2015-2022, Arm Limited and Contributors. All rights reserved.
31ba93aebSVikram Kanigiri  *
482cb2c1aSdp-arm  * SPDX-License-Identifier: BSD-3-Clause
51ba93aebSVikram Kanigiri  */
61ba93aebSVikram Kanigiri 
7c3cf06f1SAntonio Nino Diaz #ifndef CORTEX_A72_H
8c3cf06f1SAntonio Nino Diaz #define CORTEX_A72_H
909d40e0eSAntonio Nino Diaz 
1009d40e0eSAntonio Nino Diaz #include <lib/utils_def.h>
111ba93aebSVikram Kanigiri 
121ba93aebSVikram Kanigiri /* Cortex-A72 midr for revision 0 */
131a74e4a8SAntonio Nino Diaz #define CORTEX_A72_MIDR 				U(0x410FD080)
141ba93aebSVikram Kanigiri 
15be9121fdSBipin Ravi /* Cortex-A72 loop count for CVE-2022-23960 mitigation */
16be9121fdSBipin Ravi #define CORTEX_A72_BHB_LOOP_COUNT			U(8)
17be9121fdSBipin Ravi 
181ba93aebSVikram Kanigiri /*******************************************************************************
191ba93aebSVikram Kanigiri  * CPU Extended Control register specific definitions.
201ba93aebSVikram Kanigiri  ******************************************************************************/
21fb7d32e5SVarun Wadekar #define CORTEX_A72_ECTLR_EL1				S3_1_C15_C2_1
221ba93aebSVikram Kanigiri 
23e4e6c4beSEleanor Bonnici #define CORTEX_A72_ECTLR_SMP_BIT			(ULL(1) << 6)
24e4e6c4beSEleanor Bonnici #define CORTEX_A72_ECTLR_DIS_TWD_ACC_PFTCH_BIT		(ULL(1) << 38)
25e4e6c4beSEleanor Bonnici #define CORTEX_A72_ECTLR_L2_IPFTCH_DIST_MASK		(ULL(0x3) << 35)
26e4e6c4beSEleanor Bonnici #define CORTEX_A72_ECTLR_L2_DPFTCH_DIST_MASK		(ULL(0x3) << 32)
271ba93aebSVikram Kanigiri 
281ba93aebSVikram Kanigiri /*******************************************************************************
2984629f2fSNaga Sureshkumar Relli  * CPU Memory Error Syndrome register specific definitions.
3084629f2fSNaga Sureshkumar Relli  ******************************************************************************/
31fb7d32e5SVarun Wadekar #define CORTEX_A72_MERRSR_EL1				S3_1_C15_C2_2
3284629f2fSNaga Sureshkumar Relli 
3384629f2fSNaga Sureshkumar Relli /*******************************************************************************
341ba93aebSVikram Kanigiri  * CPU Auxiliary Control register specific definitions.
351ba93aebSVikram Kanigiri  ******************************************************************************/
3680bcf981SEleanor Bonnici #define CORTEX_A72_CPUACTLR_EL1					S3_1_C15_C2_0
371ba93aebSVikram Kanigiri 
3880bcf981SEleanor Bonnici #define CORTEX_A72_CPUACTLR_EL1_DISABLE_L1_DCACHE_HW_PFTCH	(ULL(1) << 56)
39b8a25bbbSDimitris Papastamos #define CORTEX_A72_CPUACTLR_EL1_DIS_LOAD_PASS_STORE		(ULL(1) << 55)
4080bcf981SEleanor Bonnici #define CORTEX_A72_CPUACTLR_EL1_NO_ALLOC_WBWA			(ULL(1) << 49)
4180bcf981SEleanor Bonnici #define CORTEX_A72_CPUACTLR_EL1_DCC_AS_DCCI			(ULL(1) << 44)
426de9b336SEleanor Bonnici #define CORTEX_A72_CPUACTLR_EL1_DIS_INSTR_PREFETCH		(ULL(1) << 32)
435668db72SAndrew Davis #define CORTEX_A72_CPUACTLR_EL1_DELAY_EXCLUSIVE_SNOOP		(ULL(1) << 31)
441ba93aebSVikram Kanigiri 
451ba93aebSVikram Kanigiri /*******************************************************************************
46bc6206f7SKonstantin Porotchkin  *  L2 Auxiliary Control register specific definitions.
47bc6206f7SKonstantin Porotchkin  ******************************************************************************/
48bc6206f7SKonstantin Porotchkin #define CORTEX_A72_L2ACTLR_EL1					S3_1_C15_C0_0
49bc6206f7SKonstantin Porotchkin 
50ba4b453bSSheetal Tigadoli #define CORTEX_A72_L2ACTLR_FORCE_TAG_BANK_CLK_ACTIVE		(ULL(1) << 28)
51ba4b453bSSheetal Tigadoli #define CORTEX_A72_L2ACTLR_FORCE_L2_LOGIC_CLK_ACTIVE		(ULL(1) << 27)
52ba4b453bSSheetal Tigadoli #define CORTEX_A72_L2ACTLR_FORCE_L2_GIC_TIMER_RCG_CLK_ACTIVE	(ULL(1) << 26)
53bc6206f7SKonstantin Porotchkin #define CORTEX_A72_L2ACTLR_ENABLE_UNIQUE_CLEAN			(ULL(1) << 14)
54ba4b453bSSheetal Tigadoli #define CORTEX_A72_L2ACTLR_DISABLE_DSB_WITH_NO_DVM_SYNC		(ULL(1) << 11)
55ba4b453bSSheetal Tigadoli #define CORTEX_A72_L2ACTLR_DISABLE_DVM_CMO_BROADCAST		(ULL(1) << 8)
56ba4b453bSSheetal Tigadoli #define CORTEX_A72_L2ACTLR_ENABLE_HAZARD_DETECT_TIMEOUT		(ULL(1) << 7)
57ba4b453bSSheetal Tigadoli #define CORTEX_A72_L2ACTLR_DISABLE_ACE_SH_OR_CHI		(ULL(1) << 6)
58bc6206f7SKonstantin Porotchkin 
59bc6206f7SKonstantin Porotchkin /*******************************************************************************
601ba93aebSVikram Kanigiri  * L2 Control register specific definitions.
611ba93aebSVikram Kanigiri  ******************************************************************************/
62fb7d32e5SVarun Wadekar #define CORTEX_A72_L2CTLR_EL1				S3_1_C11_C0_2
631ba93aebSVikram Kanigiri 
6481858a35SAndrew Davis #define CORTEX_A72_L2CTLR_EL1_ECC_AND_PARITY_ENABLE	(ULL(1) << 21)
6581858a35SAndrew Davis #define CORTEX_A72_L2CTLR_EL1_DATA_INLINE_ECC_ENABLE	(ULL(1) << 20)
6681858a35SAndrew Davis 
671a74e4a8SAntonio Nino Diaz #define CORTEX_A72_L2CTLR_DATA_RAM_LATENCY_SHIFT	U(0)
68ba4b453bSSheetal Tigadoli #define CORTEX_A72_L2CTLR_DATA_RAM_SETUP_SHIFT		U(5)
691a74e4a8SAntonio Nino Diaz #define CORTEX_A72_L2CTLR_TAG_RAM_LATENCY_SHIFT		U(6)
70ba4b453bSSheetal Tigadoli #define CORTEX_A72_L2CTLR_TAG_RAM_SETUP_SHIFT		U(9)
711ba93aebSVikram Kanigiri 
72ba4b453bSSheetal Tigadoli #define CORTEX_A72_L2_DATA_RAM_LATENCY_MASK		U(0x7)
73ba4b453bSSheetal Tigadoli #define CORTEX_A72_L2_TAG_RAM_LATENCY_MASK		U(0x7)
741a74e4a8SAntonio Nino Diaz #define CORTEX_A72_L2_DATA_RAM_LATENCY_3_CYCLES		U(0x2)
75aee2f33aSAndrew Davis #define CORTEX_A72_L2_DATA_RAM_LATENCY_4_CYCLES		U(0x3)
761a74e4a8SAntonio Nino Diaz #define CORTEX_A72_L2_TAG_RAM_LATENCY_2_CYCLES		U(0x1)
771a74e4a8SAntonio Nino Diaz #define CORTEX_A72_L2_TAG_RAM_LATENCY_3_CYCLES		U(0x2)
781ba93aebSVikram Kanigiri 
7984629f2fSNaga Sureshkumar Relli /*******************************************************************************
8084629f2fSNaga Sureshkumar Relli  * L2 Memory Error Syndrome register specific definitions.
8184629f2fSNaga Sureshkumar Relli  ******************************************************************************/
82fb7d32e5SVarun Wadekar #define CORTEX_A72_L2MERRSR_EL1				S3_1_C15_C2_3
8384629f2fSNaga Sureshkumar Relli 
84c3cf06f1SAntonio Nino Diaz #endif /* CORTEX_A72_H */
85