blob: 8dd0192e68c5c49bb251367139442d6067918e3f [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 */
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000013#define CORTEX_A53_MIDR U(0x410FD030)
Yatharth Kochara9f776c2016-11-10 16:17:51 +000014
15/* Retention timer tick definitions */
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000016#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)
Yatharth Kochara9f776c2016-11-10 16:17:51 +000023
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
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000029#define CORTEX_A53_ECTLR_SMP_BIT (U(1) << 6)
Yatharth Kochara9f776c2016-11-10 16:17:51 +000030
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000031#define CORTEX_A53_ECTLR_CPU_RET_CTRL_SHIFT U(0)
32#define CORTEX_A53_ECTLR_CPU_RET_CTRL_MASK (ULL(0x7) << CORTEX_A53_ECTLR_CPU_RET_CTRL_SHIFT)
Yatharth Kochara9f776c2016-11-10 16:17:51 +000033
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000034#define CORTEX_A53_ECTLR_FPU_RET_CTRL_SHIFT U(3)
35#define CORTEX_A53_ECTLR_FPU_RET_CTRL_MASK (ULL(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
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000057#define CORTEX_A53_L2ACTLR_ENABLE_UNIQUECLEAN (U(1) << 14)
58#define CORTEX_A53_L2ACTLR_DISABLE_CLEAN_PUSH (U(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
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000065#define CORTEX_A53_L2ECTLR_RET_CTRL_SHIFT U(0)
66#define CORTEX_A53_L2ECTLR_RET_CTRL_MASK (U(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 */