1*61c4878aSAndroid Build Coastguard Worker // Copyright 2023 The Pigweed Authors
2*61c4878aSAndroid Build Coastguard Worker //
3*61c4878aSAndroid Build Coastguard Worker // Licensed under the Apache License, Version 2.0 (the "License"); you may not
4*61c4878aSAndroid Build Coastguard Worker // use this file except in compliance with the License. You may obtain a copy of
5*61c4878aSAndroid Build Coastguard Worker // the License at
6*61c4878aSAndroid Build Coastguard Worker //
7*61c4878aSAndroid Build Coastguard Worker // https://www.apache.org/licenses/LICENSE-2.0
8*61c4878aSAndroid Build Coastguard Worker //
9*61c4878aSAndroid Build Coastguard Worker // Unless required by applicable law or agreed to in writing, software
10*61c4878aSAndroid Build Coastguard Worker // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11*61c4878aSAndroid Build Coastguard Worker // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12*61c4878aSAndroid Build Coastguard Worker // License for the specific language governing permissions and limitations under
13*61c4878aSAndroid Build Coastguard Worker // the License.
14*61c4878aSAndroid Build Coastguard Worker
15*61c4878aSAndroid Build Coastguard Worker #include <stdbool.h>
16*61c4878aSAndroid Build Coastguard Worker
17*61c4878aSAndroid Build Coastguard Worker #include "pw_boot/boot.h"
18*61c4878aSAndroid Build Coastguard Worker #include "pw_boot_cortex_m/boot.h"
19*61c4878aSAndroid Build Coastguard Worker #include "pw_preprocessor/compiler.h"
20*61c4878aSAndroid Build Coastguard Worker
21*61c4878aSAndroid Build Coastguard Worker // Default handler to insert into the ARMv7-M vector table (below).
22*61c4878aSAndroid Build Coastguard Worker // This function exists for convenience. If a device isn't doing what you
23*61c4878aSAndroid Build Coastguard Worker // expect, it might have hit a fault and ended up here.
DefaultFaultHandler(void)24*61c4878aSAndroid Build Coastguard Worker static void DefaultFaultHandler(void) {
25*61c4878aSAndroid Build Coastguard Worker while (true) {
26*61c4878aSAndroid Build Coastguard Worker // Wait for debugger to attach.
27*61c4878aSAndroid Build Coastguard Worker }
28*61c4878aSAndroid Build Coastguard Worker }
29*61c4878aSAndroid Build Coastguard Worker
30*61c4878aSAndroid Build Coastguard Worker // This typedef is for convenience when building the vector table. With the
31*61c4878aSAndroid Build Coastguard Worker // exception of SP_main (0th entry in the vector table), all the entries of the
32*61c4878aSAndroid Build Coastguard Worker // vector table are function pointers.
33*61c4878aSAndroid Build Coastguard Worker typedef void (*InterruptHandler)(void);
34*61c4878aSAndroid Build Coastguard Worker
35*61c4878aSAndroid Build Coastguard Worker void SVC_Handler(void) PW_ALIAS(DefaultFaultHandler);
36*61c4878aSAndroid Build Coastguard Worker void PendSV_Handler(void) PW_ALIAS(DefaultFaultHandler);
37*61c4878aSAndroid Build Coastguard Worker void SysTick_Handler(void) PW_ALIAS(DefaultFaultHandler);
38*61c4878aSAndroid Build Coastguard Worker
39*61c4878aSAndroid Build Coastguard Worker void MemManage_Handler(void) PW_ALIAS(DefaultFaultHandler);
40*61c4878aSAndroid Build Coastguard Worker void BusFault_Handler(void) PW_ALIAS(DefaultFaultHandler);
41*61c4878aSAndroid Build Coastguard Worker void UsageFault_Handler(void) PW_ALIAS(DefaultFaultHandler);
42*61c4878aSAndroid Build Coastguard Worker void DebugMon_Handler(void) PW_ALIAS(DefaultFaultHandler);
43*61c4878aSAndroid Build Coastguard Worker
44*61c4878aSAndroid Build Coastguard Worker void am_brownout_isr(void) PW_ALIAS(DefaultFaultHandler);
45*61c4878aSAndroid Build Coastguard Worker void am_watchdog_isr(void) PW_ALIAS(DefaultFaultHandler);
46*61c4878aSAndroid Build Coastguard Worker void am_rtc_isr(void) PW_ALIAS(DefaultFaultHandler);
47*61c4878aSAndroid Build Coastguard Worker void am_vcomp_isr(void) PW_ALIAS(DefaultFaultHandler);
48*61c4878aSAndroid Build Coastguard Worker void am_ioslave_ios_isr(void) PW_ALIAS(DefaultFaultHandler);
49*61c4878aSAndroid Build Coastguard Worker void am_ioslave_acc_isr(void) PW_ALIAS(DefaultFaultHandler);
50*61c4878aSAndroid Build Coastguard Worker void am_iomaster0_isr(void) PW_ALIAS(DefaultFaultHandler);
51*61c4878aSAndroid Build Coastguard Worker void am_iomaster1_isr(void) PW_ALIAS(DefaultFaultHandler);
52*61c4878aSAndroid Build Coastguard Worker void am_iomaster2_isr(void) PW_ALIAS(DefaultFaultHandler);
53*61c4878aSAndroid Build Coastguard Worker void am_iomaster3_isr(void) PW_ALIAS(DefaultFaultHandler);
54*61c4878aSAndroid Build Coastguard Worker void am_iomaster4_isr(void) PW_ALIAS(DefaultFaultHandler);
55*61c4878aSAndroid Build Coastguard Worker void am_iomaster5_isr(void) PW_ALIAS(DefaultFaultHandler);
56*61c4878aSAndroid Build Coastguard Worker void am_iomaster6_isr(void) PW_ALIAS(DefaultFaultHandler);
57*61c4878aSAndroid Build Coastguard Worker void am_iomaster7_isr(void) PW_ALIAS(DefaultFaultHandler);
58*61c4878aSAndroid Build Coastguard Worker void am_ctimer_isr(void) PW_ALIAS(DefaultFaultHandler);
59*61c4878aSAndroid Build Coastguard Worker void am_uart_isr(void) PW_ALIAS(DefaultFaultHandler);
60*61c4878aSAndroid Build Coastguard Worker void am_uart1_isr(void) PW_ALIAS(DefaultFaultHandler);
61*61c4878aSAndroid Build Coastguard Worker void am_uart2_isr(void) PW_ALIAS(DefaultFaultHandler);
62*61c4878aSAndroid Build Coastguard Worker void am_uart3_isr(void) PW_ALIAS(DefaultFaultHandler);
63*61c4878aSAndroid Build Coastguard Worker void am_adc_isr(void) PW_ALIAS(DefaultFaultHandler);
64*61c4878aSAndroid Build Coastguard Worker void am_mspi0_isr(void) PW_ALIAS(DefaultFaultHandler);
65*61c4878aSAndroid Build Coastguard Worker void am_mspi1_isr(void) PW_ALIAS(DefaultFaultHandler);
66*61c4878aSAndroid Build Coastguard Worker void am_mspi2_isr(void) PW_ALIAS(DefaultFaultHandler);
67*61c4878aSAndroid Build Coastguard Worker void am_clkgen_isr(void) PW_ALIAS(DefaultFaultHandler);
68*61c4878aSAndroid Build Coastguard Worker void am_cryptosec_isr(void) PW_ALIAS(DefaultFaultHandler);
69*61c4878aSAndroid Build Coastguard Worker void am_sdio_isr(void) PW_ALIAS(DefaultFaultHandler);
70*61c4878aSAndroid Build Coastguard Worker void am_usb_isr(void) PW_ALIAS(DefaultFaultHandler);
71*61c4878aSAndroid Build Coastguard Worker void am_gpu_isr(void) PW_ALIAS(DefaultFaultHandler);
72*61c4878aSAndroid Build Coastguard Worker void am_disp_isr(void) PW_ALIAS(DefaultFaultHandler);
73*61c4878aSAndroid Build Coastguard Worker void am_dsi_isr(void) PW_ALIAS(DefaultFaultHandler);
74*61c4878aSAndroid Build Coastguard Worker void am_stimer_cmpr0_isr(void) PW_ALIAS(DefaultFaultHandler);
75*61c4878aSAndroid Build Coastguard Worker void am_stimer_cmpr1_isr(void) PW_ALIAS(DefaultFaultHandler);
76*61c4878aSAndroid Build Coastguard Worker void am_stimer_cmpr2_isr(void) PW_ALIAS(DefaultFaultHandler);
77*61c4878aSAndroid Build Coastguard Worker void am_stimer_cmpr3_isr(void) PW_ALIAS(DefaultFaultHandler);
78*61c4878aSAndroid Build Coastguard Worker void am_stimer_cmpr4_isr(void) PW_ALIAS(DefaultFaultHandler);
79*61c4878aSAndroid Build Coastguard Worker void am_stimer_cmpr5_isr(void) PW_ALIAS(DefaultFaultHandler);
80*61c4878aSAndroid Build Coastguard Worker void am_stimer_cmpr6_isr(void) PW_ALIAS(DefaultFaultHandler);
81*61c4878aSAndroid Build Coastguard Worker void am_stimer_cmpr7_isr(void) PW_ALIAS(DefaultFaultHandler);
82*61c4878aSAndroid Build Coastguard Worker void am_stimerof_isr(void) PW_ALIAS(DefaultFaultHandler);
83*61c4878aSAndroid Build Coastguard Worker void am_audadc0_isr(void) PW_ALIAS(DefaultFaultHandler);
84*61c4878aSAndroid Build Coastguard Worker void am_dspi2s0_isr(void) PW_ALIAS(DefaultFaultHandler);
85*61c4878aSAndroid Build Coastguard Worker void am_dspi2s1_isr(void) PW_ALIAS(DefaultFaultHandler);
86*61c4878aSAndroid Build Coastguard Worker void am_dspi2s2_isr(void) PW_ALIAS(DefaultFaultHandler);
87*61c4878aSAndroid Build Coastguard Worker void am_dspi2s3_isr(void) PW_ALIAS(DefaultFaultHandler);
88*61c4878aSAndroid Build Coastguard Worker void am_pdm0_isr(void) PW_ALIAS(DefaultFaultHandler);
89*61c4878aSAndroid Build Coastguard Worker void am_pdm1_isr(void) PW_ALIAS(DefaultFaultHandler);
90*61c4878aSAndroid Build Coastguard Worker void am_pdm2_isr(void) PW_ALIAS(DefaultFaultHandler);
91*61c4878aSAndroid Build Coastguard Worker void am_pdm3_isr(void) PW_ALIAS(DefaultFaultHandler);
92*61c4878aSAndroid Build Coastguard Worker void am_gpio0_001f_isr(void) PW_ALIAS(DefaultFaultHandler);
93*61c4878aSAndroid Build Coastguard Worker void am_gpio0_203f_isr(void) PW_ALIAS(DefaultFaultHandler);
94*61c4878aSAndroid Build Coastguard Worker void am_gpio0_405f_isr(void) PW_ALIAS(DefaultFaultHandler);
95*61c4878aSAndroid Build Coastguard Worker void am_gpio0_607f_isr(void) PW_ALIAS(DefaultFaultHandler);
96*61c4878aSAndroid Build Coastguard Worker void am_gpio1_001f_isr(void) PW_ALIAS(DefaultFaultHandler);
97*61c4878aSAndroid Build Coastguard Worker void am_gpio1_203f_isr(void) PW_ALIAS(DefaultFaultHandler);
98*61c4878aSAndroid Build Coastguard Worker void am_gpio1_405f_isr(void) PW_ALIAS(DefaultFaultHandler);
99*61c4878aSAndroid Build Coastguard Worker void am_gpio1_607f_isr(void) PW_ALIAS(DefaultFaultHandler);
100*61c4878aSAndroid Build Coastguard Worker void am_timer00_isr(void) PW_ALIAS(DefaultFaultHandler);
101*61c4878aSAndroid Build Coastguard Worker void am_timer01_isr(void) PW_ALIAS(DefaultFaultHandler);
102*61c4878aSAndroid Build Coastguard Worker void am_timer02_isr(void) PW_ALIAS(DefaultFaultHandler);
103*61c4878aSAndroid Build Coastguard Worker void am_timer03_isr(void) PW_ALIAS(DefaultFaultHandler);
104*61c4878aSAndroid Build Coastguard Worker void am_timer04_isr(void) PW_ALIAS(DefaultFaultHandler);
105*61c4878aSAndroid Build Coastguard Worker void am_timer05_isr(void) PW_ALIAS(DefaultFaultHandler);
106*61c4878aSAndroid Build Coastguard Worker void am_timer06_isr(void) PW_ALIAS(DefaultFaultHandler);
107*61c4878aSAndroid Build Coastguard Worker void am_timer07_isr(void) PW_ALIAS(DefaultFaultHandler);
108*61c4878aSAndroid Build Coastguard Worker void am_timer08_isr(void) PW_ALIAS(DefaultFaultHandler);
109*61c4878aSAndroid Build Coastguard Worker void am_timer09_isr(void) PW_ALIAS(DefaultFaultHandler);
110*61c4878aSAndroid Build Coastguard Worker void am_timer10_isr(void) PW_ALIAS(DefaultFaultHandler);
111*61c4878aSAndroid Build Coastguard Worker void am_timer11_isr(void) PW_ALIAS(DefaultFaultHandler);
112*61c4878aSAndroid Build Coastguard Worker void am_timer12_isr(void) PW_ALIAS(DefaultFaultHandler);
113*61c4878aSAndroid Build Coastguard Worker void am_timer13_isr(void) PW_ALIAS(DefaultFaultHandler);
114*61c4878aSAndroid Build Coastguard Worker void am_timer14_isr(void) PW_ALIAS(DefaultFaultHandler);
115*61c4878aSAndroid Build Coastguard Worker void am_timer15_isr(void) PW_ALIAS(DefaultFaultHandler);
116*61c4878aSAndroid Build Coastguard Worker void am_cachecpu_isr(void) PW_ALIAS(DefaultFaultHandler);
117*61c4878aSAndroid Build Coastguard Worker
118*61c4878aSAndroid Build Coastguard Worker PW_KEEP_IN_SECTION(".vector_table")
119*61c4878aSAndroid Build Coastguard Worker const InterruptHandler vector_table[] = {
120*61c4878aSAndroid Build Coastguard Worker // Cortex-M CPU specific interrupt handlers.
121*61c4878aSAndroid Build Coastguard Worker (InterruptHandler)(&pw_boot_stack_high_addr),
122*61c4878aSAndroid Build Coastguard Worker pw_boot_Entry, // The reset handler
123*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // The NMI handler
124*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // The hard fault handler
125*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // The MemManage_Handler
126*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // The BusFault_Handler
127*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // The UsageFault_Handler
128*61c4878aSAndroid Build Coastguard Worker 0, // Reserved
129*61c4878aSAndroid Build Coastguard Worker 0, // Reserved
130*61c4878aSAndroid Build Coastguard Worker 0, // Reserved
131*61c4878aSAndroid Build Coastguard Worker 0, // Reserved
132*61c4878aSAndroid Build Coastguard Worker SVC_Handler, // SVCall handler
133*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // Debug monitor handler
134*61c4878aSAndroid Build Coastguard Worker 0, // Reserved
135*61c4878aSAndroid Build Coastguard Worker PendSV_Handler, // The PendSV handler
136*61c4878aSAndroid Build Coastguard Worker SysTick_Handler, // The SysTick handler
137*61c4878aSAndroid Build Coastguard Worker // Vendor specific peripheral interrupt handlers.
138*61c4878aSAndroid Build Coastguard Worker am_brownout_isr, // 0: Brownout (rstgen)
139*61c4878aSAndroid Build Coastguard Worker am_watchdog_isr, // 1: Watchdog (WDT)
140*61c4878aSAndroid Build Coastguard Worker am_rtc_isr, // 2: RTC
141*61c4878aSAndroid Build Coastguard Worker am_vcomp_isr, // 3: Voltage Comparator
142*61c4878aSAndroid Build Coastguard Worker am_ioslave_ios_isr, // 4: I/O Responder general
143*61c4878aSAndroid Build Coastguard Worker am_ioslave_acc_isr, // 5: I/O Responder access
144*61c4878aSAndroid Build Coastguard Worker am_iomaster0_isr, // 6: I/O Controller 0
145*61c4878aSAndroid Build Coastguard Worker am_iomaster1_isr, // 7: I/O Controller 1
146*61c4878aSAndroid Build Coastguard Worker am_iomaster2_isr, // 8: I/O Controller 2
147*61c4878aSAndroid Build Coastguard Worker am_iomaster3_isr, // 9: I/O Controller 3
148*61c4878aSAndroid Build Coastguard Worker am_iomaster4_isr, // 10: I/O Controller 4
149*61c4878aSAndroid Build Coastguard Worker am_iomaster5_isr, // 11: I/O Controller 5
150*61c4878aSAndroid Build Coastguard Worker am_iomaster6_isr, // 12: I/O Controller 6 (I3C/I2C/SPI)
151*61c4878aSAndroid Build Coastguard Worker am_iomaster7_isr, // 13: I/O Controller 7 (I3C/I2C/SPI)
152*61c4878aSAndroid Build Coastguard Worker am_ctimer_isr, // 14: OR of all timerX interrupts
153*61c4878aSAndroid Build Coastguard Worker am_uart_isr, // 15: UART0
154*61c4878aSAndroid Build Coastguard Worker am_uart1_isr, // 16: UART1
155*61c4878aSAndroid Build Coastguard Worker am_uart2_isr, // 17: UART2
156*61c4878aSAndroid Build Coastguard Worker am_uart3_isr, // 18: UART3
157*61c4878aSAndroid Build Coastguard Worker am_adc_isr, // 19: ADC
158*61c4878aSAndroid Build Coastguard Worker am_mspi0_isr, // 20: MSPI0
159*61c4878aSAndroid Build Coastguard Worker am_mspi1_isr, // 21: MSPI1
160*61c4878aSAndroid Build Coastguard Worker am_mspi2_isr, // 22: MSPI2
161*61c4878aSAndroid Build Coastguard Worker am_clkgen_isr, // 23: ClkGen
162*61c4878aSAndroid Build Coastguard Worker am_cryptosec_isr, // 24: Crypto Secure
163*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // 25: Reserved
164*61c4878aSAndroid Build Coastguard Worker am_sdio_isr, // 26: SDIO
165*61c4878aSAndroid Build Coastguard Worker am_usb_isr, // 27: USB
166*61c4878aSAndroid Build Coastguard Worker am_gpu_isr, // 28: GPU
167*61c4878aSAndroid Build Coastguard Worker am_disp_isr, // 29: DISP
168*61c4878aSAndroid Build Coastguard Worker am_dsi_isr, // 30: DSI
169*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // 31: Reserved
170*61c4878aSAndroid Build Coastguard Worker am_stimer_cmpr0_isr, // 32: System Timer Compare0
171*61c4878aSAndroid Build Coastguard Worker am_stimer_cmpr1_isr, // 33: System Timer Compare1
172*61c4878aSAndroid Build Coastguard Worker am_stimer_cmpr2_isr, // 34: System Timer Compare2
173*61c4878aSAndroid Build Coastguard Worker am_stimer_cmpr3_isr, // 35: System Timer Compare3
174*61c4878aSAndroid Build Coastguard Worker am_stimer_cmpr4_isr, // 36: System Timer Compare4
175*61c4878aSAndroid Build Coastguard Worker am_stimer_cmpr5_isr, // 37: System Timer Compare5
176*61c4878aSAndroid Build Coastguard Worker am_stimer_cmpr6_isr, // 38: System Timer Compare6
177*61c4878aSAndroid Build Coastguard Worker am_stimer_cmpr7_isr, // 39: System Timer Compare7
178*61c4878aSAndroid Build Coastguard Worker am_stimerof_isr, // 40: System Timer Cap Overflow
179*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // 41: Reserved
180*61c4878aSAndroid Build Coastguard Worker am_audadc0_isr, // 42: Audio ADC
181*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // 43: Reserved
182*61c4878aSAndroid Build Coastguard Worker am_dspi2s0_isr, // 44: I2S0
183*61c4878aSAndroid Build Coastguard Worker am_dspi2s1_isr, // 45: I2S1
184*61c4878aSAndroid Build Coastguard Worker am_dspi2s2_isr, // 46: I2S2
185*61c4878aSAndroid Build Coastguard Worker am_dspi2s3_isr, // 47: I2S3
186*61c4878aSAndroid Build Coastguard Worker am_pdm0_isr, // 48: PDM0
187*61c4878aSAndroid Build Coastguard Worker am_pdm1_isr, // 49: PDM1
188*61c4878aSAndroid Build Coastguard Worker am_pdm2_isr, // 50: PDM2
189*61c4878aSAndroid Build Coastguard Worker am_pdm3_isr, // 51: PDM3
190*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // 52: Reserved
191*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // 53: Reserved
192*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // 54: Reserved
193*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // 55: Reserved
194*61c4878aSAndroid Build Coastguard Worker am_gpio0_001f_isr, // 56: GPIO N0 pins 0-31
195*61c4878aSAndroid Build Coastguard Worker am_gpio0_203f_isr, // 57: GPIO N0 pins 32-63
196*61c4878aSAndroid Build Coastguard Worker am_gpio0_405f_isr, // 58: GPIO N0 pins 64-95
197*61c4878aSAndroid Build Coastguard Worker am_gpio0_607f_isr, // 59: GPIO N0 pins 96-104, virtual 105-127
198*61c4878aSAndroid Build Coastguard Worker am_gpio1_001f_isr, // 60: GPIO N1 pins 0-31
199*61c4878aSAndroid Build Coastguard Worker am_gpio1_203f_isr, // 61: GPIO N1 pins 32-63
200*61c4878aSAndroid Build Coastguard Worker am_gpio1_405f_isr, // 62: GPIO N1 pins 64-95
201*61c4878aSAndroid Build Coastguard Worker am_gpio1_607f_isr, // 63: GPIO N1 pins 96-104, virtual 105-127
202*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // 64: Reserved
203*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // 65: Reserved
204*61c4878aSAndroid Build Coastguard Worker DefaultFaultHandler, // 66: Reserved
205*61c4878aSAndroid Build Coastguard Worker am_timer00_isr, // 67: timer0
206*61c4878aSAndroid Build Coastguard Worker am_timer01_isr, // 68: timer1
207*61c4878aSAndroid Build Coastguard Worker am_timer02_isr, // 69: timer2
208*61c4878aSAndroid Build Coastguard Worker am_timer03_isr, // 70: timer3
209*61c4878aSAndroid Build Coastguard Worker am_timer04_isr, // 71: timer4
210*61c4878aSAndroid Build Coastguard Worker am_timer05_isr, // 72: timer5
211*61c4878aSAndroid Build Coastguard Worker am_timer06_isr, // 73: timer6
212*61c4878aSAndroid Build Coastguard Worker am_timer07_isr, // 74: timer7
213*61c4878aSAndroid Build Coastguard Worker am_timer08_isr, // 75: timer8
214*61c4878aSAndroid Build Coastguard Worker am_timer09_isr, // 76: timer9
215*61c4878aSAndroid Build Coastguard Worker am_timer10_isr, // 77: timer10
216*61c4878aSAndroid Build Coastguard Worker am_timer11_isr, // 78: timer11
217*61c4878aSAndroid Build Coastguard Worker am_timer12_isr, // 79: timer12
218*61c4878aSAndroid Build Coastguard Worker am_timer13_isr, // 80: timer13
219*61c4878aSAndroid Build Coastguard Worker am_timer14_isr, // 81: timer14
220*61c4878aSAndroid Build Coastguard Worker am_timer15_isr, // 82: timer15
221*61c4878aSAndroid Build Coastguard Worker am_cachecpu_isr // 83: CPU cache
222*61c4878aSAndroid Build Coastguard Worker };
223