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