xparameters_ps.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. /******************************************************************************
  2. * Copyright (c) 2014 - 2020 Xilinx, Inc. All rights reserved.
  3. * SPDX-License-Identifier: MIT
  4. ******************************************************************************/
  5. /*****************************************************************************/
  6. /**
  7. * @file xparameters_ps.h
  8. *
  9. * @addtogroup r5_peripheral_definitions Cortex R5 peripheral definitions
  10. *
  11. * The xparameters_ps.h file contains the canonical definitions and constant
  12. * declarations for peripherals within hardblock, attached to the ARM Cortex R5
  13. * core. These definitions can be used by drivers or applications to access the
  14. * peripherals.
  15. *
  16. * @{
  17. * <pre>
  18. * MODIFICATION HISTORY:
  19. *
  20. * Ver Who Date Changes
  21. * ----- ------- -------- ---------------------------------------------------
  22. * 5.00 pkp 02/29/14 Initial version
  23. * 6.0 mus 08/18/16 Defined ARMR5 flag
  24. * 7.2 pm 03/25/20 Add wakeup Interrupt Id for usbpsu controller
  25. * </pre>
  26. *
  27. ******************************************************************************/
  28. #ifndef XPARAMETERS_PS_H_
  29. #define XPARAMETERS_PS_H_
  30. #ifndef ARMR5
  31. #define ARMR5 ARMR5
  32. #endif
  33. #ifdef __cplusplus
  34. extern "C" {
  35. #endif
  36. /***************************** Include Files *********************************/
  37. /************************** Constant Definitions *****************************/
  38. /*
  39. * This block contains constant declarations for the peripherals
  40. * within the hardblock
  41. */
  42. /* Canonical definitions for DDR MEMORY */
  43. #define XPAR_DDR_MEM_BASEADDR 0x00000000U
  44. #define XPAR_DDR_MEM_HIGHADDR 0x3FFFFFFFU
  45. /* Canonical definitions for Interrupts */
  46. #define XPAR_XUARTPS_0_INTR XPS_UART0_INT_ID
  47. #define XPAR_XUARTPS_1_INTR XPS_UART1_INT_ID
  48. #define XPAR_XIICPS_0_INTR XPS_I2C0_INT_ID
  49. #define XPAR_XIICPS_1_INTR XPS_I2C1_INT_ID
  50. #define XPAR_XSPIPS_0_INTR XPS_SPI0_INT_ID
  51. #define XPAR_XSPIPS_1_INTR XPS_SPI1_INT_ID
  52. #define XPAR_XCANPS_0_INTR XPS_CAN0_INT_ID
  53. #define XPAR_XCANPS_1_INTR XPS_CAN1_INT_ID
  54. #define XPAR_XGPIOPS_0_INTR XPS_GPIO_INT_ID
  55. #define XPAR_XEMACPS_0_INTR XPS_GEM0_INT_ID
  56. #define XPAR_XEMACPS_0_WAKE_INTR XPS_GEM0_WAKE_INT_ID
  57. #define XPAR_XEMACPS_1_INTR XPS_GEM1_INT_ID
  58. #define XPAR_XEMACPS_1_WAKE_INTR XPS_GEM1_WAKE_INT_ID
  59. #define XPAR_XEMACPS_2_INTR XPS_GEM2_INT_ID
  60. #define XPAR_XEMACPS_2_WAKE_INTR XPS_GEM2_WAKE_INT_ID
  61. #define XPAR_XEMACPS_3_INTR XPS_GEM3_INT_ID
  62. #define XPAR_XEMACPS_3_WAKE_INTR XPS_GEM3_WAKE_INT_ID
  63. #define XPAR_XSDIOPS_0_INTR XPS_SDIO0_INT_ID
  64. #define XPAR_XQSPIPS_0_INTR XPS_QSPI_INT_ID
  65. #define XPAR_XSDIOPS_1_INTR XPS_SDIO1_INT_ID
  66. #define XPAR_XWDTPS_0_INTR XPS_CSU_WDT_INT_ID
  67. #define XPAR_XWDTPS_1_INTR XPS_LPD_SWDT_INT_ID
  68. #define XPAR_XWDTPS_2_INTR XPS_FPD_SWDT_INT_ID
  69. #define XPAR_XDCFG_0_INTR XPS_DVC_INT_ID
  70. #define XPAR_XTTCPS_0_INTR XPS_TTC0_0_INT_ID
  71. #define XPAR_XTTCPS_1_INTR XPS_TTC0_1_INT_ID
  72. #define XPAR_XTTCPS_2_INTR XPS_TTC0_2_INT_ID
  73. #define XPAR_XTTCPS_3_INTR XPS_TTC1_0_INT_ID
  74. #define XPAR_XTTCPS_4_INTR XPS_TTC1_1_INT_ID
  75. #define XPAR_XTTCPS_5_INTR XPS_TTC1_2_INT_ID
  76. #define XPAR_XTTCPS_6_INTR XPS_TTC2_0_INT_ID
  77. #define XPAR_XTTCPS_7_INTR XPS_TTC2_1_INT_ID
  78. #define XPAR_XTTCPS_8_INTR XPS_TTC2_2_INT_ID
  79. #define XPAR_XTTCPS_9_INTR XPS_TTC3_0_INT_ID
  80. #define XPAR_XTTCPS_10_INTR XPS_TTC3_1_INT_ID
  81. #define XPAR_XTTCPS_11_INTR XPS_TTC3_2_INT_ID
  82. #define XPAR_XNANDPS8_0_INTR XPS_NAND_INT_ID
  83. #define XPAR_XADMAPS_0_INTR XPS_ADMA_CH0_INT_ID
  84. #define XPAR_XADMAPS_1_INTR XPS_ADMA_CH1_INT_ID
  85. #define XPAR_XADMAPS_2_INTR XPS_ADMA_CH2_INT_ID
  86. #define XPAR_XADMAPS_3_INTR XPS_ADMA_CH3_INT_ID
  87. #define XPAR_XADMAPS_4_INTR XPS_ADMA_CH4_INT_ID
  88. #define XPAR_XADMAPS_5_INTR XPS_ADMA_CH5_INT_ID
  89. #define XPAR_XADMAPS_6_INTR XPS_ADMA_CH6_INT_ID
  90. #define XPAR_XADMAPS_7_INTR XPS_ADMA_CH7_INT_ID
  91. #define XPAR_XCSUDMA_INTR XPS_CSU_DMA_INT_ID
  92. #define XPAR_PSU_ADMA_0_INTR XPS_ADMA_CH0_INT_ID
  93. #define XPAR_PSU_ADMA_1_INTR XPS_ADMA_CH1_INT_ID
  94. #define XPAR_PSU_ADMA_2_INTR XPS_ADMA_CH2_INT_ID
  95. #define XPAR_PSU_ADMA_3_INTR XPS_ADMA_CH3_INT_ID
  96. #define XPAR_PSU_ADMA_4_INTR XPS_ADMA_CH4_INT_ID
  97. #define XPAR_PSU_ADMA_5_INTR XPS_ADMA_CH5_INT_ID
  98. #define XPAR_PSU_ADMA_6_INTR XPS_ADMA_CH6_INT_ID
  99. #define XPAR_PSU_ADMA_7_INTR XPS_ADMA_CH7_INT_ID
  100. #define XPAR_PSU_CSUDMA_INTR XPS_CSU_DMA_INT_ID
  101. #define XPAR_XMPU_LPD_INTR XPS_XMPU_LPD_INT_ID
  102. #define XPAR_XZDMAPS_0_INTR XPS_ZDMA_CH0_INT_ID
  103. #define XPAR_XZDMAPS_1_INTR XPS_ZDMA_CH1_INT_ID
  104. #define XPAR_XZDMAPS_2_INTR XPS_ZDMA_CH2_INT_ID
  105. #define XPAR_XZDMAPS_3_INTR XPS_ZDMA_CH3_INT_ID
  106. #define XPAR_XZDMAPS_4_INTR XPS_ZDMA_CH4_INT_ID
  107. #define XPAR_XZDMAPS_5_INTR XPS_ZDMA_CH5_INT_ID
  108. #define XPAR_XZDMAPS_6_INTR XPS_ZDMA_CH6_INT_ID
  109. #define XPAR_XZDMAPS_7_INTR XPS_ZDMA_CH7_INT_ID
  110. #define XPAR_PSU_GDMA_0_INTR XPS_ZDMA_CH0_INT_ID
  111. #define XPAR_PSU_GDMA_1_INTR XPS_ZDMA_CH1_INT_ID
  112. #define XPAR_PSU_GDMA_2_INTR XPS_ZDMA_CH2_INT_ID
  113. #define XPAR_PSU_GDMA_3_INTR XPS_ZDMA_CH3_INT_ID
  114. #define XPAR_PSU_GDMA_4_INTR XPS_ZDMA_CH4_INT_ID
  115. #define XPAR_PSU_GDMA_5_INTR XPS_ZDMA_CH5_INT_ID
  116. #define XPAR_PSU_GDMA_6_INTR XPS_ZDMA_CH6_INT_ID
  117. #define XPAR_PSU_GDMA_7_INTR XPS_ZDMA_CH7_INT_ID
  118. #define XPAR_XMPU_FPD_INTR XPS_XMPU_FPD_INT_ID
  119. #define XPAR_XCCI_FPD_INTR XPS_FPD_CCI_INT_ID
  120. #define XPAR_XSMMU_FPD_INTR XPS_FPD_SMMU_INT_ID
  121. #define XPAR_XUSBPS_0_INTR XPS_USB3_0_ENDPT_INT_ID
  122. #define XPAR_XUSBPS_1_INTR XPS_USB3_1_ENDPT_INT_ID
  123. #define XPAR_XUSBPS_0_WAKE_INTR XPS_USB3_0_WAKE_INT_ID
  124. #define XPAR_XUSBPS_1_WAKE_INTR XPS_USB3_1_WAKE_INT_ID
  125. #define XPAR_XRTCPSU_ALARM_INTR XPS_RTC_ALARM_INT_ID
  126. #define XPAR_XRTCPSU_SECONDS_INTR XPS_RTC_SEC_INT_ID
  127. #define XPAR_XAPMPS_0_INTR XPS_APM0_INT_ID
  128. #define XPAR_XAPMPS_1_INTR XPS_APM1_INT_ID
  129. #define XPAR_XAPMPS_2_INTR XPS_APM2_INT_ID
  130. #define XPAR_XAPMPS_5_INTR XPS_APM5_INT_ID
  131. #define XPAR_XSYSMONPSU_INTR XPS_AMS_INT_ID
  132. /* Canonical definitions for SCU GIC */
  133. #define XPAR_SCUGIC_NUM_INSTANCES 1U
  134. #define XPAR_SCUGIC_SINGLE_DEVICE_ID 0U
  135. #define XPAR_SCUGIC_CPU_BASEADDR (XPS_SCU_PERIPH_BASE + 0x00001000U)
  136. #define XPAR_SCUGIC_DIST_BASEADDR (XPS_SCU_PERIPH_BASE + 0x00002000U)
  137. #define XPAR_SCUGIC_ACK_BEFORE 0U
  138. #define XPAR_CPU_CORTEXR5_CORE_CLOCK_FREQ_HZ XPAR_CPU_CORTEXR5_0_CPU_CLK_FREQ_HZ
  139. /*
  140. * This block contains constant declarations for the peripherals
  141. * within the hardblock. These have been put for bacwards compatibility
  142. */
  143. #define XPS_SYS_CTRL_BASEADDR 0xFF180000U
  144. #define XPS_SCU_PERIPH_BASE 0xF9000000U
  145. /* Shared Peripheral Interrupts (SPI) */
  146. #define XPS_FPGA0_INT_ID 121U
  147. #define XPS_FPGA1_INT_ID 122U
  148. #define XPS_FPGA2_INT_ID 123U
  149. #define XPS_FPGA3_INT_ID 124U
  150. #define XPS_FPGA4_INT_ID 125U
  151. #define XPS_FPGA5_INT_ID 126U
  152. #define XPS_FPGA6_INT_ID 127U
  153. #define XPS_FPGA7_INT_ID 128U
  154. #define XPS_FPGA8_INT_ID 136U
  155. #define XPS_FPGA9_INT_ID 137U
  156. #define XPS_FPGA10_INT_ID 138U
  157. #define XPS_FPGA11_INT_ID 139U
  158. #define XPS_FPGA12_INT_ID 140U
  159. #define XPS_FPGA13_INT_ID 141U
  160. #define XPS_FPGA14_INT_ID 142U
  161. #define XPS_FPGA15_INT_ID 143U
  162. /* Updated Interrupt-IDs */
  163. #define XPS_OCMINTR_INT_ID (10U + 32U)
  164. #define XPS_NAND_INT_ID (14U + 32U)
  165. #define XPS_QSPI_INT_ID (15U + 32U)
  166. #define XPS_GPIO_INT_ID (16U + 32U)
  167. #define XPS_I2C0_INT_ID (17U + 32U)
  168. #define XPS_I2C1_INT_ID (18U + 32U)
  169. #define XPS_SPI0_INT_ID (19U + 32U)
  170. #define XPS_SPI1_INT_ID (20U + 32U)
  171. #define XPS_UART0_INT_ID (21U + 32U)
  172. #define XPS_UART1_INT_ID (22U + 32U)
  173. #define XPS_CAN0_INT_ID (23U + 32U)
  174. #define XPS_CAN1_INT_ID (24U + 32U)
  175. #define XPS_RTC_ALARM_INT_ID (26U + 32U)
  176. #define XPS_RTC_SEC_INT_ID (27U + 32U)
  177. #define XPS_LPD_SWDT_INT_ID (52U + 32U)
  178. #define XPS_CSU_WDT_INT_ID (53U + 32U)
  179. #define XPS_FPD_SWDT_INT_ID (113U + 32U)
  180. #define XPS_TTC0_0_INT_ID (36U + 32U)
  181. #define XPS_TTC0_1_INT_ID (37U + 32U)
  182. #define XPS_TTC0_2_INT_ID (38U + 32U)
  183. #define XPS_TTC1_0_INT_ID (39U + 32U)
  184. #define XPS_TTC1_1_INT_ID (40U + 32U)
  185. #define XPS_TTC1_2_INT_ID (41U + 32U)
  186. #define XPS_TTC2_0_INT_ID (42U + 32U)
  187. #define XPS_TTC2_1_INT_ID (43U + 32U)
  188. #define XPS_TTC2_2_INT_ID (44U + 32U)
  189. #define XPS_TTC3_0_INT_ID (45U + 32U)
  190. #define XPS_TTC3_1_INT_ID (46U + 32U)
  191. #define XPS_TTC3_2_INT_ID (47U + 32U)
  192. #define XPS_SDIO0_INT_ID (48U + 32U)
  193. #define XPS_SDIO1_INT_ID (49U + 32U)
  194. #define XPS_AMS_INT_ID (56U + 32U)
  195. #define XPS_GEM0_INT_ID (57U + 32U)
  196. #define XPS_GEM0_WAKE_INT_ID (58U + 32U)
  197. #define XPS_GEM1_INT_ID (59U + 32U)
  198. #define XPS_GEM1_WAKE_INT_ID (60U + 32U)
  199. #define XPS_GEM2_INT_ID (61U + 32U)
  200. #define XPS_GEM2_WAKE_INT_ID (62U + 32U)
  201. #define XPS_GEM3_INT_ID (63U + 32U)
  202. #define XPS_GEM3_WAKE_INT_ID (64U + 32U)
  203. #define XPS_USB3_0_ENDPT_INT_ID (65U + 32U)
  204. #define XPS_USB3_1_ENDPT_INT_ID (70U + 32U)
  205. #define XPS_USB3_0_WAKE_INT_ID (75U + 32U)
  206. #define XPS_USB3_1_WAKE_INT_ID (76U + 32U)
  207. #define XPS_ADMA_CH0_INT_ID (77U + 32U)
  208. #define XPS_ADMA_CH1_INT_ID (78U + 32U)
  209. #define XPS_ADMA_CH2_INT_ID (79U + 32U)
  210. #define XPS_ADMA_CH3_INT_ID (80U + 32U)
  211. #define XPS_ADMA_CH4_INT_ID (81U + 32U)
  212. #define XPS_ADMA_CH5_INT_ID (82U + 32U)
  213. #define XPS_ADMA_CH6_INT_ID (83U + 32U)
  214. #define XPS_ADMA_CH7_INT_ID (84U + 32U)
  215. #define XPS_CSU_DMA_INT_ID (86U + 32U)
  216. #define XPS_XMPU_LPD_INT_ID (88U + 32U)
  217. #define XPS_ZDMA_CH0_INT_ID (124U + 32U)
  218. #define XPS_ZDMA_CH1_INT_ID (125U + 32U)
  219. #define XPS_ZDMA_CH2_INT_ID (126U + 32U)
  220. #define XPS_ZDMA_CH3_INT_ID (127U + 32U)
  221. #define XPS_ZDMA_CH4_INT_ID (128U + 32U)
  222. #define XPS_ZDMA_CH5_INT_ID (129U + 32U)
  223. #define XPS_ZDMA_CH6_INT_ID (130U + 32U)
  224. #define XPS_ZDMA_CH7_INT_ID (131U + 32U)
  225. #define XPS_XMPU_FPD_INT_ID (134U + 32U)
  226. #define XPS_FPD_CCI_INT_ID (154U + 32U)
  227. #define XPS_FPD_SMMU_INT_ID (155U + 32U)
  228. #define XPS_APM0_INT_ID (123U + 32U)
  229. #define XPS_APM1_INT_ID (25U + 32U)
  230. #define XPS_APM2_INT_ID (25U + 32U)
  231. #define XPS_APM5_INT_ID (123U + 32U)
  232. /* REDEFINES for TEST APP */
  233. #define XPAR_PSU_UART_0_INTR XPS_UART0_INT_ID
  234. #define XPAR_PSU_UART_1_INTR XPS_UART1_INT_ID
  235. #define XPAR_PSU_USB_0_INTR XPS_USB0_INT_ID
  236. #define XPAR_PSU_USB_1_INTR XPS_USB1_INT_ID
  237. #define XPAR_PSU_I2C_0_INTR XPS_I2C0_INT_ID
  238. #define XPAR_PSU_I2C_1_INTR XPS_I2C1_INT_ID
  239. #define XPAR_PSU_SPI_0_INTR XPS_SPI0_INT_ID
  240. #define XPAR_PSU_SPI_1_INTR XPS_SPI1_INT_ID
  241. #define XPAR_PSU_CAN_0_INTR XPS_CAN0_INT_ID
  242. #define XPAR_PSU_CAN_1_INTR XPS_CAN1_INT_ID
  243. #define XPAR_PSU_GPIO_0_INTR XPS_GPIO_INT_ID
  244. #define XPAR_PSU_ETHERNET_0_INTR XPS_GEM0_INT_ID
  245. #define XPAR_PSU_ETHERNET_0_WAKE_INTR XPS_GEM0_WAKE_INT_ID
  246. #define XPAR_PSU_ETHERNET_1_INTR XPS_GEM1_INT_ID
  247. #define XPAR_PSU_ETHERNET_1_WAKE_INTR XPS_GEM1_WAKE_INT_ID
  248. #define XPAR_PSU_ETHERNET_2_INTR XPS_GEM2_INT_ID
  249. #define XPAR_PSU_ETHERNET_2_WAKE_INTR XPS_GEM2_WAKE_INT_ID
  250. #define XPAR_PSU_ETHERNET_3_INTR XPS_GEM3_INT_ID
  251. #define XPAR_PSU_ETHERNET_3_WAKE_INTR XPS_GEM3_WAKE_INT_ID
  252. #define XPAR_PSU_QSPI_0_INTR XPS_QSPI_INT_ID
  253. #define XPAR_PSU_WDT_0_INTR XPS_LPD_SWDT_INT_ID
  254. #define XPAR_PSU_WDT_1_INTR XPS_FPD_SWDT_INT_ID
  255. #define XPAR_PSU_XADC_0_INTR XPS_SYSMON_INT_ID
  256. #define XPAR_PSU_TTC_0_INTR XPS_TTC0_0_INT_ID
  257. #define XPAR_PSU_TTC_1_INTR XPS_TTC0_1_INT_ID
  258. #define XPAR_PSU_TTC_2_INTR XPS_TTC0_2_INT_ID
  259. #define XPAR_PSU_TTC_3_INTR XPS_TTC1_0_INT_ID
  260. #define XPAR_PSU_TTC_4_INTR XPS_TTC1_1_INT_ID
  261. #define XPAR_PSU_TTC_5_INTR XPS_TTC1_2_INT_ID
  262. #define XPAR_PSU_TTC_6_INTR XPS_TTC2_0_INT_ID
  263. #define XPAR_PSU_TTC_7_INTR XPS_TTC2_1_INT_ID
  264. #define XPAR_PSU_TTC_8_INTR XPS_TTC2_2_INT_ID
  265. #define XPAR_PSU_TTC_9_INTR XPS_TTC3_0_INT_ID
  266. #define XPAR_PSU_TTC_10_INTR XPS_TTC3_1_INT_ID
  267. #define XPAR_PSU_TTC_11_INTR XPS_TTC3_2_INT_ID
  268. #define XPAR_PSU_AMS_INTR XPS_AMS_INT_ID
  269. #define XPAR_XADCPS_NUM_INSTANCES 1U
  270. #define XPAR_XADCPS_0_DEVICE_ID 0U
  271. #define XPAR_XADCPS_0_BASEADDR (0xF8007000U)
  272. #define XPAR_XADCPS_INT_ID XPS_SYSMON_INT_ID
  273. /* For backwards compatibility */
  274. #define XPAR_XUARTPS_0_CLOCK_HZ XPAR_XUARTPS_0_UART_CLK_FREQ_HZ
  275. #define XPAR_XUARTPS_1_CLOCK_HZ XPAR_XUARTPS_1_UART_CLK_FREQ_HZ
  276. #define XPAR_XTTCPS_0_CLOCK_HZ XPAR_XTTCPS_0_TTC_CLK_FREQ_HZ
  277. #define XPAR_XTTCPS_1_CLOCK_HZ XPAR_XTTCPS_1_TTC_CLK_FREQ_HZ
  278. #define XPAR_XTTCPS_2_CLOCK_HZ XPAR_XTTCPS_2_TTC_CLK_FREQ_HZ
  279. #define XPAR_XTTCPS_3_CLOCK_HZ XPAR_XTTCPS_3_TTC_CLK_FREQ_HZ
  280. #define XPAR_XTTCPS_4_CLOCK_HZ XPAR_XTTCPS_4_TTC_CLK_FREQ_HZ
  281. #define XPAR_XTTCPS_5_CLOCK_HZ XPAR_XTTCPS_5_TTC_CLK_FREQ_HZ
  282. #define XPAR_XIICPS_0_CLOCK_HZ XPAR_XIICPS_0_I2C_CLK_FREQ_HZ
  283. #define XPAR_XIICPS_1_CLOCK_HZ XPAR_XIICPS_1_I2C_CLK_FREQ_HZ
  284. #define XPAR_XQSPIPS_0_CLOCK_HZ XPAR_XQSPIPS_0_QSPI_CLK_FREQ_HZ
  285. #ifdef XPAR_CPU_CORTEXR5_0_CPU_CLK_FREQ_HZ
  286. #define XPAR_CPU_CORTEXR5_CORE_CLOCK_FREQ_HZ XPAR_CPU_CORTEXR5_0_CPU_CLK_FREQ_HZ
  287. #endif
  288. #ifdef XPAR_CPU_CORTEXR5_1_CPU_CLK_FREQ_HZ
  289. #define XPAR_CPU_CORTEXR5_CORE_CLOCK_FREQ_HZ XPAR_CPU_CORTEXR5_1_CPU_CLK_FREQ_HZ
  290. #endif
  291. #define XPAR_SCUWDT_DEVICE_ID 0U
  292. #ifdef __cplusplus
  293. }
  294. #endif
  295. #endif /* protection macro */
  296. /**
  297. * @} End of "addtogroup r5_peripheral_definitions".
  298. */