#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
#[doc = "0x00 - This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub cr1: crate::Reg<cr1::CR1_SPEC>,
#[doc = "0x04 - This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub cr2: crate::Reg<cr2::CR2_SPEC>,
_reserved2: [u8; 0x04],
#[doc = "0x0c - This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub fltcr: crate::Reg<fltcr::FLTCR_SPEC>,
#[doc = "0x10 - This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub atcr1: crate::Reg<atcr1::ATCR1_SPEC>,
#[doc = "0x14 - This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub atseedr: crate::Reg<atseedr::ATSEEDR_SPEC>,
#[doc = "0x18 - This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub ator: crate::Reg<ator::ATOR_SPEC>,
_reserved6: [u8; 0x04],
#[doc = "0x20 - This register can be written only when the APB access is secure."]
pub smcr: crate::Reg<smcr::SMCR_SPEC>,
_reserved7: [u8; 0x08],
#[doc = "0x2c - This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub ier: crate::Reg<ier::IER_SPEC>,
#[doc = "0x30 - This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub sr: crate::Reg<sr::SR_SPEC>,
#[doc = "0x34 - TAMP non-secure masked interrupt status register"]
pub misr: crate::Reg<misr::MISR_SPEC>,
#[doc = "0x38 - TAMP secure masked interrupt status register"]
pub smisr: crate::Reg<smisr::SMISR_SPEC>,
#[doc = "0x3c - TAMP status clear register"]
pub scr: crate::Reg<scr::SCR_SPEC>,
#[doc = "0x40 - TAMP monotonic counter register"]
pub countr: crate::Reg<countr::COUNTR_SPEC>,
_reserved13: [u8; 0x0c],
#[doc = "0x50 - TAMP configuration register"]
pub cfgr: crate::Reg<cfgr::CFGR_SPEC>,
_reserved14: [u8; 0xac],
#[doc = "0x100..0x180 - TAMP backup %s register"]
pub bkpr: [crate::Reg<bkpr::BKPR_SPEC>; 32],
_reserved15: [u8; 0x026c],
#[doc = "0x3ec - TAMP hardware configuration register 2"]
pub hwcfgr2: crate::Reg<hwcfgr2::HWCFGR2_SPEC>,
#[doc = "0x3f0 - TAMP hardware configuration register 1"]
pub hwcfgr1: crate::Reg<hwcfgr1::HWCFGR1_SPEC>,
#[doc = "0x3f4 - TAMP version register"]
pub verr: crate::Reg<verr::VERR_SPEC>,
#[doc = "0x3f8 - TAMP identification register"]
pub ipidr: crate::Reg<ipidr::IPIDR_SPEC>,
#[doc = "0x3fc - TAMP size identification register"]
pub sidr: crate::Reg<sidr::SIDR_SPEC>,
}
#[doc = "CR1 register accessor: an alias for `Reg<CR1_SPEC>`"]
pub type CR1 = crate::Reg<cr1::CR1_SPEC>;
#[doc = "This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub mod cr1;
#[doc = "CR2 register accessor: an alias for `Reg<CR2_SPEC>`"]
pub type CR2 = crate::Reg<cr2::CR2_SPEC>;
#[doc = "This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub mod cr2;
#[doc = "FLTCR register accessor: an alias for `Reg<FLTCR_SPEC>`"]
pub type FLTCR = crate::Reg<fltcr::FLTCR_SPEC>;
#[doc = "This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub mod fltcr;
#[doc = "ATCR1 register accessor: an alias for `Reg<ATCR1_SPEC>`"]
pub type ATCR1 = crate::Reg<atcr1::ATCR1_SPEC>;
#[doc = "This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub mod atcr1;
#[doc = "ATSEEDR register accessor: an alias for `Reg<ATSEEDR_SPEC>`"]
pub type ATSEEDR = crate::Reg<atseedr::ATSEEDR_SPEC>;
#[doc = "This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub mod atseedr;
#[doc = "ATOR register accessor: an alias for `Reg<ATOR_SPEC>`"]
pub type ATOR = crate::Reg<ator::ATOR_SPEC>;
#[doc = "This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub mod ator;
#[doc = "SMCR register accessor: an alias for `Reg<SMCR_SPEC>`"]
pub type SMCR = crate::Reg<smcr::SMCR_SPEC>;
#[doc = "This register can be written only when the APB access is secure."]
pub mod smcr;
#[doc = "IER register accessor: an alias for `Reg<IER_SPEC>`"]
pub type IER = crate::Reg<ier::IER_SPEC>;
#[doc = "This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub mod ier;
#[doc = "SR register accessor: an alias for `Reg<SR_SPEC>`"]
pub type SR = crate::Reg<sr::SR_SPEC>;
#[doc = "This register can be protected against non-secure access. Refer to Section51.3.3: TAMP secure protection modes."]
pub mod sr;
#[doc = "MISR register accessor: an alias for `Reg<MISR_SPEC>`"]
pub type MISR = crate::Reg<misr::MISR_SPEC>;
#[doc = "TAMP non-secure masked interrupt status register"]
pub mod misr;
#[doc = "SMISR register accessor: an alias for `Reg<SMISR_SPEC>`"]
pub type SMISR = crate::Reg<smisr::SMISR_SPEC>;
#[doc = "TAMP secure masked interrupt status register"]
pub mod smisr;
#[doc = "SCR register accessor: an alias for `Reg<SCR_SPEC>`"]
pub type SCR = crate::Reg<scr::SCR_SPEC>;
#[doc = "TAMP status clear register"]
pub mod scr;
#[doc = "COUNTR register accessor: an alias for `Reg<COUNTR_SPEC>`"]
pub type COUNTR = crate::Reg<countr::COUNTR_SPEC>;
#[doc = "TAMP monotonic counter register"]
pub mod countr;
#[doc = "CFGR register accessor: an alias for `Reg<CFGR_SPEC>`"]
pub type CFGR = crate::Reg<cfgr::CFGR_SPEC>;
#[doc = "TAMP configuration register"]
pub mod cfgr;
#[doc = "BKPR register accessor: an alias for `Reg<BKPR_SPEC>`"]
pub type BKPR = crate::Reg<bkpr::BKPR_SPEC>;
#[doc = "TAMP backup %s register"]
pub mod bkpr;
#[doc = "HWCFGR2 register accessor: an alias for `Reg<HWCFGR2_SPEC>`"]
pub type HWCFGR2 = crate::Reg<hwcfgr2::HWCFGR2_SPEC>;
#[doc = "TAMP hardware configuration register 2"]
pub mod hwcfgr2;
#[doc = "HWCFGR1 register accessor: an alias for `Reg<HWCFGR1_SPEC>`"]
pub type HWCFGR1 = crate::Reg<hwcfgr1::HWCFGR1_SPEC>;
#[doc = "TAMP hardware configuration register 1"]
pub mod hwcfgr1;
#[doc = "VERR register accessor: an alias for `Reg<VERR_SPEC>`"]
pub type VERR = crate::Reg<verr::VERR_SPEC>;
#[doc = "TAMP version register"]
pub mod verr;
#[doc = "IPIDR register accessor: an alias for `Reg<IPIDR_SPEC>`"]
pub type IPIDR = crate::Reg<ipidr::IPIDR_SPEC>;
#[doc = "TAMP identification register"]
pub mod ipidr;
#[doc = "SIDR register accessor: an alias for `Reg<SIDR_SPEC>`"]
pub type SIDR = crate::Reg<sidr::SIDR_SPEC>;
#[doc = "TAMP size identification register"]
pub mod sidr;