Home | History | Annotate | Download | only in aarch64
      1 /*
      2  * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
      3  *
      4  * SPDX-License-Identifier: BSD-3-Clause
      5  */
      6 
      7 #ifndef __CORTEX_A72_H__
      8 #define __CORTEX_A72_H__
      9 #include <utils_def.h>
     10 
     11 /* Cortex-A72 midr for revision 0 */
     12 #define CORTEX_A72_MIDR 				0x410FD080
     13 
     14 /*******************************************************************************
     15  * CPU Extended Control register specific definitions.
     16  ******************************************************************************/
     17 #define CORTEX_A72_ECTLR_EL1				S3_1_C15_C2_1
     18 
     19 #define CORTEX_A72_ECTLR_SMP_BIT			(ULL(1) << 6)
     20 #define CORTEX_A72_ECTLR_DIS_TWD_ACC_PFTCH_BIT		(ULL(1) << 38)
     21 #define CORTEX_A72_ECTLR_L2_IPFTCH_DIST_MASK		(ULL(0x3) << 35)
     22 #define CORTEX_A72_ECTLR_L2_DPFTCH_DIST_MASK		(ULL(0x3) << 32)
     23 
     24 /*******************************************************************************
     25  * CPU Memory Error Syndrome register specific definitions.
     26  ******************************************************************************/
     27 #define CORTEX_A72_MERRSR_EL1				S3_1_C15_C2_2
     28 
     29 /*******************************************************************************
     30  * CPU Auxiliary Control register specific definitions.
     31  ******************************************************************************/
     32 #define CORTEX_A72_CPUACTLR_EL1					S3_1_C15_C2_0
     33 
     34 #define CORTEX_A72_CPUACTLR_EL1_DISABLE_L1_DCACHE_HW_PFTCH	(ULL(1) << 56)
     35 #define CORTEX_A72_CPUACTLR_EL1_NO_ALLOC_WBWA			(ULL(1) << 49)
     36 #define CORTEX_A72_CPUACTLR_EL1_DCC_AS_DCCI			(ULL(1) << 44)
     37 #define CORTEX_A72_CPUACTLR_EL1_DIS_INSTR_PREFETCH		(ULL(1) << 32)
     38 
     39 /*******************************************************************************
     40  * L2 Control register specific definitions.
     41  ******************************************************************************/
     42 #define CORTEX_A72_L2CTLR_EL1				S3_1_C11_C0_2
     43 
     44 #define CORTEX_A72_L2CTLR_DATA_RAM_LATENCY_SHIFT	0
     45 #define CORTEX_A72_L2CTLR_TAG_RAM_LATENCY_SHIFT		6
     46 
     47 #define CORTEX_A72_L2_DATA_RAM_LATENCY_3_CYCLES		0x2
     48 #define CORTEX_A72_L2_TAG_RAM_LATENCY_2_CYCLES		0x1
     49 #define CORTEX_A72_L2_TAG_RAM_LATENCY_3_CYCLES		0x2
     50 
     51 /*******************************************************************************
     52  * L2 Memory Error Syndrome register specific definitions.
     53  ******************************************************************************/
     54 #define CORTEX_A72_L2MERRSR_EL1				S3_1_C15_C2_3
     55 
     56 #if !ERROR_DEPRECATED
     57 /*
     58  * These registers were previously wrongly named. Provide previous definitions so
     59  * as not to break platforms that continue using them.
     60  */
     61 #define CORTEX_A72_ACTLR				CORTEX_A72_CPUACTLR_EL1
     62 
     63 #define CORTEX_A72_ACTLR_DISABLE_L1_DCACHE_HW_PFTCH	CORTEX_A72_CPUACTLR_EL1_DISABLE_L1_DCACHE_HW_PFTCH
     64 #define CORTEX_A72_ACTLR_NO_ALLOC_WBWA			CORTEX_A72_CPUACTLR_EL1_NO_ALLOC_WBWA
     65 #define CORTEX_A72_ACTLR_DCC_AS_DCCI			CORTEX_A72_CPUACTLR_EL1_DCC_AS_DCCI
     66 #endif /* !ERROR_DEPRECATED */
     67 
     68 #endif /* __CORTEX_A72_H__ */
     69