g12a_def.h 4.5 KB

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