aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios-contrib/ext/mcux-sdk/devices/MIMXRT685S/gcc/startup_MIMXRT685S_cm33.S
diff options
context:
space:
mode:
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.S888
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
120Reset_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
225DefaultISR:
226 b DefaultISR
227 .size DefaultISR, . - DefaultISR
228
229 .align 1
230 .thumb_func
231 .weak NMI_Handler
232 .type NMI_Handler, %function
233NMI_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
242HardFault_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
251SVC_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
260PendSV_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
269SysTick_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
278WDT0_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
287DMA0_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
296GPIO_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
305GPIO_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
314PIN_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
323PIN_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
332PIN_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
341PIN_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
350UTICK0_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
359MRT0_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
368CTIMER0_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
377CTIMER1_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
386SCT0_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
395CTIMER3_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
404FLEXCOMM0_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
413FLEXCOMM1_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
422FLEXCOMM2_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
431FLEXCOMM3_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
440FLEXCOMM4_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
449FLEXCOMM5_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
458FLEXCOMM14_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
467FLEXCOMM15_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
476ADC0_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
485Reserved39_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
494ACMP_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
503DMIC0_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
512Reserved42_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
521HYPERVISOR_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
530SECUREVIOLATION_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
539HWVAD0_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
548Reserved46_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
557RNG_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
566RTC_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
575DSPWAKE_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
584MU_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
593PIN_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
602PIN_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
611PIN_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
620PIN_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
629CTIMER2_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
638CTIMER4_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
647OS_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
656FLEXSPI_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
665FLEXCOMM6_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
674FLEXCOMM7_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
683USDHC0_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
692USDHC1_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
701SGPIO_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
710SGPIO_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
719I3C0_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
728USB_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
737USB_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
746WDT1_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
755USBPHY_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
764DMA1_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
773PUF_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
782POWERQUAD_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
791CASPER_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
800PMC_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
809HASHCRYPT_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