diff options
Diffstat (limited to 'lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/startup_MIMXRT685S_cm33.S')
-rw-r--r-- | lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/startup_MIMXRT685S_cm33.S | 888 |
1 files changed, 888 insertions, 0 deletions
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/startup_MIMXRT685S_cm33.S b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/startup_MIMXRT685S_cm33.S new file mode 100644 index 000000000..5277719e3 --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/startup_MIMXRT685S_cm33.S | |||
@@ -0,0 +1,888 @@ | |||
1 | /* --------------------------------------------------------------------------*/ | ||
2 | /* @file: startup_MIMXRT685S_cm33.s */ | ||
3 | /* @purpose: CMSIS Cortex-M33 Core Device Startup File */ | ||
4 | /* MIMXRT685S_cm33 */ | ||
5 | /* @version: 2.0 */ | ||
6 | /* @date: 2019-11-12 */ | ||
7 | /* --------------------------------------------------------------------------*/ | ||
8 | /* */ | ||
9 | /* Copyright 1997-2016 Freescale Semiconductor, Inc. */ | ||
10 | /* Copyright 2016-2020 NXP */ | ||
11 | /* All rights reserved. */ | ||
12 | /* */ | ||
13 | /* SPDX-License-Identifier: BSD-3-Clause */ | ||
14 | /*****************************************************************************/ | ||
15 | /* Version: GCC for ARM Embedded Processors */ | ||
16 | /*****************************************************************************/ | ||
17 | |||
18 | |||
19 | .syntax unified | ||
20 | .arch armv8-m.main | ||
21 | |||
22 | .section .isr_vector, "a" | ||
23 | .align 2 | ||
24 | .globl __isr_vector | ||
25 | __isr_vector: | ||
26 | .long __StackTop /* Top of Stack */ | ||
27 | .long Reset_Handler /* Reset Handler */ | ||
28 | .long NMI_Handler /* NMI Handler*/ | ||
29 | .long HardFault_Handler /* Hard Fault Handler*/ | ||
30 | .long MemManage_Handler /* MPU Fault Handler*/ | ||
31 | .long BusFault_Handler /* Bus Fault Handler*/ | ||
32 | .long UsageFault_Handler /* Usage Fault Handler*/ | ||
33 | .long SecureFault_Handler /* Secure Fault Handler*/ | ||
34 | #if (__ARM_FEATURE_CMSE & 0x2) | ||
35 | .long 0x180000 /* Image length*/ | ||
36 | #else | ||
37 | .long _image_size /* Image length*/ | ||
38 | #endif | ||
39 | .long 0 /* Reserved*/ | ||
40 | .long 0 /* Reserved*/ | ||
41 | .long SVC_Handler /* SVCall Handler*/ | ||
42 | .long DebugMon_Handler /* Debug Monitor Handler*/ | ||
43 | .long __isr_vector /* Image load address*/ | ||
44 | .long PendSV_Handler /* PendSV Handler*/ | ||
45 | .long SysTick_Handler /* SysTick Handler*/ | ||
46 | |||
47 | /* External Interrupts */ | ||
48 | .long WDT0_IRQHandler /* Windowed watchdog timer 0 (CM33 watchdog) */ | ||
49 | .long DMA0_IRQHandler /* DMA controller 0 (secure or CM33 DMA) */ | ||
50 | .long GPIO_INTA_IRQHandler /* GPIO interrupt A */ | ||
51 | .long GPIO_INTB_IRQHandler /* GPIO interrupt B */ | ||
52 | .long PIN_INT0_IRQHandler /* Pin interrupt 0 or pattern match engine slice 0 int */ | ||
53 | .long PIN_INT1_IRQHandler /* Pin interrupt 1 or pattern match engine slice 1 int */ | ||
54 | .long PIN_INT2_IRQHandler /* Pin interrupt 2 or pattern match engine slice 2 int */ | ||
55 | .long PIN_INT3_IRQHandler /* Pin interrupt 3 or pattern match engine slice 3 int */ | ||
56 | .long UTICK0_IRQHandler /* Micro-tick Timer */ | ||
57 | .long MRT0_IRQHandler /* Multi-Rate Timer */ | ||
58 | .long CTIMER0_IRQHandler /* Standard counter/timer CTIMER0 */ | ||
59 | .long CTIMER1_IRQHandler /* Standard counter/timer CTIMER1 */ | ||
60 | .long SCT0_IRQHandler /* SCTimer/PWM */ | ||
61 | .long CTIMER3_IRQHandler /* Standard counter/timer CTIMER3 */ | ||
62 | .long FLEXCOMM0_IRQHandler /* Flexcomm Interface 0 (USART, SPI, I2C, I2S) */ | ||
63 | .long FLEXCOMM1_IRQHandler /* Flexcomm Interface 1 (USART, SPI, I2C, I2S) */ | ||
64 | .long FLEXCOMM2_IRQHandler /* Flexcomm Interface 2 (USART, SPI, I2C, I2S) */ | ||
65 | .long FLEXCOMM3_IRQHandler /* Flexcomm Interface 3 (USART, SPI, I2C, I2S) */ | ||
66 | .long FLEXCOMM4_IRQHandler /* Flexcomm Interface 4 (USART, SPI, I2C, I2S) */ | ||
67 | .long FLEXCOMM5_IRQHandler /* Flexcomm Interface 5 (USART, SPI, I2C, I2S) */ | ||
68 | .long FLEXCOMM14_IRQHandler /* Flexcomm Interface 14 (SPI only) */ | ||
69 | .long FLEXCOMM15_IRQHandler /* Flexcomm Interface 15 (I2C only) */ | ||
70 | .long ADC0_IRQHandler /* ADC0 */ | ||
71 | .long Reserved39_IRQHandler /* Reserved interrupt */ | ||
72 | .long ACMP_IRQHandler /* Analog comparator */ | ||
73 | .long DMIC0_IRQHandler /* Digital microphone and DMIC subsystem */ | ||
74 | .long Reserved42_IRQHandler /* Reserved interrupt */ | ||
75 | .long HYPERVISOR_IRQHandler /* Hypervisor */ | ||
76 | .long SECUREVIOLATION_IRQHandler /* Secure violation */ | ||
77 | .long HWVAD0_IRQHandler /* Hardware Voice Activity Detector */ | ||
78 | .long Reserved46_IRQHandler /* Reserved interrupt */ | ||
79 | .long RNG_IRQHandler /* Random number Generator */ | ||
80 | .long RTC_IRQHandler /* RTC alarm and wake-up */ | ||
81 | .long DSPWAKE_IRQHandler /* Wake-up from DSP */ | ||
82 | .long MU_A_IRQHandler /* Messaging Unit port A for CM33 */ | ||
83 | .long PIN_INT4_IRQHandler /* Pin interrupt 4 or pattern match engine slice 4 int */ | ||
84 | .long PIN_INT5_IRQHandler /* Pin interrupt 5 or pattern match engine slice 5 int */ | ||
85 | .long PIN_INT6_IRQHandler /* Pin interrupt 6 or pattern match engine slice 6 int */ | ||
86 | .long PIN_INT7_IRQHandler /* Pin interrupt 7 or pattern match engine slice 7 int */ | ||
87 | .long CTIMER2_IRQHandler /* Standard counter/timer CTIMER2 */ | ||
88 | .long CTIMER4_IRQHandler /* Standard counter/timer CTIMER4 */ | ||
89 | .long OS_EVENT_IRQHandler /* OS event timer */ | ||
90 | .long FLEXSPI_IRQHandler /* FLEXSPI interface */ | ||
91 | .long FLEXCOMM6_IRQHandler /* Flexcomm Interface 6 (USART, SPI, I2C, I2S) */ | ||
92 | .long FLEXCOMM7_IRQHandler /* Flexcomm Interface 7 (USART, SPI, I2C, I2S) */ | ||
93 | .long USDHC0_IRQHandler /* USDHC0 (Enhanced SDHC) interrupt request */ | ||
94 | .long USDHC1_IRQHandler /* USDHC1 (Enhanced SDHC) interrupt request */ | ||
95 | .long SGPIO_INTA_IRQHandler /* Secure GPIO interrupt A */ | ||
96 | .long SGPIO_INTB_IRQHandler /* Secure GPIO interrupt B */ | ||
97 | .long I3C0_IRQHandler /* I3C interface 0 */ | ||
98 | .long USB_IRQHandler /* High-speed USB device/host */ | ||
99 | .long USB_WAKEUP_IRQHandler /* USB Activity Wake-up Interrupt */ | ||
100 | .long WDT1_IRQHandler /* Windowed watchdog timer 1 (HiFi 4 watchdog) */ | ||
101 | .long USBPHY_DCD_IRQHandler /* USBPHY DCD */ | ||
102 | .long DMA1_IRQHandler /* DMA controller 1 (non-secure or HiFi 4 DMA) */ | ||
103 | .long PUF_IRQHandler /* Physical Unclonable Function */ | ||
104 | .long POWERQUAD_IRQHandler /* PowerQuad math coprocessor */ | ||
105 | .long CASPER_IRQHandler /* Casper cryptographic coprocessor */ | ||
106 | .long PMC_PMIC_IRQHandler /* Power management IC */ | ||
107 | .long HASHCRYPT_IRQHandler /* Hash-AES unit */ | ||
108 | |||
109 | .size __isr_vector, . - __isr_vector | ||
110 | |||
111 | .text | ||
112 | .thumb | ||
113 | |||
114 | /* Reset Handler */ | ||
115 | .thumb_func | ||
116 | .align 2 | ||
117 | .globl Reset_Handler | ||
118 | .weak Reset_Handler | ||
119 | .type Reset_Handler, %function | ||
120 | Reset_Handler: | ||
121 | cpsid i /* Mask interrupts */ | ||
122 | .equ VTOR, 0xE000ED08 | ||
123 | ldr r0, =VTOR | ||
124 | ldr r1, =__isr_vector | ||
125 | str r1, [r0] | ||
126 | ldr r2, [r1] | ||
127 | msr msp, r2 | ||
128 | ldr R0, =__StackLimit | ||
129 | msr msplim, R0 | ||
130 | #ifndef __NO_SYSTEM_INIT | ||
131 | ldr r0,=SystemInit | ||
132 | blx r0 | ||
133 | #endif | ||
134 | /* Loop to copy data from read only memory to RAM. The ranges | ||
135 | * of copy from/to are specified by following symbols evaluated in | ||
136 | * linker script. | ||
137 | * __etext: End of code section, i.e., begin of data sections to copy from. | ||
138 | * __data_start__/__data_end__: RAM address range that data should be | ||
139 | * copied to. Both must be aligned to 4 bytes boundary. */ | ||
140 | |||
141 | ldr r1, =__etext | ||
142 | ldr r2, =__data_start__ | ||
143 | ldr r3, =__data_end__ | ||
144 | |||
145 | #if 1 | ||
146 | /* Here are two copies of loop implemenations. First one favors code size | ||
147 | * and the second one favors performance. Default uses the first one. | ||
148 | * Change to "#if 0" to use the second one */ | ||
149 | .LC0: | ||
150 | cmp r2, r3 | ||
151 | ittt lt | ||
152 | ldrlt r0, [r1], #4 | ||
153 | strlt r0, [r2], #4 | ||
154 | blt .LC0 | ||
155 | #else | ||
156 | subs r3, r2 | ||
157 | ble .LC1 | ||
158 | .LC0: | ||
159 | subs r3, #4 | ||
160 | ldr r0, [r1, r3] | ||
161 | str r0, [r2, r3] | ||
162 | bgt .LC0 | ||
163 | .LC1: | ||
164 | #endif | ||
165 | |||
166 | #ifdef __STARTUP_CLEAR_BSS | ||
167 | /* This part of work usually is done in C library startup code. Otherwise, | ||
168 | * define this macro to enable it in this startup. | ||
169 | * | ||
170 | * Loop to zero out BSS section, which uses following symbols | ||
171 | * in linker script: | ||
172 | * __bss_start__: start of BSS section. Must align to 4 | ||
173 | * __bss_end__: end of BSS section. Must align to 4 | ||
174 | */ | ||
175 | ldr r1, =__bss_start__ | ||
176 | ldr r2, =__bss_end__ | ||
177 | |||
178 | movs r0, 0 | ||
179 | .LC2: | ||
180 | cmp r1, r2 | ||
181 | itt lt | ||
182 | strlt r0, [r1], #4 | ||
183 | blt .LC2 | ||
184 | #endif /* __STARTUP_CLEAR_BSS */ | ||
185 | |||
186 | /* Add stack / heap initializaiton */ | ||
187 | movs r0, 0 | ||
188 | ldr r1, =__HeapBase | ||
189 | ldr r2, =__HeapLimit | ||
190 | .LC3: | ||
191 | cmp r1, r2 | ||
192 | itt lt | ||
193 | strlt r0, [r1], #4 | ||
194 | blt .LC3 | ||
195 | |||
196 | ldr r1, =__StackLimit | ||
197 | ldr r2, =__StackTop | ||
198 | .LC4: | ||
199 | cmp r1, r2 | ||
200 | itt lt | ||
201 | strlt r0, [r1], #4 | ||
202 | blt .LC4 | ||
203 | /*End of stack / heap initializaiton */ | ||
204 | cpsie i /* Unmask interrupts */ | ||
205 | |||
206 | #ifndef __START | ||
207 | #define __START _start | ||
208 | #endif | ||
209 | #ifndef __ATOLLIC__ | ||
210 | ldr r0,=__START | ||
211 | blx r0 | ||
212 | #else | ||
213 | ldr r0,=__libc_init_array | ||
214 | blx r0 | ||
215 | ldr r0,=main | ||
216 | bx r0 | ||
217 | #endif | ||
218 | .pool | ||
219 | .size Reset_Handler, . - Reset_Handler | ||
220 | |||
221 | .align 1 | ||
222 | .thumb_func | ||
223 | .weak DefaultISR | ||
224 | .type DefaultISR, %function | ||
225 | DefaultISR: | ||
226 | b DefaultISR | ||
227 | .size DefaultISR, . - DefaultISR | ||
228 | |||
229 | .align 1 | ||
230 | .thumb_func | ||
231 | .weak NMI_Handler | ||
232 | .type NMI_Handler, %function | ||
233 | NMI_Handler: | ||
234 | ldr r0,=NMI_Handler | ||
235 | bx r0 | ||
236 | .size NMI_Handler, . - NMI_Handler | ||
237 | |||
238 | .align 1 | ||
239 | .thumb_func | ||
240 | .weak HardFault_Handler | ||
241 | .type HardFault_Handler, %function | ||
242 | HardFault_Handler: | ||
243 | ldr r0,=HardFault_Handler | ||
244 | bx r0 | ||
245 | .size HardFault_Handler, . - HardFault_Handler | ||
246 | |||
247 | .align 1 | ||
248 | .thumb_func | ||
249 | .weak SVC_Handler | ||
250 | .type SVC_Handler, %function | ||
251 | SVC_Handler: | ||
252 | ldr r0,=SVC_Handler | ||
253 | bx r0 | ||
254 | .size SVC_Handler, . - SVC_Handler | ||
255 | |||
256 | .align 1 | ||
257 | .thumb_func | ||
258 | .weak PendSV_Handler | ||
259 | .type PendSV_Handler, %function | ||
260 | PendSV_Handler: | ||
261 | ldr r0,=PendSV_Handler | ||
262 | bx r0 | ||
263 | .size PendSV_Handler, . - PendSV_Handler | ||
264 | |||
265 | .align 1 | ||
266 | .thumb_func | ||
267 | .weak SysTick_Handler | ||
268 | .type SysTick_Handler, %function | ||
269 | SysTick_Handler: | ||
270 | ldr r0,=SysTick_Handler | ||
271 | bx r0 | ||
272 | .size SysTick_Handler, . - SysTick_Handler | ||
273 | |||
274 | .align 1 | ||
275 | .thumb_func | ||
276 | .weak WDT0_IRQHandler | ||
277 | .type WDT0_IRQHandler, %function | ||
278 | WDT0_IRQHandler: | ||
279 | ldr r0,=WDT0_DriverIRQHandler | ||
280 | bx r0 | ||
281 | .size WDT0_IRQHandler, . - WDT0_IRQHandler | ||
282 | |||
283 | .align 1 | ||
284 | .thumb_func | ||
285 | .weak DMA0_IRQHandler | ||
286 | .type DMA0_IRQHandler, %function | ||
287 | DMA0_IRQHandler: | ||
288 | ldr r0,=DMA0_DriverIRQHandler | ||
289 | bx r0 | ||
290 | .size DMA0_IRQHandler, . - DMA0_IRQHandler | ||
291 | |||
292 | .align 1 | ||
293 | .thumb_func | ||
294 | .weak GPIO_INTA_IRQHandler | ||
295 | .type GPIO_INTA_IRQHandler, %function | ||
296 | GPIO_INTA_IRQHandler: | ||
297 | ldr r0,=GPIO_INTA_DriverIRQHandler | ||
298 | bx r0 | ||
299 | .size GPIO_INTA_IRQHandler, . - GPIO_INTA_IRQHandler | ||
300 | |||
301 | .align 1 | ||
302 | .thumb_func | ||
303 | .weak GPIO_INTB_IRQHandler | ||
304 | .type GPIO_INTB_IRQHandler, %function | ||
305 | GPIO_INTB_IRQHandler: | ||
306 | ldr r0,=GPIO_INTB_DriverIRQHandler | ||
307 | bx r0 | ||
308 | .size GPIO_INTB_IRQHandler, . - GPIO_INTB_IRQHandler | ||
309 | |||
310 | .align 1 | ||
311 | .thumb_func | ||
312 | .weak PIN_INT0_IRQHandler | ||
313 | .type PIN_INT0_IRQHandler, %function | ||
314 | PIN_INT0_IRQHandler: | ||
315 | ldr r0,=PIN_INT0_DriverIRQHandler | ||
316 | bx r0 | ||
317 | .size PIN_INT0_IRQHandler, . - PIN_INT0_IRQHandler | ||
318 | |||
319 | .align 1 | ||
320 | .thumb_func | ||
321 | .weak PIN_INT1_IRQHandler | ||
322 | .type PIN_INT1_IRQHandler, %function | ||
323 | PIN_INT1_IRQHandler: | ||
324 | ldr r0,=PIN_INT1_DriverIRQHandler | ||
325 | bx r0 | ||
326 | .size PIN_INT1_IRQHandler, . - PIN_INT1_IRQHandler | ||
327 | |||
328 | .align 1 | ||
329 | .thumb_func | ||
330 | .weak PIN_INT2_IRQHandler | ||
331 | .type PIN_INT2_IRQHandler, %function | ||
332 | PIN_INT2_IRQHandler: | ||
333 | ldr r0,=PIN_INT2_DriverIRQHandler | ||
334 | bx r0 | ||
335 | .size PIN_INT2_IRQHandler, . - PIN_INT2_IRQHandler | ||
336 | |||
337 | .align 1 | ||
338 | .thumb_func | ||
339 | .weak PIN_INT3_IRQHandler | ||
340 | .type PIN_INT3_IRQHandler, %function | ||
341 | PIN_INT3_IRQHandler: | ||
342 | ldr r0,=PIN_INT3_DriverIRQHandler | ||
343 | bx r0 | ||
344 | .size PIN_INT3_IRQHandler, . - PIN_INT3_IRQHandler | ||
345 | |||
346 | .align 1 | ||
347 | .thumb_func | ||
348 | .weak UTICK0_IRQHandler | ||
349 | .type UTICK0_IRQHandler, %function | ||
350 | UTICK0_IRQHandler: | ||
351 | ldr r0,=UTICK0_DriverIRQHandler | ||
352 | bx r0 | ||
353 | .size UTICK0_IRQHandler, . - UTICK0_IRQHandler | ||
354 | |||
355 | .align 1 | ||
356 | .thumb_func | ||
357 | .weak MRT0_IRQHandler | ||
358 | .type MRT0_IRQHandler, %function | ||
359 | MRT0_IRQHandler: | ||
360 | ldr r0,=MRT0_DriverIRQHandler | ||
361 | bx r0 | ||
362 | .size MRT0_IRQHandler, . - MRT0_IRQHandler | ||
363 | |||
364 | .align 1 | ||
365 | .thumb_func | ||
366 | .weak CTIMER0_IRQHandler | ||
367 | .type CTIMER0_IRQHandler, %function | ||
368 | CTIMER0_IRQHandler: | ||
369 | ldr r0,=CTIMER0_DriverIRQHandler | ||
370 | bx r0 | ||
371 | .size CTIMER0_IRQHandler, . - CTIMER0_IRQHandler | ||
372 | |||
373 | .align 1 | ||
374 | .thumb_func | ||
375 | .weak CTIMER1_IRQHandler | ||
376 | .type CTIMER1_IRQHandler, %function | ||
377 | CTIMER1_IRQHandler: | ||
378 | ldr r0,=CTIMER1_DriverIRQHandler | ||
379 | bx r0 | ||
380 | .size CTIMER1_IRQHandler, . - CTIMER1_IRQHandler | ||
381 | |||
382 | .align 1 | ||
383 | .thumb_func | ||
384 | .weak SCT0_IRQHandler | ||
385 | .type SCT0_IRQHandler, %function | ||
386 | SCT0_IRQHandler: | ||
387 | ldr r0,=SCT0_DriverIRQHandler | ||
388 | bx r0 | ||
389 | .size SCT0_IRQHandler, . - SCT0_IRQHandler | ||
390 | |||
391 | .align 1 | ||
392 | .thumb_func | ||
393 | .weak CTIMER3_IRQHandler | ||
394 | .type CTIMER3_IRQHandler, %function | ||
395 | CTIMER3_IRQHandler: | ||
396 | ldr r0,=CTIMER3_DriverIRQHandler | ||
397 | bx r0 | ||
398 | .size CTIMER3_IRQHandler, . - CTIMER3_IRQHandler | ||
399 | |||
400 | .align 1 | ||
401 | .thumb_func | ||
402 | .weak FLEXCOMM0_IRQHandler | ||
403 | .type FLEXCOMM0_IRQHandler, %function | ||
404 | FLEXCOMM0_IRQHandler: | ||
405 | ldr r0,=FLEXCOMM0_DriverIRQHandler | ||
406 | bx r0 | ||
407 | .size FLEXCOMM0_IRQHandler, . - FLEXCOMM0_IRQHandler | ||
408 | |||
409 | .align 1 | ||
410 | .thumb_func | ||
411 | .weak FLEXCOMM1_IRQHandler | ||
412 | .type FLEXCOMM1_IRQHandler, %function | ||
413 | FLEXCOMM1_IRQHandler: | ||
414 | ldr r0,=FLEXCOMM1_DriverIRQHandler | ||
415 | bx r0 | ||
416 | .size FLEXCOMM1_IRQHandler, . - FLEXCOMM1_IRQHandler | ||
417 | |||
418 | .align 1 | ||
419 | .thumb_func | ||
420 | .weak FLEXCOMM2_IRQHandler | ||
421 | .type FLEXCOMM2_IRQHandler, %function | ||
422 | FLEXCOMM2_IRQHandler: | ||
423 | ldr r0,=FLEXCOMM2_DriverIRQHandler | ||
424 | bx r0 | ||
425 | .size FLEXCOMM2_IRQHandler, . - FLEXCOMM2_IRQHandler | ||
426 | |||
427 | .align 1 | ||
428 | .thumb_func | ||
429 | .weak FLEXCOMM3_IRQHandler | ||
430 | .type FLEXCOMM3_IRQHandler, %function | ||
431 | FLEXCOMM3_IRQHandler: | ||
432 | ldr r0,=FLEXCOMM3_DriverIRQHandler | ||
433 | bx r0 | ||
434 | .size FLEXCOMM3_IRQHandler, . - FLEXCOMM3_IRQHandler | ||
435 | |||
436 | .align 1 | ||
437 | .thumb_func | ||
438 | .weak FLEXCOMM4_IRQHandler | ||
439 | .type FLEXCOMM4_IRQHandler, %function | ||
440 | FLEXCOMM4_IRQHandler: | ||
441 | ldr r0,=FLEXCOMM4_DriverIRQHandler | ||
442 | bx r0 | ||
443 | .size FLEXCOMM4_IRQHandler, . - FLEXCOMM4_IRQHandler | ||
444 | |||
445 | .align 1 | ||
446 | .thumb_func | ||
447 | .weak FLEXCOMM5_IRQHandler | ||
448 | .type FLEXCOMM5_IRQHandler, %function | ||
449 | FLEXCOMM5_IRQHandler: | ||
450 | ldr r0,=FLEXCOMM5_DriverIRQHandler | ||
451 | bx r0 | ||
452 | .size FLEXCOMM5_IRQHandler, . - FLEXCOMM5_IRQHandler | ||
453 | |||
454 | .align 1 | ||
455 | .thumb_func | ||
456 | .weak FLEXCOMM14_IRQHandler | ||
457 | .type FLEXCOMM14_IRQHandler, %function | ||
458 | FLEXCOMM14_IRQHandler: | ||
459 | ldr r0,=FLEXCOMM14_DriverIRQHandler | ||
460 | bx r0 | ||
461 | .size FLEXCOMM14_IRQHandler, . - FLEXCOMM14_IRQHandler | ||
462 | |||
463 | .align 1 | ||
464 | .thumb_func | ||
465 | .weak FLEXCOMM15_IRQHandler | ||
466 | .type FLEXCOMM15_IRQHandler, %function | ||
467 | FLEXCOMM15_IRQHandler: | ||
468 | ldr r0,=FLEXCOMM15_DriverIRQHandler | ||
469 | bx r0 | ||
470 | .size FLEXCOMM15_IRQHandler, . - FLEXCOMM15_IRQHandler | ||
471 | |||
472 | .align 1 | ||
473 | .thumb_func | ||
474 | .weak ADC0_IRQHandler | ||
475 | .type ADC0_IRQHandler, %function | ||
476 | ADC0_IRQHandler: | ||
477 | ldr r0,=ADC0_DriverIRQHandler | ||
478 | bx r0 | ||
479 | .size ADC0_IRQHandler, . - ADC0_IRQHandler | ||
480 | |||
481 | .align 1 | ||
482 | .thumb_func | ||
483 | .weak Reserved39_IRQHandler | ||
484 | .type Reserved39_IRQHandler, %function | ||
485 | Reserved39_IRQHandler: | ||
486 | ldr r0,=Reserved39_DriverIRQHandler | ||
487 | bx r0 | ||
488 | .size Reserved39_IRQHandler, . - Reserved39_IRQHandler | ||
489 | |||
490 | .align 1 | ||
491 | .thumb_func | ||
492 | .weak ACMP_IRQHandler | ||
493 | .type ACMP_IRQHandler, %function | ||
494 | ACMP_IRQHandler: | ||
495 | ldr r0,=ACMP_DriverIRQHandler | ||
496 | bx r0 | ||
497 | .size ACMP_IRQHandler, . - ACMP_IRQHandler | ||
498 | |||
499 | .align 1 | ||
500 | .thumb_func | ||
501 | .weak DMIC0_IRQHandler | ||
502 | .type DMIC0_IRQHandler, %function | ||
503 | DMIC0_IRQHandler: | ||
504 | ldr r0,=DMIC0_DriverIRQHandler | ||
505 | bx r0 | ||
506 | .size DMIC0_IRQHandler, . - DMIC0_IRQHandler | ||
507 | |||
508 | .align 1 | ||
509 | .thumb_func | ||
510 | .weak Reserved42_IRQHandler | ||
511 | .type Reserved42_IRQHandler, %function | ||
512 | Reserved42_IRQHandler: | ||
513 | ldr r0,=Reserved42_DriverIRQHandler | ||
514 | bx r0 | ||
515 | .size Reserved42_IRQHandler, . - Reserved42_IRQHandler | ||
516 | |||
517 | .align 1 | ||
518 | .thumb_func | ||
519 | .weak HYPERVISOR_IRQHandler | ||
520 | .type HYPERVISOR_IRQHandler, %function | ||
521 | HYPERVISOR_IRQHandler: | ||
522 | ldr r0,=HYPERVISOR_DriverIRQHandler | ||
523 | bx r0 | ||
524 | .size HYPERVISOR_IRQHandler, . - HYPERVISOR_IRQHandler | ||
525 | |||
526 | .align 1 | ||
527 | .thumb_func | ||
528 | .weak SECUREVIOLATION_IRQHandler | ||
529 | .type SECUREVIOLATION_IRQHandler, %function | ||
530 | SECUREVIOLATION_IRQHandler: | ||
531 | ldr r0,=SECUREVIOLATION_DriverIRQHandler | ||
532 | bx r0 | ||
533 | .size SECUREVIOLATION_IRQHandler, . - SECUREVIOLATION_IRQHandler | ||
534 | |||
535 | .align 1 | ||
536 | .thumb_func | ||
537 | .weak HWVAD0_IRQHandler | ||
538 | .type HWVAD0_IRQHandler, %function | ||
539 | HWVAD0_IRQHandler: | ||
540 | ldr r0,=HWVAD0_DriverIRQHandler | ||
541 | bx r0 | ||
542 | .size HWVAD0_IRQHandler, . - HWVAD0_IRQHandler | ||
543 | |||
544 | .align 1 | ||
545 | .thumb_func | ||
546 | .weak Reserved46_IRQHandler | ||
547 | .type Reserved46_IRQHandler, %function | ||
548 | Reserved46_IRQHandler: | ||
549 | ldr r0,=Reserved46_DriverIRQHandler | ||
550 | bx r0 | ||
551 | .size Reserved46_IRQHandler, . - Reserved46_IRQHandler | ||
552 | |||
553 | .align 1 | ||
554 | .thumb_func | ||
555 | .weak RNG_IRQHandler | ||
556 | .type RNG_IRQHandler, %function | ||
557 | RNG_IRQHandler: | ||
558 | ldr r0,=RNG_DriverIRQHandler | ||
559 | bx r0 | ||
560 | .size RNG_IRQHandler, . - RNG_IRQHandler | ||
561 | |||
562 | .align 1 | ||
563 | .thumb_func | ||
564 | .weak RTC_IRQHandler | ||
565 | .type RTC_IRQHandler, %function | ||
566 | RTC_IRQHandler: | ||
567 | ldr r0,=RTC_DriverIRQHandler | ||
568 | bx r0 | ||
569 | .size RTC_IRQHandler, . - RTC_IRQHandler | ||
570 | |||
571 | .align 1 | ||
572 | .thumb_func | ||
573 | .weak DSPWAKE_IRQHandler | ||
574 | .type DSPWAKE_IRQHandler, %function | ||
575 | DSPWAKE_IRQHandler: | ||
576 | ldr r0,=DSPWAKE_DriverIRQHandler | ||
577 | bx r0 | ||
578 | .size DSPWAKE_IRQHandler, . - DSPWAKE_IRQHandler | ||
579 | |||
580 | .align 1 | ||
581 | .thumb_func | ||
582 | .weak MU_A_IRQHandler | ||
583 | .type MU_A_IRQHandler, %function | ||
584 | MU_A_IRQHandler: | ||
585 | ldr r0,=MU_A_DriverIRQHandler | ||
586 | bx r0 | ||
587 | .size MU_A_IRQHandler, . - MU_A_IRQHandler | ||
588 | |||
589 | .align 1 | ||
590 | .thumb_func | ||
591 | .weak PIN_INT4_IRQHandler | ||
592 | .type PIN_INT4_IRQHandler, %function | ||
593 | PIN_INT4_IRQHandler: | ||
594 | ldr r0,=PIN_INT4_DriverIRQHandler | ||
595 | bx r0 | ||
596 | .size PIN_INT4_IRQHandler, . - PIN_INT4_IRQHandler | ||
597 | |||
598 | .align 1 | ||
599 | .thumb_func | ||
600 | .weak PIN_INT5_IRQHandler | ||
601 | .type PIN_INT5_IRQHandler, %function | ||
602 | PIN_INT5_IRQHandler: | ||
603 | ldr r0,=PIN_INT5_DriverIRQHandler | ||
604 | bx r0 | ||
605 | .size PIN_INT5_IRQHandler, . - PIN_INT5_IRQHandler | ||
606 | |||
607 | .align 1 | ||
608 | .thumb_func | ||
609 | .weak PIN_INT6_IRQHandler | ||
610 | .type PIN_INT6_IRQHandler, %function | ||
611 | PIN_INT6_IRQHandler: | ||
612 | ldr r0,=PIN_INT6_DriverIRQHandler | ||
613 | bx r0 | ||
614 | .size PIN_INT6_IRQHandler, . - PIN_INT6_IRQHandler | ||
615 | |||
616 | .align 1 | ||
617 | .thumb_func | ||
618 | .weak PIN_INT7_IRQHandler | ||
619 | .type PIN_INT7_IRQHandler, %function | ||
620 | PIN_INT7_IRQHandler: | ||
621 | ldr r0,=PIN_INT7_DriverIRQHandler | ||
622 | bx r0 | ||
623 | .size PIN_INT7_IRQHandler, . - PIN_INT7_IRQHandler | ||
624 | |||
625 | .align 1 | ||
626 | .thumb_func | ||
627 | .weak CTIMER2_IRQHandler | ||
628 | .type CTIMER2_IRQHandler, %function | ||
629 | CTIMER2_IRQHandler: | ||
630 | ldr r0,=CTIMER2_DriverIRQHandler | ||
631 | bx r0 | ||
632 | .size CTIMER2_IRQHandler, . - CTIMER2_IRQHandler | ||
633 | |||
634 | .align 1 | ||
635 | .thumb_func | ||
636 | .weak CTIMER4_IRQHandler | ||
637 | .type CTIMER4_IRQHandler, %function | ||
638 | CTIMER4_IRQHandler: | ||
639 | ldr r0,=CTIMER4_DriverIRQHandler | ||
640 | bx r0 | ||
641 | .size CTIMER4_IRQHandler, . - CTIMER4_IRQHandler | ||
642 | |||
643 | .align 1 | ||
644 | .thumb_func | ||
645 | .weak OS_EVENT_IRQHandler | ||
646 | .type OS_EVENT_IRQHandler, %function | ||
647 | OS_EVENT_IRQHandler: | ||
648 | ldr r0,=OS_EVENT_DriverIRQHandler | ||
649 | bx r0 | ||
650 | .size OS_EVENT_IRQHandler, . - OS_EVENT_IRQHandler | ||
651 | |||
652 | .align 1 | ||
653 | .thumb_func | ||
654 | .weak FLEXSPI_IRQHandler | ||
655 | .type FLEXSPI_IRQHandler, %function | ||
656 | FLEXSPI_IRQHandler: | ||
657 | ldr r0,=FLEXSPI_DriverIRQHandler | ||
658 | bx r0 | ||
659 | .size FLEXSPI_IRQHandler, . - FLEXSPI_IRQHandler | ||
660 | |||
661 | .align 1 | ||
662 | .thumb_func | ||
663 | .weak FLEXCOMM6_IRQHandler | ||
664 | .type FLEXCOMM6_IRQHandler, %function | ||
665 | FLEXCOMM6_IRQHandler: | ||
666 | ldr r0,=FLEXCOMM6_DriverIRQHandler | ||
667 | bx r0 | ||
668 | .size FLEXCOMM6_IRQHandler, . - FLEXCOMM6_IRQHandler | ||
669 | |||
670 | .align 1 | ||
671 | .thumb_func | ||
672 | .weak FLEXCOMM7_IRQHandler | ||
673 | .type FLEXCOMM7_IRQHandler, %function | ||
674 | FLEXCOMM7_IRQHandler: | ||
675 | ldr r0,=FLEXCOMM7_DriverIRQHandler | ||
676 | bx r0 | ||
677 | .size FLEXCOMM7_IRQHandler, . - FLEXCOMM7_IRQHandler | ||
678 | |||
679 | .align 1 | ||
680 | .thumb_func | ||
681 | .weak USDHC0_IRQHandler | ||
682 | .type USDHC0_IRQHandler, %function | ||
683 | USDHC0_IRQHandler: | ||
684 | ldr r0,=USDHC0_DriverIRQHandler | ||
685 | bx r0 | ||
686 | .size USDHC0_IRQHandler, . - USDHC0_IRQHandler | ||
687 | |||
688 | .align 1 | ||
689 | .thumb_func | ||
690 | .weak USDHC1_IRQHandler | ||
691 | .type USDHC1_IRQHandler, %function | ||
692 | USDHC1_IRQHandler: | ||
693 | ldr r0,=USDHC1_DriverIRQHandler | ||
694 | bx r0 | ||
695 | .size USDHC1_IRQHandler, . - USDHC1_IRQHandler | ||
696 | |||
697 | .align 1 | ||
698 | .thumb_func | ||
699 | .weak SGPIO_INTA_IRQHandler | ||
700 | .type SGPIO_INTA_IRQHandler, %function | ||
701 | SGPIO_INTA_IRQHandler: | ||
702 | ldr r0,=SGPIO_INTA_DriverIRQHandler | ||
703 | bx r0 | ||
704 | .size SGPIO_INTA_IRQHandler, . - SGPIO_INTA_IRQHandler | ||
705 | |||
706 | .align 1 | ||
707 | .thumb_func | ||
708 | .weak SGPIO_INTB_IRQHandler | ||
709 | .type SGPIO_INTB_IRQHandler, %function | ||
710 | SGPIO_INTB_IRQHandler: | ||
711 | ldr r0,=SGPIO_INTB_DriverIRQHandler | ||
712 | bx r0 | ||
713 | .size SGPIO_INTB_IRQHandler, . - SGPIO_INTB_IRQHandler | ||
714 | |||
715 | .align 1 | ||
716 | .thumb_func | ||
717 | .weak I3C0_IRQHandler | ||
718 | .type I3C0_IRQHandler, %function | ||
719 | I3C0_IRQHandler: | ||
720 | ldr r0,=I3C0_DriverIRQHandler | ||
721 | bx r0 | ||
722 | .size I3C0_IRQHandler, . - I3C0_IRQHandler | ||
723 | |||
724 | .align 1 | ||
725 | .thumb_func | ||
726 | .weak USB_IRQHandler | ||
727 | .type USB_IRQHandler, %function | ||
728 | USB_IRQHandler: | ||
729 | ldr r0,=USB_DriverIRQHandler | ||
730 | bx r0 | ||
731 | .size USB_IRQHandler, . - USB_IRQHandler | ||
732 | |||
733 | .align 1 | ||
734 | .thumb_func | ||
735 | .weak USB_WAKEUP_IRQHandler | ||
736 | .type USB_WAKEUP_IRQHandler, %function | ||
737 | USB_WAKEUP_IRQHandler: | ||
738 | ldr r0,=USB_WAKEUP_DriverIRQHandler | ||
739 | bx r0 | ||
740 | .size USB_WAKEUP_IRQHandler, . - USB_WAKEUP_IRQHandler | ||
741 | |||
742 | .align 1 | ||
743 | .thumb_func | ||
744 | .weak WDT1_IRQHandler | ||
745 | .type WDT1_IRQHandler, %function | ||
746 | WDT1_IRQHandler: | ||
747 | ldr r0,=WDT1_DriverIRQHandler | ||
748 | bx r0 | ||
749 | .size WDT1_IRQHandler, . - WDT1_IRQHandler | ||
750 | |||
751 | .align 1 | ||
752 | .thumb_func | ||
753 | .weak USBPHY_DCD_IRQHandler | ||
754 | .type USBPHY_DCD_IRQHandler, %function | ||
755 | USBPHY_DCD_IRQHandler: | ||
756 | ldr r0,=USBPHY_DCD_DriverIRQHandler | ||
757 | bx r0 | ||
758 | .size USBPHY_DCD_IRQHandler, . - USBPHY_DCD_IRQHandler | ||
759 | |||
760 | .align 1 | ||
761 | .thumb_func | ||
762 | .weak DMA1_IRQHandler | ||
763 | .type DMA1_IRQHandler, %function | ||
764 | DMA1_IRQHandler: | ||
765 | ldr r0,=DMA1_DriverIRQHandler | ||
766 | bx r0 | ||
767 | .size DMA1_IRQHandler, . - DMA1_IRQHandler | ||
768 | |||
769 | .align 1 | ||
770 | .thumb_func | ||
771 | .weak PUF_IRQHandler | ||
772 | .type PUF_IRQHandler, %function | ||
773 | PUF_IRQHandler: | ||
774 | ldr r0,=PUF_DriverIRQHandler | ||
775 | bx r0 | ||
776 | .size PUF_IRQHandler, . - PUF_IRQHandler | ||
777 | |||
778 | .align 1 | ||
779 | .thumb_func | ||
780 | .weak POWERQUAD_IRQHandler | ||
781 | .type POWERQUAD_IRQHandler, %function | ||
782 | POWERQUAD_IRQHandler: | ||
783 | ldr r0,=POWERQUAD_DriverIRQHandler | ||
784 | bx r0 | ||
785 | .size POWERQUAD_IRQHandler, . - POWERQUAD_IRQHandler | ||
786 | |||
787 | .align 1 | ||
788 | .thumb_func | ||
789 | .weak CASPER_IRQHandler | ||
790 | .type CASPER_IRQHandler, %function | ||
791 | CASPER_IRQHandler: | ||
792 | ldr r0,=CASPER_DriverIRQHandler | ||
793 | bx r0 | ||
794 | .size CASPER_IRQHandler, . - CASPER_IRQHandler | ||
795 | |||
796 | .align 1 | ||
797 | .thumb_func | ||
798 | .weak PMC_PMIC_IRQHandler | ||
799 | .type PMC_PMIC_IRQHandler, %function | ||
800 | PMC_PMIC_IRQHandler: | ||
801 | ldr r0,=PMC_PMIC_DriverIRQHandler | ||
802 | bx r0 | ||
803 | .size PMC_PMIC_IRQHandler, . - PMC_PMIC_IRQHandler | ||
804 | |||
805 | .align 1 | ||
806 | .thumb_func | ||
807 | .weak HASHCRYPT_IRQHandler | ||
808 | .type HASHCRYPT_IRQHandler, %function | ||
809 | HASHCRYPT_IRQHandler: | ||
810 | ldr r0,=HASHCRYPT_DriverIRQHandler | ||
811 | bx r0 | ||
812 | .size HASHCRYPT_IRQHandler, . - HASHCRYPT_IRQHandler | ||
813 | |||
814 | /* Macro to define default handlers. Default handler | ||
815 | * will be weak symbol and just dead loops. They can be | ||
816 | * overwritten by other handlers */ | ||
817 | .macro def_irq_handler handler_name | ||
818 | .weak \handler_name | ||
819 | .set \handler_name, DefaultISR | ||
820 | .endm | ||
821 | /* Exception Handlers */ | ||
822 | def_irq_handler MemManage_Handler | ||
823 | def_irq_handler BusFault_Handler | ||
824 | def_irq_handler UsageFault_Handler | ||
825 | def_irq_handler SecureFault_Handler | ||
826 | def_irq_handler DebugMon_Handler | ||
827 | def_irq_handler WDT0_DriverIRQHandler | ||
828 | def_irq_handler DMA0_DriverIRQHandler | ||
829 | def_irq_handler GPIO_INTA_DriverIRQHandler | ||
830 | def_irq_handler GPIO_INTB_DriverIRQHandler | ||
831 | def_irq_handler PIN_INT0_DriverIRQHandler | ||
832 | def_irq_handler PIN_INT1_DriverIRQHandler | ||
833 | def_irq_handler PIN_INT2_DriverIRQHandler | ||
834 | def_irq_handler PIN_INT3_DriverIRQHandler | ||
835 | def_irq_handler UTICK0_DriverIRQHandler | ||
836 | def_irq_handler MRT0_DriverIRQHandler | ||
837 | def_irq_handler CTIMER0_DriverIRQHandler | ||
838 | def_irq_handler CTIMER1_DriverIRQHandler | ||
839 | def_irq_handler SCT0_DriverIRQHandler | ||
840 | def_irq_handler CTIMER3_DriverIRQHandler | ||
841 | def_irq_handler FLEXCOMM0_DriverIRQHandler | ||
842 | def_irq_handler FLEXCOMM1_DriverIRQHandler | ||
843 | def_irq_handler FLEXCOMM2_DriverIRQHandler | ||
844 | def_irq_handler FLEXCOMM3_DriverIRQHandler | ||
845 | def_irq_handler FLEXCOMM4_DriverIRQHandler | ||
846 | def_irq_handler FLEXCOMM5_DriverIRQHandler | ||
847 | def_irq_handler FLEXCOMM14_DriverIRQHandler | ||
848 | def_irq_handler FLEXCOMM15_DriverIRQHandler | ||
849 | def_irq_handler ADC0_DriverIRQHandler | ||
850 | def_irq_handler Reserved39_DriverIRQHandler | ||
851 | def_irq_handler ACMP_DriverIRQHandler | ||
852 | def_irq_handler DMIC0_DriverIRQHandler | ||
853 | def_irq_handler Reserved42_DriverIRQHandler | ||
854 | def_irq_handler HYPERVISOR_DriverIRQHandler | ||
855 | def_irq_handler SECUREVIOLATION_DriverIRQHandler | ||
856 | def_irq_handler HWVAD0_DriverIRQHandler | ||
857 | def_irq_handler Reserved46_DriverIRQHandler | ||
858 | def_irq_handler RNG_DriverIRQHandler | ||
859 | def_irq_handler RTC_DriverIRQHandler | ||
860 | def_irq_handler DSPWAKE_DriverIRQHandler | ||
861 | def_irq_handler MU_A_DriverIRQHandler | ||
862 | def_irq_handler PIN_INT4_DriverIRQHandler | ||
863 | def_irq_handler PIN_INT5_DriverIRQHandler | ||
864 | def_irq_handler PIN_INT6_DriverIRQHandler | ||
865 | def_irq_handler PIN_INT7_DriverIRQHandler | ||
866 | def_irq_handler CTIMER2_DriverIRQHandler | ||
867 | def_irq_handler CTIMER4_DriverIRQHandler | ||
868 | def_irq_handler OS_EVENT_DriverIRQHandler | ||
869 | def_irq_handler FLEXSPI_DriverIRQHandler | ||
870 | def_irq_handler FLEXCOMM6_DriverIRQHandler | ||
871 | def_irq_handler FLEXCOMM7_DriverIRQHandler | ||
872 | def_irq_handler USDHC0_DriverIRQHandler | ||
873 | def_irq_handler USDHC1_DriverIRQHandler | ||
874 | def_irq_handler SGPIO_INTA_DriverIRQHandler | ||
875 | def_irq_handler SGPIO_INTB_DriverIRQHandler | ||
876 | def_irq_handler I3C0_DriverIRQHandler | ||
877 | def_irq_handler USB_DriverIRQHandler | ||
878 | def_irq_handler USB_WAKEUP_DriverIRQHandler | ||
879 | def_irq_handler WDT1_DriverIRQHandler | ||
880 | def_irq_handler USBPHY_DCD_DriverIRQHandler | ||
881 | def_irq_handler DMA1_DriverIRQHandler | ||
882 | def_irq_handler PUF_DriverIRQHandler | ||
883 | def_irq_handler POWERQUAD_DriverIRQHandler | ||
884 | def_irq_handler CASPER_DriverIRQHandler | ||
885 | def_irq_handler PMC_PMIC_DriverIRQHandler | ||
886 | def_irq_handler HASHCRYPT_DriverIRQHandler | ||
887 | |||
888 | .end | ||