blob: a61825f1b97f595549c0a6b0b3cd4929b9302616 [file] [log] [blame]
Isla Mitchellea84d6b2017-08-03 16:04:46 +01001/*
johpow019603f982020-05-29 14:17:38 -05002 * Copyright (c) 2017-2020, ARM Limited and Contributors. All rights reserved.
Isla Mitchellea84d6b2017-08-03 16:04:46 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +00007#ifndef CORTEX_A76_H
8#define CORTEX_A76_H
Isla Mitchellea84d6b2017-08-03 16:04:46 +01009
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000010#include <lib/utils_def.h>
11
Isla Mitchellea84d6b2017-08-03 16:04:46 +010012/* Cortex-A76 MIDR for revision 0 */
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000013#define CORTEX_A76_MIDR U(0x410fd0b0)
Isla Mitchellea84d6b2017-08-03 16:04:46 +010014
15/*******************************************************************************
16 * CPU Extended Control register specific definitions.
17 ******************************************************************************/
18#define CORTEX_A76_CPUPWRCTLR_EL1 S3_0_C15_C2_7
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000019#define CORTEX_A76_CPUECTLR_EL1 S3_0_C15_C1_4
Isla Mitchellea84d6b2017-08-03 16:04:46 +010020
Louis Mayencourtadda9d42019-02-25 11:37:38 +000021#define CORTEX_A76_CPUECTLR_EL1_WS_THR_L2 (ULL(3) << 24)
Soby Mathew1d3ba1c2019-05-01 09:43:18 +010022#define CORTEX_A76_CPUECTLR_EL1_BIT_51 (ULL(1) << 51)
Louis Mayencourtadda9d42019-02-25 11:37:38 +000023
Dimitris Papastamos312e17e2018-05-16 09:59:54 +010024/*******************************************************************************
25 * CPU Auxiliary Control register specific definitions.
26 ******************************************************************************/
Louis Mayencourt59fa2182019-02-25 15:17:44 +000027#define CORTEX_A76_CPUACTLR_EL1 S3_0_C15_C1_0
28
29#define CORTEX_A76_CPUACTLR_EL1_DISABLE_STATIC_PREDICTION (ULL(1) << 6)
30
Soby Mathew1d3ba1c2019-05-01 09:43:18 +010031#define CORTEX_A76_CPUACTLR_EL1_BIT_13 (ULL(1) << 13)
32
Dimitris Papastamos312e17e2018-05-16 09:59:54 +010033#define CORTEX_A76_CPUACTLR2_EL1 S3_0_C15_C1_1
34
johpow019603f982020-05-29 14:17:38 -050035#define CORTEX_A76_CPUACTLR2_EL1_BIT_2 (ULL(1) << 2)
36
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000037#define CORTEX_A76_CPUACTLR2_EL1_DISABLE_LOAD_PASS_STORE (ULL(1) << 16)
Dimitris Papastamos312e17e2018-05-16 09:59:54 +010038
Soby Mathew1d3ba1c2019-05-01 09:43:18 +010039#define CORTEX_A76_CPUACTLR3_EL1 S3_0_C15_C1_2
40
41#define CORTEX_A76_CPUACTLR3_EL1_BIT_10 (ULL(1) << 10)
42
43
Isla Mitchellea84d6b2017-08-03 16:04:46 +010044/* Definitions of register field mask in CORTEX_A76_CPUPWRCTLR_EL1 */
Antonio Nino Diaz5e79cfe2019-02-11 13:34:15 +000045#define CORTEX_A76_CORE_PWRDN_EN_MASK U(0x1)
Isla Mitchellea84d6b2017-08-03 16:04:46 +010046
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +000047#endif /* CORTEX_A76_H */