vectors.h 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. /*
  2. * Copyright (c) 2021-2023 HPMicro
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. *
  6. */
  7. .global default_irq_handler
  8. .weak default_irq_handler
  9. .align 2
  10. default_irq_handler:
  11. 1: j 1b
  12. .macro IRQ_HANDLER irq
  13. .weak default_isr_\irq
  14. .set default_isr_\irq, default_irq_handler
  15. .long default_isr_\irq
  16. .endm
  17. .section .vector_table, "a"
  18. .global __vector_table
  19. .align 9
  20. __vector_table:
  21. .weak default_isr_trap
  22. .set default_isr_trap, irq_handler_trap
  23. .long default_isr_trap
  24. IRQ_HANDLER 1 /* GPIO0_A IRQ handler */
  25. IRQ_HANDLER 2 /* GPIO0_B IRQ handler */
  26. IRQ_HANDLER 3 /* GPIO0_C IRQ handler */
  27. IRQ_HANDLER 4 /* GPIO0_D IRQ handler */
  28. IRQ_HANDLER 5 /* GPIO0_X IRQ handler */
  29. IRQ_HANDLER 6 /* GPIO0_Y IRQ handler */
  30. IRQ_HANDLER 7 /* GPIO0_Z IRQ handler */
  31. IRQ_HANDLER 8 /* GPIO1_A IRQ handler */
  32. IRQ_HANDLER 9 /* GPIO1_B IRQ handler */
  33. IRQ_HANDLER 10 /* GPIO1_C IRQ handler */
  34. IRQ_HANDLER 11 /* GPIO1_D IRQ handler */
  35. IRQ_HANDLER 12 /* GPIO1_X IRQ handler */
  36. IRQ_HANDLER 13 /* GPIO1_Y IRQ handler */
  37. IRQ_HANDLER 14 /* GPIO1_Z IRQ handler */
  38. IRQ_HANDLER 15 /* ADC0 IRQ handler */
  39. IRQ_HANDLER 16 /* ADC1 IRQ handler */
  40. IRQ_HANDLER 17 /* ADC2 IRQ handler */
  41. IRQ_HANDLER 18 /* SDFM IRQ handler */
  42. IRQ_HANDLER 19 /* DAC0 IRQ handler */
  43. IRQ_HANDLER 20 /* DAC1 IRQ handler */
  44. IRQ_HANDLER 21 /* ACMP[0] IRQ handler */
  45. IRQ_HANDLER 22 /* ACMP[1] IRQ handler */
  46. IRQ_HANDLER 23 /* ACMP[2] IRQ handler */
  47. IRQ_HANDLER 24 /* ACMP[3] IRQ handler */
  48. IRQ_HANDLER 25 /* SPI0 IRQ handler */
  49. IRQ_HANDLER 26 /* SPI1 IRQ handler */
  50. IRQ_HANDLER 27 /* SPI2 IRQ handler */
  51. IRQ_HANDLER 28 /* SPI3 IRQ handler */
  52. IRQ_HANDLER 29 /* UART0 IRQ handler */
  53. IRQ_HANDLER 30 /* UART1 IRQ handler */
  54. IRQ_HANDLER 31 /* UART2 IRQ handler */
  55. IRQ_HANDLER 32 /* UART3 IRQ handler */
  56. IRQ_HANDLER 33 /* UART4 IRQ handler */
  57. IRQ_HANDLER 34 /* UART5 IRQ handler */
  58. IRQ_HANDLER 35 /* UART6 IRQ handler */
  59. IRQ_HANDLER 36 /* UART7 IRQ handler */
  60. IRQ_HANDLER 37 /* CAN0 IRQ handler */
  61. IRQ_HANDLER 38 /* CAN1 IRQ handler */
  62. IRQ_HANDLER 39 /* CAN2 IRQ handler */
  63. IRQ_HANDLER 40 /* CAN3 IRQ handler */
  64. IRQ_HANDLER 41 /* PTPC IRQ handler */
  65. IRQ_HANDLER 42 /* WDG0 IRQ handler */
  66. IRQ_HANDLER 43 /* WDG1 IRQ handler */
  67. IRQ_HANDLER 44 /* TSNS IRQ handler */
  68. IRQ_HANDLER 45 /* MBX0A IRQ handler */
  69. IRQ_HANDLER 46 /* MBX0B IRQ handler */
  70. IRQ_HANDLER 47 /* MBX1A IRQ handler */
  71. IRQ_HANDLER 48 /* MBX1B IRQ handler */
  72. IRQ_HANDLER 49 /* GPTMR0 IRQ handler */
  73. IRQ_HANDLER 50 /* GPTMR1 IRQ handler */
  74. IRQ_HANDLER 51 /* GPTMR2 IRQ handler */
  75. IRQ_HANDLER 52 /* GPTMR3 IRQ handler */
  76. IRQ_HANDLER 53 /* I2C0 IRQ handler */
  77. IRQ_HANDLER 54 /* I2C1 IRQ handler */
  78. IRQ_HANDLER 55 /* I2C2 IRQ handler */
  79. IRQ_HANDLER 56 /* I2C3 IRQ handler */
  80. IRQ_HANDLER 57 /* PWM0 IRQ handler */
  81. IRQ_HANDLER 58 /* HALL0 IRQ handler */
  82. IRQ_HANDLER 59 /* QEI0 IRQ handler */
  83. IRQ_HANDLER 60 /* PWM1 IRQ handler */
  84. IRQ_HANDLER 61 /* HALL1 IRQ handler */
  85. IRQ_HANDLER 62 /* QEI1 IRQ handler */
  86. IRQ_HANDLER 63 /* PWM2 IRQ handler */
  87. IRQ_HANDLER 64 /* HALL2 IRQ handler */
  88. IRQ_HANDLER 65 /* QEI2 IRQ handler */
  89. IRQ_HANDLER 66 /* PWM3 IRQ handler */
  90. IRQ_HANDLER 67 /* HALL3 IRQ handler */
  91. IRQ_HANDLER 68 /* QEI3 IRQ handler */
  92. IRQ_HANDLER 69 /* SDP IRQ handler */
  93. IRQ_HANDLER 70 /* XPI0 IRQ handler */
  94. IRQ_HANDLER 71 /* XDMA IRQ handler */
  95. IRQ_HANDLER 72 /* HDMA IRQ handler */
  96. IRQ_HANDLER 73 /* RNG IRQ handler */
  97. IRQ_HANDLER 74 /* USB0 IRQ handler */
  98. IRQ_HANDLER 75 /* PSEC IRQ handler */
  99. IRQ_HANDLER 76 /* PGPIO IRQ handler */
  100. IRQ_HANDLER 77 /* PWDG IRQ handler */
  101. IRQ_HANDLER 78 /* PTMR IRQ handler */
  102. IRQ_HANDLER 79 /* PUART IRQ handler */
  103. IRQ_HANDLER 80 /* FUSE IRQ handler */
  104. IRQ_HANDLER 81 /* SECMON IRQ handler */
  105. IRQ_HANDLER 82 /* RTC IRQ handler */
  106. IRQ_HANDLER 83 /* BUTN IRQ handler */
  107. IRQ_HANDLER 84 /* BGPIO IRQ handler */
  108. IRQ_HANDLER 85 /* BVIO IRQ handler */
  109. IRQ_HANDLER 86 /* BROWNOUT IRQ handler */
  110. IRQ_HANDLER 87 /* SYSCTL IRQ handler */
  111. IRQ_HANDLER 88 /* DEBUG[0] IRQ handler */
  112. IRQ_HANDLER 89 /* DEBUG[1] IRQ handler */
  113. IRQ_HANDLER 90 /* LIN0 IRQ handler */
  114. IRQ_HANDLER 91 /* LIN1 IRQ handler */
  115. IRQ_HANDLER 92 /* LIN2 IRQ handler */
  116. IRQ_HANDLER 93 /* LIN3 IRQ handler */
  117. .global default_irq_s_handler
  118. .weak default_irq_s_handler
  119. .align 2
  120. default_irq_s_handler:
  121. 1: j 1b
  122. .macro IRQ_S_HANDLER irq
  123. .weak default_isr_s_\irq
  124. .set default_isr_s_\irq, default_irq_s_handler
  125. .long default_isr_s_\irq
  126. .endm
  127. .section .vector_s_table, "a"
  128. .global __vector_s_table
  129. .align 9
  130. __vector_s_table:
  131. .weak default_isr_s_trap
  132. .set default_isr_s_trap, irq_handler_s_trap
  133. .long default_isr_s_trap
  134. IRQ_S_HANDLER 1 /* GPIO0_A IRQ handler */
  135. IRQ_S_HANDLER 2 /* GPIO0_B IRQ handler */
  136. IRQ_S_HANDLER 3 /* GPIO0_C IRQ handler */
  137. IRQ_S_HANDLER 4 /* GPIO0_D IRQ handler */
  138. IRQ_S_HANDLER 5 /* GPIO0_X IRQ handler */
  139. IRQ_S_HANDLER 6 /* GPIO0_Y IRQ handler */
  140. IRQ_S_HANDLER 7 /* GPIO0_Z IRQ handler */
  141. IRQ_S_HANDLER 8 /* GPIO1_A IRQ handler */
  142. IRQ_S_HANDLER 9 /* GPIO1_B IRQ handler */
  143. IRQ_S_HANDLER 10 /* GPIO1_C IRQ handler */
  144. IRQ_S_HANDLER 11 /* GPIO1_D IRQ handler */
  145. IRQ_S_HANDLER 12 /* GPIO1_X IRQ handler */
  146. IRQ_S_HANDLER 13 /* GPIO1_Y IRQ handler */
  147. IRQ_S_HANDLER 14 /* GPIO1_Z IRQ handler */
  148. IRQ_S_HANDLER 15 /* ADC0 IRQ handler */
  149. IRQ_S_HANDLER 16 /* ADC1 IRQ handler */
  150. IRQ_S_HANDLER 17 /* ADC2 IRQ handler */
  151. IRQ_S_HANDLER 18 /* SDFM IRQ handler */
  152. IRQ_S_HANDLER 19 /* DAC0 IRQ handler */
  153. IRQ_S_HANDLER 20 /* DAC1 IRQ handler */
  154. IRQ_S_HANDLER 21 /* ACMP[0] IRQ handler */
  155. IRQ_S_HANDLER 22 /* ACMP[1] IRQ handler */
  156. IRQ_S_HANDLER 23 /* ACMP[2] IRQ handler */
  157. IRQ_S_HANDLER 24 /* ACMP[3] IRQ handler */
  158. IRQ_S_HANDLER 25 /* SPI0 IRQ handler */
  159. IRQ_S_HANDLER 26 /* SPI1 IRQ handler */
  160. IRQ_S_HANDLER 27 /* SPI2 IRQ handler */
  161. IRQ_S_HANDLER 28 /* SPI3 IRQ handler */
  162. IRQ_S_HANDLER 29 /* UART0 IRQ handler */
  163. IRQ_S_HANDLER 30 /* UART1 IRQ handler */
  164. IRQ_S_HANDLER 31 /* UART2 IRQ handler */
  165. IRQ_S_HANDLER 32 /* UART3 IRQ handler */
  166. IRQ_S_HANDLER 33 /* UART4 IRQ handler */
  167. IRQ_S_HANDLER 34 /* UART5 IRQ handler */
  168. IRQ_S_HANDLER 35 /* UART6 IRQ handler */
  169. IRQ_S_HANDLER 36 /* UART7 IRQ handler */
  170. IRQ_S_HANDLER 37 /* CAN0 IRQ handler */
  171. IRQ_S_HANDLER 38 /* CAN1 IRQ handler */
  172. IRQ_S_HANDLER 39 /* CAN2 IRQ handler */
  173. IRQ_S_HANDLER 40 /* CAN3 IRQ handler */
  174. IRQ_S_HANDLER 41 /* PTPC IRQ handler */
  175. IRQ_S_HANDLER 42 /* WDG0 IRQ handler */
  176. IRQ_S_HANDLER 43 /* WDG1 IRQ handler */
  177. IRQ_S_HANDLER 44 /* TSNS IRQ handler */
  178. IRQ_S_HANDLER 45 /* MBX0A IRQ handler */
  179. IRQ_S_HANDLER 46 /* MBX0B IRQ handler */
  180. IRQ_S_HANDLER 47 /* MBX1A IRQ handler */
  181. IRQ_S_HANDLER 48 /* MBX1B IRQ handler */
  182. IRQ_S_HANDLER 49 /* GPTMR0 IRQ handler */
  183. IRQ_S_HANDLER 50 /* GPTMR1 IRQ handler */
  184. IRQ_S_HANDLER 51 /* GPTMR2 IRQ handler */
  185. IRQ_S_HANDLER 52 /* GPTMR3 IRQ handler */
  186. IRQ_S_HANDLER 53 /* I2C0 IRQ handler */
  187. IRQ_S_HANDLER 54 /* I2C1 IRQ handler */
  188. IRQ_S_HANDLER 55 /* I2C2 IRQ handler */
  189. IRQ_S_HANDLER 56 /* I2C3 IRQ handler */
  190. IRQ_S_HANDLER 57 /* PWM0 IRQ handler */
  191. IRQ_S_HANDLER 58 /* HALL0 IRQ handler */
  192. IRQ_S_HANDLER 59 /* QEI0 IRQ handler */
  193. IRQ_S_HANDLER 60 /* PWM1 IRQ handler */
  194. IRQ_S_HANDLER 61 /* HALL1 IRQ handler */
  195. IRQ_S_HANDLER 62 /* QEI1 IRQ handler */
  196. IRQ_S_HANDLER 63 /* PWM2 IRQ handler */
  197. IRQ_S_HANDLER 64 /* HALL2 IRQ handler */
  198. IRQ_S_HANDLER 65 /* QEI2 IRQ handler */
  199. IRQ_S_HANDLER 66 /* PWM3 IRQ handler */
  200. IRQ_S_HANDLER 67 /* HALL3 IRQ handler */
  201. IRQ_S_HANDLER 68 /* QEI3 IRQ handler */
  202. IRQ_S_HANDLER 69 /* SDP IRQ handler */
  203. IRQ_S_HANDLER 70 /* XPI0 IRQ handler */
  204. IRQ_S_HANDLER 71 /* XDMA IRQ handler */
  205. IRQ_S_HANDLER 72 /* HDMA IRQ handler */
  206. IRQ_S_HANDLER 73 /* RNG IRQ handler */
  207. IRQ_S_HANDLER 74 /* USB0 IRQ handler */
  208. IRQ_S_HANDLER 75 /* PSEC IRQ handler */
  209. IRQ_S_HANDLER 76 /* PGPIO IRQ handler */
  210. IRQ_S_HANDLER 77 /* PWDG IRQ handler */
  211. IRQ_S_HANDLER 78 /* PTMR IRQ handler */
  212. IRQ_S_HANDLER 79 /* PUART IRQ handler */
  213. IRQ_S_HANDLER 80 /* FUSE IRQ handler */
  214. IRQ_S_HANDLER 81 /* SECMON IRQ handler */
  215. IRQ_S_HANDLER 82 /* RTC IRQ handler */
  216. IRQ_S_HANDLER 83 /* BUTN IRQ handler */
  217. IRQ_S_HANDLER 84 /* BGPIO IRQ handler */
  218. IRQ_S_HANDLER 85 /* BVIO IRQ handler */
  219. IRQ_S_HANDLER 86 /* BROWNOUT IRQ handler */
  220. IRQ_S_HANDLER 87 /* SYSCTL IRQ handler */
  221. IRQ_S_HANDLER 88 /* DEBUG[0] IRQ handler */
  222. IRQ_S_HANDLER 89 /* DEBUG[1] IRQ handler */
  223. IRQ_S_HANDLER 90 /* LIN0 IRQ handler */
  224. IRQ_S_HANDLER 91 /* LIN1 IRQ handler */
  225. IRQ_S_HANDLER 92 /* LIN2 IRQ handler */
  226. IRQ_S_HANDLER 93 /* LIN3 IRQ handler */