aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios/os/hal/ports/STM32/STM32H7xx/stm32_isr.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios/os/hal/ports/STM32/STM32H7xx/stm32_isr.c')
-rw-r--r--lib/chibios/os/hal/ports/STM32/STM32H7xx/stm32_isr.c198
1 files changed, 198 insertions, 0 deletions
diff --git a/lib/chibios/os/hal/ports/STM32/STM32H7xx/stm32_isr.c b/lib/chibios/os/hal/ports/STM32/STM32H7xx/stm32_isr.c
new file mode 100644
index 000000000..aea191e69
--- /dev/null
+++ b/lib/chibios/os/hal/ports/STM32/STM32H7xx/stm32_isr.c
@@ -0,0 +1,198 @@
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.c
19 * @brief STM32H7xx ISR handler code.
20 *
21 * @addtogroup STM32H7xx_ISR
22 * @{
23 */
24
25#include "hal.h"
26
27/*===========================================================================*/
28/* Driver local definitions. */
29/*===========================================================================*/
30
31#define exti_serve_irq(pr, channel) { \
32 \
33 if ((pr) & (1U << (channel))) { \
34 _pal_isr_code(channel); \
35 } \
36}
37
38/*===========================================================================*/
39/* Driver exported variables. */
40/*===========================================================================*/
41
42/*===========================================================================*/
43/* Driver local variables. */
44/*===========================================================================*/
45
46/*===========================================================================*/
47/* Driver local functions. */
48/*===========================================================================*/
49
50/*===========================================================================*/
51/* Driver interrupt handlers. */
52/*===========================================================================*/
53
54#include "stm32_exti0.inc"
55#include "stm32_exti1.inc"
56#include "stm32_exti2.inc"
57#include "stm32_exti3.inc"
58#include "stm32_exti4.inc"
59#include "stm32_exti5_9.inc"
60#include "stm32_exti10_15.inc"
61#include "stm32_exti16.inc"
62#include "stm32_exti17.inc"
63#include "stm32_exti18.inc"
64#include "stm32_exti19.inc"
65#include "stm32_exti20_21.inc"
66
67#include "stm32_fdcan1.inc"
68#include "stm32_fdcan2.inc"
69
70#include "stm32_quadspi1.inc"
71
72#include "stm32_sdmmc1.inc"
73#include "stm32_sdmmc2.inc"
74
75#include <stm32_usart1.inc>
76#include "stm32_usart2.inc"
77#include "stm32_usart3.inc"
78#include "stm32_uart4.inc"
79#include "stm32_uart5.inc"
80#include "stm32_usart6.inc"
81#include "stm32_uart7.inc"
82#include "stm32_uart8.inc"
83#include "stm32_lpuart1.inc"
84
85#include "stm32_tim1.inc"
86#include "stm32_tim2.inc"
87#include "stm32_tim3.inc"
88#include "stm32_tim4.inc"
89#include "stm32_tim5.inc"
90#include "stm32_tim6.inc"
91#include "stm32_tim7.inc"
92#include "stm32_tim8_12_13_14.inc"
93
94/*===========================================================================*/
95/* Driver exported functions. */
96/*===========================================================================*/
97
98/**
99 * @brief Enables IRQ sources.
100 *
101 * @notapi
102 */
103void irqInit(void) {
104
105 exti0_irq_init();
106 exti1_irq_init();
107 exti2_irq_init();
108 exti3_irq_init();
109 exti4_irq_init();
110 exti5_9_irq_init();
111 exti10_15_irq_init();
112 exti16_irq_init();
113 exti17_irq_init();
114 exti18_irq_init();
115 exti19_irq_init();
116 exti20_exti21_irq_init();
117
118 fdcan1_irq_init();
119 fdcan2_irq_init();
120
121 mdma_irq_init();
122
123 quadspi1_irq_init();
124
125 sdmmc1_irq_init();
126 sdmmc2_irq_init();
127
128 tim1_irq_init();
129 tim2_irq_init();
130 tim3_irq_init();
131 tim4_irq_init();
132 tim5_irq_init();
133 tim6_irq_init();
134 tim7_irq_init();
135 tim8_tim12_tim13_tim14_irq_init();
136
137 usart1_irq_init();
138 usart2_irq_init();
139 usart3_irq_init();
140 uart4_irq_init();
141 uart5_irq_init();
142 usart6_irq_init();
143 uart7_irq_init();
144 uart8_irq_init();
145 lpuart1_irq_init();
146}
147
148/**
149 * @brief Disables IRQ sources.
150 *
151 * @notapi
152 */
153void irqDeinit(void) {
154
155 exti0_irq_deinit();
156 exti1_irq_deinit();
157 exti2_irq_deinit();
158 exti3_irq_deinit();
159 exti4_irq_deinit();
160 exti5_9_irq_deinit();
161 exti10_15_irq_deinit();
162 exti16_irq_deinit();
163 exti17_irq_deinit();
164 exti18_irq_deinit();
165 exti19_irq_deinit();
166 exti20_exti21_irq_deinit();
167
168 fdcan1_irq_deinit();
169 fdcan2_irq_deinit();
170
171 mdma_irq_deinit();
172
173 quadspi1_irq_deinit();
174
175 sdmmc1_irq_deinit();
176 sdmmc2_irq_deinit();
177
178 tim1_irq_deinit();
179 tim2_irq_deinit();
180 tim3_irq_deinit();
181 tim4_irq_deinit();
182 tim5_irq_deinit();
183 tim6_irq_deinit();
184 tim7_irq_deinit();
185 tim8_tim12_tim13_tim14_irq_deinit();
186
187 usart1_irq_deinit();
188 usart2_irq_deinit();
189 usart3_irq_deinit();
190 uart4_irq_deinit();
191 uart5_irq_deinit();
192 usart6_irq_deinit();
193 uart7_irq_deinit();
194 uart8_irq_deinit();
195 lpuart1_irq_deinit();
196}
197
198/** @} */