r528-pac 0.0.3

Peripheral access API for Allwinner R528 SoC generated from unofficial SVD file
Documentation
#[doc = r"Enumeration of all the interrupts."]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
#[repr(u16)]
pub enum Interrupt {
    #[doc = "18 - UART0"]
    UART0 = 18,
    #[doc = "19 - UART1"]
    UART1 = 19,
    #[doc = "20 - UART2"]
    UART2 = 20,
    #[doc = "21 - UART3"]
    UART3 = 21,
    #[doc = "22 - UART4"]
    UART4 = 22,
    #[doc = "23 - UART5"]
    UART5 = 23,
    #[doc = "25 - TWI0"]
    TWI0 = 25,
    #[doc = "26 - TWI1"]
    TWI1 = 26,
    #[doc = "27 - TWI2"]
    TWI2 = 27,
    #[doc = "28 - TWI3"]
    TWI3 = 28,
    #[doc = "31 - SPI0"]
    SPI0 = 31,
    #[doc = "32 - SPI1"]
    SPI1 = 32,
    #[doc = "34 - PWM"]
    PWM = 34,
    #[doc = "35 - IR_TX"]
    IR_TX = 35,
    #[doc = "36 - LEDC"]
    LEDC = 36,
    #[doc = "39 - OWA"]
    OWA = 39,
    #[doc = "40 - DMIC"]
    DMIC = 40,
    #[doc = "41 - AUDIO_CODEC"]
    AUDIO_CODEC = 41,
    #[doc = "42 - I2S_PCM0"]
    I2S_PCM0 = 42,
    #[doc = "43 - I2S_PCM1"]
    I2S_PCM1 = 43,
    #[doc = "44 - I2S_PCM2"]
    I2S_PCM2 = 44,
    #[doc = "45 - USB0_DEVICE"]
    USB0_DEVICE = 45,
    #[doc = "46 - USB0_EHCI"]
    USB0_EHCI = 46,
    #[doc = "47 - USB0_OHCI"]
    USB0_OHCI = 47,
    #[doc = "49 - USB1_EHCI"]
    USB1_EHCI = 49,
    #[doc = "50 - USB1_OHCI"]
    USB1_OHCI = 50,
    #[doc = "56 - SMHC0"]
    SMHC0 = 56,
    #[doc = "57 - SMHC1"]
    SMHC1 = 57,
    #[doc = "58 - SMHC2"]
    SMHC2 = 58,
    #[doc = "62 - EMAC"]
    EMAC = 62,
    #[doc = "66 - DMAC_NS"]
    DMAC_NS = 66,
    #[doc = "68 - CE_NS"]
    CE_NS = 68,
    #[doc = "70 - SPINLOCK"]
    SPINLOCK = 70,
    #[doc = "71 - HSTIMER0"]
    HSTIMER0 = 71,
    #[doc = "72 - HSTIMER1"]
    HSTIMER1 = 72,
    #[doc = "73 - GPADC"]
    GPADC = 73,
    #[doc = "74 - THS"]
    THS = 74,
    #[doc = "75 - TIMER0"]
    TIMER0 = 75,
    #[doc = "76 - TIMER1"]
    TIMER1 = 76,
    #[doc = "77 - LRADC"]
    LRADC = 77,
    #[doc = "78 - TPADC"]
    TPADC = 78,
    #[doc = "79 - WATCHDOG"]
    WATCHDOG = 79,
    #[doc = "80 - IOMMU"]
    IOMMU = 80,
    #[doc = "85 - GPIOB_NS"]
    GPIOB_NS = 85,
    #[doc = "87 - GPIOC_NS"]
    GPIOC_NS = 87,
    #[doc = "89 - GPIOD_NS"]
    GPIOD_NS = 89,
    #[doc = "91 - GPIOE_NS"]
    GPIOE_NS = 91,
    #[doc = "93 - GPIOF_NS"]
    GPIOF_NS = 93,
    #[doc = "111 - CSI_DMA0"]
    CSI_DMA0 = 111,
    #[doc = "112 - CSI_DMA1"]
    CSI_DMA1 = 112,
    #[doc = "122 - CSI_TOP_PKT"]
    CSI_TOP_PKT = 122,
    #[doc = "123 - TVD"]
    TVD = 123,
    #[doc = "140 - DSP_MBOX_RV_W"]
    DSP_MBOX_RV_W = 140,
    #[doc = "144 - RV_MBOX_RV"]
    RV_MBOX_RV = 144,
    #[doc = "145 - RV_MBOX_DSP"]
    RV_MBOX_DSP = 145,
    #[doc = "167 - IR_RX"]
    IR_RX = 167,
}
#[doc = r" TryFromInterruptError"]
#[derive(Debug, Copy, Clone)]
pub struct TryFromInterruptError(());
impl Interrupt {
    #[doc = r" Attempt to convert a given value into an `Interrupt`"]
    #[inline]
    pub fn try_from(value: u8) -> Result<Self, TryFromInterruptError> {
        match value {
            18 => Ok(Interrupt::UART0),
            19 => Ok(Interrupt::UART1),
            20 => Ok(Interrupt::UART2),
            21 => Ok(Interrupt::UART3),
            22 => Ok(Interrupt::UART4),
            23 => Ok(Interrupt::UART5),
            25 => Ok(Interrupt::TWI0),
            26 => Ok(Interrupt::TWI1),
            27 => Ok(Interrupt::TWI2),
            28 => Ok(Interrupt::TWI3),
            31 => Ok(Interrupt::SPI0),
            32 => Ok(Interrupt::SPI1),
            34 => Ok(Interrupt::PWM),
            35 => Ok(Interrupt::IR_TX),
            36 => Ok(Interrupt::LEDC),
            39 => Ok(Interrupt::OWA),
            40 => Ok(Interrupt::DMIC),
            41 => Ok(Interrupt::AUDIO_CODEC),
            42 => Ok(Interrupt::I2S_PCM0),
            43 => Ok(Interrupt::I2S_PCM1),
            44 => Ok(Interrupt::I2S_PCM2),
            45 => Ok(Interrupt::USB0_DEVICE),
            46 => Ok(Interrupt::USB0_EHCI),
            47 => Ok(Interrupt::USB0_OHCI),
            49 => Ok(Interrupt::USB1_EHCI),
            50 => Ok(Interrupt::USB1_OHCI),
            56 => Ok(Interrupt::SMHC0),
            57 => Ok(Interrupt::SMHC1),
            58 => Ok(Interrupt::SMHC2),
            62 => Ok(Interrupt::EMAC),
            66 => Ok(Interrupt::DMAC_NS),
            68 => Ok(Interrupt::CE_NS),
            70 => Ok(Interrupt::SPINLOCK),
            71 => Ok(Interrupt::HSTIMER0),
            72 => Ok(Interrupt::HSTIMER1),
            73 => Ok(Interrupt::GPADC),
            74 => Ok(Interrupt::THS),
            75 => Ok(Interrupt::TIMER0),
            76 => Ok(Interrupt::TIMER1),
            77 => Ok(Interrupt::LRADC),
            78 => Ok(Interrupt::TPADC),
            79 => Ok(Interrupt::WATCHDOG),
            80 => Ok(Interrupt::IOMMU),
            85 => Ok(Interrupt::GPIOB_NS),
            87 => Ok(Interrupt::GPIOC_NS),
            89 => Ok(Interrupt::GPIOD_NS),
            91 => Ok(Interrupt::GPIOE_NS),
            93 => Ok(Interrupt::GPIOF_NS),
            111 => Ok(Interrupt::CSI_DMA0),
            112 => Ok(Interrupt::CSI_DMA1),
            122 => Ok(Interrupt::CSI_TOP_PKT),
            123 => Ok(Interrupt::TVD),
            140 => Ok(Interrupt::DSP_MBOX_RV_W),
            144 => Ok(Interrupt::RV_MBOX_RV),
            145 => Ok(Interrupt::RV_MBOX_DSP),
            167 => Ok(Interrupt::IR_RX),
            _ => Err(TryFromInterruptError(())),
        }
    }
}