#[doc = r"Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - Control Register"] pub cr: CR, #[doc = "0x04 - Master Mode Register"] pub mmr: MMR, #[doc = "0x08 - Slave Mode Register"] pub smr: SMR, #[doc = "0x0c - Internal Address Register"] pub iadr: IADR, #[doc = "0x10 - Clock Waveform Generator Register"] pub cwgr: CWGR, _reserved5: [u8; 0x0c], #[doc = "0x20 - Status Register"] pub sr: SR, #[doc = "0x24 - Interrupt Enable Register"] pub ier: IER, #[doc = "0x28 - Interrupt Disable Register"] pub idr: IDR, #[doc = "0x2c - Interrupt Mask Register"] pub imr: IMR, #[doc = "0x30 - Receive Holding Register"] pub rhr: RHR, #[doc = "0x34 - Transmit Holding Register"] pub thr: THR, #[doc = "0x38 - SMBus Timing Register"] pub smbtr: SMBTR, _reserved12: [u8; 0x08], #[doc = "0x44 - Filter Register"] pub filtr: FILTR, _reserved13: [u8; 0x04], #[doc = "0x4c - SleepWalking Matching Register"] pub swmr: SWMR, _reserved14: [u8; 0x94], #[doc = "0xe4 - Write Protection Mode Register"] pub wpmr: WPMR, #[doc = "0xe8 - Write Protection Status Register"] pub wpsr: WPSR, } #[doc = "CR (w) register accessor: an alias for `Reg`"] pub type CR = crate::Reg; #[doc = "Control Register"] pub mod cr; #[doc = "MMR (rw) register accessor: an alias for `Reg`"] pub type MMR = crate::Reg; #[doc = "Master Mode Register"] pub mod mmr; #[doc = "SMR (rw) register accessor: an alias for `Reg`"] pub type SMR = crate::Reg; #[doc = "Slave Mode Register"] pub mod smr; #[doc = "IADR (rw) register accessor: an alias for `Reg`"] pub type IADR = crate::Reg; #[doc = "Internal Address Register"] pub mod iadr; #[doc = "CWGR (rw) register accessor: an alias for `Reg`"] pub type CWGR = crate::Reg; #[doc = "Clock Waveform Generator Register"] pub mod cwgr; #[doc = "SR (r) register accessor: an alias for `Reg`"] pub type SR = crate::Reg; #[doc = "Status Register"] pub mod sr; #[doc = "IER (w) register accessor: an alias for `Reg`"] pub type IER = crate::Reg; #[doc = "Interrupt Enable Register"] pub mod ier; #[doc = "IDR (w) register accessor: an alias for `Reg`"] pub type IDR = crate::Reg; #[doc = "Interrupt Disable Register"] pub mod idr; #[doc = "IMR (r) register accessor: an alias for `Reg`"] pub type IMR = crate::Reg; #[doc = "Interrupt Mask Register"] pub mod imr; #[doc = "RHR (r) register accessor: an alias for `Reg`"] pub type RHR = crate::Reg; #[doc = "Receive Holding Register"] pub mod rhr; #[doc = "THR (w) register accessor: an alias for `Reg`"] pub type THR = crate::Reg; #[doc = "Transmit Holding Register"] pub mod thr; #[doc = "SMBTR (rw) register accessor: an alias for `Reg`"] pub type SMBTR = crate::Reg; #[doc = "SMBus Timing Register"] pub mod smbtr; #[doc = "FILTR (rw) register accessor: an alias for `Reg`"] pub type FILTR = crate::Reg; #[doc = "Filter Register"] pub mod filtr; #[doc = "SWMR (rw) register accessor: an alias for `Reg`"] pub type SWMR = crate::Reg; #[doc = "SleepWalking Matching Register"] pub mod swmr; #[doc = "WPMR (rw) register accessor: an alias for `Reg`"] pub type WPMR = crate::Reg; #[doc = "Write Protection Mode Register"] pub mod wpmr; #[doc = "WPSR (r) register accessor: an alias for `Reg`"] pub type WPSR = crate::Reg; #[doc = "Write Protection Status Register"] pub mod wpsr;