#[doc = r"Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - Control Register"] pub ctrl: crate::Reg, #[doc = "0x04 - Clock Scale divide value"] pub clkscale: crate::Reg, #[doc = "0x08 - Word Count value"] pub words: crate::Reg, #[doc = "0x0c - I2C Address value"] pub address: crate::Reg, #[doc = "0x10 - Data Input/Output"] pub data: crate::Reg, #[doc = "0x14 - Command Register"] pub cmd: crate::Reg, #[doc = "0x18 - I2C Controller Status Register"] pub status: crate::Reg, #[doc = "0x1c - Internal STATE of I2C Master Controller"] pub state: crate::Reg, #[doc = "0x20 - TX Count Register"] pub txcount: crate::Reg, #[doc = "0x24 - RX Count Register"] pub rxcount: crate::Reg, #[doc = "0x28 - Interrupt Enable Register"] pub irq_enb: crate::Reg, #[doc = "0x2c - Raw Interrupt Status Register"] pub irq_raw: crate::Reg, #[doc = "0x30 - Enabled Interrupt Status Register"] pub irq_end: crate::Reg, #[doc = "0x34 - Clear Interrupt Status Register"] pub irq_clr: crate::Reg, #[doc = "0x38 - Rx FIFO IRQ Trigger Level"] pub rxfifoirqtrg: crate::Reg, #[doc = "0x3c - Tx FIFO IRQ Trigger Level"] pub txfifoirqtrg: crate::Reg, #[doc = "0x40 - Clear FIFO Register"] pub fifo_clr: crate::Reg, #[doc = "0x44 - Timing Config Register"] pub tmconfig: crate::Reg, #[doc = "0x48 - Clock Low Timeout Limit Register"] pub clktolimit: crate::Reg, _reserved19: [u8; 0xb4], #[doc = "0x100 - Slave Control Register"] pub s0_ctrl: crate::Reg, #[doc = "0x104 - Slave MaxWords Register"] pub s0_maxwords: crate::Reg, #[doc = "0x108 - Slave I2C Address Value"] pub s0_address: crate::Reg, #[doc = "0x10c - Slave I2C Address Mask value"] pub s0_addressmask: crate::Reg, #[doc = "0x110 - Slave Data Input/Output"] pub s0_data: crate::Reg, #[doc = "0x114 - Slave I2C Last Address value"] pub s0_lastaddress: crate::Reg, #[doc = "0x118 - Slave I2C Controller Status Register"] pub s0_status: crate::Reg, #[doc = "0x11c - Internal STATE of I2C Slave Controller"] pub s0_state: crate::Reg, #[doc = "0x120 - Slave TX Count Register"] pub s0_txcount: crate::Reg, #[doc = "0x124 - Slave RX Count Register"] pub s0_rxcount: crate::Reg, #[doc = "0x128 - Slave Interrupt Enable Register"] pub s0_irq_enb: crate::Reg, #[doc = "0x12c - Slave Raw Interrupt Status Register"] pub s0_irq_raw: crate::Reg, #[doc = "0x130 - Slave Enabled Interrupt Status Register"] pub s0_irq_end: crate::Reg, #[doc = "0x134 - Slave Clear Interrupt Status Register"] pub s0_irq_clr: crate::Reg, #[doc = "0x138 - Slave Rx FIFO IRQ Trigger Level"] pub s0_rxfifoirqtrg: crate::Reg, #[doc = "0x13c - Slave Tx FIFO IRQ Trigger Level"] pub s0_txfifoirqtrg: crate::Reg, #[doc = "0x140 - Slave Clear FIFO Register"] pub s0_fifo_clr: crate::Reg, #[doc = "0x144 - Slave I2C Address B Value"] pub s0_addressb: crate::Reg, #[doc = "0x148 - Slave I2C Address B Mask value"] pub s0_addressmaskb: crate::Reg, _reserved38: [u8; 0x0eb0], #[doc = "0xffc - Peripheral ID Register"] pub perid: crate::Reg, } #[doc = "CTRL register accessor: an alias for `Reg`"] pub type CTRL = crate::Reg; #[doc = "Control Register"] pub mod ctrl; #[doc = "CLKSCALE register accessor: an alias for `Reg`"] pub type CLKSCALE = crate::Reg; #[doc = "Clock Scale divide value"] pub mod clkscale; #[doc = "WORDS register accessor: an alias for `Reg`"] pub type WORDS = crate::Reg; #[doc = "Word Count value"] pub mod words; #[doc = "ADDRESS register accessor: an alias for `Reg`"] pub type ADDRESS = crate::Reg; #[doc = "I2C Address value"] pub mod address; #[doc = "DATA register accessor: an alias for `Reg`"] pub type DATA = crate::Reg; #[doc = "Data Input/Output"] pub mod data; #[doc = "CMD register accessor: an alias for `Reg`"] pub type CMD = crate::Reg; #[doc = "Command Register"] pub mod cmd; #[doc = "STATUS register accessor: an alias for `Reg`"] pub type STATUS = crate::Reg; #[doc = "I2C Controller Status Register"] pub mod status; #[doc = "STATE register accessor: an alias for `Reg`"] pub type STATE = crate::Reg; #[doc = "Internal STATE of I2C Master Controller"] pub mod state; #[doc = "TXCOUNT register accessor: an alias for `Reg`"] pub type TXCOUNT = crate::Reg; #[doc = "TX Count Register"] pub mod txcount; #[doc = "RXCOUNT register accessor: an alias for `Reg`"] pub type RXCOUNT = crate::Reg; #[doc = "RX Count Register"] pub mod rxcount; #[doc = "IRQ_ENB register accessor: an alias for `Reg`"] pub type IRQ_ENB = crate::Reg; #[doc = "Interrupt Enable Register"] pub mod irq_enb; #[doc = "IRQ_RAW register accessor: an alias for `Reg`"] pub type IRQ_RAW = crate::Reg; #[doc = "Raw Interrupt Status Register"] pub mod irq_raw; #[doc = "IRQ_END register accessor: an alias for `Reg`"] pub type IRQ_END = crate::Reg; #[doc = "Enabled Interrupt Status Register"] pub mod irq_end; #[doc = "IRQ_CLR register accessor: an alias for `Reg`"] pub type IRQ_CLR = crate::Reg; #[doc = "Clear Interrupt Status Register"] pub mod irq_clr; #[doc = "RXFIFOIRQTRG register accessor: an alias for `Reg`"] pub type RXFIFOIRQTRG = crate::Reg; #[doc = "Rx FIFO IRQ Trigger Level"] pub mod rxfifoirqtrg; #[doc = "TXFIFOIRQTRG register accessor: an alias for `Reg`"] pub type TXFIFOIRQTRG = crate::Reg; #[doc = "Tx FIFO IRQ Trigger Level"] pub mod txfifoirqtrg; #[doc = "FIFO_CLR register accessor: an alias for `Reg`"] pub type FIFO_CLR = crate::Reg; #[doc = "Clear FIFO Register"] pub mod fifo_clr; #[doc = "TMCONFIG register accessor: an alias for `Reg`"] pub type TMCONFIG = crate::Reg; #[doc = "Timing Config Register"] pub mod tmconfig; #[doc = "CLKTOLIMIT register accessor: an alias for `Reg`"] pub type CLKTOLIMIT = crate::Reg; #[doc = "Clock Low Timeout Limit Register"] pub mod clktolimit; #[doc = "S0_CTRL register accessor: an alias for `Reg`"] pub type S0_CTRL = crate::Reg; #[doc = "Slave Control Register"] pub mod s0_ctrl; #[doc = "S0_MAXWORDS register accessor: an alias for `Reg`"] pub type S0_MAXWORDS = crate::Reg; #[doc = "Slave MaxWords Register"] pub mod s0_maxwords; #[doc = "S0_ADDRESS register accessor: an alias for `Reg`"] pub type S0_ADDRESS = crate::Reg; #[doc = "Slave I2C Address Value"] pub mod s0_address; #[doc = "S0_ADDRESSMASK register accessor: an alias for `Reg`"] pub type S0_ADDRESSMASK = crate::Reg; #[doc = "Slave I2C Address Mask value"] pub mod s0_addressmask; #[doc = "S0_DATA register accessor: an alias for `Reg`"] pub type S0_DATA = crate::Reg; #[doc = "Slave Data Input/Output"] pub mod s0_data; #[doc = "S0_LASTADDRESS register accessor: an alias for `Reg`"] pub type S0_LASTADDRESS = crate::Reg; #[doc = "Slave I2C Last Address value"] pub mod s0_lastaddress; #[doc = "S0_STATUS register accessor: an alias for `Reg`"] pub type S0_STATUS = crate::Reg; #[doc = "Slave I2C Controller Status Register"] pub mod s0_status; #[doc = "S0_STATE register accessor: an alias for `Reg`"] pub type S0_STATE = crate::Reg; #[doc = "Internal STATE of I2C Slave Controller"] pub mod s0_state; #[doc = "S0_TXCOUNT register accessor: an alias for `Reg`"] pub type S0_TXCOUNT = crate::Reg; #[doc = "Slave TX Count Register"] pub mod s0_txcount; #[doc = "S0_RXCOUNT register accessor: an alias for `Reg`"] pub type S0_RXCOUNT = crate::Reg; #[doc = "Slave RX Count Register"] pub mod s0_rxcount; #[doc = "S0_IRQ_ENB register accessor: an alias for `Reg`"] pub type S0_IRQ_ENB = crate::Reg; #[doc = "Slave Interrupt Enable Register"] pub mod s0_irq_enb; #[doc = "S0_IRQ_RAW register accessor: an alias for `Reg`"] pub type S0_IRQ_RAW = crate::Reg; #[doc = "Slave Raw Interrupt Status Register"] pub mod s0_irq_raw; #[doc = "S0_IRQ_END register accessor: an alias for `Reg`"] pub type S0_IRQ_END = crate::Reg; #[doc = "Slave Enabled Interrupt Status Register"] pub mod s0_irq_end; #[doc = "S0_IRQ_CLR register accessor: an alias for `Reg`"] pub type S0_IRQ_CLR = crate::Reg; #[doc = "Slave Clear Interrupt Status Register"] pub mod s0_irq_clr; #[doc = "S0_RXFIFOIRQTRG register accessor: an alias for `Reg`"] pub type S0_RXFIFOIRQTRG = crate::Reg; #[doc = "Slave Rx FIFO IRQ Trigger Level"] pub mod s0_rxfifoirqtrg; #[doc = "S0_TXFIFOIRQTRG register accessor: an alias for `Reg`"] pub type S0_TXFIFOIRQTRG = crate::Reg; #[doc = "Slave Tx FIFO IRQ Trigger Level"] pub mod s0_txfifoirqtrg; #[doc = "S0_FIFO_CLR register accessor: an alias for `Reg`"] pub type S0_FIFO_CLR = crate::Reg; #[doc = "Slave Clear FIFO Register"] pub mod s0_fifo_clr; #[doc = "S0_ADDRESSB register accessor: an alias for `Reg`"] pub type S0_ADDRESSB = crate::Reg; #[doc = "Slave I2C Address B Value"] pub mod s0_addressb; #[doc = "S0_ADDRESSMASKB register accessor: an alias for `Reg`"] pub type S0_ADDRESSMASKB = crate::Reg; #[doc = "Slave I2C Address B Mask value"] pub mod s0_addressmaskb; #[doc = "PERID register accessor: an alias for `Reg`"] pub type PERID = crate::Reg; #[doc = "Peripheral ID Register"] pub mod perid;