1
2
3
8
9
10
11
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
/* ... */
#ifndef _INTCTRL_H
#define _INTCTRL_H
/* ... */
#ifdef __ASSEMBLER__
#define TIMER0_IRQ_0 0
#define TIMER0_IRQ_1 1
#define TIMER0_IRQ_2 2
#define TIMER0_IRQ_3 3
#define TIMER1_IRQ_0 4
#define TIMER1_IRQ_1 5
#define TIMER1_IRQ_2 6
#define TIMER1_IRQ_3 7
#define PWM_IRQ_WRAP_0 8
#define PWM_IRQ_WRAP_1 9
#define DMA_IRQ_0 10
#define DMA_IRQ_1 11
#define DMA_IRQ_2 12
#define DMA_IRQ_3 13
#define USBCTRL_IRQ 14
#define PIO0_IRQ_0 15
#define PIO0_IRQ_1 16
#define PIO1_IRQ_0 17
#define PIO1_IRQ_1 18
#define PIO2_IRQ_0 19
#define PIO2_IRQ_1 20
#define IO_IRQ_BANK0 21
#define IO_IRQ_BANK0_NS 22
#define IO_IRQ_QSPI 23
#define IO_IRQ_QSPI_NS 24
#define SIO_IRQ_FIFO 25
#define SIO_IRQ_BELL 26
#define SIO_IRQ_FIFO_NS 27
#define SIO_IRQ_BELL_NS 28
#define SIO_IRQ_MTIMECMP 29
#define CLOCKS_IRQ 30
#define SPI0_IRQ 31
#define SPI1_IRQ 32
#define UART0_IRQ 33
#define UART1_IRQ 34
#define ADC_IRQ_FIFO 35
#define I2C0_IRQ 36
#define I2C1_IRQ 37
#define OTP_IRQ 38
#define TRNG_IRQ 39
#define PROC0_IRQ_CTI 40
#define PROC1_IRQ_CTI 41
#define PLL_SYS_IRQ 42
#define PLL_USB_IRQ 43
#define POWMAN_IRQ_POW 44
#define POWMAN_IRQ_TIMER 45
#define SPAREIRQ_IRQ_0 46
#define SPAREIRQ_IRQ_1 47
#define SPAREIRQ_IRQ_2 48
#define SPAREIRQ_IRQ_3 49
#define SPAREIRQ_IRQ_4 50
#define SPAREIRQ_IRQ_5 51
/* ... */#else
/* ... */
typedef enum irq_num_rp2350 {
TIMER0_IRQ_0 = 0,
TIMER0_IRQ_1 = 1,
TIMER0_IRQ_2 = 2,
TIMER0_IRQ_3 = 3,
TIMER1_IRQ_0 = 4,
TIMER1_IRQ_1 = 5,
TIMER1_IRQ_2 = 6,
TIMER1_IRQ_3 = 7,
PWM_IRQ_WRAP_0 = 8,
PWM_IRQ_WRAP_1 = 9,
DMA_IRQ_0 = 10,
DMA_IRQ_1 = 11,
DMA_IRQ_2 = 12,
DMA_IRQ_3 = 13,
USBCTRL_IRQ = 14,
PIO0_IRQ_0 = 15,
PIO0_IRQ_1 = 16,
PIO1_IRQ_0 = 17,
PIO1_IRQ_1 = 18,
PIO2_IRQ_0 = 19,
PIO2_IRQ_1 = 20,
IO_IRQ_BANK0 = 21,
IO_IRQ_BANK0_NS = 22,
IO_IRQ_QSPI = 23,
IO_IRQ_QSPI_NS = 24,
SIO_IRQ_FIFO = 25,
SIO_IRQ_BELL = 26,
SIO_IRQ_FIFO_NS = 27,
SIO_IRQ_BELL_NS = 28,
SIO_IRQ_MTIMECMP = 29,
CLOCKS_IRQ = 30,
SPI0_IRQ = 31,
SPI1_IRQ = 32,
UART0_IRQ = 33,
UART1_IRQ = 34,
ADC_IRQ_FIFO = 35,
I2C0_IRQ = 36,
I2C1_IRQ = 37,
OTP_IRQ = 38,
TRNG_IRQ = 39,
PROC0_IRQ_CTI = 40,
PROC1_IRQ_CTI = 41,
PLL_SYS_IRQ = 42,
PLL_USB_IRQ = 43,
POWMAN_IRQ_POW = 44,
POWMAN_IRQ_TIMER = 45,
SPARE_IRQ_0 = 46,
SPARE_IRQ_1 = 47,
SPARE_IRQ_2 = 48,
SPARE_IRQ_3 = 49,
SPARE_IRQ_4 = 50,
SPARE_IRQ_5 = 51,
IRQ_COUNT
...} irq_num_t;/* ... */
#endif
#define isr_timer0_0 isr_irq0
#define isr_timer0_1 isr_irq1
#define isr_timer0_2 isr_irq2
#define isr_timer0_3 isr_irq3
#define isr_timer1_0 isr_irq4
#define isr_timer1_1 isr_irq5
#define isr_timer1_2 isr_irq6
#define isr_timer1_3 isr_irq7
#define isr_pwm_wrap_0 isr_irq8
#define isr_pwm_wrap_1 isr_irq9
#define isr_dma_0 isr_irq10
#define isr_dma_1 isr_irq11
#define isr_dma_2 isr_irq12
#define isr_dma_3 isr_irq13
#define isr_usbctrl isr_irq14
#define isr_pio0_0 isr_irq15
#define isr_pio0_1 isr_irq16
#define isr_pio1_0 isr_irq17
#define isr_pio1_1 isr_irq18
#define isr_pio2_0 isr_irq19
#define isr_pio2_1 isr_irq20
#define isr_io_bank0 isr_irq21
#define isr_io_bank0_ns isr_irq22
#define isr_io_qspi isr_irq23
#define isr_io_qspi_ns isr_irq24
#define isr_sio_fifo isr_irq25
#define isr_sio_bell isr_irq26
#define isr_sio_fifo_ns isr_irq27
#define isr_sio_bell_ns isr_irq28
#define isr_sio_mtimecmp isr_irq29
#define isr_clocks isr_irq30
#define isr_spi0 isr_irq31
#define isr_spi1 isr_irq32
#define isr_uart0 isr_irq33
#define isr_uart1 isr_irq34
#define isr_adc_fifo isr_irq35
#define isr_i2c0 isr_irq36
#define isr_i2c1 isr_irq37
#define isr_otp isr_irq38
#define isr_trng isr_irq39
#define isr_proc0_cti isr_irq40
#define isr_proc1_cti isr_irq41
#define isr_pll_sys isr_irq42
#define isr_pll_usb isr_irq43
#define isr_powman_pow isr_irq44
#define isr_powman_timer isr_irq45
#define isr_spare_0 isr_irq46
#define isr_spare_1 isr_irq47
#define isr_spare_2 isr_irq48
#define isr_spare_3 isr_irq49
#define isr_spare_4 isr_irq50
#define isr_spare_5 isr_irq51
52 defines
/* ... */#endif