nrf5340_app_pac/
qspi_ns.rs1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - Activate QSPI interface"]
5 pub tasks_activate: TASKS_ACTIVATE,
6 #[doc = "0x04 - Start transfer from external flash memory to internal RAM"]
7 pub tasks_readstart: TASKS_READSTART,
8 #[doc = "0x08 - Start transfer from internal RAM to external flash memory"]
9 pub tasks_writestart: TASKS_WRITESTART,
10 #[doc = "0x0c - Start external flash memory erase operation"]
11 pub tasks_erasestart: TASKS_ERASESTART,
12 #[doc = "0x10 - Deactivate QSPI interface"]
13 pub tasks_deactivate: TASKS_DEACTIVATE,
14 _reserved5: [u8; 0x6c],
15 #[doc = "0x80 - Subscribe configuration for task ACTIVATE"]
16 pub subscribe_activate: SUBSCRIBE_ACTIVATE,
17 #[doc = "0x84 - Subscribe configuration for task READSTART"]
18 pub subscribe_readstart: SUBSCRIBE_READSTART,
19 #[doc = "0x88 - Subscribe configuration for task WRITESTART"]
20 pub subscribe_writestart: SUBSCRIBE_WRITESTART,
21 #[doc = "0x8c - Subscribe configuration for task ERASESTART"]
22 pub subscribe_erasestart: SUBSCRIBE_ERASESTART,
23 #[doc = "0x90 - Subscribe configuration for task DEACTIVATE"]
24 pub subscribe_deactivate: SUBSCRIBE_DEACTIVATE,
25 _reserved10: [u8; 0x6c],
26 #[doc = "0x100 - QSPI peripheral is ready. This event will be generated as a response to all QSPI tasks except DEACTIVATE."]
27 pub events_ready: EVENTS_READY,
28 _reserved11: [u8; 0x7c],
29 #[doc = "0x180 - Publish configuration for event READY"]
30 pub publish_ready: PUBLISH_READY,
31 _reserved12: [u8; 0x017c],
32 #[doc = "0x300 - Enable or disable interrupt"]
33 pub inten: INTEN,
34 #[doc = "0x304 - Enable interrupt"]
35 pub intenset: INTENSET,
36 #[doc = "0x308 - Disable interrupt"]
37 pub intenclr: INTENCLR,
38 _reserved15: [u8; 0x01f4],
39 #[doc = "0x500 - Enable QSPI peripheral and acquire the pins selected in PSELn registers"]
40 pub enable: ENABLE,
41 #[doc = "0x504..0x510 - Unspecified"]
42 pub read: READ,
43 #[doc = "0x510..0x51c - Unspecified"]
44 pub write: WRITE,
45 #[doc = "0x51c..0x524 - Unspecified"]
46 pub erase: ERASE,
47 #[doc = "0x524..0x540 - Unspecified"]
48 pub psel: PSEL,
49 #[doc = "0x540 - Address offset into the external memory for Execute in Place operation."]
50 pub xipoffset: XIPOFFSET,
51 #[doc = "0x544 - Interface configuration."]
52 pub ifconfig0: IFCONFIG0,
53 _reserved22: [u8; 0x04],
54 #[doc = "0x54c - Enable Execute in Place operation."]
55 pub xipen: XIPEN,
56 _reserved23: [u8; 0x10],
57 #[doc = "0x560..0x580 - Unspecified"]
58 pub xip_enc: XIP_ENC,
59 #[doc = "0x580..0x5a0 - Unspecified"]
60 pub dma_enc: DMA_ENC,
61 _reserved25: [u8; 0x60],
62 #[doc = "0x600 - Interface configuration."]
63 pub ifconfig1: IFCONFIG1,
64 #[doc = "0x604 - Status register."]
65 pub status: STATUS,
66 _reserved27: [u8; 0x0c],
67 #[doc = "0x614 - Set the duration required to enter/exit deep power-down mode (DPM)."]
68 pub dpmdur: DPMDUR,
69 _reserved28: [u8; 0x0c],
70 #[doc = "0x624 - Extended address configuration."]
71 pub addrconf: ADDRCONF,
72 _reserved29: [u8; 0x0c],
73 #[doc = "0x634 - Custom instruction configuration register."]
74 pub cinstrconf: CINSTRCONF,
75 #[doc = "0x638 - Custom instruction data register 0."]
76 pub cinstrdat0: CINSTRDAT0,
77 #[doc = "0x63c - Custom instruction data register 1."]
78 pub cinstrdat1: CINSTRDAT1,
79 #[doc = "0x640 - SPI interface timing."]
80 pub iftiming: IFTIMING,
81}
82#[doc = "TASKS_ACTIVATE (w) register accessor: an alias for `Reg<TASKS_ACTIVATE_SPEC>`"]
83pub type TASKS_ACTIVATE = crate::Reg<tasks_activate::TASKS_ACTIVATE_SPEC>;
84#[doc = "Activate QSPI interface"]
85pub mod tasks_activate;
86#[doc = "TASKS_READSTART (w) register accessor: an alias for `Reg<TASKS_READSTART_SPEC>`"]
87pub type TASKS_READSTART = crate::Reg<tasks_readstart::TASKS_READSTART_SPEC>;
88#[doc = "Start transfer from external flash memory to internal RAM"]
89pub mod tasks_readstart;
90#[doc = "TASKS_WRITESTART (w) register accessor: an alias for `Reg<TASKS_WRITESTART_SPEC>`"]
91pub type TASKS_WRITESTART = crate::Reg<tasks_writestart::TASKS_WRITESTART_SPEC>;
92#[doc = "Start transfer from internal RAM to external flash memory"]
93pub mod tasks_writestart;
94#[doc = "TASKS_ERASESTART (w) register accessor: an alias for `Reg<TASKS_ERASESTART_SPEC>`"]
95pub type TASKS_ERASESTART = crate::Reg<tasks_erasestart::TASKS_ERASESTART_SPEC>;
96#[doc = "Start external flash memory erase operation"]
97pub mod tasks_erasestart;
98#[doc = "TASKS_DEACTIVATE (w) register accessor: an alias for `Reg<TASKS_DEACTIVATE_SPEC>`"]
99pub type TASKS_DEACTIVATE = crate::Reg<tasks_deactivate::TASKS_DEACTIVATE_SPEC>;
100#[doc = "Deactivate QSPI interface"]
101pub mod tasks_deactivate;
102#[doc = "SUBSCRIBE_ACTIVATE (rw) register accessor: an alias for `Reg<SUBSCRIBE_ACTIVATE_SPEC>`"]
103pub type SUBSCRIBE_ACTIVATE = crate::Reg<subscribe_activate::SUBSCRIBE_ACTIVATE_SPEC>;
104#[doc = "Subscribe configuration for task ACTIVATE"]
105pub mod subscribe_activate;
106#[doc = "SUBSCRIBE_READSTART (rw) register accessor: an alias for `Reg<SUBSCRIBE_READSTART_SPEC>`"]
107pub type SUBSCRIBE_READSTART = crate::Reg<subscribe_readstart::SUBSCRIBE_READSTART_SPEC>;
108#[doc = "Subscribe configuration for task READSTART"]
109pub mod subscribe_readstart;
110#[doc = "SUBSCRIBE_WRITESTART (rw) register accessor: an alias for `Reg<SUBSCRIBE_WRITESTART_SPEC>`"]
111pub type SUBSCRIBE_WRITESTART = crate::Reg<subscribe_writestart::SUBSCRIBE_WRITESTART_SPEC>;
112#[doc = "Subscribe configuration for task WRITESTART"]
113pub mod subscribe_writestart;
114#[doc = "SUBSCRIBE_ERASESTART (rw) register accessor: an alias for `Reg<SUBSCRIBE_ERASESTART_SPEC>`"]
115pub type SUBSCRIBE_ERASESTART = crate::Reg<subscribe_erasestart::SUBSCRIBE_ERASESTART_SPEC>;
116#[doc = "Subscribe configuration for task ERASESTART"]
117pub mod subscribe_erasestart;
118#[doc = "SUBSCRIBE_DEACTIVATE (rw) register accessor: an alias for `Reg<SUBSCRIBE_DEACTIVATE_SPEC>`"]
119pub type SUBSCRIBE_DEACTIVATE = crate::Reg<subscribe_deactivate::SUBSCRIBE_DEACTIVATE_SPEC>;
120#[doc = "Subscribe configuration for task DEACTIVATE"]
121pub mod subscribe_deactivate;
122#[doc = "EVENTS_READY (rw) register accessor: an alias for `Reg<EVENTS_READY_SPEC>`"]
123pub type EVENTS_READY = crate::Reg<events_ready::EVENTS_READY_SPEC>;
124#[doc = "QSPI peripheral is ready. This event will be generated as a response to all QSPI tasks except DEACTIVATE."]
125pub mod events_ready;
126#[doc = "PUBLISH_READY (rw) register accessor: an alias for `Reg<PUBLISH_READY_SPEC>`"]
127pub type PUBLISH_READY = crate::Reg<publish_ready::PUBLISH_READY_SPEC>;
128#[doc = "Publish configuration for event READY"]
129pub mod publish_ready;
130#[doc = "INTEN (rw) register accessor: an alias for `Reg<INTEN_SPEC>`"]
131pub type INTEN = crate::Reg<inten::INTEN_SPEC>;
132#[doc = "Enable or disable interrupt"]
133pub mod inten;
134#[doc = "INTENSET (rw) register accessor: an alias for `Reg<INTENSET_SPEC>`"]
135pub type INTENSET = crate::Reg<intenset::INTENSET_SPEC>;
136#[doc = "Enable interrupt"]
137pub mod intenset;
138#[doc = "INTENCLR (rw) register accessor: an alias for `Reg<INTENCLR_SPEC>`"]
139pub type INTENCLR = crate::Reg<intenclr::INTENCLR_SPEC>;
140#[doc = "Disable interrupt"]
141pub mod intenclr;
142#[doc = "ENABLE (rw) register accessor: an alias for `Reg<ENABLE_SPEC>`"]
143pub type ENABLE = crate::Reg<enable::ENABLE_SPEC>;
144#[doc = "Enable QSPI peripheral and acquire the pins selected in PSELn registers"]
145pub mod enable;
146#[doc = "Unspecified"]
147pub use read::READ;
148#[doc = r"Cluster"]
149#[doc = "Unspecified"]
150pub mod read;
151#[doc = "Unspecified"]
152pub use write::WRITE;
153#[doc = r"Cluster"]
154#[doc = "Unspecified"]
155pub mod write;
156#[doc = "Unspecified"]
157pub use erase::ERASE;
158#[doc = r"Cluster"]
159#[doc = "Unspecified"]
160pub mod erase;
161#[doc = "Unspecified"]
162pub use psel::PSEL;
163#[doc = r"Cluster"]
164#[doc = "Unspecified"]
165pub mod psel;
166#[doc = "XIPOFFSET (rw) register accessor: an alias for `Reg<XIPOFFSET_SPEC>`"]
167pub type XIPOFFSET = crate::Reg<xipoffset::XIPOFFSET_SPEC>;
168#[doc = "Address offset into the external memory for Execute in Place operation."]
169pub mod xipoffset;
170#[doc = "IFCONFIG0 (rw) register accessor: an alias for `Reg<IFCONFIG0_SPEC>`"]
171pub type IFCONFIG0 = crate::Reg<ifconfig0::IFCONFIG0_SPEC>;
172#[doc = "Interface configuration."]
173pub mod ifconfig0;
174#[doc = "XIPEN (rw) register accessor: an alias for `Reg<XIPEN_SPEC>`"]
175pub type XIPEN = crate::Reg<xipen::XIPEN_SPEC>;
176#[doc = "Enable Execute in Place operation."]
177pub mod xipen;
178#[doc = "Unspecified"]
179pub use xip_enc::XIP_ENC;
180#[doc = r"Cluster"]
181#[doc = "Unspecified"]
182pub mod xip_enc;
183#[doc = "Unspecified"]
184pub use dma_enc::DMA_ENC;
185#[doc = r"Cluster"]
186#[doc = "Unspecified"]
187pub mod dma_enc;
188#[doc = "IFCONFIG1 (rw) register accessor: an alias for `Reg<IFCONFIG1_SPEC>`"]
189pub type IFCONFIG1 = crate::Reg<ifconfig1::IFCONFIG1_SPEC>;
190#[doc = "Interface configuration."]
191pub mod ifconfig1;
192#[doc = "STATUS (r) register accessor: an alias for `Reg<STATUS_SPEC>`"]
193pub type STATUS = crate::Reg<status::STATUS_SPEC>;
194#[doc = "Status register."]
195pub mod status;
196#[doc = "DPMDUR (rw) register accessor: an alias for `Reg<DPMDUR_SPEC>`"]
197pub type DPMDUR = crate::Reg<dpmdur::DPMDUR_SPEC>;
198#[doc = "Set the duration required to enter/exit deep power-down mode (DPM)."]
199pub mod dpmdur;
200#[doc = "ADDRCONF (rw) register accessor: an alias for `Reg<ADDRCONF_SPEC>`"]
201pub type ADDRCONF = crate::Reg<addrconf::ADDRCONF_SPEC>;
202#[doc = "Extended address configuration."]
203pub mod addrconf;
204#[doc = "CINSTRCONF (rw) register accessor: an alias for `Reg<CINSTRCONF_SPEC>`"]
205pub type CINSTRCONF = crate::Reg<cinstrconf::CINSTRCONF_SPEC>;
206#[doc = "Custom instruction configuration register."]
207pub mod cinstrconf;
208#[doc = "CINSTRDAT0 (rw) register accessor: an alias for `Reg<CINSTRDAT0_SPEC>`"]
209pub type CINSTRDAT0 = crate::Reg<cinstrdat0::CINSTRDAT0_SPEC>;
210#[doc = "Custom instruction data register 0."]
211pub mod cinstrdat0;
212#[doc = "CINSTRDAT1 (rw) register accessor: an alias for `Reg<CINSTRDAT1_SPEC>`"]
213pub type CINSTRDAT1 = crate::Reg<cinstrdat1::CINSTRDAT1_SPEC>;
214#[doc = "Custom instruction data register 1."]
215pub mod cinstrdat1;
216#[doc = "IFTIMING (rw) register accessor: an alias for `Reg<IFTIMING_SPEC>`"]
217pub type IFTIMING = crate::Reg<iftiming::IFTIMING_SPEC>;
218#[doc = "SPI interface timing."]
219pub mod iftiming;