vectors.h 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  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 /* ADC0 IRQ handler */
  32. IRQ_HANDLER 9 /* ADC1 IRQ handler */
  33. IRQ_HANDLER 10 /* ADC2 IRQ handler */
  34. IRQ_HANDLER 11 /* DAC IRQ handler */
  35. IRQ_HANDLER 12 /* ACMP[0] IRQ handler */
  36. IRQ_HANDLER 13 /* ACMP[1] IRQ handler */
  37. IRQ_HANDLER 14 /* SPI0 IRQ handler */
  38. IRQ_HANDLER 15 /* SPI1 IRQ handler */
  39. IRQ_HANDLER 16 /* SPI2 IRQ handler */
  40. IRQ_HANDLER 17 /* SPI3 IRQ handler */
  41. IRQ_HANDLER 18 /* UART0 IRQ handler */
  42. IRQ_HANDLER 19 /* UART1 IRQ handler */
  43. IRQ_HANDLER 20 /* UART2 IRQ handler */
  44. IRQ_HANDLER 21 /* UART3 IRQ handler */
  45. IRQ_HANDLER 22 /* UART4 IRQ handler */
  46. IRQ_HANDLER 23 /* UART5 IRQ handler */
  47. IRQ_HANDLER 24 /* UART6 IRQ handler */
  48. IRQ_HANDLER 25 /* UART7 IRQ handler */
  49. IRQ_HANDLER 26 /* CAN0 IRQ handler */
  50. IRQ_HANDLER 27 /* CAN1 IRQ handler */
  51. IRQ_HANDLER 28 /* PTPC IRQ handler */
  52. IRQ_HANDLER 29 /* WDG0 IRQ handler */
  53. IRQ_HANDLER 30 /* WDG1 IRQ handler */
  54. IRQ_HANDLER 31 /* TSNS IRQ handler */
  55. IRQ_HANDLER 32 /* MBX0A IRQ handler */
  56. IRQ_HANDLER 33 /* MBX0B IRQ handler */
  57. IRQ_HANDLER 34 /* GPTMR0 IRQ handler */
  58. IRQ_HANDLER 35 /* GPTMR1 IRQ handler */
  59. IRQ_HANDLER 36 /* GPTMR2 IRQ handler */
  60. IRQ_HANDLER 37 /* GPTMR3 IRQ handler */
  61. IRQ_HANDLER 38 /* I2C0 IRQ handler */
  62. IRQ_HANDLER 39 /* I2C1 IRQ handler */
  63. IRQ_HANDLER 40 /* I2C2 IRQ handler */
  64. IRQ_HANDLER 41 /* I2C3 IRQ handler */
  65. IRQ_HANDLER 42 /* PWM0 IRQ handler */
  66. IRQ_HANDLER 43 /* HALL0 IRQ handler */
  67. IRQ_HANDLER 44 /* QEI0 IRQ handler */
  68. IRQ_HANDLER 45 /* PWM1 IRQ handler */
  69. IRQ_HANDLER 46 /* HALL1 IRQ handler */
  70. IRQ_HANDLER 47 /* QEI1 IRQ handler */
  71. IRQ_HANDLER 48 /* SDP IRQ handler */
  72. IRQ_HANDLER 49 /* XPI0 IRQ handler */
  73. IRQ_HANDLER 50 /* XPI1 IRQ handler */
  74. IRQ_HANDLER 51 /* XDMA IRQ handler */
  75. IRQ_HANDLER 52 /* HDMA IRQ handler */
  76. IRQ_HANDLER 53 /* FEMC IRQ handler */
  77. IRQ_HANDLER 54 /* RNG IRQ handler */
  78. IRQ_HANDLER 55 /* I2S0 IRQ handler */
  79. IRQ_HANDLER 56 /* I2S1 IRQ handler */
  80. IRQ_HANDLER 57 /* DAO IRQ handler */
  81. IRQ_HANDLER 58 /* PDM IRQ handler */
  82. IRQ_HANDLER 59 /* FFA IRQ handler */
  83. IRQ_HANDLER 60 /* NTMR0 IRQ handler */
  84. IRQ_HANDLER 61 /* USB0 IRQ handler */
  85. IRQ_HANDLER 62 /* ENET0 IRQ handler */
  86. IRQ_HANDLER 63 /* SDXC0 IRQ handler */
  87. IRQ_HANDLER 64 /* PSEC IRQ handler */
  88. IRQ_HANDLER 65 /* PGPIO IRQ handler */
  89. IRQ_HANDLER 66 /* PWDG IRQ handler */
  90. IRQ_HANDLER 67 /* PTMR IRQ handler */
  91. IRQ_HANDLER 68 /* PUART IRQ handler */
  92. IRQ_HANDLER 69 /* FUSE IRQ handler */
  93. IRQ_HANDLER 70 /* SECMON IRQ handler */
  94. IRQ_HANDLER 71 /* RTC IRQ handler */
  95. IRQ_HANDLER 72 /* BUTN IRQ handler */
  96. IRQ_HANDLER 73 /* BGPIO IRQ handler */
  97. IRQ_HANDLER 74 /* BVIO IRQ handler */
  98. IRQ_HANDLER 75 /* BROWNOUT IRQ handler */
  99. IRQ_HANDLER 76 /* SYSCTL IRQ handler */
  100. IRQ_HANDLER 77 /* DEBUG[0] IRQ handler */
  101. IRQ_HANDLER 78 /* DEBUG[1] IRQ handler */
  102. .global default_irq_s_handler
  103. .weak default_irq_s_handler
  104. .align 2
  105. default_irq_s_handler:
  106. 1: j 1b
  107. .macro IRQ_S_HANDLER irq
  108. .weak default_isr_s_\irq
  109. .set default_isr_s_\irq, default_irq_s_handler
  110. .long default_isr_s_\irq
  111. .endm
  112. .section .vector_s_table, "a"
  113. .global __vector_s_table
  114. .align 9
  115. __vector_s_table:
  116. .weak default_isr_s_trap
  117. .set default_isr_s_trap, irq_handler_s_trap
  118. .long default_isr_s_trap
  119. IRQ_S_HANDLER 1 /* GPIO0_A IRQ handler */
  120. IRQ_S_HANDLER 2 /* GPIO0_B IRQ handler */
  121. IRQ_S_HANDLER 3 /* GPIO0_C IRQ handler */
  122. IRQ_S_HANDLER 4 /* GPIO0_D IRQ handler */
  123. IRQ_S_HANDLER 5 /* GPIO0_X IRQ handler */
  124. IRQ_S_HANDLER 6 /* GPIO0_Y IRQ handler */
  125. IRQ_S_HANDLER 7 /* GPIO0_Z IRQ handler */
  126. IRQ_S_HANDLER 8 /* ADC0 IRQ handler */
  127. IRQ_S_HANDLER 9 /* ADC1 IRQ handler */
  128. IRQ_S_HANDLER 10 /* ADC2 IRQ handler */
  129. IRQ_S_HANDLER 11 /* DAC IRQ handler */
  130. IRQ_S_HANDLER 12 /* ACMP[0] IRQ handler */
  131. IRQ_S_HANDLER 13 /* ACMP[1] IRQ handler */
  132. IRQ_S_HANDLER 14 /* SPI0 IRQ handler */
  133. IRQ_S_HANDLER 15 /* SPI1 IRQ handler */
  134. IRQ_S_HANDLER 16 /* SPI2 IRQ handler */
  135. IRQ_S_HANDLER 17 /* SPI3 IRQ handler */
  136. IRQ_S_HANDLER 18 /* UART0 IRQ handler */
  137. IRQ_S_HANDLER 19 /* UART1 IRQ handler */
  138. IRQ_S_HANDLER 20 /* UART2 IRQ handler */
  139. IRQ_S_HANDLER 21 /* UART3 IRQ handler */
  140. IRQ_S_HANDLER 22 /* UART4 IRQ handler */
  141. IRQ_S_HANDLER 23 /* UART5 IRQ handler */
  142. IRQ_S_HANDLER 24 /* UART6 IRQ handler */
  143. IRQ_S_HANDLER 25 /* UART7 IRQ handler */
  144. IRQ_S_HANDLER 26 /* CAN0 IRQ handler */
  145. IRQ_S_HANDLER 27 /* CAN1 IRQ handler */
  146. IRQ_S_HANDLER 28 /* PTPC IRQ handler */
  147. IRQ_S_HANDLER 29 /* WDG0 IRQ handler */
  148. IRQ_S_HANDLER 30 /* WDG1 IRQ handler */
  149. IRQ_S_HANDLER 31 /* TSNS IRQ handler */
  150. IRQ_S_HANDLER 32 /* MBX0A IRQ handler */
  151. IRQ_S_HANDLER 33 /* MBX0B IRQ handler */
  152. IRQ_S_HANDLER 34 /* GPTMR0 IRQ handler */
  153. IRQ_S_HANDLER 35 /* GPTMR1 IRQ handler */
  154. IRQ_S_HANDLER 36 /* GPTMR2 IRQ handler */
  155. IRQ_S_HANDLER 37 /* GPTMR3 IRQ handler */
  156. IRQ_S_HANDLER 38 /* I2C0 IRQ handler */
  157. IRQ_S_HANDLER 39 /* I2C1 IRQ handler */
  158. IRQ_S_HANDLER 40 /* I2C2 IRQ handler */
  159. IRQ_S_HANDLER 41 /* I2C3 IRQ handler */
  160. IRQ_S_HANDLER 42 /* PWM0 IRQ handler */
  161. IRQ_S_HANDLER 43 /* HALL0 IRQ handler */
  162. IRQ_S_HANDLER 44 /* QEI0 IRQ handler */
  163. IRQ_S_HANDLER 45 /* PWM1 IRQ handler */
  164. IRQ_S_HANDLER 46 /* HALL1 IRQ handler */
  165. IRQ_S_HANDLER 47 /* QEI1 IRQ handler */
  166. IRQ_S_HANDLER 48 /* SDP IRQ handler */
  167. IRQ_S_HANDLER 49 /* XPI0 IRQ handler */
  168. IRQ_S_HANDLER 50 /* XPI1 IRQ handler */
  169. IRQ_S_HANDLER 51 /* XDMA IRQ handler */
  170. IRQ_S_HANDLER 52 /* HDMA IRQ handler */
  171. IRQ_S_HANDLER 53 /* FEMC IRQ handler */
  172. IRQ_S_HANDLER 54 /* RNG IRQ handler */
  173. IRQ_S_HANDLER 55 /* I2S0 IRQ handler */
  174. IRQ_S_HANDLER 56 /* I2S1 IRQ handler */
  175. IRQ_S_HANDLER 57 /* DAO IRQ handler */
  176. IRQ_S_HANDLER 58 /* PDM IRQ handler */
  177. IRQ_S_HANDLER 59 /* FFA IRQ handler */
  178. IRQ_S_HANDLER 60 /* NTMR0 IRQ handler */
  179. IRQ_S_HANDLER 61 /* USB0 IRQ handler */
  180. IRQ_S_HANDLER 62 /* ENET0 IRQ handler */
  181. IRQ_S_HANDLER 63 /* SDXC0 IRQ handler */
  182. IRQ_S_HANDLER 64 /* PSEC IRQ handler */
  183. IRQ_S_HANDLER 65 /* PGPIO IRQ handler */
  184. IRQ_S_HANDLER 66 /* PWDG IRQ handler */
  185. IRQ_S_HANDLER 67 /* PTMR IRQ handler */
  186. IRQ_S_HANDLER 68 /* PUART IRQ handler */
  187. IRQ_S_HANDLER 69 /* FUSE IRQ handler */
  188. IRQ_S_HANDLER 70 /* SECMON IRQ handler */
  189. IRQ_S_HANDLER 71 /* RTC IRQ handler */
  190. IRQ_S_HANDLER 72 /* BUTN IRQ handler */
  191. IRQ_S_HANDLER 73 /* BGPIO IRQ handler */
  192. IRQ_S_HANDLER 74 /* BVIO IRQ handler */
  193. IRQ_S_HANDLER 75 /* BROWNOUT IRQ handler */
  194. IRQ_S_HANDLER 76 /* SYSCTL IRQ handler */
  195. IRQ_S_HANDLER 77 /* DEBUG[0] IRQ handler */
  196. IRQ_S_HANDLER 78 /* DEBUG[1] IRQ handler */