aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios/os/hal/ports/STM32/STM32L4xx/stm32_isr.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios/os/hal/ports/STM32/STM32L4xx/stm32_isr.h')
-rw-r--r--lib/chibios/os/hal/ports/STM32/STM32L4xx/stm32_isr.h289
1 files changed, 289 insertions, 0 deletions
diff --git a/lib/chibios/os/hal/ports/STM32/STM32L4xx/stm32_isr.h b/lib/chibios/os/hal/ports/STM32/STM32L4xx/stm32_isr.h
new file mode 100644
index 000000000..9230352d9
--- /dev/null
+++ b/lib/chibios/os/hal/ports/STM32/STM32L4xx/stm32_isr.h
@@ -0,0 +1,289 @@
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 STM32L4xx/stm32_isr.h
19 * @brief STM32L4xx ISR handler header.
20 *
21 * @addtogroup SRM32L4xx_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_TIM15_SUPPRESS_ISR
45#define STM32_TIM16_SUPPRESS_ISR
46#define STM32_TIM17_SUPPRESS_ISR
47
48#define STM32_USART1_SUPPRESS_ISR
49#define STM32_USART2_SUPPRESS_ISR
50#define STM32_USART3_SUPPRESS_ISR
51#define STM32_UART4_SUPPRESS_ISR
52#define STM32_UART5_SUPPRESS_ISR
53#define STM32_LPUART1_SUPPRESS_ISR
54/** @} */
55
56/**
57 * @name ISR names and numbers
58 * @{
59 */
60/*
61 * ADC unit.
62 */
63#define STM32_ADC1_HANDLER Vector88
64#define STM32_ADC2_HANDLER Vector88
65#define STM32_ADC3_HANDLER VectorFC
66
67#define STM32_ADC1_NUMBER 18
68#define STM32_ADC2_NUMBER 18
69#define STM32_ADC3_NUMBER 47
70
71/*
72 * CAN unit.
73 */
74#define STM32_CAN1_TX_HANDLER Vector8C
75#define STM32_CAN1_RX0_HANDLER Vector90
76#define STM32_CAN1_RX1_HANDLER Vector94
77#define STM32_CAN1_SCE_HANDLER Vector98
78#define STM32_CAN2_TX_HANDLER Vector198
79#define STM32_CAN2_RX0_HANDLER Vector19C
80#define STM32_CAN2_RX1_HANDLER Vector1A0
81#define STM32_CAN2_SCE_HANDLER Vector1A4
82
83#define STM32_CAN1_TX_NUMBER 19
84#define STM32_CAN1_RX0_NUMBER 20
85#define STM32_CAN1_RX1_NUMBER 21
86#define STM32_CAN1_SCE_NUMBER 22
87#define STM32_CAN2_TX_NUMBER 86
88#define STM32_CAN2_RX0_NUMBER 87
89#define STM32_CAN2_RX1_NUMBER 88
90#define STM32_CAN2_SCE_NUMBER 89
91
92/*
93 * DMA unit.
94 */
95#define STM32_DMA1_CH1_HANDLER Vector6C
96#define STM32_DMA1_CH2_HANDLER Vector70
97#define STM32_DMA1_CH3_HANDLER Vector74
98#define STM32_DMA1_CH4_HANDLER Vector78
99#define STM32_DMA1_CH5_HANDLER Vector7C
100#define STM32_DMA1_CH6_HANDLER Vector80
101#define STM32_DMA1_CH7_HANDLER Vector84
102#define STM32_DMA2_CH1_HANDLER Vector120
103#define STM32_DMA2_CH2_HANDLER Vector124
104#define STM32_DMA2_CH3_HANDLER Vector128
105#define STM32_DMA2_CH4_HANDLER Vector12C
106#define STM32_DMA2_CH5_HANDLER Vector130
107#define STM32_DMA2_CH6_HANDLER Vector150
108#define STM32_DMA2_CH7_HANDLER Vector154
109
110#define STM32_DMA1_CH1_NUMBER 11
111#define STM32_DMA1_CH2_NUMBER 12
112#define STM32_DMA1_CH3_NUMBER 13
113#define STM32_DMA1_CH4_NUMBER 14
114#define STM32_DMA1_CH5_NUMBER 15
115#define STM32_DMA1_CH6_NUMBER 16
116#define STM32_DMA1_CH7_NUMBER 17
117#define STM32_DMA2_CH1_NUMBER 56
118#define STM32_DMA2_CH2_NUMBER 57
119#define STM32_DMA2_CH3_NUMBER 58
120#define STM32_DMA2_CH4_NUMBER 59
121#define STM32_DMA2_CH5_NUMBER 60
122#define STM32_DMA2_CH6_NUMBER 68
123#define STM32_DMA2_CH7_NUMBER 69
124
125/*
126 * EXTI unit.
127 */
128#define STM32_EXTI0_HANDLER Vector58
129#define STM32_EXTI1_HANDLER Vector5C
130#define STM32_EXTI2_HANDLER Vector60
131#define STM32_EXTI3_HANDLER Vector64
132#define STM32_EXTI4_HANDLER Vector68
133#define STM32_EXTI5_9_HANDLER Vector9C
134#define STM32_EXTI10_15_HANDLER VectorE0
135#define STM32_EXTI1635_38_HANDLER Vector44 /* PVD PVM1 PVM4 */
136#define STM32_EXTI18_HANDLER VectorE4 /* RTC ALARM */
137#define STM32_EXTI19_HANDLER Vector48 /* RTC TAMP CSS */
138#define STM32_EXTI20_HANDLER Vector4C /* RTC WAKEUP */
139#define STM32_EXTI21_22_HANDLER Vector140 /* COMP1..2 */
140
141#define STM32_EXTI0_NUMBER 6
142#define STM32_EXTI1_NUMBER 7
143#define STM32_EXTI2_NUMBER 8
144#define STM32_EXTI3_NUMBER 9
145#define STM32_EXTI4_NUMBER 10
146#define STM32_EXTI5_9_NUMBER 23
147#define STM32_EXTI10_15_NUMBER 40
148#define STM32_EXTI1635_38_NUMBER 1
149#define STM32_EXTI18_NUMBER 41
150#define STM32_EXTI19_NUMBER 2
151#define STM32_EXTI20_NUMBER 3
152#define STM32_EXTI21_22_NUMBER 64
153
154/*
155 * I2C units.
156 */
157#define STM32_I2C1_EVENT_HANDLER VectorBC
158#define STM32_I2C1_ERROR_HANDLER VectorC0
159#define STM32_I2C2_EVENT_HANDLER VectorC4
160#define STM32_I2C2_ERROR_HANDLER VectorC8
161#define STM32_I2C3_EVENT_HANDLER Vector160
162#define STM32_I2C3_ERROR_HANDLER Vector164
163#define STM32_I2C4_EVENT_HANDLER Vector18C
164#define STM32_I2C4_ERROR_HANDLER Vector190
165
166#define STM32_I2C1_EVENT_NUMBER 31
167#define STM32_I2C1_ERROR_NUMBER 32
168#define STM32_I2C2_EVENT_NUMBER 33
169#define STM32_I2C2_ERROR_NUMBER 34
170#define STM32_I2C3_EVENT_NUMBER 72
171#define STM32_I2C3_ERROR_NUMBER 73
172#define STM32_I2C4_EVENT_NUMBER 83
173#define STM32_I2C4_ERROR_NUMBER 84
174
175/*
176 * QUADSPI unit.
177 */
178#define STM32_QUADSPI1_HANDLER Vector15C
179
180#define STM32_QUADSPI1_NUMBER 71
181
182/*
183 * SDMMC unit.
184 */
185#define STM32_SDMMC1_HANDLER Vector104
186
187#define STM32_SDMMC1_NUMBER 49
188
189/*
190 * TIM units.
191 */
192#define STM32_TIM1_BRK_TIM15_HANDLER VectorA0
193#define STM32_TIM1_UP_TIM16_HANDLER VectorA4
194#define STM32_TIM1_TRGCO_TIM17_HANDLER VectorA8
195#define STM32_TIM1_CC_HANDLER VectorAC
196#define STM32_TIM2_HANDLER VectorB0
197#define STM32_TIM3_HANDLER VectorB4
198#define STM32_TIM4_HANDLER VectorB8
199#define STM32_TIM5_HANDLER Vector108
200#define STM32_TIM6_HANDLER Vector118
201#define STM32_TIM7_HANDLER Vector11C
202#define STM32_TIM8_BRK_HANDLER VectorEC
203#define STM32_TIM8_UP_HANDLER VectorF0
204#define STM32_TIM8_TRGCO_HANDLER VectorF4
205#define STM32_TIM8_CC_HANDLER VectorF8
206
207#define STM32_TIM1_BRK_TIM15_NUMBER 24
208#define STM32_TIM1_UP_TIM16_NUMBER 25
209#define STM32_TIM1_TRGCO_TIM17_NUMBER 26
210#define STM32_TIM1_CC_NUMBER 27
211#define STM32_TIM2_NUMBER 28
212#define STM32_TIM3_NUMBER 29
213#define STM32_TIM4_NUMBER 30
214#define STM32_TIM5_NUMBER 50
215#define STM32_TIM6_NUMBER 54
216#define STM32_TIM7_NUMBER 55
217#define STM32_TIM8_BRK_NUMBER 43
218#define STM32_TIM8_UP_NUMBER 44
219#define STM32_TIM8_TRGCO_NUMBER 45
220#define STM32_TIM8_CC_NUMBER 46
221
222/*
223 * USART/UART units.
224 */
225#define STM32_USART1_HANDLER VectorD4
226#define STM32_USART2_HANDLER VectorD8
227#define STM32_USART3_HANDLER VectorDC
228#define STM32_UART4_HANDLER Vector110
229#define STM32_UART5_HANDLER Vector114
230#define STM32_LPUART1_HANDLER Vector158
231
232#define STM32_USART1_NUMBER 37
233#define STM32_USART2_NUMBER 38
234#define STM32_USART3_NUMBER 39
235#define STM32_UART4_NUMBER 52
236#define STM32_UART5_NUMBER 53
237#define STM32_LPUART1_NUMBER 70
238
239/*
240 * USB/OTG units.
241 */
242#define STM32_USB1_HP_HANDLER Vector14C
243#define STM32_USB1_LP_HANDLER Vector14C
244#define STM32_OTG1_HANDLER Vector14C
245
246#define STM32_USB1_HP_NUMBER 67
247#define STM32_USB1_LP_NUMBER 67
248#define STM32_OTG1_NUMBER 67
249
250/*
251 * DMA2D unit.
252 */
253#define STM32_DMA2D_HANDLER Vector1A8
254
255#define STM32_DMA2D_NUMBER 90
256/** @} */
257
258/*===========================================================================*/
259/* Driver pre-compile time settings. */
260/*===========================================================================*/
261
262/*===========================================================================*/
263/* Derived constants and error checks. */
264/*===========================================================================*/
265
266/*===========================================================================*/
267/* Driver data structures and types. */
268/*===========================================================================*/
269
270/*===========================================================================*/
271/* Driver macros. */
272/*===========================================================================*/
273
274/*===========================================================================*/
275/* External declarations. */
276/*===========================================================================*/
277
278#ifdef __cplusplus
279extern "C" {
280#endif
281 void irqInit(void);
282 void irqDeinit(void);
283#ifdef __cplusplus
284}
285#endif
286
287#endif /* STM32_ISR_H */
288
289/** @} */