blob: 3f991f34307cafdd26972c449bbe2b12cb05027b [file] [log] [blame]
Yatharth Kochara9f776c2016-11-10 16:17:51 +00001/*
Antonio Nino Diaz96f16312019-02-11 13:34:54 +00002 * Copyright (c) 2016-2019, ARM Limited and Contributors. All rights reserved.
Yatharth Kochara9f776c2016-11-10 16:17:51 +00003 *
dp-armfa3cf0b2017-05-03 09:38:09 +01004 * SPDX-License-Identifier: BSD-3-Clause
Yatharth Kochara9f776c2016-11-10 16:17:51 +00005 */
6
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +00007#ifndef CORTEX_A53_H
8#define CORTEX_A53_H
Yatharth Kochara9f776c2016-11-10 16:17:51 +00009
Antonio Nino Diaz96f16312019-02-11 13:34:54 +000010#include <lib/utils_def.h>
11
Yatharth Kochara9f776c2016-11-10 16:17:51 +000012/* Cortex-A53 midr for revision 0 */
13#define CORTEX_A53_MIDR 0x410FD030
14
15/* Retention timer tick definitions */
16#define RETENTION_ENTRY_TICKS_2 0x1
17#define RETENTION_ENTRY_TICKS_8 0x2
18#define RETENTION_ENTRY_TICKS_32 0x3
19#define RETENTION_ENTRY_TICKS_64 0x4
20#define RETENTION_ENTRY_TICKS_128 0x5
21#define RETENTION_ENTRY_TICKS_256 0x6
22#define RETENTION_ENTRY_TICKS_512 0x7
23
24/*******************************************************************************
25 * CPU Extended Control register specific definitions.
26 ******************************************************************************/
Varun Wadekar1384a162017-06-05 14:54:46 -070027#define CORTEX_A53_ECTLR p15, 1, c15
Yatharth Kochara9f776c2016-11-10 16:17:51 +000028
Varun Wadekar1384a162017-06-05 14:54:46 -070029#define CORTEX_A53_ECTLR_SMP_BIT (1 << 6)
Yatharth Kochara9f776c2016-11-10 16:17:51 +000030
Varun Wadekar1384a162017-06-05 14:54:46 -070031#define CORTEX_A53_ECTLR_CPU_RET_CTRL_SHIFT 0
32#define CORTEX_A53_ECTLR_CPU_RET_CTRL_MASK (0x7 << CORTEX_A53_ECTLR_CPU_RET_CTRL_SHIFT)
Yatharth Kochara9f776c2016-11-10 16:17:51 +000033
Varun Wadekar1384a162017-06-05 14:54:46 -070034#define CORTEX_A53_ECTLR_FPU_RET_CTRL_SHIFT 3
35#define CORTEX_A53_ECTLR_FPU_RET_CTRL_MASK (0x7 << CORTEX_A53_ECTLR_FPU_RET_CTRL_SHIFT)
Yatharth Kochara9f776c2016-11-10 16:17:51 +000036
37/*******************************************************************************
38 * CPU Memory Error Syndrome register specific definitions.
39 ******************************************************************************/
Varun Wadekar1384a162017-06-05 14:54:46 -070040#define CORTEX_A53_MERRSR p15, 2, c15
Yatharth Kochara9f776c2016-11-10 16:17:51 +000041
42/*******************************************************************************
43 * CPU Auxiliary Control register specific definitions.
44 ******************************************************************************/
Eleanor Bonnici41b61be2017-08-09 16:42:40 +010045#define CORTEX_A53_CPUACTLR p15, 0, c15
Yatharth Kochara9f776c2016-11-10 16:17:51 +000046
Antonio Nino Diaz96f16312019-02-11 13:34:54 +000047#define CORTEX_A53_CPUACTLR_ENDCCASCI_SHIFT U(44)
48#define CORTEX_A53_CPUACTLR_ENDCCASCI (ULL(1) << CORTEX_A53_CPUACTLR_ENDCCASCI_SHIFT)
49#define CORTEX_A53_CPUACTLR_DTAH_SHIFT U(24)
50#define CORTEX_A53_CPUACTLR_DTAH (ULL(1) << CORTEX_A53_CPUACTLR_DTAH_SHIFT)
Yatharth Kochara9f776c2016-11-10 16:17:51 +000051
52/*******************************************************************************
53 * L2 Auxiliary Control register specific definitions.
54 ******************************************************************************/
Varun Wadekar1384a162017-06-05 14:54:46 -070055#define CORTEX_A53_L2ACTLR p15, 1, c15, c0, 0
Yatharth Kochara9f776c2016-11-10 16:17:51 +000056
Varun Wadekar1384a162017-06-05 14:54:46 -070057#define CORTEX_A53_L2ACTLR_ENABLE_UNIQUECLEAN (1 << 14)
58#define CORTEX_A53_L2ACTLR_DISABLE_CLEAN_PUSH (1 << 3)
Yatharth Kochara9f776c2016-11-10 16:17:51 +000059
60/*******************************************************************************
61 * L2 Extended Control register specific definitions.
62 ******************************************************************************/
Varun Wadekar1384a162017-06-05 14:54:46 -070063#define CORTEX_A53_L2ECTLR p15, 1, c9, c0, 3
Yatharth Kochara9f776c2016-11-10 16:17:51 +000064
Varun Wadekar1384a162017-06-05 14:54:46 -070065#define CORTEX_A53_L2ECTLR_RET_CTRL_SHIFT 0
66#define CORTEX_A53_L2ECTLR_RET_CTRL_MASK (0x7 << L2ECTLR_RET_CTRL_SHIFT)
Yatharth Kochara9f776c2016-11-10 16:17:51 +000067
68/*******************************************************************************
69 * L2 Memory Error Syndrome register specific definitions.
70 ******************************************************************************/
Varun Wadekar1384a162017-06-05 14:54:46 -070071#define CORTEX_A53_L2MERRSR p15, 3, c15
Yatharth Kochara9f776c2016-11-10 16:17:51 +000072
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +000073#endif /* CORTEX_A53_H */