axg_def.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. /*
  2. * Copyright (c) 2020, ARM Limited and Contributors. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #ifndef AXG_DEF_H
  7. #define AXG_DEF_H
  8. #include <lib/utils_def.h>
  9. /*******************************************************************************
  10. * System oscillator
  11. ******************************************************************************/
  12. #define AML_OSC24M_CLK_IN_HZ ULL(24000000) /* 24 MHz */
  13. /*******************************************************************************
  14. * Memory regions
  15. ******************************************************************************/
  16. #define AML_NS_SHARE_MEM_BASE UL(0x05000000)
  17. #define AML_NS_SHARE_MEM_SIZE UL(0x00100000)
  18. #define AML_SEC_SHARE_MEM_BASE UL(0x05200000)
  19. #define AML_SEC_SHARE_MEM_SIZE UL(0x00100000)
  20. #define AML_GIC_DEVICE_BASE UL(0xFFC00000)
  21. #define AML_GIC_DEVICE_SIZE UL(0x00008000)
  22. #define AML_NSDRAM0_BASE UL(0x01000000)
  23. #define AML_NSDRAM0_SIZE UL(0x0F000000)
  24. #define BL31_BASE UL(0x05100000)
  25. #define BL31_SIZE UL(0x00100000)
  26. #define BL31_LIMIT (BL31_BASE + BL31_SIZE)
  27. /* Shared memory used for SMC services */
  28. #define AML_SHARE_MEM_INPUT_BASE UL(0x050FE000)
  29. #define AML_SHARE_MEM_OUTPUT_BASE UL(0x050FF000)
  30. #define AML_SEC_DEVICE0_BASE UL(0xFFD00000)
  31. #define AML_SEC_DEVICE0_SIZE UL(0x00026000)
  32. #define AML_SEC_DEVICE1_BASE UL(0xFF800000)
  33. #define AML_SEC_DEVICE1_SIZE UL(0x0000A000)
  34. #define AML_SEC_DEVICE2_BASE UL(0xFF620000)
  35. #define AML_SEC_DEVICE2_SIZE UL(0x00028000)
  36. #define AML_TZRAM_BASE UL(0xFFFC0000)
  37. #define AML_TZRAM_SIZE UL(0x00020000)
  38. /* Mailboxes */
  39. #define AML_MHU_SECURE_SCP_TO_AP_PAYLOAD UL(0xFFFD3800)
  40. #define AML_MHU_SECURE_AP_TO_SCP_PAYLOAD UL(0xFFFD3A00)
  41. #define AML_PSCI_MAILBOX_BASE UL(0xFFFD3F00)
  42. /*******************************************************************************
  43. * GIC-400 and interrupt handling related constants
  44. ******************************************************************************/
  45. #define AML_GICD_BASE UL(0xFFC01000)
  46. #define AML_GICC_BASE UL(0xFFC02000)
  47. #define IRQ_SEC_PHY_TIMER 29
  48. #define IRQ_SEC_SGI_0 8
  49. #define IRQ_SEC_SGI_1 9
  50. #define IRQ_SEC_SGI_2 10
  51. #define IRQ_SEC_SGI_3 11
  52. #define IRQ_SEC_SGI_4 12
  53. #define IRQ_SEC_SGI_5 13
  54. #define IRQ_SEC_SGI_6 14
  55. #define IRQ_SEC_SGI_7 15
  56. #define IRQ_SEC_SGI_8 16
  57. /*******************************************************************************
  58. * UART definitions
  59. ******************************************************************************/
  60. #define AML_UART0_AO_BASE UL(0xFF803000)
  61. #define AML_UART0_AO_CLK_IN_HZ AML_OSC24M_CLK_IN_HZ
  62. #define AML_UART_BAUDRATE U(115200)
  63. /*******************************************************************************
  64. * Memory-mapped I/O Registers
  65. ******************************************************************************/
  66. #define AML_AO_TIMESTAMP_CNTL UL(0xFF8000B4)
  67. #define AML_SYS_CPU_CFG7 UL(0xFF634664)
  68. #define AML_AO_RTI_STATUS_REG3 UL(0xFF80001C)
  69. #define AML_AO_RTI_SCP_STAT UL(0xFF80023C)
  70. #define AML_AO_RTI_SCP_READY_OFF U(0x14)
  71. #define AML_A0_RTI_SCP_READY_MASK U(3)
  72. #define AML_AO_RTI_SCP_IS_READY(v) \
  73. ((((v) >> AML_AO_RTI_SCP_READY_OFF) & \
  74. AML_A0_RTI_SCP_READY_MASK) == AML_A0_RTI_SCP_READY_MASK)
  75. #define AML_HIU_MAILBOX_SET_0 UL(0xFF63C404)
  76. #define AML_HIU_MAILBOX_STAT_0 UL(0xFF63C408)
  77. #define AML_HIU_MAILBOX_CLR_0 UL(0xFF63C40C)
  78. #define AML_HIU_MAILBOX_SET_3 UL(0xFF63C428)
  79. #define AML_HIU_MAILBOX_STAT_3 UL(0xFF63C42C)
  80. #define AML_HIU_MAILBOX_CLR_3 UL(0xFF63C430)
  81. #define AML_SHA_DMA_BASE UL(0xFF63E000)
  82. #define AML_SHA_DMA_DESC (AML_SHA_DMA_BASE + 0x08)
  83. #define AML_SHA_DMA_STATUS (AML_SHA_DMA_BASE + 0x28)
  84. /*******************************************************************************
  85. * System Monitor Call IDs and arguments
  86. ******************************************************************************/
  87. #define AML_SM_GET_SHARE_MEM_INPUT_BASE U(0x82000020)
  88. #define AML_SM_GET_SHARE_MEM_OUTPUT_BASE U(0x82000021)
  89. #define AML_SM_EFUSE_READ U(0x82000030)
  90. #define AML_SM_EFUSE_USER_MAX U(0x82000033)
  91. #define AML_SM_JTAG_ON U(0x82000040)
  92. #define AML_SM_JTAG_OFF U(0x82000041)
  93. #define AML_SM_GET_CHIP_ID U(0x82000044)
  94. #define AML_JTAG_STATE_ON U(0)
  95. #define AML_JTAG_STATE_OFF U(1)
  96. #define AML_JTAG_M3_AO U(0)
  97. #define AML_JTAG_M3_EE U(1)
  98. #define AML_JTAG_A53_AO U(2)
  99. #define AML_JTAG_A53_EE U(3)
  100. #endif /* AXG_DEF_H */