aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios/os/hal/ports/STM32/STM32H7xx/stm32_isr.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios/os/hal/ports/STM32/STM32H7xx/stm32_isr.h')
-rw-r--r--lib/chibios/os/hal/ports/STM32/STM32H7xx/stm32_isr.h384
1 files changed, 384 insertions, 0 deletions
diff --git a/lib/chibios/os/hal/ports/STM32/STM32H7xx/stm32_isr.h b/lib/chibios/os/hal/ports/STM32/STM32H7xx/stm32_isr.h
new file mode 100644
index 000000000..276791e1e
--- /dev/null
+++ b/lib/chibios/os/hal/ports/STM32/STM32H7xx/stm32_isr.h
@@ -0,0 +1,384 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/**
18 * @file STM32H7xx/stm32_isr.h
19 * @brief STM32H7xx ISR handler header.
20 *
21 * @addtogroup STM32H7xx_ISR
22 * @{
23 */
24
25#ifndef STM32_ISR_H
26#define STM32_ISR_H
27
28/*===========================================================================*/
29/* Driver constants. */
30/*===========================================================================*/
31
32/**
33 * @name ISRs suppressed in standard drivers
34 * @{
35 */
36#define STM32_TIM1_SUPPRESS_ISR
37#define STM32_TIM2_SUPPRESS_ISR
38#define STM32_TIM3_SUPPRESS_ISR
39#define STM32_TIM4_SUPPRESS_ISR
40#define STM32_TIM5_SUPPRESS_ISR
41#define STM32_TIM6_SUPPRESS_ISR
42#define STM32_TIM7_SUPPRESS_ISR
43#define STM32_TIM8_SUPPRESS_ISR
44#define STM32_TIM12_SUPPRESS_ISR
45#define STM32_TIM13_SUPPRESS_ISR
46#define STM32_TIM14_SUPPRESS_ISR
47#define STM32_TIM15_SUPPRESS_ISR
48#define STM32_TIM16_SUPPRESS_ISR
49#define STM32_TIM17_SUPPRESS_ISR
50
51#define STM32_USART1_SUPPRESS_ISR
52#define STM32_USART2_SUPPRESS_ISR
53#define STM32_USART3_SUPPRESS_ISR
54#define STM32_UART4_SUPPRESS_ISR
55#define STM32_UART5_SUPPRESS_ISR
56#define STM32_USART6_SUPPRESS_ISR
57#define STM32_UART7_SUPPRESS_ISR
58#define STM32_UART8_SUPPRESS_ISR
59#define STM32_LPUART1_SUPPRESS_ISR
60/** @} */
61
62/**
63 * @name ISR names and numbers
64 * @{
65 */
66/*
67 * ADC units.
68 */
69#define STM32_ADC12_HANDLER Vector88
70#define STM32_ADC3_HANDLER Vector23C
71
72#define STM32_ADC12_NUMBER 18
73#define STM32_ADC3_NUMBER 127
74
75/*
76 * BDMA units.
77 */
78#define STM32_BDMA1_CH0_HANDLER Vector244
79#define STM32_BDMA1_CH1_HANDLER Vector248
80#define STM32_BDMA1_CH2_HANDLER Vector24C
81#define STM32_BDMA1_CH3_HANDLER Vector250
82#define STM32_BDMA1_CH4_HANDLER Vector254
83#define STM32_BDMA1_CH5_HANDLER Vector258
84#define STM32_BDMA1_CH6_HANDLER Vector25C
85#define STM32_BDMA1_CH7_HANDLER Vector260
86
87#define STM32_BDMA1_CH0_NUMBER 129
88#define STM32_BDMA1_CH1_NUMBER 130
89#define STM32_BDMA1_CH2_NUMBER 131
90#define STM32_BDMA1_CH3_NUMBER 132
91#define STM32_BDMA1_CH4_NUMBER 133
92#define STM32_BDMA1_CH5_NUMBER 134
93#define STM32_BDMA1_CH6_NUMBER 135
94#define STM32_BDMA1_CH7_NUMBER 136
95
96/*
97 * DMA units.
98 */
99#define STM32_DMA1_CH0_HANDLER Vector6C
100#define STM32_DMA1_CH1_HANDLER Vector70
101#define STM32_DMA1_CH2_HANDLER Vector74
102#define STM32_DMA1_CH3_HANDLER Vector78
103#define STM32_DMA1_CH4_HANDLER Vector7C
104#define STM32_DMA1_CH5_HANDLER Vector80
105#define STM32_DMA1_CH6_HANDLER Vector84
106#define STM32_DMA1_CH7_HANDLER VectorFC
107#define STM32_DMA2_CH0_HANDLER Vector120
108#define STM32_DMA2_CH1_HANDLER Vector124
109#define STM32_DMA2_CH2_HANDLER Vector128
110#define STM32_DMA2_CH3_HANDLER Vector12C
111#define STM32_DMA2_CH4_HANDLER Vector130
112#define STM32_DMA2_CH5_HANDLER Vector150
113#define STM32_DMA2_CH6_HANDLER Vector154
114#define STM32_DMA2_CH7_HANDLER Vector158
115
116#define STM32_DMA1_CH0_NUMBER 11
117#define STM32_DMA1_CH1_NUMBER 12
118#define STM32_DMA1_CH2_NUMBER 13
119#define STM32_DMA1_CH3_NUMBER 14
120#define STM32_DMA1_CH4_NUMBER 15
121#define STM32_DMA1_CH5_NUMBER 16
122#define STM32_DMA1_CH6_NUMBER 17
123#define STM32_DMA1_CH7_NUMBER 47
124#define STM32_DMA2_CH0_NUMBER 56
125#define STM32_DMA2_CH1_NUMBER 57
126#define STM32_DMA2_CH2_NUMBER 58
127#define STM32_DMA2_CH3_NUMBER 59
128#define STM32_DMA2_CH4_NUMBER 60
129#define STM32_DMA2_CH5_NUMBER 68
130#define STM32_DMA2_CH6_NUMBER 69
131#define STM32_DMA2_CH7_NUMBER 70
132
133/*
134 * MDMA units.
135 */
136#define STM32_MDMA_HANDLER Vector228
137
138#define STM32_MDMA_NUMBER 122
139
140/*
141 * ETH units.
142 */
143#define STM32_ETH_HANDLER Vector134
144
145#define STM32_ETH_NUMBER 61
146
147/*
148 * EXTI units.
149 */
150#define STM32_EXTI0_HANDLER Vector58
151#define STM32_EXTI1_HANDLER Vector5C
152#define STM32_EXTI2_HANDLER Vector60
153#define STM32_EXTI3_HANDLER Vector64
154#define STM32_EXTI4_HANDLER Vector68
155#define STM32_EXTI5_9_HANDLER Vector9C
156#define STM32_EXTI10_15_HANDLER VectorE0
157#define STM32_EXTI16_HANDLER Vector44 /* PVD */
158#define STM32_EXTI17_HANDLER VectorE4 /* RTC ALARM */
159#define STM32_EXTI18_HANDLER Vector48 /* RTC TAMP CSS */
160#define STM32_EXTI19_HANDLER Vector4C /* RTC WAKEUP */
161#define STM32_EXTI2021_HANDLER Vector264 /* COMP1 COMP2 */
162
163#define STM32_EXTI0_NUMBER 6
164#define STM32_EXTI1_NUMBER 7
165#define STM32_EXTI2_NUMBER 8
166#define STM32_EXTI3_NUMBER 9
167#define STM32_EXTI4_NUMBER 10
168#define STM32_EXTI5_9_NUMBER 23
169#define STM32_EXTI10_15_NUMBER 40
170#define STM32_EXTI16_NUMBER 1
171#define STM32_EXTI17_NUMBER 41
172#define STM32_EXTI18_NUMBER 42
173#define STM32_EXTI19_NUMBER 3
174#define STM32_EXTI2021_NUMBER 137
175
176/*
177 * FDCAN units.
178 */
179#define STM32_FDCAN1_IT0_HANDLER Vector8C
180#define STM32_FDCAN1_IT1_HANDLER Vector94
181#define STM32_FDCAN2_IT0_HANDLER Vector90
182#define STM32_FDCAN2_IT1_HANDLER Vector98
183
184#define STM32_FDCAN1_IT0_NUMBER 19
185#define STM32_FDCAN1_IT1_NUMBER 21
186#define STM32_FDCAN2_IT0_NUMBER 20
187#define STM32_FDCAN2_IT1_NUMBER 22
188
189/*
190 * I2C units.
191 */
192#define STM32_I2C1_EVENT_HANDLER VectorBC
193#define STM32_I2C1_ERROR_HANDLER VectorC0
194#define STM32_I2C2_EVENT_HANDLER VectorC4
195#define STM32_I2C2_ERROR_HANDLER VectorC8
196#define STM32_I2C3_EVENT_HANDLER Vector160
197#define STM32_I2C3_ERROR_HANDLER Vector164
198#define STM32_I2C4_EVENT_HANDLER Vector1BC
199#define STM32_I2C4_ERROR_HANDLER Vector1C0
200
201#define STM32_I2C1_EVENT_NUMBER 31
202#define STM32_I2C1_ERROR_NUMBER 32
203#define STM32_I2C2_EVENT_NUMBER 33
204#define STM32_I2C2_ERROR_NUMBER 34
205#define STM32_I2C3_EVENT_NUMBER 72
206#define STM32_I2C3_ERROR_NUMBER 73
207#define STM32_I2C4_EVENT_NUMBER 95
208#define STM32_I2C4_ERROR_NUMBER 96
209
210/*
211 * QUADSPI units.
212 */
213#define STM32_QUADSPI1_HANDLER Vector1B0
214
215#define STM32_QUADSPI1_NUMBER 92
216
217/*
218 * SDMMC units.
219 */
220#define STM32_SDMMC1_HANDLER Vector104
221#define STM32_SDMMC2_HANDLER Vector230
222
223#define STM32_SDMMC1_NUMBER 49
224#define STM32_SDMMC2_NUMBER 131
225
226/*
227 * SPI units.
228 */
229#define STM32_SPI1_HANDLER VectorCC
230#define STM32_SPI2_HANDLER VectorD0
231#define STM32_SPI3_HANDLER Vector10C
232#define STM32_SPI4_HANDLER Vector190
233#define STM32_SPI5_HANDLER Vector194
234#define STM32_SPI6_HANDLER Vector198
235
236#define STM32_SPI1_NUMBER 35
237#define STM32_SPI2_NUMBER 36
238#define STM32_SPI3_NUMBER 51
239#define STM32_SPI4_NUMBER 84
240#define STM32_SPI5_NUMBER 85
241#define STM32_SPI6_NUMBER 86
242
243/*
244 * TIM units.
245 */
246#define STM32_TIM1_BRK_HANDLER VectorA0
247#define STM32_TIM1_UP_HANDLER VectorA4
248#define STM32_TIM1_TRGCO_HANDLER VectorA8
249#define STM32_TIM1_CC_HANDLER VectorAC
250#define STM32_TIM2_HANDLER VectorB0
251#define STM32_TIM3_HANDLER VectorB4
252#define STM32_TIM4_HANDLER VectorB8
253#define STM32_TIM5_HANDLER Vector108
254#define STM32_TIM6_HANDLER Vector118
255#define STM32_TIM7_HANDLER Vector11C
256#define STM32_TIM8_BRK_TIM12_HANDLER VectorEC
257#define STM32_TIM8_UP_TIM13_HANDLER VectorF0
258#define STM32_TIM8_TRGCO_TIM14_HANDLER VectorF4
259#define STM32_TIM8_CC_HANDLER VectorF8
260#define STM32_TIM15_HANDLER Vector210
261#define STM32_TIM16_HANDLER Vector214
262#define STM32_TIM17_HANDLER Vector218
263
264#define STM32_TIM1_BRK_NUMBER 24
265#define STM32_TIM1_UP_NUMBER 25
266#define STM32_TIM1_TRGCO_NUMBER 26
267#define STM32_TIM1_CC_NUMBER 27
268#define STM32_TIM2_NUMBER 28
269#define STM32_TIM3_NUMBER 29
270#define STM32_TIM4_NUMBER 30
271#define STM32_TIM5_NUMBER 50
272#define STM32_TIM6_NUMBER 54
273#define STM32_TIM7_NUMBER 55
274#define STM32_TIM8_BRK_TIM12_NUMBER 43
275#define STM32_TIM8_UP_TIM13_NUMBER 44
276#define STM32_TIM8_TRGCO_TIM14_NUMBER 45
277#define STM32_TIM8_CC_NUMBER 46
278#define STM32_TIM15_NUMBER 116
279#define STM32_TIM16_NUMBER 117
280#define STM32_TIM17_NUMBER 118
281
282/*
283 * USART/UART units.
284 */
285#define STM32_USART1_HANDLER VectorD4
286#define STM32_USART2_HANDLER VectorD8
287#define STM32_USART3_HANDLER VectorDC
288#define STM32_UART4_HANDLER Vector110
289#define STM32_UART5_HANDLER Vector114
290#define STM32_USART6_HANDLER Vector15C
291#define STM32_UART7_HANDLER Vector188
292#define STM32_UART8_HANDLER Vector18C
293#define STM32_LPUART1_HANDLER Vector278
294
295#define STM32_USART1_NUMBER 37
296#define STM32_USART2_NUMBER 38
297#define STM32_USART3_NUMBER 39
298#define STM32_UART4_NUMBER 52
299#define STM32_UART5_NUMBER 53
300#define STM32_USART6_NUMBER 71
301#define STM32_UART7_NUMBER 82
302#define STM32_UART8_NUMBER 83
303#define STM32_LPUART1_NUMBER 142
304
305/*
306 * USB/OTG units.
307 */
308#define STM32_OTG1_HANDLER Vector1D4
309#define STM32_OTG1_EP1OUT_HANDLER Vector1C8
310#define STM32_OTG1_EP1IN_HANDLER Vector1CC
311#define STM32_OTG2_HANDLER Vector174
312#define STM32_OTG2_EP1OUT_HANDLER Vector168
313#define STM32_OTG2_EP1IN_HANDLER Vector16C
314
315#define STM32_OTG1_NUMBER 101
316#define STM32_OTG1_EP1OUT_NUMBER 98
317#define STM32_OTG1_EP1IN_NUMBER 99
318#define STM32_OTG2_NUMBER 77
319#define STM32_OTG2_EP1OUT_NUMBER 74
320#define STM32_OTG2_EP1IN_NUMBER 75
321
322/*
323 * LTDC units.
324 */
325#define STM32_LTDC_EV_HANDLER Vector1A0
326#define STM32_LTDC_ER_HANDLER Vector1A4
327
328#define STM32_LTDC_EV_NUMBER 88
329#define STM32_LTDC_ER_NUMBER 89
330
331/*
332 * DMA2D units.
333 */
334#define STM32_DMA2D_HANDLER Vector1A8
335
336#define STM32_DMA2D_NUMBER 90
337
338/*
339 * FSMC units.
340 */
341#define STM32_FSMC_HANDLER Vector100
342
343#define STM32_FSMC_NUMBER 48
344
345/*
346 * DCMI units.
347 */
348#define STM32_DCMI_HANDLER Vector178
349
350#define STM32_DCMI_NUMBER 78
351/** @} */
352
353/*===========================================================================*/
354/* Driver pre-compile time settings. */
355/*===========================================================================*/
356
357/*===========================================================================*/
358/* Derived constants and error checks. */
359/*===========================================================================*/
360
361/*===========================================================================*/
362/* Driver data structures and types. */
363/*===========================================================================*/
364
365/*===========================================================================*/
366/* Driver macros. */
367/*===========================================================================*/
368
369/*===========================================================================*/
370/* External declarations. */
371/*===========================================================================*/
372
373#ifdef __cplusplus
374extern "C" {
375#endif
376 void irqInit(void);
377 void irqDeinit(void);
378#ifdef __cplusplus
379}
380#endif
381
382#endif /* STM32_ISR_H */
383
384/** @} */