sama5d2x.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379
  1. /*
  2. ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
  3. Licensed under the Apache License, Version 2.0 (the "License");
  4. you may not use this file except in compliance with the License.
  5. You may obtain a copy of the License at
  6. http://www.apache.org/licenses/LICENSE-2.0
  7. Unless required by applicable law or agreed to in writing, software
  8. distributed under the License is distributed on an "AS IS" BASIS,
  9. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. See the License for the specific language governing permissions and
  11. limitations under the License.
  12. */
  13. /**
  14. * @file SAM/sama5d2x.h
  15. * @brief SAM A5 D2x inclusion header.
  16. *
  17. * @addtogroup SAMA5D2
  18. * @{
  19. */
  20. #ifndef _SAMA5D2X_H_
  21. #define _SAMA5D2X_H_
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif /* __cplusplus */
  25. #include <stddef.h>
  26. #include <stdint.h>
  27. #include <stdbool.h>
  28. #include "ARMCA5.h"
  29. /**
  30. * @brief SAMA5D2 Family
  31. */
  32. #if !defined (SAMA5D2)
  33. #define SAMA5D2
  34. #endif /* SAMA5D2 */
  35. /**
  36. * @addtogroup Device_Included
  37. * @{
  38. */
  39. #if defined(SAMA5D21)
  40. #include "sama5d21.h"
  41. #elif defined(SAMA5D22)
  42. #include "sama5d22.h"
  43. #elif defined(SAMA5D23)
  44. #include "sama5d23.h"
  45. #elif defined(SAMA5D24)
  46. #include "sama5d24.h"
  47. #elif defined(SAMA5D26)
  48. #include "sama5d26.h"
  49. #elif defined(SAMA5D27)
  50. #include "sama5d27.h"
  51. #elif defined(SAMA5D28)
  52. #include "sama5d28.h"
  53. #else
  54. #error "Please select first the target SAMA5D2x device used in your application (in sama5d2x.h file)"
  55. #endif
  56. /**@} */
  57. #ifndef GBC_DISABLE_AES_REFERENCE
  58. /* TODO: to delete */
  59. #define Aes wc_Aes
  60. #endif
  61. /**
  62. * @brief SAMA5D2 Family
  63. * @{
  64. */
  65. #define ID_SAIC_FIQ ( 0) /**< \brief FIQ Interrupt ID (SAIC_FIQ) */
  66. #define ID_PMC ( 1) /**< \brief Power Management Controller (PMC) */
  67. #define ID_ARM_PMU ( 2) /**< \brief Performance Monitor Unit (PMU) (ARM_PMU) */
  68. #define ID_PIT ( 3) /**< \brief Periodic Interval Timer Interrupt (PIT) */
  69. #define ID_WDT ( 4) /**< \brief Watchdog timer Interrupt (WDT) */
  70. #define ID_GMAC0 ( 5) /**< \brief Ethernet MAC (GMAC0) */
  71. #define ID_XDMAC0 ( 6) /**< \brief DMA Controller 0 (XDMAC0) */
  72. #define ID_XDMAC1 ( 7) /**< \brief DMA Controller 1 (XDMAC1) */
  73. #define ID_ICM ( 8) /**< \brief Integritry Check Monitor (ICM) */
  74. #define ID_AES ( 9) /**< \brief Advanced Enion Standard (AES) */
  75. #define ID_AESB (10) /**< \brief AES bridge (AESB) */
  76. #define ID_TDES (11) /**< \brief Triple Data Enion Standard (TDES) */
  77. #define ID_SHA (12) /**< \brief SHA Signature (SHA) */
  78. #define ID_MPDDRC (13) /**< \brief MPDDR controller (MPDDRC) */
  79. #define ID_MATRIX1 (14) /**< \brief H32MX, 32-bit AHB Matrix (MATRIX1) */
  80. #define ID_MATRIX0 (15) /**< \brief H64MX, 64-bit AHB Matrix (MATRIX0) */
  81. #define ID_SECUMOD (16) /**< \brief Secure Module (SECUMOD) */
  82. #define ID_HSMC (17) /**< \brief Multi-bit ECC Interrupt (HSMC) */
  83. #define ID_PIOA (18) /**< \brief Parallel I/O Controller (PIOA) */
  84. #define ID_FLEXCOM0 (19) /**< \brief FLEXCOM 0 (FLEXCOM0) */
  85. #define ID_USART0 (19) /**< \brief USART (USART0) from FLEXCOM0 */
  86. #define ID_FCOMSPI0 (19) /**< \brief Serial Peripheral Interface (SPI0) from FLEXCOM0 */
  87. #define ID_TWI0 (19) /**< \brief Two-Wire Interface (TWI0) from FLEXCOM0 */
  88. #define ID_FLEXCOM1 (20) /**< \brief FLEXCOM 1 (FLEXCOM1) */
  89. #define ID_USART1 (20) /**< \brief USART (USART1) from FLEXCOM1 */
  90. #define ID_FCOMSPI1 (20) /**< \brief Serial Peripheral Interface (SPI1) from FLEXCOM1 */
  91. #define ID_TWI1 (20) /**< \brief Two-Wire Interface (TWI1) from FLEXCOM1 */
  92. #define ID_FLEXCOM2 (21) /**< \brief FLEXCOM 1 (FLEXCOM1) */
  93. #define ID_USART2 (21) /**< \brief USART (USART1) from FLEXCOM1 */
  94. #define ID_FCOMSPI2 (21) /**< \brief Serial Peripheral Interface (SPI1) from FLEXCOM1 */
  95. #define ID_TWI2 (21) /**< \brief Two-Wire Interface (TWI1) from FLEXCOM1 */
  96. #define ID_FLEXCOM3 (22) /**< \brief FLEXCOM 3 (FLEXCOM3) */
  97. #define ID_USART3 (22) /**< \brief USART (USART3) from FLEXCOM3 */
  98. #define ID_FCOMSPI3 (22) /**< \brief Serial Peripheral Interface (SPI3) from FLEXCOM3 */
  99. #define ID_TWI3 (22) /**< \brief Two-Wire Interface (TWI3) from FLEXCOM3 */
  100. #define ID_FLEXCOM4 (23) /**< \brief FLEXCOM 4 (FLEXCOM4) */
  101. #define ID_USART4 (23) /**< \brief USART (USART4) from FLEXCOM4 */
  102. #define ID_FCOMSPI4 (23) /**< \brief Serial Peripheral Interface (SPI4) from FLEXCOM4 */
  103. #define ID_TWI4 (23) /**< \brief Two-Wire Interface (TWI4) from FLEXCOM4 */
  104. #define ID_UART0 (24) /**< \brief UART 0 (UART0) */
  105. #define ID_UART1 (25) /**< \brief UART 1 (UART1) */
  106. #define ID_UART2 (26) /**< \brief UART 2 (UART2) */
  107. #define ID_UART3 (27) /**< \brief UART 3 (UART3) */
  108. #define ID_UART4 (28) /**< \brief UART 4 (UART4) */
  109. #define ID_TWIHS0 (29) /**< \brief Two-Wire Interface 0 (TWIHS0) */
  110. #define ID_TWIHS1 (30) /**< \brief Two-Wire Interface 1 (TWIHS1) */
  111. #define ID_SDMMC0 (31) /**< \brief Secure Digital Multimedia Card Controller 0 (SDMMC0) */
  112. #define ID_SDMMC1 (32) /**< \brief Secure Digital Multimedia Card Controller 1 (SDMMC1) */
  113. #define ID_SPI0 (33) /**< \brief Serial Peripheral Interface 0 (SPI0) */
  114. #define ID_SPI1 (34) /**< \brief Serial Peripheral Interface 1 (SPI1) */
  115. #define ID_TC0 (35) /**< \brief Timer Counter 0 (ch. 0, 1, 2) (TC0) */
  116. #define ID_TC1 (36) /**< \brief Timer Counter 1 (ch. 3, 4, 5) (TC1) */
  117. #define ID_PWM (38) /**< \brief Pulse Width Modulation Controller0 (ch. 0, 1, 2, 3) (PWM) */
  118. #define ID_ADC (40) /**< \brief Touch Screen ADC Controller (ADC) */
  119. #define ID_UHPHS (41) /**< \brief USB Host High Speed (UHPHS) */
  120. #define ID_UDPHS (42) /**< \brief USB Device High Speed (UDPHS) */
  121. #define ID_SSC0 (43) /**< \brief Synchronous Serial Controller 0 (SSC0) */
  122. #define ID_SSC1 (44) /**< \brief Synchronous Serial Controller 1 (SSC1) */
  123. #define ID_LCDC (45) /**< \brief LCD Controller (LCDC) */
  124. #define ID_ISC (46) /**< \brief Camera Interface (ISC) */
  125. #define ID_TRNG (47) /**< \brief True Random Number Generator (TRNG) */
  126. #define ID_PDMIC (48) /**< \brief Pulse Density Modulation Interface Controller (PDMIC) */
  127. #define ID_AIC_IRQ (49) /**< \brief IRQ Interrupt ID (AIC_IRQ) */
  128. #define ID_SFC (50) /**< \brief Fuse Controller (SFC) */
  129. #define ID_SECURAM (51) /**< \brief Secured RAM (SECURAM) */
  130. #define ID_QSPI0 (52) /**< \brief QSPI 0 (QSPI0) */
  131. #define ID_QSPI1 (53) /**< \brief QSPI 1 (QSPI1) */
  132. #define ID_I2SC0 (54) /**< \brief Inter-IC Sound Controller 0 (I2SC0) */
  133. #define ID_I2SC1 (55) /**< \brief Inter-IC Sound Controller 1 (I2SC1) */
  134. #define ID_CAN0_INT0 (56) /**< \brief MCAN 0 Interrupt0 (CAN0_INT0) */
  135. #define ID_CAN1_INT0 (57) /**< \brief MCAN 1 Interrupt0 (CAN1_INT0) */
  136. #define ID_CLASSD (59) /**< \brief Audio Class D amplifier (CLASSD) */
  137. #define ID_SFR (60) /**< \brief Special Function Register (SFR) */
  138. #define ID_SAIC (61) /**< \brief Secured Advanced Interrupt Controller (SAIC) */
  139. #define ID_AIC (62) /**< \brief Advanced Interrupt Controller (AIC) */
  140. #define ID_L2CC (63) /**< \brief L2 Cache Controller (L2CC) */
  141. #define ID_CAN0_INT1 (64) /**< \brief MCAN 0 Interrupt1 (CAN0_INT1) */
  142. #define ID_CAN1_INT1 (65) /**< \brief MCAN 1 Interrupt1 (CAN1_INT1) */
  143. #define ID_GMAC0_Q1 (66) /**< \brief GMAC Queue 1 Interrupt (GMAC0_Q1) */
  144. #define ID_GMAC0_Q2 (67) /**< \brief GMAC Queue 2 Interrupt (GMAC0_Q2) */
  145. #define ID_PIOB (68) /**< \brief (PIOB) */
  146. #define ID_PIOC (69) /**< \brief (PIOC) */
  147. #define ID_PIOD (70) /**< \brief (PIOD) */
  148. #define ID_SDMMC0_TIMER (71) /**< \brief (SDMMC0_TIMER) */
  149. #define ID_SDMMC1_TIMER (72) /**< \brief (SDMMC1_TIMER) */
  150. #define ID_RSTC (73) /**< \brief Reset Controller (RSTC) */
  151. #define ID_SYSC (74) /**< \brief System Controller Interrupt, RTC, RSTC, PMC (SYSC) */
  152. #define ID_ACC (75) /**< \brief Analog Comparator (ACC) */
  153. #define ID_RXLP (76) /**< \brief Uart Low Power (RXLP) */
  154. #define ID_SFRBU (77) /**< \brief Special Function Register Backup (SFRBU) */
  155. #define ID_CHIPID (78) /**< \brief Chip ID (CHIPID) */
  156. #define ID_PERIPH_COUNT (79) /**< \brief Number of peripheral IDs */
  157. /* XDMA Peripheral Interface Number */
  158. #define PERID_TWIHS0_TX 0
  159. #define PERID_TWIHS0_RX 1
  160. #define PERID_TWIHS1_TX 2
  161. #define PERID_TWIHS1_RX 3
  162. #define PERID_QSPI0_TX 4
  163. #define PERID_QSPI0_RX 5
  164. #define PERID_SPI0_TX 6
  165. #define PERID_SPI0_RX 7
  166. #define PERID_SPI1_TX 8
  167. #define PERID_SPI1_RX 9
  168. #define PERID_PWM_TX 10
  169. #define PERID_PWM_RX 0XFF
  170. #define PERID_FLEXCOM0_TX 11
  171. #define PERID_FLEXCOM0_RX 12
  172. #define PERID_FLEXCOM1_TX 13
  173. #define PERID_FLEXCOM1_RX 14
  174. #define PERID_FLEXCOM2_TX 15
  175. #define PERID_FLEXCOM2_RX 16
  176. #define PERID_FLEXCOM3_TX 17
  177. #define PERID_FLEXCOM3_RX 18
  178. #define PERID_FLEXCOM4_TX 19
  179. #define PERID_FLEXCOM4_RX 20
  180. #define PERID_SSC0_TX 21
  181. #define PERID_SSC0_RX 22
  182. #define PERID_SSC1_TX 23
  183. #define PERID_SSC1_RX 24
  184. #define PERID_ADC_TX 0XFF
  185. #define PERID_ADC_RX 25
  186. #define PERID_AES_TX 26
  187. #define PERID_AES_RX 27
  188. #define PERID_TDES_TX 28
  189. #define PERID_TDES_RX 29
  190. #define PERID_SHA_TX 30
  191. #define PERID_SHA_RX 0XFF
  192. #define PERID_I2SC0_TX 31
  193. #define PERID_I2SC0_RX 32
  194. #define PERID_I2SC1_TX 33
  195. #define PERID_I2SC1_RX 34
  196. #define PERID_UART0_TX 35
  197. #define PERID_UART0_RX 36
  198. #define PERID_UART1_TX 37
  199. #define PERID_UART1_RX 38
  200. #define PERID_UART2_TX 39
  201. #define PERID_UART2_RX 40
  202. #define PERID_UART3_TX 41
  203. #define PERID_UART3_RX 42
  204. #define PERID_UART4_TX 43
  205. #define PERID_UART4_RX 44
  206. #define PERID_TC0_TX 0XFF
  207. #define PERID_TC0_RX 45
  208. #define PERID_TC1_TX 0XFF
  209. #define PERID_TC1_RX 46
  210. #define PERID_CLASSD_TX 47
  211. #define PERID_CLASSD_RX 0XFF
  212. #define PERID_QSPI1_TX 48
  213. #define PERID_QSPI1_RX 49
  214. #define PERID_PDMIC_TX 0XFF
  215. #define PERID_PDMIC_RX 50
  216. #define ID_SAIC_FIQ_MSK (1 << (ID_SAIC_FIQ & 0x1F))
  217. #define ID_PMC_MSK (1 << (ID_PMC & 0x1F))
  218. #define ID_ARM_PMU_MSK (1 << (ID_ARM_PMU & 0x1F))
  219. #define ID_PIT_MSK (1 << (ID_PIT & 0x1F))
  220. #define ID_WDT_MSK (1 << (ID_WDT & 0x1F))
  221. #define ID_GMAC0_MSK (1 << (ID_GMAC0 & 0x1F))
  222. #define ID_XDMAC0_MSK (1 << (ID_XDMAC0 & 0x1F))
  223. #define ID_XDMAC1_MSK (1 << (ID_XDMAC1 & 0x1F))
  224. #define ID_ICM_MSK (1 << (ID_ICM & 0x1F))
  225. #define ID_AES_MSK (1 << (ID_AES & 0x1F))
  226. #define ID_AESB_MSK (1 << (ID_AESB & 0x1F))
  227. #define ID_TDES_MSK (1 << (ID_TDES & 0x1F))
  228. #define ID_SHA_MSK (1 << (ID_SHA & 0x1F))
  229. #define ID_MPDDRC_MSK (1 << (ID_MPDDRC & 0x1F))
  230. #define ID_MATRIX1_MSK (1 << (ID_MATRIX1 & 0x1F))
  231. #define ID_MATRIX0_MSK (1 << (ID_MATRIX0 & 0x1F))
  232. #define ID_SECUMOD_MSK (1 << (ID_SECUMOD & 0x1F))
  233. #define ID_HSMC_MSK (1 << (ID_HSMC & 0x1F))
  234. #define ID_PIOA_MSK (1 << (ID_PIOA & 0x1F))
  235. #define ID_FLEXCOM0_MSK (1 << (ID_FLEXCOM0 & 0x1F))
  236. #define ID_USART0_MSK (1 << (ID_USART0 & 0x1F))
  237. #define ID_FCOMSPI0_MSK (1 << (ID_FCOMSPI0 & 0x1F))
  238. #define ID_TWI0_MSK (1 << (ID_TWI0 & 0x1F))
  239. #define ID_FLEXCOM1_MSK (1 << (ID_FLEXCOM1 & 0x1F))
  240. #define ID_USART1_MSK (1 << (ID_USART1 & 0x1F))
  241. #define ID_FCOMSPI1_MSK (1 << (ID_FCOMSPI1 & 0x1F))
  242. #define ID_TWI1_MSK (1 << (ID_TWI1 & 0x1F))
  243. #define ID_FLEXCOM2_MSK (1 << (ID_FLEXCOM2 & 0x1F))
  244. #define ID_USART2_MSK (1 << (ID_USART2 & 0x1F))
  245. #define ID_FCOMSPI2_MSK (1 << (ID_FCOMSPI2 & 0x1F))
  246. #define ID_TWI2_MSK (1 << (ID_TWI2 & 0x1F))
  247. #define ID_FLEXCOM3_MSK (1 << (ID_FLEXCOM3 & 0x1F))
  248. #define ID_USART3_MSK (1 << (ID_USART3 & 0x1F))
  249. #define ID_FCOMSPI3_MSK (1 << (ID_FCOMSPI3 & 0x1F))
  250. #define ID_TWI3_MSK (1 << (ID_TWI3 & 0x1F))
  251. #define ID_FLEXCOM4_MSK (1 << (ID_FLEXCOM4 & 0x1F))
  252. #define ID_USART4_MSK (1 << (ID_USART4 & 0x1F))
  253. #define ID_FCOMSPI4_MSK (1 << (ID_FCOMSPI4 & 0x1F))
  254. #define ID_TWI4_MSK (1 << (ID_TWI4 & 0x1F))
  255. #define ID_UART0_MSK (1 << (ID_UART0 & 0x1F))
  256. #define ID_UART1_MSK (1 << (ID_UART1 & 0x1F))
  257. #define ID_UART2_MSK (1 << (ID_UART2 & 0x1F))
  258. #define ID_UART3_MSK (1 << (ID_UART3 & 0x1F))
  259. #define ID_UART4_MSK (1 << (ID_UART4 & 0x1F))
  260. #define ID_TWIHS0_MSK (1 << (ID_TWIHS0 & 0x1F))
  261. #define ID_TWIHS1_MSK (1 << (ID_TWIHS1 & 0x1F))
  262. #define ID_SDMMC0_MSK (1 << (ID_SDMMC0 & 0x1F))
  263. #define ID_SDMMC1_MSK (1 << (ID_SDMMC1 & 0x1F))
  264. #define ID_SPI0_MSK (1 << (ID_SPI0 & 0x1F))
  265. #define ID_SPI1_MSK (1 << (ID_SPI1 & 0x1F))
  266. #define ID_TC0_MSK (1 << (ID_TC0 & 0x1F))
  267. #define ID_TC1_MSK (1 << (ID_TC1 & 0x1F))
  268. #define ID_PWM_MSK (1 << (ID_PWM & 0x1F))
  269. #define ID_ADC_MSK (1 << (ID_ADC & 0x1F))
  270. #define ID_UHPHS_MSK (1 << (ID_UHPHS & 0x1F))
  271. #define ID_UDPHS_MSK (1 << (ID_UDPHS & 0x1F))
  272. #define ID_SSC0_MSK (1 << (ID_SSC0 & 0x1F))
  273. #define ID_SSC1_MSK (1 << (ID_SSC1 & 0x1F))
  274. #define ID_LCDC_MSK (1 << (ID_LCDC & 0x1F))
  275. #define ID_ISC_MSK (1 << (ID_ISC & 0x1F))
  276. #define ID_TRNG_MSK (1 << (ID_TRNG & 0x1F))
  277. #define ID_PDMIC_MSK (1 << (ID_PDMIC & 0x1F))
  278. #define ID_AIC_IRQ_MSK (1 << (ID_AIC_IRQ & 0x1F))
  279. #define ID_SFC_MSK (1 << (ID_SFC & 0x1F))
  280. #define ID_SECURAM_MSK (1 << (ID_SECURAM & 0x1F))
  281. #define ID_QSPI0_MSK (1 << (ID_QSPI0 & 0x1F))
  282. #define ID_QSPI1_MSK (1 << (ID_QSPI1 & 0x1F))
  283. #define ID_I2SC0_MSK (1 << (ID_I2SC0 & 0x1F))
  284. #define ID_I2SC1_MSK (1 << (ID_I2SC1 & 0x1F))
  285. #define ID_CAN0_INT0_MSK (1 << (ID_CAN0_INT0 & 0x1F))
  286. #define ID_CAN1_INT0_MSK (1 << (ID_CAN1_INT0 & 0x1F))
  287. #define ID_CLASSD_MSK (1 << (ID_CLASSD & 0x1F))
  288. #define ID_SFR_MSK (1 << (ID_SFR & 0x1F))
  289. #define ID_SAIC_MSK (1 << (ID_SAIC & 0x1F))
  290. #define ID_AIC_MSK (1 << (ID_AIC & 0x1F))
  291. #define ID_L2CC_MSK (1 << (ID_L2CC & 0x1F))
  292. #define ID_CAN0_INT1_MSK (1 << (ID_CAN0_INT1 & 0x1F))
  293. #define ID_CAN1_INT1_MSK (1 << (ID_CAN1_INT1 & 0x1F))
  294. #define ID_GMAC0_Q1_MSK (1 << (ID_GMAC0_Q1 & 0x1F))
  295. #define ID_GMAC0_Q2_MSK (1 << (ID_GMAC0_Q2 & 0x1F))
  296. #define ID_PIOB_MSK (1 << (ID_PIOB & 0x1F))
  297. #define ID_PIOC_MSK (1 << (ID_PIOC & 0x1F))
  298. #define ID_PIOD_MSK (1 << (ID_PIOD & 0x1F))
  299. #define ID_SDMMC0_TIMER_MSK (1 << (ID_SDMMC0_TIMER & 0x1F))
  300. #define ID_SDMMC1_TIMER_MSK (1 << (ID_SDMMC1_TIMER & 0x1F))
  301. #define ID_RSTC_MSK (1 << (ID_RSTC & 0x1F)
  302. #define ID_SYSC_MSK (1 << (ID_SYSC & 0x1F))
  303. #define ID_ACC_MSK (1 << (ID_ACC & 0x1F))
  304. #define ID_RXLP_MSK (1 << (ID_RXLP & 0x1F))
  305. #define ID_SFRBU_MSK (1 << (ID_SFRBU & 0x1F))
  306. #define ID_CHIPID_MSK (1 << (ID_CHIPID & 0x1F))
  307. /* MASTER MATRIX ID DEFINITION FOR SAMA5D2x */
  308. #define H64MX_MASTER_BRIDGE_FROM_AXI 0
  309. #define H64MX_MASTER_XDMAC0_0 1
  310. #define H64MX_MASTER_XDMAC0_1 2
  311. #define H64MX_MASTER_XDMAC1_0 3
  312. #define H64MX_MASTER_XDMAC1_1 4
  313. #define H64MX_MASTER_LCDC_DMA_0 5
  314. #define H64MX_MASTER_LCDC_DMA_1 6
  315. #define H64MX_MASTER_SDMMC0 7
  316. #define H64MX_MASTER_SDMMC1 8
  317. #define H64MX_MASTER_ISC_DMA 9
  318. #define H64MX_MASTER_AESB 10
  319. #define H64MX_MASTER_BRIDGE_H64MX 11
  320. #define H32MX_MASTER_BRIDGE_H32MX 0
  321. #define H32MX_MASTER_ICM 1
  322. #define H32MX_MASTER_UHPHS_EHCI_DMA 2
  323. #define H32MX_MASTER_UHPHS_OHCI_DMA 3
  324. #define H32MX_MASTER_UDPHS_DMA 4
  325. #define H32MX_MASTER_GMAC_DMA 5
  326. #define H32MX_MASTER_CAN0_DMA 6
  327. #define H32MX_MASTER_CAN1_DMA 7
  328. /* SLAVE MATRIX ID DEFINITIONS FOR SAMA5D2x */
  329. #define H64MX_SLAVE_BRIDGE_H32MX 0
  330. #define H64MX_SLAVE_APB 1
  331. #define H64MX_SLAVE_SDMMC 1
  332. #define H64MX_SLAVE_DDR_PORT0 2
  333. #define H64MX_SLAVE_DDR_PORT1 3
  334. #define H64MX_SLAVE_DDR_PORT2 4
  335. #define H64MX_SLAVE_DDR_PORT3 5
  336. #define H64MX_SLAVE_DDR_PORT4 6
  337. #define H64MX_SLAVE_DDR_PORT5 7
  338. #define H64MX_SLAVE_DDR_PORT6 8
  339. #define H64MX_SLAVE_DDR_PORT7 9
  340. #define H64MX_SLAVE_SRAM 10
  341. #define H64MX_SLAVE_L2C_SRAM 11
  342. #define H64MX_SLAVE_QSPI0 12
  343. #define H64MX_SLAVE_QSPI1 13
  344. #define H64MX_SLAVE_AESB 14
  345. #define H32MX_SLAVE_BRIDGE_H64MX 0
  346. #define H32MX_SLAVE_APB0 1
  347. #define H32MX_SLAVE_APB1 2
  348. #define H32MX_SLAVE_EBI 3
  349. #define H32MX_SLAVE_NFC_CMD 3
  350. #define H32MX_SLAVE_NFC_SRAM 4
  351. #define H32MX_SLAVE_USB 5
  352. #ifdef __cplusplus
  353. }
  354. #endif /* __cplusplus */
  355. /**@} */
  356. #endif /* __SAMA5D2X_H */