blob: 4b7d238c9bb72e28dc8914c6f6f02601b7ef95b2 [file] [log] [blame]
Achin Gupta4f6ad662013-10-25 09:08:21 +01001/*
Varun Wadekar1384a162017-06-05 14:54:46 -07002 * Copyright (c) 2014-2017, ARM Limited and Contributors. All rights reserved.
Achin Gupta4f6ad662013-10-25 09:08:21 +01003 *
dp-armfa3cf0b2017-05-03 09:38:09 +01004 * SPDX-License-Identifier: BSD-3-Clause
Achin Gupta4f6ad662013-10-25 09:08:21 +01005 */
6
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +00007#ifndef CORTEX_A53_H
8#define CORTEX_A53_H
Achin Gupta4f6ad662013-10-25 09:08:21 +01009
Soby Mathew8e2f2872014-08-14 12:49:05 +010010/* Cortex-A53 midr for revision 0 */
Varun Wadekarc6a11f62017-05-25 18:04:48 -070011#define CORTEX_A53_MIDR U(0x410FD030)
Achin Gupta4f6ad662013-10-25 09:08:21 +010012
Varun Wadekar3ce4e882015-08-21 15:52:51 +053013/* Retention timer tick definitions */
Varun Wadekarc6a11f62017-05-25 18:04:48 -070014#define RETENTION_ENTRY_TICKS_2 U(0x1)
15#define RETENTION_ENTRY_TICKS_8 U(0x2)
16#define RETENTION_ENTRY_TICKS_32 U(0x3)
17#define RETENTION_ENTRY_TICKS_64 U(0x4)
18#define RETENTION_ENTRY_TICKS_128 U(0x5)
19#define RETENTION_ENTRY_TICKS_256 U(0x6)
20#define RETENTION_ENTRY_TICKS_512 U(0x7)
Varun Wadekar3ce4e882015-08-21 15:52:51 +053021
Soby Mathew8e2f2872014-08-14 12:49:05 +010022/*******************************************************************************
23 * CPU Extended Control register specific definitions.
24 ******************************************************************************/
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010025#define CORTEX_A53_ECTLR_EL1 S3_1_C15_C2_1
Soby Mathew38b4bc92014-08-14 13:36:41 +010026
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010027#define CORTEX_A53_ECTLR_SMP_BIT (U(1) << 6)
Achin Gupta4f6ad662013-10-25 09:08:21 +010028
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010029#define CORTEX_A53_ECTLR_CPU_RET_CTRL_SHIFT U(0)
30#define CORTEX_A53_ECTLR_CPU_RET_CTRL_MASK (U(0x7) << CORTEX_A53_ECTLR_CPU_RET_CTRL_SHIFT)
Varun Wadekar3ce4e882015-08-21 15:52:51 +053031
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010032#define CORTEX_A53_ECTLR_FPU_RET_CTRL_SHIFT U(3)
33#define CORTEX_A53_ECTLR_FPU_RET_CTRL_MASK (U(0x7) << CORTEX_A53_ECTLR_FPU_RET_CTRL_SHIFT)
Varun Wadekar3ce4e882015-08-21 15:52:51 +053034
developer4fceaca2015-07-29 20:55:31 +080035/*******************************************************************************
Naga Sureshkumar Relli6a72a912016-07-01 12:52:41 +053036 * CPU Memory Error Syndrome register specific definitions.
37 ******************************************************************************/
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010038#define CORTEX_A53_MERRSR_EL1 S3_1_C15_C2_2
Naga Sureshkumar Relli6a72a912016-07-01 12:52:41 +053039
40/*******************************************************************************
developer4fceaca2015-07-29 20:55:31 +080041 * CPU Auxiliary Control register specific definitions.
42 ******************************************************************************/
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010043#define CORTEX_A53_CPUACTLR_EL1 S3_1_C15_C2_0
developer4fceaca2015-07-29 20:55:31 +080044
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010045#define CORTEX_A53_CPUACTLR_EL1_ENDCCASCI_SHIFT U(44)
46#define CORTEX_A53_CPUACTLR_EL1_ENDCCASCI (U(1) << CORTEX_A53_CPUACTLR_EL1_ENDCCASCI_SHIFT)
47#define CORTEX_A53_CPUACTLR_EL1_RADIS_SHIFT U(27)
48#define CORTEX_A53_CPUACTLR_EL1_RADIS (U(3) << CORTEX_A53_CPUACTLR_EL1_RADIS_SHIFT)
49#define CORTEX_A53_CPUACTLR_EL1_L1RADIS_SHIFT U(25)
50#define CORTEX_A53_CPUACTLR_EL1_L1RADIS (U(3) << CORTEX_A53_CPUACTLR_EL1_L1RADIS_SHIFT)
51#define CORTEX_A53_CPUACTLR_EL1_DTAH_SHIFT U(24)
52#define CORTEX_A53_CPUACTLR_EL1_DTAH (U(1) << CORTEX_A53_CPUACTLR_EL1_DTAH_SHIFT)
developer4fceaca2015-07-29 20:55:31 +080053
54/*******************************************************************************
55 * L2 Auxiliary Control register specific definitions.
56 ******************************************************************************/
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010057#define CORTEX_A53_L2ACTLR_EL1 S3_1_C15_C0_0
developer4fceaca2015-07-29 20:55:31 +080058
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010059#define CORTEX_A53_L2ACTLR_ENABLE_UNIQUECLEAN (U(1) << 14)
60#define CORTEX_A53_L2ACTLR_DISABLE_CLEAN_PUSH (U(1) << 3)
Varun Wadekar3ce4e882015-08-21 15:52:51 +053061/*******************************************************************************
62 * L2 Extended Control register specific definitions.
63 ******************************************************************************/
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010064#define CORTEX_A53_L2ECTLR_EL1 S3_1_C11_C0_3
Varun Wadekar3ce4e882015-08-21 15:52:51 +053065
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010066#define CORTEX_A53_L2ECTLR_RET_CTRL_SHIFT U(0)
67#define CORTEX_A53_L2ECTLR_RET_CTRL_MASK (U(0x7) << L2ECTLR_RET_CTRL_SHIFT)
Varun Wadekar3ce4e882015-08-21 15:52:51 +053068
Naga Sureshkumar Relli6a72a912016-07-01 12:52:41 +053069/*******************************************************************************
70 * L2 Memory Error Syndrome register specific definitions.
71 ******************************************************************************/
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010072#define CORTEX_A53_L2MERRSR_EL1 S3_1_C15_C2_3
73
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +000074#endif /* CORTEX_A53_H */