spc5_registry.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. /*
  2. SPC5 HAL - Copyright (C) 2013 STMicroelectronics
  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 SPC563Mxx/spc5_registry.h
  15. * @brief SPC563Mxx capabilities registry.
  16. *
  17. * @addtogroup HAL
  18. * @{
  19. */
  20. #ifndef SPC5_REGISTRY_H
  21. #define SPC5_REGISTRY_H
  22. /*===========================================================================*/
  23. /* Platform capabilities. */
  24. /*===========================================================================*/
  25. /**
  26. * @name SPC563Mxx capabilities
  27. * @{
  28. */
  29. /* DSPI attribures.*/
  30. #define SPC5_HAS_DSPI0 FALSE
  31. #define SPC5_HAS_DSPI1 TRUE
  32. #define SPC5_HAS_DSPI2 TRUE
  33. #define SPC5_HAS_DSPI3 FALSE
  34. #define SPC5_HAS_DSPI4 FALSE
  35. #define SPC5_HAS_DSPI5 FALSE
  36. #define SPC5_HAS_DSPI6 FALSE
  37. #define SPC5_HAS_DSPI7 FALSE
  38. #define SPC5_DSPI_FIFO_DEPTH 4
  39. #define SPC5_DSPI1_TFFF_HANDLER vector133
  40. #define SPC5_DSPI1_TFFF_NUMBER 133
  41. #define SPC5_DSPI1_RFDF_HANDLER vector135
  42. #define SPC5_DSPI1_RFDF_NUMBER 135
  43. #define SPC5_DSPI2_TFFF_HANDLER vector138
  44. #define SPC5_DSPI2_TFFF_NUMBER 138
  45. #define SPC5_DSPI2_RFDF_HANDLER vector140
  46. #define SPC5_DSPI2_RFDF_NUMBER 140
  47. #define SPC5_DSPI1_ENABLE_CLOCK()
  48. #define SPC5_DSPI1_DISABLE_CLOCK()
  49. #define SPC5_DSPI2_ENABLE_CLOCK()
  50. #define SPC5_DSPI2_DISABLE_CLOCK()
  51. /* eDMA attributes.*/
  52. #define SPC5_HAS_EDMA TRUE
  53. #define SPC5_EDMA_NCHANNELS 32
  54. #define SPC5_EDMA_HAS_MUX FALSE
  55. #define SPC5_SPI_DSPI1_TX1_DMA_CH_ID 12
  56. #define SPC5_SPI_DSPI1_TX2_DMA_CH_ID 25
  57. #define SPC5_SPI_DSPI1_RX_DMA_CH_ID 13
  58. #define SPC5_SPI_DSPI2_TX1_DMA_CH_ID 14
  59. #define SPC5_SPI_DSPI2_TX2_DMA_CH_ID 26
  60. #define SPC5_SPI_DSPI2_RX_DMA_CH_ID 15
  61. /* eQADC attributes.*/
  62. #define SPC5_HAS_EQADC TRUE
  63. /* eSCI attributes.*/
  64. #define SPC5_HAS_ESCIA TRUE
  65. #define SPC5_ESCIA_HANDLER vector146
  66. #define SPC5_ESCIA_NUMBER 146
  67. #define SPC5_HAS_ESCIB TRUE
  68. #define SPC5_ESCIB_HANDLER vector149
  69. #define SPC5_ESCIB_NUMBER 149
  70. #define SPC5_HAS_ESCIC FALSE
  71. /* SIU attributes.*/
  72. #define SPC5_HAS_SIU TRUE
  73. #define SPC5_SIU_SUPPORTS_PORTS FALSE
  74. /* EMIOS attributes.*/
  75. #define SPC5_HAS_EMIOS TRUE
  76. #define SPC5_EMIOS_NUM_CHANNELS 16
  77. #define SPC5_EMIOS_FLAG_F0_HANDLER vector51
  78. #define SPC5_EMIOS_FLAG_F1_HANDLER vector52
  79. #define SPC5_EMIOS_FLAG_F2_HANDLER vector53
  80. #define SPC5_EMIOS_FLAG_F3_HANDLER vector54
  81. #define SPC5_EMIOS_FLAG_F4_HANDLER vector55
  82. #define SPC5_EMIOS_FLAG_F5_HANDLER vector56
  83. #define SPC5_EMIOS_FLAG_F6_HANDLER vector57
  84. #define SPC5_EMIOS_FLAG_F8_HANDLER vector59
  85. #define SPC5_EMIOS_FLAG_F9_HANDLER vector60
  86. #define SPC5_EMIOS_FLAG_F10_HANDLER vector61
  87. #define SPC5_EMIOS_FLAG_F11_HANDLER vector62
  88. #define SPC5_EMIOS_FLAG_F12_HANDLER vector63
  89. #define SPC5_EMIOS_FLAG_F13_HANDLER vector64
  90. #define SPC5_EMIOS_FLAG_F14_HANDLER vector65
  91. #define SPC5_EMIOS_FLAG_F15_HANDLER vector66
  92. #define SPC5_EMIOS_FLAG_F23_HANDLER vector209
  93. #define SPC5_EMIOS_FLAG_F0_NUMBER 51
  94. #define SPC5_EMIOS_FLAG_F1_NUMBER 52
  95. #define SPC5_EMIOS_FLAG_F2_NUMBER 53
  96. #define SPC5_EMIOS_FLAG_F3_NUMBER 54
  97. #define SPC5_EMIOS_FLAG_F4_NUMBER 55
  98. #define SPC5_EMIOS_FLAG_F5_NUMBER 56
  99. #define SPC5_EMIOS_FLAG_F6_NUMBER 57
  100. #define SPC5_EMIOS_FLAG_F8_NUMBER 59
  101. #define SPC5_EMIOS_FLAG_F9_NUMBER 60
  102. #define SPC5_EMIOS_FLAG_F10_NUMBER 61
  103. #define SPC5_EMIOS_FLAG_F11_NUMBER 62
  104. #define SPC5_EMIOS_FLAG_F12_NUMBER 63
  105. #define SPC5_EMIOS_FLAG_F13_NUMBER 64
  106. #define SPC5_EMIOS_FLAG_F14_NUMBER 65
  107. #define SPC5_EMIOS_FLAG_F15_NUMBER 66
  108. #define SPC5_EMIOS_FLAG_F23_NUMBER 209
  109. #define SPC5_EMIOS_CLK (SPC5_SYSCLK / \
  110. SPC5_EMIOS_GPRE_VALUE)
  111. #define SPC5_EMIOS_ENABLE_CLOCK()
  112. #define SPC5_EMIOS_DISABLE_CLOCK()
  113. /* FlexCAN attributes.*/
  114. #define SPC5_HAS_FLEXCAN0 TRUE
  115. #define SPC5_FLEXCAN0_MB 64
  116. #define SPC5_FLEXCAN0_SHARED_IRQ FALSE
  117. #define SPC5_FLEXCAN0_FLEXCAN_ESR_BOFF_HANDLER vector152
  118. #define SPC5_FLEXCAN0_FLEXCAN_ESR_ERR_INT_HANDLER vector153
  119. #define SPC5_FLEXCAN0_FLEXCAN_BUF_00_HANDLER vector155
  120. #define SPC5_FLEXCAN0_FLEXCAN_BUF_01_HANDLER vector156
  121. #define SPC5_FLEXCAN0_FLEXCAN_BUF_02_HANDLER vector157
  122. #define SPC5_FLEXCAN0_FLEXCAN_BUF_03_HANDLER vector158
  123. #define SPC5_FLEXCAN0_FLEXCAN_BUF_04_HANDLER vector159
  124. #define SPC5_FLEXCAN0_FLEXCAN_BUF_05_HANDLER vector160
  125. #define SPC5_FLEXCAN0_FLEXCAN_BUF_06_HANDLER vector161
  126. #define SPC5_FLEXCAN0_FLEXCAN_BUF_07_HANDLER vector162
  127. #define SPC5_FLEXCAN0_FLEXCAN_BUF_08_HANDLER vector163
  128. #define SPC5_FLEXCAN0_FLEXCAN_BUF_09_HANDLER vector164
  129. #define SPC5_FLEXCAN0_FLEXCAN_BUF_10_HANDLER vector165
  130. #define SPC5_FLEXCAN0_FLEXCAN_BUF_11_HANDLER vector166
  131. #define SPC5_FLEXCAN0_FLEXCAN_BUF_12_HANDLER vector167
  132. #define SPC5_FLEXCAN0_FLEXCAN_BUF_13_HANDLER vector168
  133. #define SPC5_FLEXCAN0_FLEXCAN_BUF_14_HANDLER vector169
  134. #define SPC5_FLEXCAN0_FLEXCAN_BUF_15_HANDLER vector170
  135. #define SPC5_FLEXCAN0_FLEXCAN_BUF_16_31_HANDLER vector171
  136. #define SPC5_FLEXCAN0_FLEXCAN_BUF_32_63_HANDLER vector172
  137. #define SPC5_FLEXCAN0_FLEXCAN_ESR_BOFF_NUMBER 152
  138. #define SPC5_FLEXCAN0_FLEXCAN_ESR_ERR_INT_NUMBER 153
  139. #define SPC5_FLEXCAN0_FLEXCAN_BUF_00_NUMBER 155
  140. #define SPC5_FLEXCAN0_FLEXCAN_BUF_01_NUMBER 156
  141. #define SPC5_FLEXCAN0_FLEXCAN_BUF_02_NUMBER 157
  142. #define SPC5_FLEXCAN0_FLEXCAN_BUF_03_NUMBER 158
  143. #define SPC5_FLEXCAN0_FLEXCAN_BUF_04_NUMBER 159
  144. #define SPC5_FLEXCAN0_FLEXCAN_BUF_05_NUMBER 160
  145. #define SPC5_FLEXCAN0_FLEXCAN_BUF_06_NUMBER 161
  146. #define SPC5_FLEXCAN0_FLEXCAN_BUF_07_NUMBER 162
  147. #define SPC5_FLEXCAN0_FLEXCAN_BUF_08_NUMBER 163
  148. #define SPC5_FLEXCAN0_FLEXCAN_BUF_09_NUMBER 164
  149. #define SPC5_FLEXCAN0_FLEXCAN_BUF_10_NUMBER 165
  150. #define SPC5_FLEXCAN0_FLEXCAN_BUF_11_NUMBER 166
  151. #define SPC5_FLEXCAN0_FLEXCAN_BUF_12_NUMBER 167
  152. #define SPC5_FLEXCAN0_FLEXCAN_BUF_13_NUMBER 168
  153. #define SPC5_FLEXCAN0_FLEXCAN_BUF_14_NUMBER 169
  154. #define SPC5_FLEXCAN0_FLEXCAN_BUF_15_NUMBER 170
  155. #define SPC5_FLEXCAN0_FLEXCAN_BUF_16_31_NUMBER 171
  156. #define SPC5_FLEXCAN0_FLEXCAN_BUF_32_63_NUMBER 172
  157. #define SPC5_FLEXCAN0_ENABLE_CLOCK()
  158. #define SPC5_FLEXCAN0_DISABLE_CLOCK()
  159. #define SPC5_HAS_FLEXCAN1 TRUE
  160. #define SPC5_FLEXCAN1_MB 32
  161. #define SPC5_FLEXCAN1_SHARED_IRQ FALSE
  162. #define SPC5_FLEXCAN1_FLEXCAN_ESR_BOFF_HANDLER vector173
  163. #define SPC5_FLEXCAN1_FLEXCAN_ESR_ERR_INT_HANDLER vector174
  164. #define SPC5_FLEXCAN1_FLEXCAN_BUF_00_HANDLER vector176
  165. #define SPC5_FLEXCAN1_FLEXCAN_BUF_01_HANDLER vector177
  166. #define SPC5_FLEXCAN1_FLEXCAN_BUF_02_HANDLER vector178
  167. #define SPC5_FLEXCAN1_FLEXCAN_BUF_03_HANDLER vector179
  168. #define SPC5_FLEXCAN1_FLEXCAN_BUF_04_HANDLER vector180
  169. #define SPC5_FLEXCAN1_FLEXCAN_BUF_05_HANDLER vector181
  170. #define SPC5_FLEXCAN1_FLEXCAN_BUF_06_HANDLER vector182
  171. #define SPC5_FLEXCAN1_FLEXCAN_BUF_07_HANDLER vector183
  172. #define SPC5_FLEXCAN1_FLEXCAN_BUF_08_HANDLER vector184
  173. #define SPC5_FLEXCAN1_FLEXCAN_BUF_09_HANDLER vector185
  174. #define SPC5_FLEXCAN1_FLEXCAN_BUF_10_HANDLER vector186
  175. #define SPC5_FLEXCAN1_FLEXCAN_BUF_11_HANDLER vector187
  176. #define SPC5_FLEXCAN1_FLEXCAN_BUF_12_HANDLER vector188
  177. #define SPC5_FLEXCAN1_FLEXCAN_BUF_13_HANDLER vector189
  178. #define SPC5_FLEXCAN1_FLEXCAN_BUF_14_HANDLER vector190
  179. #define SPC5_FLEXCAN1_FLEXCAN_BUF_15_HANDLER vector191
  180. #define SPC5_FLEXCAN1_FLEXCAN_BUF_16_31_HANDLER vector192
  181. #define SPC5_FLEXCAN1_FLEXCAN_ESR_BOFF_NUMBER 173
  182. #define SPC5_FLEXCAN1_FLEXCAN_ESR_ERR_INT_NUMBER 174
  183. #define SPC5_FLEXCAN1_FLEXCAN_BUF_00_NUMBER 176
  184. #define SPC5_FLEXCAN1_FLEXCAN_BUF_01_NUMBER 177
  185. #define SPC5_FLEXCAN1_FLEXCAN_BUF_02_NUMBER 178
  186. #define SPC5_FLEXCAN1_FLEXCAN_BUF_03_NUMBER 179
  187. #define SPC5_FLEXCAN1_FLEXCAN_BUF_04_NUMBER 180
  188. #define SPC5_FLEXCAN1_FLEXCAN_BUF_05_NUMBER 181
  189. #define SPC5_FLEXCAN1_FLEXCAN_BUF_06_NUMBER 182
  190. #define SPC5_FLEXCAN1_FLEXCAN_BUF_07_NUMBER 183
  191. #define SPC5_FLEXCAN1_FLEXCAN_BUF_08_NUMBER 184
  192. #define SPC5_FLEXCAN1_FLEXCAN_BUF_09_NUMBER 185
  193. #define SPC5_FLEXCAN1_FLEXCAN_BUF_10_NUMBER 186
  194. #define SPC5_FLEXCAN1_FLEXCAN_BUF_11_NUMBER 187
  195. #define SPC5_FLEXCAN1_FLEXCAN_BUF_12_NUMBER 188
  196. #define SPC5_FLEXCAN1_FLEXCAN_BUF_13_NUMBER 189
  197. #define SPC5_FLEXCAN1_FLEXCAN_BUF_14_NUMBER 190
  198. #define SPC5_FLEXCAN1_FLEXCAN_BUF_15_NUMBER 191
  199. #define SPC5_FLEXCAN1_FLEXCAN_BUF_16_31_NUMBER 192
  200. #define SPC5_FLEXCAN1_ENABLE_CLOCK()
  201. #define SPC5_FLEXCAN1_DISABLE_CLOCK()
  202. /** @} */
  203. #endif /* SPC5_REGISTRY_H */
  204. /** @} */