#[doc = r"Register block"] #[repr(C)] pub struct RegisterBlock { _reserved0: [u8; 0x24], #[doc = "0x24 - Acquire SPI semaphore"] pub tasks_acquire: TASKS_ACQUIRE, #[doc = "0x28 - Release SPI semaphore, enabling the SPI slave to acquire it"] pub tasks_release: TASKS_RELEASE, _reserved2: [u8; 0x78], #[doc = "0xa4 - Subscribe configuration for task ACQUIRE"] pub subscribe_acquire: SUBSCRIBE_ACQUIRE, #[doc = "0xa8 - Subscribe configuration for task RELEASE"] pub subscribe_release: SUBSCRIBE_RELEASE, _reserved4: [u8; 0x58], #[doc = "0x104 - Granted transaction completed"] pub events_end: EVENTS_END, _reserved5: [u8; 0x08], #[doc = "0x110 - End of RXD buffer reached"] pub events_endrx: EVENTS_ENDRX, _reserved6: [u8; 0x14], #[doc = "0x128 - Semaphore acquired"] pub events_acquired: EVENTS_ACQUIRED, _reserved7: [u8; 0x58], #[doc = "0x184 - Publish configuration for event END"] pub publish_end: PUBLISH_END, _reserved8: [u8; 0x08], #[doc = "0x190 - Publish configuration for event ENDRX"] pub publish_endrx: PUBLISH_ENDRX, _reserved9: [u8; 0x14], #[doc = "0x1a8 - Publish configuration for event ACQUIRED"] pub publish_acquired: PUBLISH_ACQUIRED, _reserved10: [u8; 0x54], #[doc = "0x200 - Shortcuts between local events and tasks"] pub shorts: SHORTS, _reserved11: [u8; 0x0100], #[doc = "0x304 - Enable interrupt"] pub intenset: INTENSET, #[doc = "0x308 - Disable interrupt"] pub intenclr: INTENCLR, _reserved13: [u8; 0xf4], #[doc = "0x400 - Semaphore status register"] pub semstat: SEMSTAT, _reserved14: [u8; 0x3c], #[doc = "0x440 - Status from last transaction"] pub status: STATUS, _reserved15: [u8; 0xbc], #[doc = "0x500 - Enable SPI slave"] pub enable: ENABLE, _reserved16: [u8; 0x04], #[doc = "0x508..0x518 - Unspecified"] pub psel: PSEL, _reserved17: [u8; 0x1c], #[doc = "0x534..0x544 - Unspecified"] pub rxd: RXD, #[doc = "0x544..0x554 - Unspecified"] pub txd: TXD, #[doc = "0x554 - Configuration register"] pub config: CONFIG, _reserved20: [u8; 0x04], #[doc = "0x55c - Default character. Character clocked out in case of an ignored transaction."] pub def: DEF, _reserved21: [u8; 0x60], #[doc = "0x5c0 - Over-read character"] pub orc: ORC, } #[doc = "TASKS_ACQUIRE (w) register accessor: an alias for `Reg`"] pub type TASKS_ACQUIRE = crate::Reg; #[doc = "Acquire SPI semaphore"] pub mod tasks_acquire; #[doc = "TASKS_RELEASE (w) register accessor: an alias for `Reg`"] pub type TASKS_RELEASE = crate::Reg; #[doc = "Release SPI semaphore, enabling the SPI slave to acquire it"] pub mod tasks_release; #[doc = "SUBSCRIBE_ACQUIRE (rw) register accessor: an alias for `Reg`"] pub type SUBSCRIBE_ACQUIRE = crate::Reg; #[doc = "Subscribe configuration for task ACQUIRE"] pub mod subscribe_acquire; #[doc = "SUBSCRIBE_RELEASE (rw) register accessor: an alias for `Reg`"] pub type SUBSCRIBE_RELEASE = crate::Reg; #[doc = "Subscribe configuration for task RELEASE"] pub mod subscribe_release; #[doc = "EVENTS_END (rw) register accessor: an alias for `Reg`"] pub type EVENTS_END = crate::Reg; #[doc = "Granted transaction completed"] pub mod events_end; #[doc = "EVENTS_ENDRX (rw) register accessor: an alias for `Reg`"] pub type EVENTS_ENDRX = crate::Reg; #[doc = "End of RXD buffer reached"] pub mod events_endrx; #[doc = "EVENTS_ACQUIRED (rw) register accessor: an alias for `Reg`"] pub type EVENTS_ACQUIRED = crate::Reg; #[doc = "Semaphore acquired"] pub mod events_acquired; #[doc = "PUBLISH_END (rw) register accessor: an alias for `Reg`"] pub type PUBLISH_END = crate::Reg; #[doc = "Publish configuration for event END"] pub mod publish_end; #[doc = "PUBLISH_ENDRX (rw) register accessor: an alias for `Reg`"] pub type PUBLISH_ENDRX = crate::Reg; #[doc = "Publish configuration for event ENDRX"] pub mod publish_endrx; #[doc = "PUBLISH_ACQUIRED (rw) register accessor: an alias for `Reg`"] pub type PUBLISH_ACQUIRED = crate::Reg; #[doc = "Publish configuration for event ACQUIRED"] pub mod publish_acquired; #[doc = "SHORTS (rw) register accessor: an alias for `Reg`"] pub type SHORTS = crate::Reg; #[doc = "Shortcuts between local events and tasks"] pub mod shorts; #[doc = "INTENSET (rw) register accessor: an alias for `Reg`"] pub type INTENSET = crate::Reg; #[doc = "Enable interrupt"] pub mod intenset; #[doc = "INTENCLR (rw) register accessor: an alias for `Reg`"] pub type INTENCLR = crate::Reg; #[doc = "Disable interrupt"] pub mod intenclr; #[doc = "SEMSTAT (r) register accessor: an alias for `Reg`"] pub type SEMSTAT = crate::Reg; #[doc = "Semaphore status register"] pub mod semstat; #[doc = "STATUS (rw) register accessor: an alias for `Reg`"] pub type STATUS = crate::Reg; #[doc = "Status from last transaction"] pub mod status; #[doc = "ENABLE (rw) register accessor: an alias for `Reg`"] pub type ENABLE = crate::Reg; #[doc = "Enable SPI slave"] pub mod enable; #[doc = "Unspecified"] pub use psel::PSEL; #[doc = r"Cluster"] #[doc = "Unspecified"] pub mod psel; #[doc = "Unspecified"] pub use rxd::RXD; #[doc = r"Cluster"] #[doc = "Unspecified"] pub mod rxd; #[doc = "Unspecified"] pub use txd::TXD; #[doc = r"Cluster"] #[doc = "Unspecified"] pub mod txd; #[doc = "CONFIG (rw) register accessor: an alias for `Reg`"] pub type CONFIG = crate::Reg; #[doc = "Configuration register"] pub mod config; #[doc = "DEF (rw) register accessor: an alias for `Reg`"] pub type DEF = crate::Reg; #[doc = "Default character. Character clocked out in case of an ignored transaction."] pub mod def; #[doc = "ORC (rw) register accessor: an alias for `Reg`"] pub type ORC = crate::Reg; #[doc = "Over-read character"] pub mod orc;