#[repr(C)]
#[derive(Debug)]
pub struct RegisterBlock {
cr: CR,
sr: SR,
iasr: IASR,
iacr: IACR,
iaier: IAIER,
_reserved5: [u8; 0x08],
privcfgr: PRIVCFGR,
iaesr: IAESR,
iaddr: IADDR,
_reserved8: [u8; 0x18],
reg: [REG; 4],
_reserved9: [u8; 0x0180],
mkeyr: [MKEYR; 4],
_reserved10: [u8; 0x10],
fmkeyr: [FMKEYR; 4],
_reserved11: [u8; 0x10],
cc: [CC; 2],
}
impl RegisterBlock {
#[inline(always)]
pub const fn cr(&self) -> &CR {
&self.cr
}
#[inline(always)]
pub const fn sr(&self) -> &SR {
&self.sr
}
#[inline(always)]
pub const fn iasr(&self) -> &IASR {
&self.iasr
}
#[inline(always)]
pub const fn iacr(&self) -> &IACR {
&self.iacr
}
#[inline(always)]
pub const fn iaier(&self) -> &IAIER {
&self.iaier
}
#[inline(always)]
pub const fn privcfgr(&self) -> &PRIVCFGR {
&self.privcfgr
}
#[inline(always)]
pub const fn iaesr(&self) -> &IAESR {
&self.iaesr
}
#[inline(always)]
pub const fn iaddr(&self) -> &IADDR {
&self.iaddr
}
#[inline(always)]
pub const fn reg(&self, n: usize) -> ® {
&self.reg[n]
}
#[inline(always)]
pub fn reg_iter(&self) -> impl Iterator<Item = ®> {
self.reg.iter()
}
#[inline(always)]
pub const fn reg1(&self) -> ® {
self.reg(0)
}
#[inline(always)]
pub const fn reg2(&self) -> ® {
self.reg(1)
}
#[inline(always)]
pub const fn reg3(&self) -> ® {
self.reg(2)
}
#[inline(always)]
pub const fn reg4(&self) -> ® {
self.reg(3)
}
#[inline(always)]
pub const fn mkeyr(&self, n: usize) -> &MKEYR {
&self.mkeyr[n]
}
#[inline(always)]
pub fn mkeyr_iter(&self) -> impl Iterator<Item = &MKEYR> {
self.mkeyr.iter()
}
#[inline(always)]
pub const fn fmkeyr(&self, n: usize) -> &FMKEYR {
&self.fmkeyr[n]
}
#[inline(always)]
pub fn fmkeyr_iter(&self) -> impl Iterator<Item = &FMKEYR> {
self.fmkeyr.iter()
}
#[inline(always)]
pub const fn cc(&self, n: usize) -> &CC {
&self.cc[n]
}
#[inline(always)]
pub fn cc_iter(&self) -> impl Iterator<Item = &CC> {
self.cc.iter()
}
#[inline(always)]
pub const fn cc1(&self) -> &CC {
self.cc(0)
}
#[inline(always)]
pub const fn cc2(&self) -> &CC {
self.cc(1)
}
}
pub type CR = crate::Reg<cr::CRrs>;
pub mod cr;
pub type SR = crate::Reg<sr::SRrs>;
pub mod sr;
pub type IASR = crate::Reg<iasr::IASRrs>;
pub mod iasr;
pub type IACR = crate::Reg<iacr::IACRrs>;
pub mod iacr;
pub type IAIER = crate::Reg<iaier::IAIERrs>;
pub mod iaier;
pub type PRIVCFGR = crate::Reg<privcfgr::PRIVCFGRrs>;
pub mod privcfgr;
pub type IAESR = crate::Reg<iaesr::IAESRrs>;
pub mod iaesr;
pub type IADDR = crate::Reg<iaddr::IADDRrs>;
pub mod iaddr;
pub use self::reg::REG;
pub mod reg;
pub type MKEYR = crate::Reg<mkeyr::MKEYRrs>;
pub mod mkeyr;
pub type FMKEYR = crate::Reg<fmkeyr::FMKEYRrs>;
pub mod fmkeyr;
pub use self::cc::CC;
pub mod cc;