esp32/
spi0.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    cmd: CMD,
6    addr: ADDR,
7    ctrl: CTRL,
8    ctrl1: CTRL1,
9    rd_status: RD_STATUS,
10    ctrl2: CTRL2,
11    clock: CLOCK,
12    user: USER,
13    user1: USER1,
14    user2: USER2,
15    mosi_dlen: MOSI_DLEN,
16    miso_dlen: MISO_DLEN,
17    slv_wr_status: SLV_WR_STATUS,
18    pin: PIN,
19    slave: SLAVE,
20    slave1: SLAVE1,
21    slave2: SLAVE2,
22    slave3: SLAVE3,
23    slv_wrbuf_dlen: SLV_WRBUF_DLEN,
24    slv_rdbuf_dlen: SLV_RDBUF_DLEN,
25    cache_fctrl: CACHE_FCTRL,
26    cache_sctrl: CACHE_SCTRL,
27    sram_cmd: SRAM_CMD,
28    sram_drd_cmd: SRAM_DRD_CMD,
29    sram_dwr_cmd: SRAM_DWR_CMD,
30    slv_rd_bit: SLV_RD_BIT,
31    _reserved26: [u8; 0x18],
32    w: [W; 16],
33    tx_crc: TX_CRC,
34    _reserved28: [u8; 0x2c],
35    ext0: EXT0,
36    ext1: EXT1,
37    ext2: EXT2,
38    ext3: EXT3,
39    dma_conf: DMA_CONF,
40    dma_out_link: DMA_OUT_LINK,
41    dma_in_link: DMA_IN_LINK,
42    dma_status: DMA_STATUS,
43    dma_int_ena: DMA_INT_ENA,
44    dma_int_raw: DMA_INT_RAW,
45    dma_int_st: DMA_INT_ST,
46    dma_int_clr: DMA_INT_CLR,
47    in_err_eof_des_addr: IN_ERR_EOF_DES_ADDR,
48    in_suc_eof_des_addr: IN_SUC_EOF_DES_ADDR,
49    inlink_dscr: INLINK_DSCR,
50    inlink_dscr_bf0: INLINK_DSCR_BF0,
51    inlink_dscr_bf1: INLINK_DSCR_BF1,
52    out_eof_bfr_des_addr: OUT_EOF_BFR_DES_ADDR,
53    out_eof_des_addr: OUT_EOF_DES_ADDR,
54    outlink_dscr: OUTLINK_DSCR,
55    outlink_dscr_bf0: OUTLINK_DSCR_BF0,
56    outlink_dscr_bf1: OUTLINK_DSCR_BF1,
57    dma_rstatus: DMA_RSTATUS,
58    dma_tstatus: DMA_TSTATUS,
59    _reserved52: [u8; 0x02ac],
60    date: DATE,
61}
62impl RegisterBlock {
63    #[doc = "0x00 - "]
64    #[inline(always)]
65    pub const fn cmd(&self) -> &CMD {
66        &self.cmd
67    }
68    #[doc = "0x04 - "]
69    #[inline(always)]
70    pub const fn addr(&self) -> &ADDR {
71        &self.addr
72    }
73    #[doc = "0x08 - "]
74    #[inline(always)]
75    pub const fn ctrl(&self) -> &CTRL {
76        &self.ctrl
77    }
78    #[doc = "0x0c - "]
79    #[inline(always)]
80    pub const fn ctrl1(&self) -> &CTRL1 {
81        &self.ctrl1
82    }
83    #[doc = "0x10 - "]
84    #[inline(always)]
85    pub const fn rd_status(&self) -> &RD_STATUS {
86        &self.rd_status
87    }
88    #[doc = "0x14 - "]
89    #[inline(always)]
90    pub const fn ctrl2(&self) -> &CTRL2 {
91        &self.ctrl2
92    }
93    #[doc = "0x18 - "]
94    #[inline(always)]
95    pub const fn clock(&self) -> &CLOCK {
96        &self.clock
97    }
98    #[doc = "0x1c - "]
99    #[inline(always)]
100    pub const fn user(&self) -> &USER {
101        &self.user
102    }
103    #[doc = "0x20 - "]
104    #[inline(always)]
105    pub const fn user1(&self) -> &USER1 {
106        &self.user1
107    }
108    #[doc = "0x24 - "]
109    #[inline(always)]
110    pub const fn user2(&self) -> &USER2 {
111        &self.user2
112    }
113    #[doc = "0x28 - "]
114    #[inline(always)]
115    pub const fn mosi_dlen(&self) -> &MOSI_DLEN {
116        &self.mosi_dlen
117    }
118    #[doc = "0x2c - "]
119    #[inline(always)]
120    pub const fn miso_dlen(&self) -> &MISO_DLEN {
121        &self.miso_dlen
122    }
123    #[doc = "0x30 - "]
124    #[inline(always)]
125    pub const fn slv_wr_status(&self) -> &SLV_WR_STATUS {
126        &self.slv_wr_status
127    }
128    #[doc = "0x34 - "]
129    #[inline(always)]
130    pub const fn pin(&self) -> &PIN {
131        &self.pin
132    }
133    #[doc = "0x38 - "]
134    #[inline(always)]
135    pub const fn slave(&self) -> &SLAVE {
136        &self.slave
137    }
138    #[doc = "0x3c - "]
139    #[inline(always)]
140    pub const fn slave1(&self) -> &SLAVE1 {
141        &self.slave1
142    }
143    #[doc = "0x40 - "]
144    #[inline(always)]
145    pub const fn slave2(&self) -> &SLAVE2 {
146        &self.slave2
147    }
148    #[doc = "0x44 - "]
149    #[inline(always)]
150    pub const fn slave3(&self) -> &SLAVE3 {
151        &self.slave3
152    }
153    #[doc = "0x48 - "]
154    #[inline(always)]
155    pub const fn slv_wrbuf_dlen(&self) -> &SLV_WRBUF_DLEN {
156        &self.slv_wrbuf_dlen
157    }
158    #[doc = "0x4c - "]
159    #[inline(always)]
160    pub const fn slv_rdbuf_dlen(&self) -> &SLV_RDBUF_DLEN {
161        &self.slv_rdbuf_dlen
162    }
163    #[doc = "0x50 - "]
164    #[inline(always)]
165    pub const fn cache_fctrl(&self) -> &CACHE_FCTRL {
166        &self.cache_fctrl
167    }
168    #[doc = "0x54 - "]
169    #[inline(always)]
170    pub const fn cache_sctrl(&self) -> &CACHE_SCTRL {
171        &self.cache_sctrl
172    }
173    #[doc = "0x58 - "]
174    #[inline(always)]
175    pub const fn sram_cmd(&self) -> &SRAM_CMD {
176        &self.sram_cmd
177    }
178    #[doc = "0x5c - "]
179    #[inline(always)]
180    pub const fn sram_drd_cmd(&self) -> &SRAM_DRD_CMD {
181        &self.sram_drd_cmd
182    }
183    #[doc = "0x60 - "]
184    #[inline(always)]
185    pub const fn sram_dwr_cmd(&self) -> &SRAM_DWR_CMD {
186        &self.sram_dwr_cmd
187    }
188    #[doc = "0x64 - "]
189    #[inline(always)]
190    pub const fn slv_rd_bit(&self) -> &SLV_RD_BIT {
191        &self.slv_rd_bit
192    }
193    #[doc = "0x80..0xc0 - "]
194    #[inline(always)]
195    pub const fn w(&self, n: usize) -> &W {
196        &self.w[n]
197    }
198    #[doc = "Iterator for array of:"]
199    #[doc = "0x80..0xc0 - "]
200    #[inline(always)]
201    pub fn w_iter(&self) -> impl Iterator<Item = &W> {
202        self.w.iter()
203    }
204    #[doc = "0xc0 - "]
205    #[inline(always)]
206    pub const fn tx_crc(&self) -> &TX_CRC {
207        &self.tx_crc
208    }
209    #[doc = "0xf0 - "]
210    #[inline(always)]
211    pub const fn ext0(&self) -> &EXT0 {
212        &self.ext0
213    }
214    #[doc = "0xf4 - "]
215    #[inline(always)]
216    pub const fn ext1(&self) -> &EXT1 {
217        &self.ext1
218    }
219    #[doc = "0xf8 - "]
220    #[inline(always)]
221    pub const fn ext2(&self) -> &EXT2 {
222        &self.ext2
223    }
224    #[doc = "0xfc - "]
225    #[inline(always)]
226    pub const fn ext3(&self) -> &EXT3 {
227        &self.ext3
228    }
229    #[doc = "0x100 - "]
230    #[inline(always)]
231    pub const fn dma_conf(&self) -> &DMA_CONF {
232        &self.dma_conf
233    }
234    #[doc = "0x104 - "]
235    #[inline(always)]
236    pub const fn dma_out_link(&self) -> &DMA_OUT_LINK {
237        &self.dma_out_link
238    }
239    #[doc = "0x108 - "]
240    #[inline(always)]
241    pub const fn dma_in_link(&self) -> &DMA_IN_LINK {
242        &self.dma_in_link
243    }
244    #[doc = "0x10c - "]
245    #[inline(always)]
246    pub const fn dma_status(&self) -> &DMA_STATUS {
247        &self.dma_status
248    }
249    #[doc = "0x110 - "]
250    #[inline(always)]
251    pub const fn dma_int_ena(&self) -> &DMA_INT_ENA {
252        &self.dma_int_ena
253    }
254    #[doc = "0x114 - "]
255    #[inline(always)]
256    pub const fn dma_int_raw(&self) -> &DMA_INT_RAW {
257        &self.dma_int_raw
258    }
259    #[doc = "0x118 - "]
260    #[inline(always)]
261    pub const fn dma_int_st(&self) -> &DMA_INT_ST {
262        &self.dma_int_st
263    }
264    #[doc = "0x11c - "]
265    #[inline(always)]
266    pub const fn dma_int_clr(&self) -> &DMA_INT_CLR {
267        &self.dma_int_clr
268    }
269    #[doc = "0x120 - "]
270    #[inline(always)]
271    pub const fn in_err_eof_des_addr(&self) -> &IN_ERR_EOF_DES_ADDR {
272        &self.in_err_eof_des_addr
273    }
274    #[doc = "0x124 - "]
275    #[inline(always)]
276    pub const fn in_suc_eof_des_addr(&self) -> &IN_SUC_EOF_DES_ADDR {
277        &self.in_suc_eof_des_addr
278    }
279    #[doc = "0x128 - "]
280    #[inline(always)]
281    pub const fn inlink_dscr(&self) -> &INLINK_DSCR {
282        &self.inlink_dscr
283    }
284    #[doc = "0x12c - "]
285    #[inline(always)]
286    pub const fn inlink_dscr_bf0(&self) -> &INLINK_DSCR_BF0 {
287        &self.inlink_dscr_bf0
288    }
289    #[doc = "0x130 - "]
290    #[inline(always)]
291    pub const fn inlink_dscr_bf1(&self) -> &INLINK_DSCR_BF1 {
292        &self.inlink_dscr_bf1
293    }
294    #[doc = "0x134 - "]
295    #[inline(always)]
296    pub const fn out_eof_bfr_des_addr(&self) -> &OUT_EOF_BFR_DES_ADDR {
297        &self.out_eof_bfr_des_addr
298    }
299    #[doc = "0x138 - "]
300    #[inline(always)]
301    pub const fn out_eof_des_addr(&self) -> &OUT_EOF_DES_ADDR {
302        &self.out_eof_des_addr
303    }
304    #[doc = "0x13c - "]
305    #[inline(always)]
306    pub const fn outlink_dscr(&self) -> &OUTLINK_DSCR {
307        &self.outlink_dscr
308    }
309    #[doc = "0x140 - "]
310    #[inline(always)]
311    pub const fn outlink_dscr_bf0(&self) -> &OUTLINK_DSCR_BF0 {
312        &self.outlink_dscr_bf0
313    }
314    #[doc = "0x144 - "]
315    #[inline(always)]
316    pub const fn outlink_dscr_bf1(&self) -> &OUTLINK_DSCR_BF1 {
317        &self.outlink_dscr_bf1
318    }
319    #[doc = "0x148 - "]
320    #[inline(always)]
321    pub const fn dma_rstatus(&self) -> &DMA_RSTATUS {
322        &self.dma_rstatus
323    }
324    #[doc = "0x14c - "]
325    #[inline(always)]
326    pub const fn dma_tstatus(&self) -> &DMA_TSTATUS {
327        &self.dma_tstatus
328    }
329    #[doc = "0x3fc - "]
330    #[inline(always)]
331    pub const fn date(&self) -> &DATE {
332        &self.date
333    }
334}
335#[doc = "CMD (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`cmd::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cmd::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cmd`] module"]
336pub type CMD = crate::Reg<cmd::CMD_SPEC>;
337#[doc = ""]
338pub mod cmd;
339#[doc = "ADDR (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`addr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`addr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@addr`] module"]
340pub type ADDR = crate::Reg<addr::ADDR_SPEC>;
341#[doc = ""]
342pub mod addr;
343#[doc = "CTRL (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctrl`] module"]
344pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
345#[doc = ""]
346pub mod ctrl;
347#[doc = "CTRL1 (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`ctrl1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrl1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctrl1`] module"]
348pub type CTRL1 = crate::Reg<ctrl1::CTRL1_SPEC>;
349#[doc = ""]
350pub mod ctrl1;
351#[doc = "RD_STATUS (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`rd_status::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rd_status::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rd_status`] module"]
352pub type RD_STATUS = crate::Reg<rd_status::RD_STATUS_SPEC>;
353#[doc = ""]
354pub mod rd_status;
355#[doc = "CTRL2 (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`ctrl2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrl2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctrl2`] module"]
356pub type CTRL2 = crate::Reg<ctrl2::CTRL2_SPEC>;
357#[doc = ""]
358pub mod ctrl2;
359#[doc = "CLOCK (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`clock::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`clock::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clock`] module"]
360pub type CLOCK = crate::Reg<clock::CLOCK_SPEC>;
361#[doc = ""]
362pub mod clock;
363#[doc = "USER (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`user::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`user::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@user`] module"]
364pub type USER = crate::Reg<user::USER_SPEC>;
365#[doc = ""]
366pub mod user;
367#[doc = "USER1 (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`user1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`user1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@user1`] module"]
368pub type USER1 = crate::Reg<user1::USER1_SPEC>;
369#[doc = ""]
370pub mod user1;
371#[doc = "USER2 (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`user2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`user2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@user2`] module"]
372pub type USER2 = crate::Reg<user2::USER2_SPEC>;
373#[doc = ""]
374pub mod user2;
375#[doc = "MOSI_DLEN (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`mosi_dlen::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mosi_dlen::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mosi_dlen`] module"]
376pub type MOSI_DLEN = crate::Reg<mosi_dlen::MOSI_DLEN_SPEC>;
377#[doc = ""]
378pub mod mosi_dlen;
379#[doc = "MISO_DLEN (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`miso_dlen::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`miso_dlen::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@miso_dlen`] module"]
380pub type MISO_DLEN = crate::Reg<miso_dlen::MISO_DLEN_SPEC>;
381#[doc = ""]
382pub mod miso_dlen;
383#[doc = "SLV_WR_STATUS (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`slv_wr_status::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`slv_wr_status::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@slv_wr_status`] module"]
384pub type SLV_WR_STATUS = crate::Reg<slv_wr_status::SLV_WR_STATUS_SPEC>;
385#[doc = ""]
386pub mod slv_wr_status;
387#[doc = "PIN (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`pin::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pin::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pin`] module"]
388pub type PIN = crate::Reg<pin::PIN_SPEC>;
389#[doc = ""]
390pub mod pin;
391#[doc = "SLAVE (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`slave::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`slave::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@slave`] module"]
392pub type SLAVE = crate::Reg<slave::SLAVE_SPEC>;
393#[doc = ""]
394pub mod slave;
395#[doc = "SLAVE1 (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`slave1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`slave1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@slave1`] module"]
396pub type SLAVE1 = crate::Reg<slave1::SLAVE1_SPEC>;
397#[doc = ""]
398pub mod slave1;
399#[doc = "SLAVE2 (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`slave2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`slave2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@slave2`] module"]
400pub type SLAVE2 = crate::Reg<slave2::SLAVE2_SPEC>;
401#[doc = ""]
402pub mod slave2;
403#[doc = "SLAVE3 (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`slave3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`slave3::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@slave3`] module"]
404pub type SLAVE3 = crate::Reg<slave3::SLAVE3_SPEC>;
405#[doc = ""]
406pub mod slave3;
407#[doc = "SLV_WRBUF_DLEN (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`slv_wrbuf_dlen::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`slv_wrbuf_dlen::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@slv_wrbuf_dlen`] module"]
408pub type SLV_WRBUF_DLEN = crate::Reg<slv_wrbuf_dlen::SLV_WRBUF_DLEN_SPEC>;
409#[doc = ""]
410pub mod slv_wrbuf_dlen;
411#[doc = "SLV_RDBUF_DLEN (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`slv_rdbuf_dlen::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`slv_rdbuf_dlen::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@slv_rdbuf_dlen`] module"]
412pub type SLV_RDBUF_DLEN = crate::Reg<slv_rdbuf_dlen::SLV_RDBUF_DLEN_SPEC>;
413#[doc = ""]
414pub mod slv_rdbuf_dlen;
415#[doc = "CACHE_FCTRL (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`cache_fctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cache_fctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cache_fctrl`] module"]
416pub type CACHE_FCTRL = crate::Reg<cache_fctrl::CACHE_FCTRL_SPEC>;
417#[doc = ""]
418pub mod cache_fctrl;
419#[doc = "CACHE_SCTRL (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`cache_sctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cache_sctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cache_sctrl`] module"]
420pub type CACHE_SCTRL = crate::Reg<cache_sctrl::CACHE_SCTRL_SPEC>;
421#[doc = ""]
422pub mod cache_sctrl;
423#[doc = "SRAM_CMD (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`sram_cmd::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sram_cmd::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sram_cmd`] module"]
424pub type SRAM_CMD = crate::Reg<sram_cmd::SRAM_CMD_SPEC>;
425#[doc = ""]
426pub mod sram_cmd;
427#[doc = "SRAM_DRD_CMD (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`sram_drd_cmd::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sram_drd_cmd::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sram_drd_cmd`] module"]
428pub type SRAM_DRD_CMD = crate::Reg<sram_drd_cmd::SRAM_DRD_CMD_SPEC>;
429#[doc = ""]
430pub mod sram_drd_cmd;
431#[doc = "SRAM_DWR_CMD (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`sram_dwr_cmd::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sram_dwr_cmd::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sram_dwr_cmd`] module"]
432pub type SRAM_DWR_CMD = crate::Reg<sram_dwr_cmd::SRAM_DWR_CMD_SPEC>;
433#[doc = ""]
434pub mod sram_dwr_cmd;
435#[doc = "SLV_RD_BIT (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`slv_rd_bit::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`slv_rd_bit::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@slv_rd_bit`] module"]
436pub type SLV_RD_BIT = crate::Reg<slv_rd_bit::SLV_RD_BIT_SPEC>;
437#[doc = ""]
438pub mod slv_rd_bit;
439#[doc = "W (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`w::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`w::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@w`] module"]
440pub type W = crate::Reg<w::W_SPEC>;
441#[doc = ""]
442pub mod w;
443#[doc = "TX_CRC (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`tx_crc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tx_crc::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tx_crc`] module"]
444pub type TX_CRC = crate::Reg<tx_crc::TX_CRC_SPEC>;
445#[doc = ""]
446pub mod tx_crc;
447#[doc = "EXT0 (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`ext0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ext0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ext0`] module"]
448pub type EXT0 = crate::Reg<ext0::EXT0_SPEC>;
449#[doc = ""]
450pub mod ext0;
451#[doc = "EXT1 (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`ext1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ext1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ext1`] module"]
452pub type EXT1 = crate::Reg<ext1::EXT1_SPEC>;
453#[doc = ""]
454pub mod ext1;
455#[doc = "EXT2 (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`ext2::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ext2`] module"]
456pub type EXT2 = crate::Reg<ext2::EXT2_SPEC>;
457#[doc = ""]
458pub mod ext2;
459#[doc = "EXT3 (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`ext3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ext3::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ext3`] module"]
460pub type EXT3 = crate::Reg<ext3::EXT3_SPEC>;
461#[doc = ""]
462pub mod ext3;
463#[doc = "DMA_CONF (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`dma_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dma_conf::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dma_conf`] module"]
464pub type DMA_CONF = crate::Reg<dma_conf::DMA_CONF_SPEC>;
465#[doc = ""]
466pub mod dma_conf;
467#[doc = "DMA_OUT_LINK (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`dma_out_link::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dma_out_link::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dma_out_link`] module"]
468pub type DMA_OUT_LINK = crate::Reg<dma_out_link::DMA_OUT_LINK_SPEC>;
469#[doc = ""]
470pub mod dma_out_link;
471#[doc = "DMA_IN_LINK (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`dma_in_link::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dma_in_link::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dma_in_link`] module"]
472pub type DMA_IN_LINK = crate::Reg<dma_in_link::DMA_IN_LINK_SPEC>;
473#[doc = ""]
474pub mod dma_in_link;
475#[doc = "DMA_STATUS (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`dma_status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dma_status`] module"]
476pub type DMA_STATUS = crate::Reg<dma_status::DMA_STATUS_SPEC>;
477#[doc = ""]
478pub mod dma_status;
479#[doc = "DMA_INT_ENA (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`dma_int_ena::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dma_int_ena::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dma_int_ena`] module"]
480pub type DMA_INT_ENA = crate::Reg<dma_int_ena::DMA_INT_ENA_SPEC>;
481#[doc = ""]
482pub mod dma_int_ena;
483#[doc = "DMA_INT_RAW (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`dma_int_raw::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dma_int_raw`] module"]
484pub type DMA_INT_RAW = crate::Reg<dma_int_raw::DMA_INT_RAW_SPEC>;
485#[doc = ""]
486pub mod dma_int_raw;
487#[doc = "DMA_INT_ST (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`dma_int_st::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dma_int_st`] module"]
488pub type DMA_INT_ST = crate::Reg<dma_int_st::DMA_INT_ST_SPEC>;
489#[doc = ""]
490pub mod dma_int_st;
491#[doc = "DMA_INT_CLR (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`dma_int_clr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dma_int_clr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dma_int_clr`] module"]
492pub type DMA_INT_CLR = crate::Reg<dma_int_clr::DMA_INT_CLR_SPEC>;
493#[doc = ""]
494pub mod dma_int_clr;
495#[doc = "IN_ERR_EOF_DES_ADDR (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`in_err_eof_des_addr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@in_err_eof_des_addr`] module"]
496pub type IN_ERR_EOF_DES_ADDR = crate::Reg<in_err_eof_des_addr::IN_ERR_EOF_DES_ADDR_SPEC>;
497#[doc = ""]
498pub mod in_err_eof_des_addr;
499#[doc = "IN_SUC_EOF_DES_ADDR (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`in_suc_eof_des_addr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@in_suc_eof_des_addr`] module"]
500pub type IN_SUC_EOF_DES_ADDR = crate::Reg<in_suc_eof_des_addr::IN_SUC_EOF_DES_ADDR_SPEC>;
501#[doc = ""]
502pub mod in_suc_eof_des_addr;
503#[doc = "INLINK_DSCR (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`inlink_dscr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@inlink_dscr`] module"]
504pub type INLINK_DSCR = crate::Reg<inlink_dscr::INLINK_DSCR_SPEC>;
505#[doc = ""]
506pub mod inlink_dscr;
507#[doc = "INLINK_DSCR_BF0 (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`inlink_dscr_bf0::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@inlink_dscr_bf0`] module"]
508pub type INLINK_DSCR_BF0 = crate::Reg<inlink_dscr_bf0::INLINK_DSCR_BF0_SPEC>;
509#[doc = ""]
510pub mod inlink_dscr_bf0;
511#[doc = "INLINK_DSCR_BF1 (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`inlink_dscr_bf1::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@inlink_dscr_bf1`] module"]
512pub type INLINK_DSCR_BF1 = crate::Reg<inlink_dscr_bf1::INLINK_DSCR_BF1_SPEC>;
513#[doc = ""]
514pub mod inlink_dscr_bf1;
515#[doc = "OUT_EOF_BFR_DES_ADDR (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`out_eof_bfr_des_addr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@out_eof_bfr_des_addr`] module"]
516pub type OUT_EOF_BFR_DES_ADDR = crate::Reg<out_eof_bfr_des_addr::OUT_EOF_BFR_DES_ADDR_SPEC>;
517#[doc = ""]
518pub mod out_eof_bfr_des_addr;
519#[doc = "OUT_EOF_DES_ADDR (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`out_eof_des_addr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@out_eof_des_addr`] module"]
520pub type OUT_EOF_DES_ADDR = crate::Reg<out_eof_des_addr::OUT_EOF_DES_ADDR_SPEC>;
521#[doc = ""]
522pub mod out_eof_des_addr;
523#[doc = "OUTLINK_DSCR (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`outlink_dscr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@outlink_dscr`] module"]
524pub type OUTLINK_DSCR = crate::Reg<outlink_dscr::OUTLINK_DSCR_SPEC>;
525#[doc = ""]
526pub mod outlink_dscr;
527#[doc = "OUTLINK_DSCR_BF0 (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`outlink_dscr_bf0::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@outlink_dscr_bf0`] module"]
528pub type OUTLINK_DSCR_BF0 = crate::Reg<outlink_dscr_bf0::OUTLINK_DSCR_BF0_SPEC>;
529#[doc = ""]
530pub mod outlink_dscr_bf0;
531#[doc = "OUTLINK_DSCR_BF1 (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`outlink_dscr_bf1::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@outlink_dscr_bf1`] module"]
532pub type OUTLINK_DSCR_BF1 = crate::Reg<outlink_dscr_bf1::OUTLINK_DSCR_BF1_SPEC>;
533#[doc = ""]
534pub mod outlink_dscr_bf1;
535#[doc = "DMA_RSTATUS (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`dma_rstatus::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dma_rstatus`] module"]
536pub type DMA_RSTATUS = crate::Reg<dma_rstatus::DMA_RSTATUS_SPEC>;
537#[doc = ""]
538pub mod dma_rstatus;
539#[doc = "DMA_TSTATUS (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`dma_tstatus::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dma_tstatus`] module"]
540pub type DMA_TSTATUS = crate::Reg<dma_tstatus::DMA_TSTATUS_SPEC>;
541#[doc = ""]
542pub mod dma_tstatus;
543#[doc = "DATE (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`date::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`date::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@date`] module"]
544pub type DATE = crate::Reg<date::DATE_SPEC>;
545#[doc = ""]
546pub mod date;