extern crate bare_metal;
#[cfg(feature = "rt")]
extern "C" {
fn DMA0_DMA16();
fn DMA1_DMA17();
fn DMA2_DMA18();
fn DMA3_DMA19();
fn DMA4_DMA20();
fn DMA5_DMA21();
fn DMA6_DMA22();
fn DMA7_DMA23();
fn DMA8_DMA24();
fn DMA9_DMA25();
fn DMA10_DMA26();
fn DMA11_DMA27();
fn DMA12_DMA28();
fn DMA13_DMA29();
fn DMA14_DMA30();
fn DMA15_DMA31();
fn DMA_ERROR();
fn CTI0_ERROR();
fn CTI1_ERROR();
fn CORE();
fn LPUART1();
fn LPUART2();
fn LPUART3();
fn LPUART4();
fn LPUART5();
fn LPUART6();
fn LPUART7();
fn LPUART8();
fn LPI2C1();
fn LPI2C2();
fn LPI2C3();
fn LPI2C4();
fn LPSPI1();
fn LPSPI2();
fn LPSPI3();
fn LPSPI4();
fn CAN1();
fn CAN2();
fn FLEXRAM();
fn KPP();
fn TSC_DIG();
fn GPR_IRQ();
fn LCDIF();
fn CSI();
fn PXP();
fn WDOG2();
fn SNVS_HP_WRAPPER();
fn SNVS_HP_WRAPPER_TZ();
fn SNVS_LP_WRAPPER();
fn CSU();
fn DCP();
fn DCP_VMI();
fn Reserved68();
fn TRNG();
fn SJC();
fn BEE();
fn SAI1();
fn SAI2();
fn SAI3_RX();
fn SAI3_TX();
fn SPDIF();
fn PMU_EVENT();
fn Reserved78();
fn TEMP_LOW_HIGH();
fn TEMP_PANIC();
fn USB_PHY1();
fn USB_PHY2();
fn ADC1();
fn ADC2();
fn DCDC();
fn Reserved86();
fn Reserved87();
fn GPIO1_INT0();
fn GPIO1_INT1();
fn GPIO1_INT2();
fn GPIO1_INT3();
fn GPIO1_INT4();
fn GPIO1_INT5();
fn GPIO1_INT6();
fn GPIO1_INT7();
fn GPIO1_Combined_0_15();
fn GPIO1_Combined_16_31();
fn GPIO2_Combined_0_15();
fn GPIO2_Combined_16_31();
fn GPIO3_Combined_0_15();
fn GPIO3_Combined_16_31();
fn GPIO4_Combined_0_15();
fn GPIO4_Combined_16_31();
fn GPIO5_Combined_0_15();
fn GPIO5_Combined_16_31();
fn FLEXIO1();
fn FLEXIO2();
fn WDOG1();
fn RTWDOG();
fn EWM();
fn CCM_1();
fn CCM_2();
fn GPC();
fn SRC();
fn Reserved115();
fn GPT1();
fn GPT2();
fn PWM1_0();
fn PWM1_1();
fn PWM1_2();
fn PWM1_3();
fn PWM1_FAULT();
fn Reserved123();
fn FLEXSPI();
fn SEMC();
fn USDHC1();
fn USDHC2();
fn USB_OTG2();
fn USB_OTG1();
fn ENET();
fn ENET_1588_Timer();
fn XBAR1_IRQ_0_1();
fn XBAR1_IRQ_2_3();
fn ADC_ETC_IRQ0();
fn ADC_ETC_IRQ1();
fn ADC_ETC_IRQ2();
fn ADC_ETC_ERROR_IRQ();
fn PIT();
fn ACMP1();
fn ACMP2();
fn ACMP3();
fn ACMP4();
fn Reserved143();
fn Reserved144();
fn ENC1();
fn ENC2();
fn ENC3();
fn ENC4();
fn TMR1();
fn TMR2();
fn TMR3();
fn TMR4();
fn PWM2_0();
fn PWM2_1();
fn PWM2_2();
fn PWM2_3();
fn PWM2_FAULT();
fn PWM3_0();
fn PWM3_1();
fn PWM3_2();
fn PWM3_3();
fn PWM3_FAULT();
fn PWM4_0();
fn PWM4_1();
fn PWM4_2();
fn PWM4_3();
fn PWM4_FAULT();
}
#[doc(hidden)]
pub union Vector {
_handler: unsafe extern "C" fn(),
_reserved: u32,
}
#[cfg(feature = "rt")]
#[doc(hidden)]
#[link_section = ".vector_table.interrupts"]
#[no_mangle]
pub static __INTERRUPTS: [Vector; 152] = [
Vector {
_handler: DMA0_DMA16,
},
Vector {
_handler: DMA1_DMA17,
},
Vector {
_handler: DMA2_DMA18,
},
Vector {
_handler: DMA3_DMA19,
},
Vector {
_handler: DMA4_DMA20,
},
Vector {
_handler: DMA5_DMA21,
},
Vector {
_handler: DMA6_DMA22,
},
Vector {
_handler: DMA7_DMA23,
},
Vector {
_handler: DMA8_DMA24,
},
Vector {
_handler: DMA9_DMA25,
},
Vector {
_handler: DMA10_DMA26,
},
Vector {
_handler: DMA11_DMA27,
},
Vector {
_handler: DMA12_DMA28,
},
Vector {
_handler: DMA13_DMA29,
},
Vector {
_handler: DMA14_DMA30,
},
Vector {
_handler: DMA15_DMA31,
},
Vector {
_handler: DMA_ERROR,
},
Vector {
_handler: CTI0_ERROR,
},
Vector {
_handler: CTI1_ERROR,
},
Vector { _handler: CORE },
Vector { _handler: LPUART1 },
Vector { _handler: LPUART2 },
Vector { _handler: LPUART3 },
Vector { _handler: LPUART4 },
Vector { _handler: LPUART5 },
Vector { _handler: LPUART6 },
Vector { _handler: LPUART7 },
Vector { _handler: LPUART8 },
Vector { _handler: LPI2C1 },
Vector { _handler: LPI2C2 },
Vector { _handler: LPI2C3 },
Vector { _handler: LPI2C4 },
Vector { _handler: LPSPI1 },
Vector { _handler: LPSPI2 },
Vector { _handler: LPSPI3 },
Vector { _handler: LPSPI4 },
Vector { _handler: CAN1 },
Vector { _handler: CAN2 },
Vector { _handler: FLEXRAM },
Vector { _handler: KPP },
Vector { _handler: TSC_DIG },
Vector { _handler: GPR_IRQ },
Vector { _handler: LCDIF },
Vector { _handler: CSI },
Vector { _handler: PXP },
Vector { _handler: WDOG2 },
Vector {
_handler: SNVS_HP_WRAPPER,
},
Vector {
_handler: SNVS_HP_WRAPPER_TZ,
},
Vector {
_handler: SNVS_LP_WRAPPER,
},
Vector { _handler: CSU },
Vector { _handler: DCP },
Vector { _handler: DCP_VMI },
Vector {
_handler: Reserved68,
},
Vector { _handler: TRNG },
Vector { _handler: SJC },
Vector { _handler: BEE },
Vector { _handler: SAI1 },
Vector { _handler: SAI2 },
Vector { _handler: SAI3_RX },
Vector { _handler: SAI3_TX },
Vector { _handler: SPDIF },
Vector {
_handler: PMU_EVENT,
},
Vector {
_handler: Reserved78,
},
Vector {
_handler: TEMP_LOW_HIGH,
},
Vector {
_handler: TEMP_PANIC,
},
Vector { _handler: USB_PHY1 },
Vector { _handler: USB_PHY2 },
Vector { _handler: ADC1 },
Vector { _handler: ADC2 },
Vector { _handler: DCDC },
Vector {
_handler: Reserved86,
},
Vector {
_handler: Reserved87,
},
Vector {
_handler: GPIO1_INT0,
},
Vector {
_handler: GPIO1_INT1,
},
Vector {
_handler: GPIO1_INT2,
},
Vector {
_handler: GPIO1_INT3,
},
Vector {
_handler: GPIO1_INT4,
},
Vector {
_handler: GPIO1_INT5,
},
Vector {
_handler: GPIO1_INT6,
},
Vector {
_handler: GPIO1_INT7,
},
Vector {
_handler: GPIO1_Combined_0_15,
},
Vector {
_handler: GPIO1_Combined_16_31,
},
Vector {
_handler: GPIO2_Combined_0_15,
},
Vector {
_handler: GPIO2_Combined_16_31,
},
Vector {
_handler: GPIO3_Combined_0_15,
},
Vector {
_handler: GPIO3_Combined_16_31,
},
Vector {
_handler: GPIO4_Combined_0_15,
},
Vector {
_handler: GPIO4_Combined_16_31,
},
Vector {
_handler: GPIO5_Combined_0_15,
},
Vector {
_handler: GPIO5_Combined_16_31,
},
Vector { _handler: FLEXIO1 },
Vector { _handler: FLEXIO2 },
Vector { _handler: WDOG1 },
Vector { _handler: RTWDOG },
Vector { _handler: EWM },
Vector { _handler: CCM_1 },
Vector { _handler: CCM_2 },
Vector { _handler: GPC },
Vector { _handler: SRC },
Vector {
_handler: Reserved115,
},
Vector { _handler: GPT1 },
Vector { _handler: GPT2 },
Vector { _handler: PWM1_0 },
Vector { _handler: PWM1_1 },
Vector { _handler: PWM1_2 },
Vector { _handler: PWM1_3 },
Vector {
_handler: PWM1_FAULT,
},
Vector {
_handler: Reserved123,
},
Vector { _handler: FLEXSPI },
Vector { _handler: SEMC },
Vector { _handler: USDHC1 },
Vector { _handler: USDHC2 },
Vector { _handler: USB_OTG2 },
Vector { _handler: USB_OTG1 },
Vector { _handler: ENET },
Vector {
_handler: ENET_1588_Timer,
},
Vector {
_handler: XBAR1_IRQ_0_1,
},
Vector {
_handler: XBAR1_IRQ_2_3,
},
Vector {
_handler: ADC_ETC_IRQ0,
},
Vector {
_handler: ADC_ETC_IRQ1,
},
Vector {
_handler: ADC_ETC_IRQ2,
},
Vector {
_handler: ADC_ETC_ERROR_IRQ,
},
Vector { _handler: PIT },
Vector { _handler: ACMP1 },
Vector { _handler: ACMP2 },
Vector { _handler: ACMP3 },
Vector { _handler: ACMP4 },
Vector {
_handler: Reserved143,
},
Vector {
_handler: Reserved144,
},
Vector { _handler: ENC1 },
Vector { _handler: ENC2 },
Vector { _handler: ENC3 },
Vector { _handler: ENC4 },
Vector { _handler: TMR1 },
Vector { _handler: TMR2 },
Vector { _handler: TMR3 },
Vector { _handler: TMR4 },
Vector { _handler: PWM2_0 },
Vector { _handler: PWM2_1 },
Vector { _handler: PWM2_2 },
Vector { _handler: PWM2_3 },
Vector {
_handler: PWM2_FAULT,
},
Vector { _handler: PWM3_0 },
Vector { _handler: PWM3_1 },
Vector { _handler: PWM3_2 },
Vector { _handler: PWM3_3 },
Vector {
_handler: PWM3_FAULT,
},
Vector { _handler: PWM4_0 },
Vector { _handler: PWM4_1 },
Vector { _handler: PWM4_2 },
Vector { _handler: PWM4_3 },
Vector {
_handler: PWM4_FAULT,
},
];
#[repr(u8)]
#[derive(Clone, Copy)]
#[allow(non_camel_case_types)]
pub enum Interrupt {
DMA0_DMA16 = 0,
DMA1_DMA17 = 1,
DMA2_DMA18 = 2,
DMA3_DMA19 = 3,
DMA4_DMA20 = 4,
DMA5_DMA21 = 5,
DMA6_DMA22 = 6,
DMA7_DMA23 = 7,
DMA8_DMA24 = 8,
DMA9_DMA25 = 9,
DMA10_DMA26 = 10,
DMA11_DMA27 = 11,
DMA12_DMA28 = 12,
DMA13_DMA29 = 13,
DMA14_DMA30 = 14,
DMA15_DMA31 = 15,
DMA_ERROR = 16,
CTI0_ERROR = 17,
CTI1_ERROR = 18,
CORE = 19,
LPUART1 = 20,
LPUART2 = 21,
LPUART3 = 22,
LPUART4 = 23,
LPUART5 = 24,
LPUART6 = 25,
LPUART7 = 26,
LPUART8 = 27,
LPI2C1 = 28,
LPI2C2 = 29,
LPI2C3 = 30,
LPI2C4 = 31,
LPSPI1 = 32,
LPSPI2 = 33,
LPSPI3 = 34,
LPSPI4 = 35,
CAN1 = 36,
CAN2 = 37,
FLEXRAM = 38,
KPP = 39,
TSC_DIG = 40,
GPR_IRQ = 41,
LCDIF = 42,
CSI = 43,
PXP = 44,
WDOG2 = 45,
SNVS_HP_WRAPPER = 46,
SNVS_HP_WRAPPER_TZ = 47,
SNVS_LP_WRAPPER = 48,
CSU = 49,
DCP = 50,
DCP_VMI = 51,
Reserved68 = 52,
TRNG = 53,
SJC = 54,
BEE = 55,
SAI1 = 56,
SAI2 = 57,
SAI3_RX = 58,
SAI3_TX = 59,
SPDIF = 60,
PMU_EVENT = 61,
Reserved78 = 62,
TEMP_LOW_HIGH = 63,
TEMP_PANIC = 64,
USB_PHY1 = 65,
USB_PHY2 = 66,
ADC1 = 67,
ADC2 = 68,
DCDC = 69,
Reserved86 = 70,
Reserved87 = 71,
GPIO1_INT0 = 72,
GPIO1_INT1 = 73,
GPIO1_INT2 = 74,
GPIO1_INT3 = 75,
GPIO1_INT4 = 76,
GPIO1_INT5 = 77,
GPIO1_INT6 = 78,
GPIO1_INT7 = 79,
GPIO1_Combined_0_15 = 80,
GPIO1_Combined_16_31 = 81,
GPIO2_Combined_0_15 = 82,
GPIO2_Combined_16_31 = 83,
GPIO3_Combined_0_15 = 84,
GPIO3_Combined_16_31 = 85,
GPIO4_Combined_0_15 = 86,
GPIO4_Combined_16_31 = 87,
GPIO5_Combined_0_15 = 88,
GPIO5_Combined_16_31 = 89,
FLEXIO1 = 90,
FLEXIO2 = 91,
WDOG1 = 92,
RTWDOG = 93,
EWM = 94,
CCM_1 = 95,
CCM_2 = 96,
GPC = 97,
SRC = 98,
Reserved115 = 99,
GPT1 = 100,
GPT2 = 101,
PWM1_0 = 102,
PWM1_1 = 103,
PWM1_2 = 104,
PWM1_3 = 105,
PWM1_FAULT = 106,
Reserved123 = 107,
FLEXSPI = 108,
SEMC = 109,
USDHC1 = 110,
USDHC2 = 111,
USB_OTG2 = 112,
USB_OTG1 = 113,
ENET = 114,
ENET_1588_Timer = 115,
XBAR1_IRQ_0_1 = 116,
XBAR1_IRQ_2_3 = 117,
ADC_ETC_IRQ0 = 118,
ADC_ETC_IRQ1 = 119,
ADC_ETC_IRQ2 = 120,
ADC_ETC_ERROR_IRQ = 121,
PIT = 122,
ACMP1 = 123,
ACMP2 = 124,
ACMP3 = 125,
ACMP4 = 126,
Reserved143 = 127,
Reserved144 = 128,
ENC1 = 129,
ENC2 = 130,
ENC3 = 131,
ENC4 = 132,
TMR1 = 133,
TMR2 = 134,
TMR3 = 135,
TMR4 = 136,
PWM2_0 = 137,
PWM2_1 = 138,
PWM2_2 = 139,
PWM2_3 = 140,
PWM2_FAULT = 141,
PWM3_0 = 142,
PWM3_1 = 143,
PWM3_2 = 144,
PWM3_3 = 145,
PWM3_FAULT = 146,
PWM4_0 = 147,
PWM4_1 = 148,
PWM4_2 = 149,
PWM4_3 = 150,
PWM4_FAULT = 151,
}
unsafe impl bare_metal::Nr for Interrupt {
#[inline]
fn nr(&self) -> u8 {
*self as u8
}
}