neoverse_n2.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*
  2. * Copyright (c) 2020-2023, Arm Limited. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #ifndef NEOVERSE_N2_H
  7. #define NEOVERSE_N2_H
  8. /* Neoverse N2 ID register for revision r0p0 */
  9. #define NEOVERSE_N2_MIDR U(0x410FD490)
  10. /* Neoverse N2 loop count for CVE-2022-23960 mitigation */
  11. #define NEOVERSE_N2_BHB_LOOP_COUNT U(32)
  12. /*******************************************************************************
  13. * CPU Power control register
  14. ******************************************************************************/
  15. #define NEOVERSE_N2_CPUPWRCTLR_EL1 S3_0_C15_C2_7
  16. #define NEOVERSE_N2_CORE_PWRDN_EN_BIT (ULL(1) << 0)
  17. /*******************************************************************************
  18. * CPU Extended Control register specific definitions.
  19. ******************************************************************************/
  20. #define NEOVERSE_N2_CPUECTLR_EL1 S3_0_C15_C1_4
  21. #define NEOVERSE_N2_CPUECTLR_EL1_EXTLLC_BIT (ULL(1) << 0)
  22. #define NEOVERSE_N2_CPUECTLR_EL1_PFSTIDIS_BIT (ULL(1) << 8)
  23. /*******************************************************************************
  24. * CPU Auxiliary Control register specific definitions.
  25. ******************************************************************************/
  26. #define NEOVERSE_N2_CPUACTLR_EL1 S3_0_C15_C1_0
  27. #define NEOVERSE_N2_CPUACTLR_EL1_BIT_46 (ULL(1) << 46)
  28. #define NEOVERSE_N2_CPUACTLR_EL1_BIT_22 (ULL(1) << 22)
  29. /*******************************************************************************
  30. * CPU Auxiliary Control register 2 specific definitions.
  31. ******************************************************************************/
  32. #define NEOVERSE_N2_CPUACTLR2_EL1 S3_0_C15_C1_1
  33. #define NEOVERSE_N2_CPUACTLR2_EL1_BIT_0 (ULL(1) << 0)
  34. #define NEOVERSE_N2_CPUACTLR2_EL1_BIT_2 (ULL(1) << 2)
  35. #define NEOVERSE_N2_CPUACTLR2_EL1_BIT_36 (ULL(1) << 36)
  36. #define NEOVERSE_N2_CPUACTLR2_EL1_BIT_40 (ULL(1) << 40)
  37. /*******************************************************************************
  38. * CPU Auxiliary Control register 3 specific definitions.
  39. ******************************************************************************/
  40. #define NEOVERSE_N2_CPUACTLR3_EL1 S3_0_C15_C1_2
  41. #define NEOVERSE_N2_CPUACTLR3_EL1_BIT_47 (ULL(1) << 47)
  42. /*******************************************************************************
  43. * CPU Auxiliary Control register 5 specific definitions.
  44. ******************************************************************************/
  45. #define NEOVERSE_N2_CPUACTLR5_EL1 S3_0_C15_C8_0
  46. #define NEOVERSE_N2_CPUACTLR5_EL1_BIT_56 (ULL(1) << 56)
  47. #define NEOVERSE_N2_CPUACTLR5_EL1_BIT_55 (ULL(1) << 55)
  48. #define NEOVERSE_N2_CPUACTLR5_EL1_BIT_44 (ULL(1) << 44)
  49. #define NEOVERSE_N2_CPUACTLR5_EL1_BIT_13 (ULL(1) << 13)
  50. #define NEOVERSE_N2_CPUACTLR5_EL1_BIT_17 (ULL(1) << 17)
  51. /*******************************************************************************
  52. * CPU Auxiliary Control register specific definitions.
  53. ******************************************************************************/
  54. #define NEOVERSE_N2_CPUECTLR2_EL1 S3_0_C15_C1_5
  55. #define NEOVERSE_N2_CPUECTLR2_EL1_PF_MODE_CNSRV ULL(9)
  56. #define CPUECTLR2_EL1_PF_MODE_LSB U(11)
  57. #define CPUECTLR2_EL1_PF_MODE_WIDTH U(4)
  58. #define CPUECTLR2_EL1_TXREQ_STATIC_FULL ULL(0)
  59. #define CPUECTLR2_EL1_TXREQ_LSB U(0)
  60. #define CPUECTLR2_EL1_TXREQ_WIDTH U(3)
  61. #endif /* NEOVERSE_N2_H */