1 // THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT 2 3 /** 4 * Copyright (c) 2024 Raspberry Pi Ltd. 5 * 6 * SPDX-License-Identifier: BSD-3-Clause 7 */ 8 #ifndef _INTCTRL_H 9 #define _INTCTRL_H 10 11 /** 12 * \file rp2040/intctrl.h 13 */ 14 15 #ifdef __ASSEMBLER__ 16 #define TIMER_IRQ_0 0 17 #define TIMER_IRQ_1 1 18 #define TIMER_IRQ_2 2 19 #define TIMER_IRQ_3 3 20 #define PWM_IRQ_WRAP 4 21 #define USBCTRL_IRQ 5 22 #define XIP_IRQ 6 23 #define PIO0_IRQ_0 7 24 #define PIO0_IRQ_1 8 25 #define PIO1_IRQ_0 9 26 #define PIO1_IRQ_1 10 27 #define DMA_IRQ_0 11 28 #define DMA_IRQ_1 12 29 #define IO_IRQ_BANK0 13 30 #define IO_IRQ_QSPI 14 31 #define SIO_IRQ_PROC0 15 32 #define SIO_IRQ_PROC1 16 33 #define CLOCKS_IRQ 17 34 #define SPI0_IRQ 18 35 #define SPI1_IRQ 19 36 #define UART0_IRQ 20 37 #define UART1_IRQ 21 38 #define ADC_IRQ_FIFO 22 39 #define I2C0_IRQ 23 40 #define I2C1_IRQ 24 41 #define RTC_IRQ 25 42 #else 43 /** 44 * \brief Interrupt numbers on RP2040 (used as typedef \ref irq_num_t) 45 * \ingroup hardware_irq 46 */ 47 typedef enum irq_num_rp2040 { 48 TIMER_IRQ_0 = 0, ///< Select TIMER's IRQ 0 output 49 TIMER_IRQ_1 = 1, ///< Select TIMER's IRQ 1 output 50 TIMER_IRQ_2 = 2, ///< Select TIMER's IRQ 2 output 51 TIMER_IRQ_3 = 3, ///< Select TIMER's IRQ 3 output 52 PWM_IRQ_WRAP = 4, ///< Select PWM's IRQ_WRAP output 53 USBCTRL_IRQ = 5, ///< Select USBCTRL's IRQ output 54 XIP_IRQ = 6, ///< Select XIP's IRQ output 55 PIO0_IRQ_0 = 7, ///< Select PIO0's IRQ 0 output 56 PIO0_IRQ_1 = 8, ///< Select PIO0's IRQ 1 output 57 PIO1_IRQ_0 = 9, ///< Select PIO1's IRQ 0 output 58 PIO1_IRQ_1 = 10, ///< Select PIO1's IRQ 1 output 59 DMA_IRQ_0 = 11, ///< Select DMA's IRQ 0 output 60 DMA_IRQ_1 = 12, ///< Select DMA's IRQ 1 output 61 IO_IRQ_BANK0 = 13, ///< Select IO_BANK0's IRQ output 62 IO_IRQ_QSPI = 14, ///< Select IO_QSPI's IRQ output 63 SIO_IRQ_PROC0 = 15, ///< Select SIO_PROC0's IRQ output 64 SIO_IRQ_PROC1 = 16, ///< Select SIO_PROC1's IRQ output 65 CLOCKS_IRQ = 17, ///< Select CLOCKS's IRQ output 66 SPI0_IRQ = 18, ///< Select SPI0's IRQ output 67 SPI1_IRQ = 19, ///< Select SPI1's IRQ output 68 UART0_IRQ = 20, ///< Select UART0's IRQ output 69 UART1_IRQ = 21, ///< Select UART1's IRQ output 70 ADC_IRQ_FIFO = 22, ///< Select ADC's IRQ_FIFO output 71 I2C0_IRQ = 23, ///< Select I2C0's IRQ output 72 I2C1_IRQ = 24, ///< Select I2C1's IRQ output 73 RTC_IRQ = 25, ///< Select RTC's IRQ output 74 IRQ_COUNT 75 } irq_num_t; 76 #endif 77 78 #define isr_timer_0 isr_irq0 79 #define isr_timer_1 isr_irq1 80 #define isr_timer_2 isr_irq2 81 #define isr_timer_3 isr_irq3 82 #define isr_pwm_wrap isr_irq4 83 #define isr_usbctrl isr_irq5 84 #define isr_xip isr_irq6 85 #define isr_pio0_0 isr_irq7 86 #define isr_pio0_1 isr_irq8 87 #define isr_pio1_0 isr_irq9 88 #define isr_pio1_1 isr_irq10 89 #define isr_dma_0 isr_irq11 90 #define isr_dma_1 isr_irq12 91 #define isr_io_bank0 isr_irq13 92 #define isr_io_qspi isr_irq14 93 #define isr_sio_proc0 isr_irq15 94 #define isr_sio_proc1 isr_irq16 95 #define isr_clocks isr_irq17 96 #define isr_spi0 isr_irq18 97 #define isr_spi1 isr_irq19 98 #define isr_uart0 isr_irq20 99 #define isr_uart1 isr_irq21 100 #define isr_adc_fifo isr_irq22 101 #define isr_i2c0 isr_irq23 102 #define isr_i2c1 isr_irq24 103 #define isr_rtc isr_irq25 104 105 #endif // _INTCTRL_H 106 107