#![allow(non_snake_case, non_upper_case_globals)]
#![allow(non_camel_case_types)]
use crate::{RORegister, RWRegister};
#[cfg(not(feature = "nosync"))]
use core::marker::PhantomData;
pub mod ISER0 {
pub mod SETENA {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ISER1 {
pub use super::ISER0::SETENA;
}
pub mod ISER2 {
pub use super::ISER0::SETENA;
}
pub mod ICER0 {
pub mod CLRENA {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ICER1 {
pub use super::ICER0::CLRENA;
}
pub mod ICER2 {
pub use super::ICER0::CLRENA;
}
pub mod ISPR0 {
pub mod SETPEND {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ISPR1 {
pub use super::ISPR0::SETPEND;
}
pub mod ISPR2 {
pub use super::ISPR0::SETPEND;
}
pub mod ICPR0 {
pub mod CLRPEND {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ICPR1 {
pub use super::ICPR0::CLRPEND;
}
pub mod ICPR2 {
pub use super::ICPR0::CLRPEND;
}
pub mod IABR0 {
pub mod ACTIVE {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod IABR1 {
pub use super::IABR0::ACTIVE;
}
pub mod IABR2 {
pub use super::IABR0::ACTIVE;
}
pub mod IPR0 {
pub mod IPR_N0 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IPR_N1 {
pub const offset: u32 = 8;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IPR_N2 {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IPR_N3 {
pub const offset: u32 = 24;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod IPR1 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR2 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR3 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR4 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR5 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR6 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR7 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR8 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR9 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR10 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR11 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR12 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR13 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR14 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR15 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR16 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR17 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR18 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR19 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
pub mod IPR20 {
pub use super::IPR0::IPR_N0;
pub use super::IPR0::IPR_N1;
pub use super::IPR0::IPR_N2;
pub use super::IPR0::IPR_N3;
}
#[repr(C)]
pub struct RegisterBlock {
pub ISER0: RWRegister<u32>,
pub ISER1: RWRegister<u32>,
pub ISER2: RWRegister<u32>,
_reserved1: [u32; 29],
pub ICER0: RWRegister<u32>,
pub ICER1: RWRegister<u32>,
pub ICER2: RWRegister<u32>,
_reserved2: [u32; 29],
pub ISPR0: RWRegister<u32>,
pub ISPR1: RWRegister<u32>,
pub ISPR2: RWRegister<u32>,
_reserved3: [u32; 29],
pub ICPR0: RWRegister<u32>,
pub ICPR1: RWRegister<u32>,
pub ICPR2: RWRegister<u32>,
_reserved4: [u32; 29],
pub IABR0: RORegister<u32>,
pub IABR1: RORegister<u32>,
pub IABR2: RORegister<u32>,
_reserved5: [u32; 61],
pub IPR0: RWRegister<u32>,
pub IPR1: RWRegister<u32>,
pub IPR2: RWRegister<u32>,
pub IPR3: RWRegister<u32>,
pub IPR4: RWRegister<u32>,
pub IPR5: RWRegister<u32>,
pub IPR6: RWRegister<u32>,
pub IPR7: RWRegister<u32>,
pub IPR8: RWRegister<u32>,
pub IPR9: RWRegister<u32>,
pub IPR10: RWRegister<u32>,
pub IPR11: RWRegister<u32>,
pub IPR12: RWRegister<u32>,
pub IPR13: RWRegister<u32>,
pub IPR14: RWRegister<u32>,
pub IPR15: RWRegister<u32>,
pub IPR16: RWRegister<u32>,
pub IPR17: RWRegister<u32>,
pub IPR18: RWRegister<u32>,
pub IPR19: RWRegister<u32>,
pub IPR20: RWRegister<u32>,
}
pub struct ResetValues {
pub ISER0: u32,
pub ISER1: u32,
pub ISER2: u32,
pub ICER0: u32,
pub ICER1: u32,
pub ICER2: u32,
pub ISPR0: u32,
pub ISPR1: u32,
pub ISPR2: u32,
pub ICPR0: u32,
pub ICPR1: u32,
pub ICPR2: u32,
pub IABR0: u32,
pub IABR1: u32,
pub IABR2: u32,
pub IPR0: u32,
pub IPR1: u32,
pub IPR2: u32,
pub IPR3: u32,
pub IPR4: u32,
pub IPR5: u32,
pub IPR6: u32,
pub IPR7: u32,
pub IPR8: u32,
pub IPR9: u32,
pub IPR10: u32,
pub IPR11: u32,
pub IPR12: u32,
pub IPR13: u32,
pub IPR14: u32,
pub IPR15: u32,
pub IPR16: u32,
pub IPR17: u32,
pub IPR18: u32,
pub IPR19: u32,
pub IPR20: u32,
}
#[cfg(not(feature = "nosync"))]
pub struct Instance {
pub(crate) addr: u32,
pub(crate) _marker: PhantomData<*const RegisterBlock>,
}
#[cfg(not(feature = "nosync"))]
impl ::core::ops::Deref for Instance {
type Target = RegisterBlock;
#[inline(always)]
fn deref(&self) -> &RegisterBlock {
unsafe { &*(self.addr as *const _) }
}
}
#[cfg(feature = "rtic")]
unsafe impl Send for Instance {}