denver.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * Copyright (c) 2015-2018, Arm Limited and Contributors. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #ifndef DENVER_H
  7. #define DENVER_H
  8. /* MIDR values for Denver */
  9. #define DENVER_MIDR_PN0 U(0x4E0F0000)
  10. #define DENVER_MIDR_PN1 U(0x4E0F0010)
  11. #define DENVER_MIDR_PN2 U(0x4E0F0020)
  12. #define DENVER_MIDR_PN3 U(0x4E0F0030)
  13. #define DENVER_MIDR_PN4 U(0x4E0F0040)
  14. #define DENVER_MIDR_PN5 U(0x4E0F0050)
  15. #define DENVER_MIDR_PN6 U(0x4E0F0060)
  16. #define DENVER_MIDR_PN7 U(0x4E0F0070)
  17. #define DENVER_MIDR_PN8 U(0x4E0F0080)
  18. #define DENVER_MIDR_PN9 U(0x4E0F0090)
  19. /* Implementer code in the MIDR register */
  20. #define DENVER_IMPL U(0x4E)
  21. /* CPU state ids - implementation defined */
  22. #define DENVER_CPU_STATE_POWER_DOWN U(0x3)
  23. /* Speculative store buffering */
  24. #define DENVER_CPU_DIS_SSB_EL3 (U(1) << 11)
  25. #define DENVER_PN4_CPU_DIS_SSB_EL3 (U(1) << 18)
  26. /* Speculative memory disambiguation */
  27. #define DENVER_CPU_DIS_MD_EL3 (U(1) << 9)
  28. #define DENVER_PN4_CPU_DIS_MD_EL3 (U(1) << 17)
  29. /* Core power management states */
  30. #define DENVER_CPU_PMSTATE_C1 U(0x1)
  31. #define DENVER_CPU_PMSTATE_C6 U(0x6)
  32. #define DENVER_CPU_PMSTATE_C7 U(0x7)
  33. #define DENVER_CPU_PMSTATE_MASK U(0xF)
  34. /* ACTRL_ELx bits to enable dual execution*/
  35. #define DENVER_CPU_ENABLE_DUAL_EXEC_EL2 (ULL(1) << 9)
  36. #define DENVER_CPU_ENABLE_DUAL_EXEC_EL3 (ULL(1) << 9)
  37. #define DENVER_CPU_ENABLE_DUAL_EXEC_EL1 (U(1) << 4)
  38. #ifndef __ASSEMBLER__
  39. /* Disable Dynamic Code Optimisation */
  40. void denver_disable_dco(void);
  41. #endif /* __ASSEMBLER__ */
  42. #endif /* DENVER_H */