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