#![allow(non_snake_case, non_upper_case_globals)]
#![allow(non_camel_case_types)]
use crate::{RORegister, RWRegister, WORegister};
#[cfg(not(feature = "nosync"))]
use core::marker::PhantomData;
pub mod CTRL {}
pub mod CYCCNT {}
pub mod CPICNT {}
pub mod EXCCNT {}
pub mod SLEEPCNT {}
pub mod LSUCNT {}
pub mod FOLDCNT {}
pub mod PCSR {}
pub mod COMP0 {}
pub mod MASK0 {}
pub mod FUNCTION0 {}
pub mod COMP1 {}
pub mod MASK1 {}
pub mod FUNCTION1 {}
pub mod COMP2 {}
pub mod MASK2 {}
pub mod FUNCTION2 {}
pub mod COMP3 {}
pub mod MASK3 {}
pub mod FUNCTION3 {}
pub mod COMP4 {}
pub mod MASK4 {}
pub mod FUNCTION4 {}
pub mod COMP5 {}
pub mod MASK5 {}
pub mod FUNCTION5 {}
pub mod COMP6 {}
pub mod MASK6 {}
pub mod FUNCTION6 {}
pub mod COMP7 {}
pub mod MASK7 {}
pub mod FUNCTION7 {}
pub mod COMP8 {}
pub mod MASK8 {}
pub mod FUNCTION8 {}
pub mod COMP9 {}
pub mod MASK9 {}
pub mod FUNCTION9 {}
pub mod COMP10 {}
pub mod MASK10 {}
pub mod FUNCTION10 {}
pub mod COMP11 {}
pub mod MASK11 {}
pub mod FUNCTION11 {}
pub mod COMP12 {}
pub mod MASK12 {}
pub mod FUNCTION12 {}
pub mod COMP13 {}
pub mod MASK13 {}
pub mod FUNCTION13 {}
pub mod COMP14 {}
pub mod MASK14 {}
pub mod FUNCTION14 {}
pub mod COMP15 {}
pub mod MASK15 {}
pub mod FUNCTION15 {}
pub mod LSR {}
pub mod LAR {}
#[repr(C)]
pub struct RegisterBlock {
pub CTRL: RWRegister<u32>,
pub CYCCNT: RWRegister<u32>,
pub CPICNT: RWRegister<u32>,
pub EXCCNT: RWRegister<u32>,
pub SLEEPCNT: RWRegister<u32>,
pub LSUCNT: RWRegister<u32>,
pub FOLDCNT: RWRegister<u32>,
pub PCSR: RORegister<u32>,
pub COMP0: RWRegister<u32>,
pub MASK0: RWRegister<u32>,
pub FUNCTION0: RWRegister<u32>,
_reserved1: [u8; 4],
pub COMP1: RWRegister<u32>,
pub MASK1: RWRegister<u32>,
pub FUNCTION1: RWRegister<u32>,
_reserved2: [u8; 4],
pub COMP2: RWRegister<u32>,
pub MASK2: RWRegister<u32>,
pub FUNCTION2: RWRegister<u32>,
_reserved3: [u8; 4],
pub COMP3: RWRegister<u32>,
pub MASK3: RWRegister<u32>,
pub FUNCTION3: RWRegister<u32>,
_reserved4: [u8; 4],
pub COMP4: RWRegister<u32>,
pub MASK4: RWRegister<u32>,
pub FUNCTION4: RWRegister<u32>,
_reserved5: [u8; 4],
pub COMP5: RWRegister<u32>,
pub MASK5: RWRegister<u32>,
pub FUNCTION5: RWRegister<u32>,
_reserved6: [u8; 4],
pub COMP6: RWRegister<u32>,
pub MASK6: RWRegister<u32>,
pub FUNCTION6: RWRegister<u32>,
_reserved7: [u8; 4],
pub COMP7: RWRegister<u32>,
pub MASK7: RWRegister<u32>,
pub FUNCTION7: RWRegister<u32>,
_reserved8: [u8; 4],
pub COMP8: RWRegister<u32>,
pub MASK8: RWRegister<u32>,
pub FUNCTION8: RWRegister<u32>,
_reserved9: [u8; 4],
pub COMP9: RWRegister<u32>,
pub MASK9: RWRegister<u32>,
pub FUNCTION9: RWRegister<u32>,
_reserved10: [u8; 4],
pub COMP10: RWRegister<u32>,
pub MASK10: RWRegister<u32>,
pub FUNCTION10: RWRegister<u32>,
_reserved11: [u8; 4],
pub COMP11: RWRegister<u32>,
pub MASK11: RWRegister<u32>,
pub FUNCTION11: RWRegister<u32>,
_reserved12: [u8; 4],
pub COMP12: RWRegister<u32>,
pub MASK12: RWRegister<u32>,
pub FUNCTION12: RWRegister<u32>,
_reserved13: [u8; 4],
pub COMP13: RWRegister<u32>,
pub MASK13: RWRegister<u32>,
pub FUNCTION13: RWRegister<u32>,
_reserved14: [u8; 4],
pub COMP14: RWRegister<u32>,
pub MASK14: RWRegister<u32>,
pub FUNCTION14: RWRegister<u32>,
_reserved15: [u8; 4],
pub COMP15: RWRegister<u32>,
pub MASK15: RWRegister<u32>,
pub FUNCTION15: RWRegister<u32>,
_reserved16: [u8; 3732],
pub LAR: WORegister<u32>,
pub LSR: RORegister<u32>,
}
pub struct ResetValues {
pub CTRL: u32,
pub CYCCNT: u32,
pub CPICNT: u32,
pub EXCCNT: u32,
pub SLEEPCNT: u32,
pub LSUCNT: u32,
pub FOLDCNT: u32,
pub PCSR: u32,
pub COMP0: u32,
pub MASK0: u32,
pub FUNCTION0: u32,
pub COMP1: u32,
pub MASK1: u32,
pub FUNCTION1: u32,
pub COMP2: u32,
pub MASK2: u32,
pub FUNCTION2: u32,
pub COMP3: u32,
pub MASK3: u32,
pub FUNCTION3: u32,
pub COMP4: u32,
pub MASK4: u32,
pub FUNCTION4: u32,
pub COMP5: u32,
pub MASK5: u32,
pub FUNCTION5: u32,
pub COMP6: u32,
pub MASK6: u32,
pub FUNCTION6: u32,
pub COMP7: u32,
pub MASK7: u32,
pub FUNCTION7: u32,
pub COMP8: u32,
pub MASK8: u32,
pub FUNCTION8: u32,
pub COMP9: u32,
pub MASK9: u32,
pub FUNCTION9: u32,
pub COMP10: u32,
pub MASK10: u32,
pub FUNCTION10: u32,
pub COMP11: u32,
pub MASK11: u32,
pub FUNCTION11: u32,
pub COMP12: u32,
pub MASK12: u32,
pub FUNCTION12: u32,
pub COMP13: u32,
pub MASK13: u32,
pub FUNCTION13: u32,
pub COMP14: u32,
pub MASK14: u32,
pub FUNCTION14: u32,
pub COMP15: u32,
pub MASK15: u32,
pub FUNCTION15: u32,
pub LAR: u32,
pub LSR: 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 {}