/* This file is part of the libopencm3 project.
 *
 * It was generated by the irq2nvic_h script from /build/libopencm3/src/libopencm3/include/libopencm3/stm32/u5/irq.json
 */

#ifndef LIBOPENCM3_STM32_U5_NVIC_H
#define LIBOPENCM3_STM32_U5_NVIC_H

#include <libopencm3/cm3/nvic.h>

/** @defgroup CM3_nvic_defines_irqs User interrupts for STM32 U5 series
    @ingroup CM3_nvic_defines

    @{*/

#define NVIC_WWDG_IRQ 0
#define NVIC_PVD_PVM_IRQ 1
#define NVIC_RTC_IRQ 2
#define NVIC_RTC_S_IRQ 3
#define NVIC_TAMP_IRQ 4
#define NVIC_RAMCFG_IRQ 5
#define NVIC_FLASH_IRQ 6
#define NVIC_FLASH_S_IRQ 7
#define NVIC_GTZC_IRQ 8
#define NVIC_RCC_IRQ 9
#define NVIC_RCC_S_IRQ 10
#define NVIC_EXTI0_IRQ 11
#define NVIC_EXTI1_IRQ 12
#define NVIC_EXTI2_IRQ 13
#define NVIC_EXTI3_IRQ 14
#define NVIC_EXTI4_IRQ 15
#define NVIC_EXTI5_IRQ 16
#define NVIC_EXTI6_IRQ 17
#define NVIC_EXTI7_IRQ 18
#define NVIC_EXTI8_IRQ 19
#define NVIC_EXTI9_IRQ 20
#define NVIC_EXTI10_IRQ 21
#define NVIC_EXTI11_IRQ 22
#define NVIC_EXTI12_IRQ 23
#define NVIC_EXTI13_IRQ 24
#define NVIC_EXTI14_IRQ 25
#define NVIC_EXTI15_IRQ 26
#define NVIC_IWDG_IRQ 27
#define NVIC_SAES_IRQ 28
#define NVIC_GPDMA1_CH0_IRQ 29
#define NVIC_GPDMA1_CH1_IRQ 30
#define NVIC_GPDMA1_CH2_IRQ 31
#define NVIC_GPDMA1_CH3_IRQ 32
#define NVIC_GPDMA1_CH4_IRQ 33
#define NVIC_GPDMA1_CH5_IRQ 34
#define NVIC_GPDMA1_CH6_IRQ 35
#define NVIC_GPDMA1_CH7_IRQ 36
#define NVIC_ADC12_IRQ 37
#define NVIC_DAC1_IRQ 38
#define NVIC_FDCAN1_IT0_IRQ 39
#define NVIC_FDCAN1_IT1_IRQ 40
#define NVIC_TIM1_BRK_IRQ 41
#define NVIC_TIM1_UP_IRQ 42
#define NVIC_TIM1_TRG_COM_IRQ 43
#define NVIC_TIM1_CC_IRQ 44
#define NVIC_TIM2_IRQ 45
#define NVIC_TIM3_IRQ 46
#define NVIC_TIM4_IRQ 47
#define NVIC_TIM5_IRQ 48
#define NVIC_TIM6_IRQ 49
#define NVIC_TIM7_IRQ 50
#define NVIC_TIM8_BRK_IRQ 51
#define NVIC_TIM8_UP_IRQ 52
#define NVIC_TIM8_TRG_COML_IRQ 53
#define NVIC_TIM8_CC_IRQ 54
#define NVIC_I2C1_EV_IRQ 55
#define NVIC_I2C1_ER_IRQ 56
#define NVIC_I2C2_EV_IRQ 57
#define NVIC_I2C2_ER_IRQ 58
#define NVIC_SPI1_IRQ 59
#define NVIC_SPI2_IRQ 60
#define NVIC_USART1_IRQ 61
#define NVIC_USART2_IRQ 62
#define NVIC_USART3_IRQ 63
#define NVIC_UART4_IRQ 64
#define NVIC_UART5_IRQ 65
#define NVIC_LPUART1_IRQ 66
#define NVIC_LPTIM1_IRQ 67
#define NVIC_LPTIM2_IRQ 68
#define NVIC_TIM15_IRQ 69
#define NVIC_TIM16_IRQ 70
#define NVIC_TIM17_IRQ 71
#define NVIC_COMP_IRQ 72
#define NVIC_USB_IRQ 73
#define NVIC_CRS_IRQ 74
#define NVIC_FMC_IRQ 75
#define NVIC_OCTOSPI1_IRQ 76
#define NVIC_PWR_S3WU_IRQ 77
#define NVIC_SDMMC1_IRQ 78
#define NVIC_SDMMC2_IRQ 79
#define NVIC_GPDMA1_CH8_IRQ 80
#define NVIC_GPDMA1_CH9_IRQ 81
#define NVIC_GPDMA1_CH10_IRQ 82
#define NVIC_GPDMA1_CH11_IRQ 83
#define NVIC_GPDMA1_CH12_IRQ 84
#define NVIC_GPDMA1_CH13_IRQ 85
#define NVIC_GPDMA1_CH14_IRQ 86
#define NVIC_GPDMA1_CH15_IRQ 87
#define NVIC_I2C3_EV_IRQ 88
#define NVIC_I2C3_ER_IRQ 89
#define NVIC_SAI1_IRQ 90
#define NVIC_SAI2_IRQ 91
#define NVIC_TSC_IRQ 92
#define NVIC_AES_IRQ 93
#define NVIC_RNG_IRQ 94
#define NVIC_FPU_IRQ 95
#define NVIC_HASH_IRQ 96
#define NVIC_PKA_IRQ 97
#define NVIC_LPTIM3_IRQ 98
#define NVIC_SPI3_IRQ 99
#define NVIC_I2C4_ER_IRQ 100
#define NVIC_I2C4_EV_IRQ 101
#define NVIC_MDF1_FLT0_IRQ 102
#define NVIC_MDF1_FLT1_IRQ 103
#define NVIC_MDF1_FLT2_IRQ 104
#define NVIC_MDF1_FLT3_IRQ 105
#define NVIC_UCPD1_IRQ 106
#define NVIC_ICACHE_IRQ 107
#define NVIC_OTFDEC1_IRQ 108
#define NVIC_OTFDEC2_IRQ 109
#define NVIC_LPTIM4_IRQ 110
#define NVIC_DCACHE1_IRQ 111
#define NVIC_ADF1_FLT0_IRQ 112
#define NVIC_ADC4_IRQ 113
#define NVIC_LPDMA1_CH0_IRQ 114
#define NVIC_LPDMA1_CH1_IRQ 115
#define NVIC_LPDMA1_CH2_IRQ 116
#define NVIC_LPDMA1_CH3_IRQ 117
#define NVIC_DMA2D_IRQ 118
#define NVIC_DCMI_PSSI_IRQ 119
#define NVIC_OCTOSPI2_IRQ 120
#define NVIC_MDF1_FLT4_IRQ 121
#define NVIC_MDF1_FLT5_IRQ 122
#define NVIC_CORDIC_IRQ 123
#define NVIC_FMAC_IRQ 124
#define NVIC_LSECSS_IRQ 125
#define NVIC_USART6_IRQ 126
#define NVIC_I2C5_ER_IRQ 127
#define NVIC_I2C5_EV_IRQ 128
#define NVIC_I2C6_ER_IRQ 129
#define NVIC_I2C6_EV_IRQ 130
#define NVIC_HSPI1_IRQ 131
#define NVIC_GPU2D_IRQ_IRQ 132
#define NVIC_GPU2D_IRQSYS_IRQ 133
#define NVIC_GFXMMU_IRQ 134
#define NVIC_LCD_TFT_IRQ 135
#define NVIC_LCD_TFT_ERR_IRQ 136
#define NVIC_DSIHOST_IRQ 137
#define NVIC_DCACHE2_IRQ 138
#define NVIC_GFXTIM_IRQ 139
#define NVIC_JPEG_IRQ 140

