/*
 * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#ifndef DENVER_H
#define DENVER_H

/* MIDR values for Denver */
#define DENVER_MIDR_PN0			U(0x4E0F0000)
#define DENVER_MIDR_PN1			U(0x4E0F0010)
#define DENVER_MIDR_PN2			U(0x4E0F0020)
#define DENVER_MIDR_PN3			U(0x4E0F0030)
#define DENVER_MIDR_PN4			U(0x4E0F0040)
#define DENVER_MIDR_PN5			U(0x4E0F0050)
#define DENVER_MIDR_PN6			U(0x4E0F0060)
#define DENVER_MIDR_PN7			U(0x4E0F0070)
#define DENVER_MIDR_PN8			U(0x4E0F0080)

/* Implementer code in the MIDR register */
#define DENVER_IMPL			U(0x4E)

/* CPU state ids - implementation defined */
#define DENVER_CPU_STATE_POWER_DOWN	U(0x3)

/* Speculative store buffering */
#define DENVER_CPU_DIS_SSB_EL3		(U(1) << 11)
#define DENVER_PN4_CPU_DIS_SSB_EL3	(U(1) << 18)

/* Speculative memory disambiguation */
#define DENVER_CPU_DIS_MD_EL3		(U(1) << 9)
#define DENVER_PN4_CPU_DIS_MD_EL3	(U(1) << 17)

/* Core power management states */
#define DENVER_CPU_PMSTATE_C1		U(0x1)
#define DENVER_CPU_PMSTATE_C6		U(0x6)
#define DENVER_CPU_PMSTATE_C7		U(0x7)
#define DENVER_CPU_PMSTATE_MASK		U(0xF)

/* ACTRL_ELx bits to enable dual execution*/
#define DENVER_CPU_ENABLE_DUAL_EXEC_EL2 (ULL(1) << 9)
#define DENVER_CPU_ENABLE_DUAL_EXEC_EL3 (ULL(1) << 9)
#define DENVER_CPU_ENABLE_DUAL_EXEC_EL1 (U(1) << 4)

#ifndef __ASSEMBLER__

/* Disable Dynamic Code Optimisation */
void denver_disable_dco(void);

#endif /* __ASSEMBLER__ */

#endif /* DENVER_H */
