cec1736-pac 0.0.2

Peripheral access API for Microchip CEC1736 generated from official SVD file
Documentation
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - SPI Monitor Control Register"]
    pub mntr_ctrl: MNTR_CTRL,
    #[doc = "0x04 - SPI Configuration Status Register"]
    pub cfg_sts: CFG_STS,
    #[doc = "0x08 - SPI Monitor Configuration 2 Register"]
    pub spicfg2: SPICFG2,
    #[doc = "0x0c - Violation IRQ Control/Status Register"]
    pub vioctrlsts: VIOCTRLSTS,
    #[doc = "0x10 - SPI Intervention Status Register"]
    pub ivn_sts: IVN_STS,
    #[doc = "0x11 - SPI Intervention Recovery Register"]
    pub ivn_rec: IVN_REC,
    _reserved6: [u8; 0x02],
    #[doc = "0x14 - Violation Log Register"]
    pub vio_sts: VIO_STS,
    #[doc = "0x18 - Error Byte Address Register"]
    pub err_addr: ERR_ADDR,
    _reserved8: [u8; 0x04],
    #[doc = "0x20..0x120 - FLASH_SET\\[%s\\]"]
    pub flash_set: [FLASH_SET; 2],
    #[doc = "0x120..0x1a0 - RN_TM\\[%s\\]"]
    pub rn_tm: [RN_TM; 16],
    _reserved10: [u8; 0x30],
    #[doc = "0x1d0 - Match Monitor Control/Status Register"]
    pub mtmon_ctrlsts: MTMON_CTRLSTS,
    #[doc = "0x1d4 - Match Monitor Enable/Mode Register"]
    pub mtmon_enmd: MTMON_ENMD,
    #[doc = "0x1d8 - Match Fetch Timeout Control Register"]
    pub mtmon_tctrl: MTMON_TCTRL,
    _reserved13: [u8; 0x04],
    #[doc = "0x1e0..0x240 - MT_MON\\[%s\\]"]
    pub mt_mon: [MT_MON; 8],
    #[doc = "0x240 - Match Monitor Violation Log Register"]
    pub mtmon_viosts: MTMON_VIOSTS,
    #[doc = "0x244 - Match Monitor Violation Address Register"]
    pub mtmon_vioaddr: MTMON_VIOADDR,
    _reserved16: [u8; 0x08],
    #[doc = "0x250 - Loadtime (Hash) IRQ Aggregation Register"]
    pub ltmon_aggr: LTMON_AGGR,
    #[doc = "0x254..0x314 - LT_MON\\[%s\\]"]
    pub lt_mon: [LT_MON; 8],
    #[doc = "0x314 - Load Monitor Control/Status Register"]
    pub ltmon_ctrlsts: LTMON_CTRLSTS,
}
#[doc = "MNTR_CTRL (rw) register accessor: an alias for `Reg<MNTR_CTRL_SPEC>`"]
pub type MNTR_CTRL = crate::Reg<mntr_ctrl::MNTR_CTRL_SPEC>;
#[doc = "SPI Monitor Control Register"]
pub mod mntr_ctrl;
#[doc = "CFG_STS (rw) register accessor: an alias for `Reg<CFG_STS_SPEC>`"]
pub type CFG_STS = crate::Reg<cfg_sts::CFG_STS_SPEC>;
#[doc = "SPI Configuration Status Register"]
pub mod cfg_sts;
#[doc = "SPICFG2 (rw) register accessor: an alias for `Reg<SPICFG2_SPEC>`"]
pub type SPICFG2 = crate::Reg<spicfg2::SPICFG2_SPEC>;
#[doc = "SPI Monitor Configuration 2 Register"]
pub mod spicfg2;
#[doc = "VIOCTRLSTS (rw) register accessor: an alias for `Reg<VIOCTRLSTS_SPEC>`"]
pub type VIOCTRLSTS = crate::Reg<vioctrlsts::VIOCTRLSTS_SPEC>;
#[doc = "Violation IRQ Control/Status Register"]
pub mod vioctrlsts;
#[doc = "IVN_STS (r) register accessor: an alias for `Reg<IVN_STS_SPEC>`"]
pub type IVN_STS = crate::Reg<ivn_sts::IVN_STS_SPEC>;
#[doc = "SPI Intervention Status Register"]
pub mod ivn_sts;
#[doc = "IVN_REC (w) register accessor: an alias for `Reg<IVN_REC_SPEC>`"]
pub type IVN_REC = crate::Reg<ivn_rec::IVN_REC_SPEC>;
#[doc = "SPI Intervention Recovery Register"]
pub mod ivn_rec;
#[doc = "VIO_STS (rw) register accessor: an alias for `Reg<VIO_STS_SPEC>`"]
pub type VIO_STS = crate::Reg<vio_sts::VIO_STS_SPEC>;
#[doc = "Violation Log Register"]
pub mod vio_sts;
#[doc = "ERR_ADDR (r) register accessor: an alias for `Reg<ERR_ADDR_SPEC>`"]
pub type ERR_ADDR = crate::Reg<err_addr::ERR_ADDR_SPEC>;
#[doc = "Error Byte Address Register"]
pub mod err_addr;
#[doc = "FLASH_SET\\[%s\\]"]
pub use flash_set::FLASH_SET;
#[doc = r"Cluster"]
#[doc = "FLASH_SET\\[%s\\]"]
pub mod flash_set;
#[doc = "RN_TM\\[%s\\]"]
pub use rn_tm::RN_TM;
#[doc = r"Cluster"]
#[doc = "RN_TM\\[%s\\]"]
pub mod rn_tm;
#[doc = "MTMON_CTRLSTS (rw) register accessor: an alias for `Reg<MTMON_CTRLSTS_SPEC>`"]
pub type MTMON_CTRLSTS = crate::Reg<mtmon_ctrlsts::MTMON_CTRLSTS_SPEC>;
#[doc = "Match Monitor Control/Status Register"]
pub mod mtmon_ctrlsts;
#[doc = "MTMON_ENMD (rw) register accessor: an alias for `Reg<MTMON_ENMD_SPEC>`"]
pub type MTMON_ENMD = crate::Reg<mtmon_enmd::MTMON_ENMD_SPEC>;
#[doc = "Match Monitor Enable/Mode Register"]
pub mod mtmon_enmd;
#[doc = "MTMON_TCTRL (rw) register accessor: an alias for `Reg<MTMON_TCTRL_SPEC>`"]
pub type MTMON_TCTRL = crate::Reg<mtmon_tctrl::MTMON_TCTRL_SPEC>;
#[doc = "Match Fetch Timeout Control Register"]
pub mod mtmon_tctrl;
#[doc = "MT_MON\\[%s\\]"]
pub use mt_mon::MT_MON;
#[doc = r"Cluster"]
#[doc = "MT_MON\\[%s\\]"]
pub mod mt_mon;
#[doc = "MTMON_VIOSTS (rw) register accessor: an alias for `Reg<MTMON_VIOSTS_SPEC>`"]
pub type MTMON_VIOSTS = crate::Reg<mtmon_viosts::MTMON_VIOSTS_SPEC>;
#[doc = "Match Monitor Violation Log Register"]
pub mod mtmon_viosts;
#[doc = "MTMON_VIOADDR (r) register accessor: an alias for `Reg<MTMON_VIOADDR_SPEC>`"]
pub type MTMON_VIOADDR = crate::Reg<mtmon_vioaddr::MTMON_VIOADDR_SPEC>;
#[doc = "Match Monitor Violation Address Register"]
pub mod mtmon_vioaddr;
#[doc = "LTMON_AGGR (rw) register accessor: an alias for `Reg<LTMON_AGGR_SPEC>`"]
pub type LTMON_AGGR = crate::Reg<ltmon_aggr::LTMON_AGGR_SPEC>;
#[doc = "Loadtime (Hash) IRQ Aggregation Register"]
pub mod ltmon_aggr;
#[doc = "LT_MON\\[%s\\]"]
pub use lt_mon::LT_MON;
#[doc = r"Cluster"]
#[doc = "LT_MON\\[%s\\]"]
pub mod lt_mon;
#[doc = "LTMON_CTRLSTS (rw) register accessor: an alias for `Reg<LTMON_CTRLSTS_SPEC>`"]
pub type LTMON_CTRLSTS = crate::Reg<ltmon_ctrlsts::LTMON_CTRLSTS_SPEC>;
#[doc = "Load Monitor Control/Status Register"]
pub mod ltmon_ctrlsts;