#define NVIC_IRQ_COUNT 141

/**@}*/

/** @defgroup CM3_nvic_isrprototypes_STM32U5 User interrupt service routines (ISR) prototypes for STM32 U5 series
    @ingroup CM3_nvic_isrprototypes

    @{*/

BEGIN_DECLS

void wwdg_isr(void);
void pvd_pvm_isr(void);
void rtc_isr(void);
void rtc_s_isr(void);
void tamp_isr(void);
void ramcfg_isr(void);
void flash_isr(void);
void flash_s_isr(void);
void gtzc_isr(void);
void rcc_isr(void);
void rcc_s_isr(void);
void exti0_isr(void);
void exti1_isr(void);
void exti2_isr(void);
void exti3_isr(void);
void exti4_isr(void);
void exti5_isr(void);
void exti6_isr(void);
void exti7_isr(void);
void exti8_isr(void);
void exti9_isr(void);
void exti10_isr(void);
void exti11_isr(void);
void exti12_isr(void);
void exti13_isr(void);
void exti14_isr(void);
void exti15_isr(void);
void iwdg_isr(void);
void saes_isr(void);
void gpdma1_ch0_isr(void);
void gpdma1_ch1_isr(void);
void gpdma1_ch2_isr(void);
void gpdma1_ch3_isr(void);
void gpdma1_ch4_isr(void);
void gpdma1_ch5_isr(void);
void gpdma1_ch6_isr(void);
void gpdma1_ch7_isr(void);
void adc12_isr(void);
void dac1_isr(void);
void fdcan1_it0_isr(void);
void fdcan1_it1_isr(void);
void tim1_brk_isr(void);
void tim1_up_isr(void);
void tim1_trg_com_isr(void);
void tim1_cc_isr(void);
void tim2_isr(void);
void tim3_isr(void);
void tim4_isr(void);
void tim5_isr(void);
void tim6_isr(void);
void tim7_isr(void);
void tim8_brk_isr(void);
void tim8_up_isr(void);
void tim8_trg_coml_isr(void);
void tim8_cc_isr(void);
void i2c1_ev_isr(void);
void i2c1_er_isr(void);
void i2c2_ev_isr(void);
void i2c2_er_isr(void);
void spi1_isr(void);
void spi2_isr(void);
void usart1_isr(void);
void usart2_isr(void);
void usart3_isr(void);
void uart4_isr(void);
void uart5_isr(void);
void lpuart1_isr(void);
void lptim1_isr(void);
void lptim2_isr(void);
void tim15_isr(void);
void tim16_isr(void);
void tim17_isr(void);
void comp_isr(void);
void usb_isr(void);
void crs_isr(void);
void fmc_isr(void);
void octospi1_isr(void);
void pwr_s3wu_isr(void);
void sdmmc1_isr(void);
void sdmmc2_isr(void);
void gpdma1_ch8_isr(void);
void gpdma1_ch9_isr(void);
void gpdma1_ch10_isr(void);
void gpdma1_ch11_isr(void);
void gpdma1_ch12_isr(void);
void gpdma1_ch13_isr(void);
void gpdma1_ch14_isr(void);
void gpdma1_ch15_isr(void);
void i2c3_ev_isr(void);
void i2c3_er_isr(void);
void sai1_isr(void);
void sai2_isr(void);
void tsc_isr(void);
void aes_isr(void);
void rng_isr(void);
void fpu_isr(void);
void hash_isr(void);
void pka_isr(void);
void lptim3_isr(void);
void spi3_isr(void);
void i2c4_er_isr(void);
void i2c4_ev_isr(void);
void mdf1_flt0_isr(void);
void mdf1_flt1_isr(void);
void mdf1_flt2_isr(void);
void mdf1_flt3_isr(void);
void ucpd1_isr(void);
void icache_isr(void);
void otfdec1_isr(void);
void otfdec2_isr(void);
void lptim4_isr(void);
void dcache1_isr(void);
void adf1_flt0_isr(void);
void adc4_isr(void);
void lpdma1_ch0_isr(void);
void lpdma1_ch1_isr(void);
void lpdma1_ch2_isr(void);
void lpdma1_ch3_isr(void);
void dma2d_isr(void);
void dcmi_pssi_isr(void);
void octospi2_isr(void);
void mdf1_flt4_isr(void);
void mdf1_flt5_isr(void);
void cordic_isr(void);
void fmac_isr(void);
void lsecss_isr(void);
void usart6_isr(void);
void i2c5_er_isr(void);
void i2c5_ev_isr(void);
void i2c6_er_isr(void);
void i2c6_ev_isr(void);
void hspi1_isr(void);
void gpu2d_irq_isr(void);
void gpu2d_irqsys_isr(void);
void gfxmmu_isr(void);
void lcd_tft_isr(void);
void lcd_tft_err_isr(void);
void dsihost_isr(void);
void dcache2_isr(void);
void gfxtim_isr(void);
void jpeg_isr(void);

END_DECLS

/**@}*/

#endif /* LIBOPENCM3_STM32_U5_NVIC_H */
