efm32pg22-pac 0.1.4

Peripheral access API for EFM32PG22 MCU (generated using svd2rust)
Documentation
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - No Description"]
    pub rngctrl: RNGCTRL,
    #[doc = "0x04 - Number of 32 bits words of random available in the FIFO. Writing to this register clears the FIFO full interrupt"]
    pub fifolevel: FIFOLEVEL,
    #[doc = "0x08 - FIFO level at which the rings are restarted when in the FIFOFull_Off state, expressed in number of 128bit blocks"]
    pub fifothresh: FIFOTHRESH,
    #[doc = "0x0c - Maximum number of 32 bits words that can be stored in the FIFO: 2^g_fifodepth"]
    pub fifodepth: FIFODEPTH,
    #[doc = "0x10 - This set of registers bits form the 128-bit AES key used for conditioning function. The first byte (MSB of 128-bit word) is at address 0x0010, the second byte at address 0x0011..."]
    pub key0: KEY0,
    #[doc = "0x14 - This set of registers bits form the 128-bit AES key used for conditioning function. The first byte (MSB of 128-bit word) is at address 0x0010, the second byte at address 0x0011..."]
    pub key1: KEY1,
    #[doc = "0x18 - This set of registers bits form the 128-bit AES key used for conditioning function. The first byte (MSB of 128-bit word) is at address 0x0010, the second byte at address 0x0011..."]
    pub key2: KEY2,
    #[doc = "0x1c - This set of registers bits form the 128-bit AES key used for conditioning function. The first byte (MSB of 128-bit word) is at address 0x0010, the second byte at address 0x0011..."]
    pub key3: KEY3,
    #[doc = "0x20 - This register is used to feed known data to the conditioning function or to the continuous tests. See manual"]
    pub testdata: TESTDATA,
    _reserved9: [u8; 0x0c],
    #[doc = "0x30 - No Description"]
    pub rngstatus: RNGSTATUS,
    #[doc = "0x34 - No Description"]
    pub initwaitval: INITWAITVAL,
    _reserved11: [u8; 0x08],
    #[doc = "0x40 - Number of clk cycles to wait before stopping the rings after the FIFO is full"]
    pub swofftmrval: SWOFFTMRVAL,
    #[doc = "0x44 - Sample clock divider. The frequency at which the outputs of the rings are sampled is given by Fs = Fpclk/(ClkDiv + 1)"]
    pub clkdiv: CLKDIV,
    #[doc = "0x48 - No Description"]
    pub ais31conf0: AIS31CONF0,
    #[doc = "0x4c - No Description"]
    pub ais31conf1: AIS31CONF1,
    #[doc = "0x50 - No Description"]
    pub ais31conf2: AIS31CONF2,
    #[doc = "0x54 - This register is used to obtain diagnostic information about the AIS31 start-up and online tests when g_AIS31=True. Writing to this register clears all fields"]
    pub ais31status: AIS31STATUS,
}
#[doc = "RNGCTRL (rw) register accessor: an alias for `Reg<RNGCTRL_SPEC>`"]
pub type RNGCTRL = crate::Reg<rngctrl::RNGCTRL_SPEC>;
#[doc = "No Description"]
pub mod rngctrl;
#[doc = "FIFOLEVEL (r) register accessor: an alias for `Reg<FIFOLEVEL_SPEC>`"]
pub type FIFOLEVEL = crate::Reg<fifolevel::FIFOLEVEL_SPEC>;
#[doc = "Number of 32 bits words of random available in the FIFO. Writing to this register clears the FIFO full interrupt"]
pub mod fifolevel;
#[doc = "FIFOTHRESH (r) register accessor: an alias for `Reg<FIFOTHRESH_SPEC>`"]
pub type FIFOTHRESH = crate::Reg<fifothresh::FIFOTHRESH_SPEC>;
#[doc = "FIFO level at which the rings are restarted when in the FIFOFull_Off state, expressed in number of 128bit blocks"]
pub mod fifothresh;
#[doc = "FIFODEPTH (r) register accessor: an alias for `Reg<FIFODEPTH_SPEC>`"]
pub type FIFODEPTH = crate::Reg<fifodepth::FIFODEPTH_SPEC>;
#[doc = "Maximum number of 32 bits words that can be stored in the FIFO: 2^g_fifodepth"]
pub mod fifodepth;
#[doc = "KEY0 (rw) register accessor: an alias for `Reg<KEY0_SPEC>`"]
pub type KEY0 = crate::Reg<key0::KEY0_SPEC>;
#[doc = "This set of registers bits form the 128-bit AES key used for conditioning function. The first byte (MSB of 128-bit word) is at address 0x0010, the second byte at address 0x0011..."]
pub mod key0;
#[doc = "KEY1 (rw) register accessor: an alias for `Reg<KEY1_SPEC>`"]
pub type KEY1 = crate::Reg<key1::KEY1_SPEC>;
#[doc = "This set of registers bits form the 128-bit AES key used for conditioning function. The first byte (MSB of 128-bit word) is at address 0x0010, the second byte at address 0x0011..."]
pub mod key1;
#[doc = "KEY2 (rw) register accessor: an alias for `Reg<KEY2_SPEC>`"]
pub type KEY2 = crate::Reg<key2::KEY2_SPEC>;
#[doc = "This set of registers bits form the 128-bit AES key used for conditioning function. The first byte (MSB of 128-bit word) is at address 0x0010, the second byte at address 0x0011..."]
pub mod key2;
#[doc = "KEY3 (rw) register accessor: an alias for `Reg<KEY3_SPEC>`"]
pub type KEY3 = crate::Reg<key3::KEY3_SPEC>;
#[doc = "This set of registers bits form the 128-bit AES key used for conditioning function. The first byte (MSB of 128-bit word) is at address 0x0010, the second byte at address 0x0011..."]
pub mod key3;
#[doc = "TESTDATA (w) register accessor: an alias for `Reg<TESTDATA_SPEC>`"]
pub type TESTDATA = crate::Reg<testdata::TESTDATA_SPEC>;
#[doc = "This register is used to feed known data to the conditioning function or to the continuous tests. See manual"]
pub mod testdata;
#[doc = "RNGSTATUS (rw) register accessor: an alias for `Reg<RNGSTATUS_SPEC>`"]
pub type RNGSTATUS = crate::Reg<rngstatus::RNGSTATUS_SPEC>;
#[doc = "No Description"]
pub mod rngstatus;
#[doc = "INITWAITVAL (rw) register accessor: an alias for `Reg<INITWAITVAL_SPEC>`"]
pub type INITWAITVAL = crate::Reg<initwaitval::INITWAITVAL_SPEC>;
#[doc = "No Description"]
pub mod initwaitval;
#[doc = "SWOFFTMRVAL (rw) register accessor: an alias for `Reg<SWOFFTMRVAL_SPEC>`"]
pub type SWOFFTMRVAL = crate::Reg<swofftmrval::SWOFFTMRVAL_SPEC>;
#[doc = "Number of clk cycles to wait before stopping the rings after the FIFO is full"]
pub mod swofftmrval;
#[doc = "CLKDIV (rw) register accessor: an alias for `Reg<CLKDIV_SPEC>`"]
pub type CLKDIV = crate::Reg<clkdiv::CLKDIV_SPEC>;
#[doc = "Sample clock divider. The frequency at which the outputs of the rings are sampled is given by Fs = Fpclk/(ClkDiv + 1)"]
pub mod clkdiv;
#[doc = "AIS31CONF0 (rw) register accessor: an alias for `Reg<AIS31CONF0_SPEC>`"]
pub type AIS31CONF0 = crate::Reg<ais31conf0::AIS31CONF0_SPEC>;
#[doc = "No Description"]
pub mod ais31conf0;
#[doc = "AIS31CONF1 (rw) register accessor: an alias for `Reg<AIS31CONF1_SPEC>`"]
pub type AIS31CONF1 = crate::Reg<ais31conf1::AIS31CONF1_SPEC>;
#[doc = "No Description"]
pub mod ais31conf1;
#[doc = "AIS31CONF2 (rw) register accessor: an alias for `Reg<AIS31CONF2_SPEC>`"]
pub type AIS31CONF2 = crate::Reg<ais31conf2::AIS31CONF2_SPEC>;
#[doc = "No Description"]
pub mod ais31conf2;
#[doc = "AIS31STATUS (rw) register accessor: an alias for `Reg<AIS31STATUS_SPEC>`"]
pub type AIS31STATUS = crate::Reg<ais31status::AIS31STATUS_SPEC>;
#[doc = "This register is used to obtain diagnostic information about the AIS31 start-up and online tests when g_AIS31=True. Writing to this register clears all fields"]
pub mod ais31status;