gxbb_def.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. /*
  2. * Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #ifndef GXBB_DEF_H
  7. #define GXBB_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_NSDRAM0_BASE UL(0x01000000)
  17. #define AML_NSDRAM0_SIZE UL(0x0F000000)
  18. #define AML_NSDRAM1_BASE UL(0x10000000)
  19. #define AML_NSDRAM1_SIZE UL(0x00100000)
  20. #define BL31_BASE UL(0x10100000)
  21. #define BL31_SIZE UL(0x000C0000)
  22. #define BL31_LIMIT (BL31_BASE + BL31_SIZE)
  23. /* Shared memory used for SMC services */
  24. #define AML_SHARE_MEM_INPUT_BASE UL(0x100FE000)
  25. #define AML_SHARE_MEM_OUTPUT_BASE UL(0x100FF000)
  26. #define AML_SEC_DEVICE0_BASE UL(0xC0000000)
  27. #define AML_SEC_DEVICE0_SIZE UL(0x09000000)
  28. #define AML_SEC_DEVICE1_BASE UL(0xD0040000)
  29. #define AML_SEC_DEVICE1_SIZE UL(0x00008000)
  30. #define AML_TZRAM_BASE UL(0xD9000000)
  31. #define AML_TZRAM_SIZE UL(0x00014000)
  32. /* Top 0xC000 bytes (up to 0xD9020000) used by BL2 */
  33. /* Mailboxes */
  34. #define AML_MHU_SECURE_SCP_TO_AP_PAYLOAD UL(0xD9013800)
  35. #define AML_MHU_SECURE_AP_TO_SCP_PAYLOAD UL(0xD9013A00)
  36. #define AML_PSCI_MAILBOX_BASE UL(0xD9013F00)
  37. #define AML_TZROM_BASE UL(0xD9040000)
  38. #define AML_TZROM_SIZE UL(0x00010000)
  39. #define AML_SEC_DEVICE2_BASE UL(0xDA000000)
  40. #define AML_SEC_DEVICE2_SIZE UL(0x00200000)
  41. #define AML_SEC_DEVICE3_BASE UL(0xDA800000)
  42. #define AML_SEC_DEVICE3_SIZE UL(0x00200000)
  43. /*******************************************************************************
  44. * GIC-400 and interrupt handling related constants
  45. ******************************************************************************/
  46. #define AML_GICD_BASE UL(0xC4301000)
  47. #define AML_GICC_BASE UL(0xC4302000)
  48. #define IRQ_SEC_PHY_TIMER 29
  49. #define IRQ_SEC_SGI_0 8
  50. #define IRQ_SEC_SGI_1 9
  51. #define IRQ_SEC_SGI_2 10
  52. #define IRQ_SEC_SGI_3 11
  53. #define IRQ_SEC_SGI_4 12
  54. #define IRQ_SEC_SGI_5 13
  55. #define IRQ_SEC_SGI_6 14
  56. #define IRQ_SEC_SGI_7 15
  57. /*******************************************************************************
  58. * UART definitions
  59. ******************************************************************************/
  60. #define AML_UART0_AO_BASE UL(0xC81004C0)
  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(0xC81000B4)
  67. #define AML_SYS_CPU_CFG7 UL(0xC8834664)
  68. #define AML_AO_RTI_STATUS_REG3 UL(0xDA10001C)
  69. #define AML_HIU_MAILBOX_SET_0 UL(0xDA83C404)
  70. #define AML_HIU_MAILBOX_STAT_0 UL(0xDA83C408)
  71. #define AML_HIU_MAILBOX_CLR_0 UL(0xDA83C40C)
  72. #define AML_HIU_MAILBOX_SET_3 UL(0xDA83C428)
  73. #define AML_HIU_MAILBOX_STAT_3 UL(0xDA83C42C)
  74. #define AML_HIU_MAILBOX_CLR_3 UL(0xDA83C430)
  75. #define AML_SHA_DMA_BASE UL(0xC883E000)
  76. #define AML_SHA_DMA_DESC (AML_SHA_DMA_BASE + 0x08)
  77. #define AML_SHA_DMA_STATUS (AML_SHA_DMA_BASE + 0x18)
  78. /*******************************************************************************
  79. * System Monitor Call IDs and arguments
  80. ******************************************************************************/
  81. #define AML_SM_GET_SHARE_MEM_INPUT_BASE U(0x82000020)
  82. #define AML_SM_GET_SHARE_MEM_OUTPUT_BASE U(0x82000021)
  83. #define AML_SM_EFUSE_READ U(0x82000030)
  84. #define AML_SM_EFUSE_USER_MAX U(0x82000033)
  85. #define AML_SM_JTAG_ON U(0x82000040)
  86. #define AML_SM_JTAG_OFF U(0x82000041)
  87. #define AML_SM_GET_CHIP_ID U(0x82000044)
  88. #define AML_JTAG_STATE_ON U(0)
  89. #define AML_JTAG_STATE_OFF U(1)
  90. #define AML_JTAG_M3_AO U(0)
  91. #define AML_JTAG_M3_EE U(1)
  92. #define AML_JTAG_A53_AO U(2)
  93. #define AML_JTAG_A53_EE U(3)
  94. #endif /* GXBB_DEF_H */