nrf52840_pac/
spis0.rs
1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 _reserved0: [u8; 0x24],
5 #[doc = "0x24 - Acquire SPI semaphore"]
6 pub tasks_acquire: TASKS_ACQUIRE,
7 #[doc = "0x28 - Release SPI semaphore, enabling the SPI slave to acquire it"]
8 pub tasks_release: TASKS_RELEASE,
9 _reserved2: [u8; 0xd8],
10 #[doc = "0x104 - Granted transaction completed"]
11 pub events_end: EVENTS_END,
12 _reserved3: [u8; 0x08],
13 #[doc = "0x110 - End of RXD buffer reached"]
14 pub events_endrx: EVENTS_ENDRX,
15 _reserved4: [u8; 0x14],
16 #[doc = "0x128 - Semaphore acquired"]
17 pub events_acquired: EVENTS_ACQUIRED,
18 _reserved5: [u8; 0xd4],
19 #[doc = "0x200 - Shortcut register"]
20 pub shorts: SHORTS,
21 _reserved6: [u8; 0x0100],
22 #[doc = "0x304 - Enable interrupt"]
23 pub intenset: INTENSET,
24 #[doc = "0x308 - Disable interrupt"]
25 pub intenclr: INTENCLR,
26 _reserved8: [u8; 0xf4],
27 #[doc = "0x400 - Semaphore status register"]
28 pub semstat: SEMSTAT,
29 _reserved9: [u8; 0x3c],
30 #[doc = "0x440 - Status from last transaction"]
31 pub status: STATUS,
32 _reserved10: [u8; 0xbc],
33 #[doc = "0x500 - Enable SPI slave"]
34 pub enable: ENABLE,
35 _reserved11: [u8; 0x04],
36 #[doc = "0x508..0x518 - Unspecified"]
37 pub psel: PSEL,
38 _reserved12: [u8; 0x1c],
39 #[doc = "0x534..0x540 - Unspecified"]
40 pub rxd: RXD,
41 _reserved13: [u8; 0x04],
42 #[doc = "0x544..0x550 - Unspecified"]
43 pub txd: TXD,
44 _reserved14: [u8; 0x04],
45 #[doc = "0x554 - Configuration register"]
46 pub config: CONFIG,
47 _reserved15: [u8; 0x04],
48 #[doc = "0x55c - Default character. Character clocked out in case of an ignored transaction."]
49 pub def: DEF,
50 _reserved16: [u8; 0x60],
51 #[doc = "0x5c0 - Over-read character"]
52 pub orc: ORC,
53}
54#[doc = "TASKS_ACQUIRE (w) register accessor: an alias for `Reg<TASKS_ACQUIRE_SPEC>`"]
55pub type TASKS_ACQUIRE = crate::Reg<tasks_acquire::TASKS_ACQUIRE_SPEC>;
56#[doc = "Acquire SPI semaphore"]
57pub mod tasks_acquire;
58#[doc = "TASKS_RELEASE (w) register accessor: an alias for `Reg<TASKS_RELEASE_SPEC>`"]
59pub type TASKS_RELEASE = crate::Reg<tasks_release::TASKS_RELEASE_SPEC>;
60#[doc = "Release SPI semaphore, enabling the SPI slave to acquire it"]
61pub mod tasks_release;
62#[doc = "EVENTS_END (rw) register accessor: an alias for `Reg<EVENTS_END_SPEC>`"]
63pub type EVENTS_END = crate::Reg<events_end::EVENTS_END_SPEC>;
64#[doc = "Granted transaction completed"]
65pub mod events_end;
66#[doc = "EVENTS_ENDRX (rw) register accessor: an alias for `Reg<EVENTS_ENDRX_SPEC>`"]
67pub type EVENTS_ENDRX = crate::Reg<events_endrx::EVENTS_ENDRX_SPEC>;
68#[doc = "End of RXD buffer reached"]
69pub mod events_endrx;
70#[doc = "EVENTS_ACQUIRED (rw) register accessor: an alias for `Reg<EVENTS_ACQUIRED_SPEC>`"]
71pub type EVENTS_ACQUIRED = crate::Reg<events_acquired::EVENTS_ACQUIRED_SPEC>;
72#[doc = "Semaphore acquired"]
73pub mod events_acquired;
74#[doc = "SHORTS (rw) register accessor: an alias for `Reg<SHORTS_SPEC>`"]
75pub type SHORTS = crate::Reg<shorts::SHORTS_SPEC>;
76#[doc = "Shortcut register"]
77pub mod shorts;
78#[doc = "INTENSET (rw) register accessor: an alias for `Reg<INTENSET_SPEC>`"]
79pub type INTENSET = crate::Reg<intenset::INTENSET_SPEC>;
80#[doc = "Enable interrupt"]
81pub mod intenset;
82#[doc = "INTENCLR (rw) register accessor: an alias for `Reg<INTENCLR_SPEC>`"]
83pub type INTENCLR = crate::Reg<intenclr::INTENCLR_SPEC>;
84#[doc = "Disable interrupt"]
85pub mod intenclr;
86#[doc = "SEMSTAT (r) register accessor: an alias for `Reg<SEMSTAT_SPEC>`"]
87pub type SEMSTAT = crate::Reg<semstat::SEMSTAT_SPEC>;
88#[doc = "Semaphore status register"]
89pub mod semstat;
90#[doc = "STATUS (rw) register accessor: an alias for `Reg<STATUS_SPEC>`"]
91pub type STATUS = crate::Reg<status::STATUS_SPEC>;
92#[doc = "Status from last transaction"]
93pub mod status;
94#[doc = "ENABLE (rw) register accessor: an alias for `Reg<ENABLE_SPEC>`"]
95pub type ENABLE = crate::Reg<enable::ENABLE_SPEC>;
96#[doc = "Enable SPI slave"]
97pub mod enable;
98#[doc = "Unspecified"]
99pub use psel::PSEL;
100#[doc = r"Cluster"]
101#[doc = "Unspecified"]
102pub mod psel;
103#[doc = "Unspecified"]
104pub use rxd::RXD;
105#[doc = r"Cluster"]
106#[doc = "Unspecified"]
107pub mod rxd;
108#[doc = "Unspecified"]
109pub use txd::TXD;
110#[doc = r"Cluster"]
111#[doc = "Unspecified"]
112pub mod txd;
113#[doc = "CONFIG (rw) register accessor: an alias for `Reg<CONFIG_SPEC>`"]
114pub type CONFIG = crate::Reg<config::CONFIG_SPEC>;
115#[doc = "Configuration register"]
116pub mod config;
117#[doc = "DEF (rw) register accessor: an alias for `Reg<DEF_SPEC>`"]
118pub type DEF = crate::Reg<def::DEF_SPEC>;
119#[doc = "Default character. Character clocked out in case of an ignored transaction."]
120pub mod def;
121#[doc = "ORC (rw) register accessor: an alias for `Reg<ORC_SPEC>`"]
122pub type ORC = crate::Reg<orc::ORC_SPEC>;
123#[doc = "Over-read character"]
124pub mod orc;