blob: 09db12b6eb147bd5b1875f6d5206c9daa50d5f84 [file] [log] [blame]
Achin Gupta4f6ad662013-10-25 09:08:21 +01001/*
Antonio Nino Diaz96f16312019-02-11 13:34:54 +00002 * Copyright (c) 2014-2019, 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
Antonio Nino Diaz96f16312019-02-11 13:34:54 +000010#include <lib/utils_def.h>
11
Soby Mathew8e2f2872014-08-14 12:49:05 +010012/* Cortex-A53 midr for revision 0 */
Varun Wadekarc6a11f62017-05-25 18:04:48 -070013#define CORTEX_A53_MIDR U(0x410FD030)
Achin Gupta4f6ad662013-10-25 09:08:21 +010014
Varun Wadekar3ce4e882015-08-21 15:52:51 +053015/* Retention timer tick definitions */
Varun Wadekarc6a11f62017-05-25 18:04:48 -070016#define RETENTION_ENTRY_TICKS_2 U(0x1)
17#define RETENTION_ENTRY_TICKS_8 U(0x2)
18#define RETENTION_ENTRY_TICKS_32 U(0x3)
19#define RETENTION_ENTRY_TICKS_64 U(0x4)
20#define RETENTION_ENTRY_TICKS_128 U(0x5)
21#define RETENTION_ENTRY_TICKS_256 U(0x6)
22#define RETENTION_ENTRY_TICKS_512 U(0x7)
Varun Wadekar3ce4e882015-08-21 15:52:51 +053023
Soby Mathew8e2f2872014-08-14 12:49:05 +010024/*******************************************************************************
25 * CPU Extended Control register specific definitions.
26 ******************************************************************************/
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010027#define CORTEX_A53_ECTLR_EL1 S3_1_C15_C2_1
Soby Mathew38b4bc92014-08-14 13:36:41 +010028
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000029#define CORTEX_A53_ECTLR_SMP_BIT (ULL(1) << 6)
Achin Gupta4f6ad662013-10-25 09:08:21 +010030
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010031#define CORTEX_A53_ECTLR_CPU_RET_CTRL_SHIFT U(0)
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000032#define CORTEX_A53_ECTLR_CPU_RET_CTRL_MASK (ULL(0x7) << CORTEX_A53_ECTLR_CPU_RET_CTRL_SHIFT)
Varun Wadekar3ce4e882015-08-21 15:52:51 +053033
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010034#define CORTEX_A53_ECTLR_FPU_RET_CTRL_SHIFT U(3)
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000035#define CORTEX_A53_ECTLR_FPU_RET_CTRL_MASK (ULL(0x7) << CORTEX_A53_ECTLR_FPU_RET_CTRL_SHIFT)
Varun Wadekar3ce4e882015-08-21 15:52:51 +053036
developer4fceaca2015-07-29 20:55:31 +080037/*******************************************************************************
Naga Sureshkumar Relli6a72a912016-07-01 12:52:41 +053038 * CPU Memory Error Syndrome register specific definitions.
39 ******************************************************************************/
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010040#define CORTEX_A53_MERRSR_EL1 S3_1_C15_C2_2
Naga Sureshkumar Relli6a72a912016-07-01 12:52:41 +053041
42/*******************************************************************************
developer4fceaca2015-07-29 20:55:31 +080043 * CPU Auxiliary Control register specific definitions.
44 ******************************************************************************/
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010045#define CORTEX_A53_CPUACTLR_EL1 S3_1_C15_C2_0
developer4fceaca2015-07-29 20:55:31 +080046
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010047#define CORTEX_A53_CPUACTLR_EL1_ENDCCASCI_SHIFT U(44)
Antonio Nino Diaz96f16312019-02-11 13:34:54 +000048#define CORTEX_A53_CPUACTLR_EL1_ENDCCASCI (ULL(1) << CORTEX_A53_CPUACTLR_EL1_ENDCCASCI_SHIFT)
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010049#define CORTEX_A53_CPUACTLR_EL1_RADIS_SHIFT U(27)
Antonio Nino Diaz96f16312019-02-11 13:34:54 +000050#define CORTEX_A53_CPUACTLR_EL1_RADIS (ULL(3) << CORTEX_A53_CPUACTLR_EL1_RADIS_SHIFT)
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010051#define CORTEX_A53_CPUACTLR_EL1_L1RADIS_SHIFT U(25)
Antonio Nino Diaz96f16312019-02-11 13:34:54 +000052#define CORTEX_A53_CPUACTLR_EL1_L1RADIS (ULL(3) << CORTEX_A53_CPUACTLR_EL1_L1RADIS_SHIFT)
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010053#define CORTEX_A53_CPUACTLR_EL1_DTAH_SHIFT U(24)
Antonio Nino Diaz96f16312019-02-11 13:34:54 +000054#define CORTEX_A53_CPUACTLR_EL1_DTAH (ULL(1) << CORTEX_A53_CPUACTLR_EL1_DTAH_SHIFT)
developer4fceaca2015-07-29 20:55:31 +080055
56/*******************************************************************************
57 * L2 Auxiliary Control register specific definitions.
58 ******************************************************************************/
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010059#define CORTEX_A53_L2ACTLR_EL1 S3_1_C15_C0_0
developer4fceaca2015-07-29 20:55:31 +080060
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010061#define CORTEX_A53_L2ACTLR_ENABLE_UNIQUECLEAN (U(1) << 14)
62#define CORTEX_A53_L2ACTLR_DISABLE_CLEAN_PUSH (U(1) << 3)
Varun Wadekar3ce4e882015-08-21 15:52:51 +053063/*******************************************************************************
64 * L2 Extended Control register specific definitions.
65 ******************************************************************************/
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010066#define CORTEX_A53_L2ECTLR_EL1 S3_1_C11_C0_3
Varun Wadekar3ce4e882015-08-21 15:52:51 +053067
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010068#define CORTEX_A53_L2ECTLR_RET_CTRL_SHIFT U(0)
69#define CORTEX_A53_L2ECTLR_RET_CTRL_MASK (U(0x7) << L2ECTLR_RET_CTRL_SHIFT)
Varun Wadekar3ce4e882015-08-21 15:52:51 +053070
Naga Sureshkumar Relli6a72a912016-07-01 12:52:41 +053071/*******************************************************************************
72 * L2 Memory Error Syndrome register specific definitions.
73 ******************************************************************************/
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010074#define CORTEX_A53_L2MERRSR_EL1 S3_1_C15_C2_3
75
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +000076#endif /* CORTEX_A53_H */