#![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 CR1 {
pub mod TAMP1E {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP2E {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP3E {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP1E {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP2E {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP3E {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP4E {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP5E {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP8E {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod CR2 {
pub mod TAMP1NOER {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP2NOER {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP3NOER {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP1MSK {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP2MSK {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP3MSK {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP1TRG {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP2TRG {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP3TRG {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod FLTCR {
pub mod TAMPFREQ {
pub const offset: u32 = 0;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMPFLT {
pub const offset: u32 = 3;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMPPRCH {
pub const offset: u32 = 5;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMPPUDIS {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ATCR1 {
pub mod TAMP1AM {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP2AM {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP3AM {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ATOSEL1 {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ATOSEL2 {
pub const offset: u32 = 10;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ATOSEL3 {
pub const offset: u32 = 12;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ATCKSEL {
pub const offset: u32 = 16;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ATPER {
pub const offset: u32 = 24;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ATOSHARE {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FLTEN {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ATSEEDR {
pub mod SEED {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ATOR {
pub mod PRNG {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SEEDF {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod INITS {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SMCR {
pub mod BKPRWDPROT {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BKPWDPROT {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMPDPROT {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod IER {
pub mod TAMP1IE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP2IE {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP3IE {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP1IE {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP2IE {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP3IE {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP4IE {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP5IE {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP8IE {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SR {
pub mod TAMP1F {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP2F {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP3F {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP1F {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP2F {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP3F {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP4F {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP5F {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP8F {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod MISR {
pub mod TAMP1MF {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP2MF {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMP3MF {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP1MF {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP2MF {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP3MF {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP4MF {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP5MF {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITAMP8MF {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SMISR {
pub use super::MISR::ITAMP1MF;
pub use super::MISR::ITAMP2MF;
pub use super::MISR::ITAMP3MF;
pub use super::MISR::ITAMP4MF;
pub use super::MISR::ITAMP5MF;
pub use super::MISR::ITAMP8MF;
pub use super::MISR::TAMP1MF;
pub use super::MISR::TAMP2MF;
pub use super::MISR::TAMP3MF;
}
pub mod SCR {
pub mod CTAMP1F {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTAMP2F {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTAMP3F {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CITAMP1F {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CITAMP2F {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CITAMP3F {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CITAMP4F {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CITAMP5F {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CITAMP8F {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod COUNTR {
pub mod COUNT {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod CFGR {
pub mod OUT3_RMP {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod BKP0R {
pub mod BKP {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod BKP1R {
pub use super::BKP0R::BKP;
}
pub mod BKP2R {
pub use super::BKP0R::BKP;
}
pub mod BKP3R {
pub use super::BKP0R::BKP;
}
pub mod BKP4R {
pub use super::BKP0R::BKP;
}
pub mod BKP5R {
pub use super::BKP0R::BKP;
}
pub mod BKP6R {
pub use super::BKP0R::BKP;
}
pub mod BKP7R {
pub use super::BKP0R::BKP;
}
pub mod BKP8R {
pub use super::BKP0R::BKP;
}
pub mod BKP9R {
pub use super::BKP0R::BKP;
}
pub mod BKP10R {
pub use super::BKP0R::BKP;
}
pub mod BKP11R {
pub use super::BKP0R::BKP;
}
pub mod BKP12R {
pub use super::BKP0R::BKP;
}
pub mod BKP13R {
pub use super::BKP0R::BKP;
}
pub mod BKP14R {
pub use super::BKP0R::BKP;
}
pub mod BKP15R {
pub use super::BKP0R::BKP;
}
pub mod BKP16R {
pub use super::BKP0R::BKP;
}
pub mod BKP17R {
pub use super::BKP0R::BKP;
}
pub mod BKP18R {
pub use super::BKP0R::BKP;
}
pub mod BKP19R {
pub use super::BKP0R::BKP;
}
pub mod BKP20R {
pub use super::BKP0R::BKP;
}
pub mod BKP21R {
pub use super::BKP0R::BKP;
}
pub mod BKP22R {
pub use super::BKP0R::BKP;
}
pub mod BKP23R {
pub use super::BKP0R::BKP;
}
pub mod BKP24R {
pub use super::BKP0R::BKP;
}
pub mod BKP25R {
pub use super::BKP0R::BKP;
}
pub mod BKP26R {
pub use super::BKP0R::BKP;
}
pub mod BKP27R {
pub use super::BKP0R::BKP;
}
pub mod BKP28R {
pub use super::BKP0R::BKP;
}
pub mod BKP29R {
pub use super::BKP0R::BKP;
}
pub mod BKP30R {
pub use super::BKP0R::BKP;
}
pub mod BKP31R {
pub use super::BKP0R::BKP;
}
pub mod HWCFGR2 {
pub mod OPTIONREG_OUT {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TRUST_ZONE {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod HWCFGR1 {
pub mod BACKUP_REGS {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TAMPER {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ACTIVE_TAMPER {
pub const offset: u32 = 12;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod INT_TAMPER {
pub const offset: u32 = 16;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod VERR {
pub mod MINREV {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MAJREV {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod IPIDR {
pub mod ID {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SIDR {
pub mod SID {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
#[repr(C)]
pub struct RegisterBlock {
pub CR1: RWRegister<u32>,
pub CR2: RWRegister<u32>,
_reserved1: [u8; 4],
pub FLTCR: RWRegister<u32>,
pub ATCR1: RWRegister<u32>,
pub ATSEEDR: WORegister<u32>,
pub ATOR: RORegister<u32>,
_reserved2: [u8; 4],
pub SMCR: RWRegister<u32>,
_reserved3: [u8; 8],
pub IER: RWRegister<u32>,
pub SR: RORegister<u32>,
pub MISR: RORegister<u32>,
pub SMISR: RORegister<u32>,
pub SCR: WORegister<u32>,
pub COUNTR: RORegister<u32>,
_reserved4: [u8; 12],
pub CFGR: RWRegister<u32>,
_reserved5: [u8; 172],
pub BKP0R: RWRegister<u32>,
pub BKP1R: RWRegister<u32>,
pub BKP2R: RWRegister<u32>,
pub BKP3R: RWRegister<u32>,
pub BKP4R: RWRegister<u32>,
pub BKP5R: RWRegister<u32>,
pub BKP6R: RWRegister<u32>,
pub BKP7R: RWRegister<u32>,
pub BKP8R: RWRegister<u32>,
pub BKP9R: RWRegister<u32>,
pub BKP10R: RWRegister<u32>,
pub BKP11R: RWRegister<u32>,
pub BKP12R: RWRegister<u32>,
pub BKP13R: RWRegister<u32>,
pub BKP14R: RWRegister<u32>,
pub BKP15R: RWRegister<u32>,
pub BKP16R: RWRegister<u32>,
pub BKP17R: RWRegister<u32>,
pub BKP18R: RWRegister<u32>,
pub BKP19R: RWRegister<u32>,
pub BKP20R: RWRegister<u32>,
pub BKP21R: RWRegister<u32>,
pub BKP22R: RWRegister<u32>,
pub BKP23R: RWRegister<u32>,
pub BKP24R: RWRegister<u32>,
pub BKP25R: RWRegister<u32>,
pub BKP26R: RWRegister<u32>,
pub BKP27R: RWRegister<u32>,
pub BKP28R: RWRegister<u32>,
pub BKP29R: RWRegister<u32>,
pub BKP30R: RWRegister<u32>,
pub BKP31R: RWRegister<u32>,
_reserved6: [u8; 620],
pub HWCFGR2: RORegister<u32>,
pub HWCFGR1: RORegister<u32>,
pub VERR: RORegister<u32>,
pub IPIDR: RORegister<u32>,
pub SIDR: RORegister<u32>,
}
pub struct ResetValues {
pub CR1: u32,
pub CR2: u32,
pub FLTCR: u32,
pub ATCR1: u32,
pub ATSEEDR: u32,
pub ATOR: u32,
pub SMCR: u32,
pub IER: u32,
pub SR: u32,
pub MISR: u32,
pub SMISR: u32,
pub SCR: u32,
pub COUNTR: u32,
pub CFGR: u32,
pub BKP0R: u32,
pub BKP1R: u32,
pub BKP2R: u32,
pub BKP3R: u32,
pub BKP4R: u32,
pub BKP5R: u32,
pub BKP6R: u32,
pub BKP7R: u32,
pub BKP8R: u32,
pub BKP9R: u32,
pub BKP10R: u32,
pub BKP11R: u32,
pub BKP12R: u32,
pub BKP13R: u32,
pub BKP14R: u32,
pub BKP15R: u32,
pub BKP16R: u32,
pub BKP17R: u32,
pub BKP18R: u32,
pub BKP19R: u32,
pub BKP20R: u32,
pub BKP21R: u32,
pub BKP22R: u32,
pub BKP23R: u32,
pub BKP24R: u32,
pub BKP25R: u32,
pub BKP26R: u32,
pub BKP27R: u32,
pub BKP28R: u32,
pub BKP29R: u32,
pub BKP30R: u32,
pub BKP31R: u32,
pub HWCFGR2: u32,
pub HWCFGR1: u32,
pub VERR: u32,
pub IPIDR: u32,
pub SIDR: 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 {}