1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 ctrlr0: CTRLR0,
5 ctrlr1: CTRLR1,
6 ssienr: SSIENR,
7 mwcr: MWCR,
8 ser: SER,
9 baudr: BAUDR,
10 txftlr: TXFTLR,
11 rxftlr: RXFTLR,
12 txflr: TXFLR,
13 rxflr: RXFLR,
14 sr: SR,
15 imr: IMR,
16 isr: ISR,
17 risr: RISR,
18 txoicr: TXOICR,
19 rxoicr: RXOICR,
20 rxuicr: RXUICR,
21 msticr: MSTICR,
22 icr: ICR,
23 dmacr: DMACR,
24 dmatdlr: DMATDLR,
25 dmardlr: DMARDLR,
26 idr: IDR,
27 ssi_version_id: SSI_VERSION_ID,
28 dr0: DR0,
29 _reserved25: [u8; 0x8c],
30 rx_sample_dly: RX_SAMPLE_DLY,
31 spi_ctrlr0: SPI_CTRLR0,
32 txd_drive_edge: TXD_DRIVE_EDGE,
33}
34impl RegisterBlock {
35#[doc = "0x00 - Control register 0"]
36 #[inline(always)]
37pub const fn ctrlr0(&self) -> &CTRLR0 {
38&self.ctrlr0
39 }
40#[doc = "0x04 - Master Control register 1"]
41 #[inline(always)]
42pub const fn ctrlr1(&self) -> &CTRLR1 {
43&self.ctrlr1
44 }
45#[doc = "0x08 - SSI Enable"]
46 #[inline(always)]
47pub const fn ssienr(&self) -> &SSIENR {
48&self.ssienr
49 }
50#[doc = "0x0c - Microwire Control"]
51 #[inline(always)]
52pub const fn mwcr(&self) -> &MWCR {
53&self.mwcr
54 }
55#[doc = "0x10 - Slave enable"]
56 #[inline(always)]
57pub const fn ser(&self) -> &SER {
58&self.ser
59 }
60#[doc = "0x14 - Baud rate"]
61 #[inline(always)]
62pub const fn baudr(&self) -> &BAUDR {
63&self.baudr
64 }
65#[doc = "0x18 - TX FIFO threshold level"]
66 #[inline(always)]
67pub const fn txftlr(&self) -> &TXFTLR {
68&self.txftlr
69 }
70#[doc = "0x1c - RX FIFO threshold level"]
71 #[inline(always)]
72pub const fn rxftlr(&self) -> &RXFTLR {
73&self.rxftlr
74 }
75#[doc = "0x20 - TX FIFO level"]
76 #[inline(always)]
77pub const fn txflr(&self) -> &TXFLR {
78&self.txflr
79 }
80#[doc = "0x24 - RX FIFO level"]
81 #[inline(always)]
82pub const fn rxflr(&self) -> &RXFLR {
83&self.rxflr
84 }
85#[doc = "0x28 - Status register"]
86 #[inline(always)]
87pub const fn sr(&self) -> &SR {
88&self.sr
89 }
90#[doc = "0x2c - Interrupt mask"]
91 #[inline(always)]
92pub const fn imr(&self) -> &IMR {
93&self.imr
94 }
95#[doc = "0x30 - Interrupt status"]
96 #[inline(always)]
97pub const fn isr(&self) -> &ISR {
98&self.isr
99 }
100#[doc = "0x34 - Raw interrupt status"]
101 #[inline(always)]
102pub const fn risr(&self) -> &RISR {
103&self.risr
104 }
105#[doc = "0x38 - TX FIFO overflow interrupt clear"]
106 #[inline(always)]
107pub const fn txoicr(&self) -> &TXOICR {
108&self.txoicr
109 }
110#[doc = "0x3c - RX FIFO overflow interrupt clear"]
111 #[inline(always)]
112pub const fn rxoicr(&self) -> &RXOICR {
113&self.rxoicr
114 }
115#[doc = "0x40 - RX FIFO underflow interrupt clear"]
116 #[inline(always)]
117pub const fn rxuicr(&self) -> &RXUICR {
118&self.rxuicr
119 }
120#[doc = "0x44 - Multi-master interrupt clear"]
121 #[inline(always)]
122pub const fn msticr(&self) -> &MSTICR {
123&self.msticr
124 }
125#[doc = "0x48 - Interrupt clear"]
126 #[inline(always)]
127pub const fn icr(&self) -> &ICR {
128&self.icr
129 }
130#[doc = "0x4c - DMA control"]
131 #[inline(always)]
132pub const fn dmacr(&self) -> &DMACR {
133&self.dmacr
134 }
135#[doc = "0x50 - DMA TX data level"]
136 #[inline(always)]
137pub const fn dmatdlr(&self) -> &DMATDLR {
138&self.dmatdlr
139 }
140#[doc = "0x54 - DMA RX data level"]
141 #[inline(always)]
142pub const fn dmardlr(&self) -> &DMARDLR {
143&self.dmardlr
144 }
145#[doc = "0x58 - Identification register"]
146 #[inline(always)]
147pub const fn idr(&self) -> &IDR {
148&self.idr
149 }
150#[doc = "0x5c - Version ID"]
151 #[inline(always)]
152pub const fn ssi_version_id(&self) -> &SSI_VERSION_ID {
153&self.ssi_version_id
154 }
155#[doc = "0x60 - Data Register 0 (of 36)"]
156 #[inline(always)]
157pub const fn dr0(&self) -> &DR0 {
158&self.dr0
159 }
160#[doc = "0xf0 - RX sample delay"]
161 #[inline(always)]
162pub const fn rx_sample_dly(&self) -> &RX_SAMPLE_DLY {
163&self.rx_sample_dly
164 }
165#[doc = "0xf4 - SPI control"]
166 #[inline(always)]
167pub const fn spi_ctrlr0(&self) -> &SPI_CTRLR0 {
168&self.spi_ctrlr0
169 }
170#[doc = "0xf8 - TX drive edge"]
171 #[inline(always)]
172pub const fn txd_drive_edge(&self) -> &TXD_DRIVE_EDGE {
173&self.txd_drive_edge
174 }
175}
176#[doc = "CTRLR0 (rw) register accessor: Control register 0
177178You can [`read`](crate::generic::Reg::read) this register and get [`ctrlr0::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ctrlr0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
179180For information about available fields see [`mod@ctrlr0`]
181module"]
182pub type CTRLR0 = crate::Reg<ctrlr0::CTRLR0_SPEC>;
183#[doc = "Control register 0"]
184pub mod ctrlr0;
185#[doc = "CTRLR1 (rw) register accessor: Master Control register 1
186187You can [`read`](crate::generic::Reg::read) this register and get [`ctrlr1::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ctrlr1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
188189For information about available fields see [`mod@ctrlr1`]
190module"]
191pub type CTRLR1 = crate::Reg<ctrlr1::CTRLR1_SPEC>;
192#[doc = "Master Control register 1"]
193pub mod ctrlr1;
194#[doc = "SSIENR (rw) register accessor: SSI Enable
195196You can [`read`](crate::generic::Reg::read) this register and get [`ssienr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ssienr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
197198For information about available fields see [`mod@ssienr`]
199module"]
200pub type SSIENR = crate::Reg<ssienr::SSIENR_SPEC>;
201#[doc = "SSI Enable"]
202pub mod ssienr;
203#[doc = "MWCR (rw) register accessor: Microwire Control
204205You can [`read`](crate::generic::Reg::read) this register and get [`mwcr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`mwcr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
206207For information about available fields see [`mod@mwcr`]
208module"]
209pub type MWCR = crate::Reg<mwcr::MWCR_SPEC>;
210#[doc = "Microwire Control"]
211pub mod mwcr;
212#[doc = "SER (rw) register accessor: Slave enable
213214You can [`read`](crate::generic::Reg::read) this register and get [`ser::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ser::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
215216For information about available fields see [`mod@ser`]
217module"]
218pub type SER = crate::Reg<ser::SER_SPEC>;
219#[doc = "Slave enable"]
220pub mod ser;
221#[doc = "BAUDR (rw) register accessor: Baud rate
222223You can [`read`](crate::generic::Reg::read) this register and get [`baudr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`baudr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
224225For information about available fields see [`mod@baudr`]
226module"]
227pub type BAUDR = crate::Reg<baudr::BAUDR_SPEC>;
228#[doc = "Baud rate"]
229pub mod baudr;
230#[doc = "TXFTLR (rw) register accessor: TX FIFO threshold level
231232You can [`read`](crate::generic::Reg::read) this register and get [`txftlr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`txftlr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
233234For information about available fields see [`mod@txftlr`]
235module"]
236pub type TXFTLR = crate::Reg<txftlr::TXFTLR_SPEC>;
237#[doc = "TX FIFO threshold level"]
238pub mod txftlr;
239#[doc = "RXFTLR (rw) register accessor: RX FIFO threshold level
240241You can [`read`](crate::generic::Reg::read) this register and get [`rxftlr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rxftlr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
242243For information about available fields see [`mod@rxftlr`]
244module"]
245pub type RXFTLR = crate::Reg<rxftlr::RXFTLR_SPEC>;
246#[doc = "RX FIFO threshold level"]
247pub mod rxftlr;
248#[doc = "TXFLR (r) register accessor: TX FIFO level
249250You can [`read`](crate::generic::Reg::read) this register and get [`txflr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
251252For information about available fields see [`mod@txflr`]
253module"]
254pub type TXFLR = crate::Reg<txflr::TXFLR_SPEC>;
255#[doc = "TX FIFO level"]
256pub mod txflr;
257#[doc = "RXFLR (r) register accessor: RX FIFO level
258259You can [`read`](crate::generic::Reg::read) this register and get [`rxflr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
260261For information about available fields see [`mod@rxflr`]
262module"]
263pub type RXFLR = crate::Reg<rxflr::RXFLR_SPEC>;
264#[doc = "RX FIFO level"]
265pub mod rxflr;
266#[doc = "SR (r) register accessor: Status register
267268You can [`read`](crate::generic::Reg::read) this register and get [`sr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
269270For information about available fields see [`mod@sr`]
271module"]
272pub type SR = crate::Reg<sr::SR_SPEC>;
273#[doc = "Status register"]
274pub mod sr;
275#[doc = "IMR (rw) register accessor: Interrupt mask
276277You can [`read`](crate::generic::Reg::read) this register and get [`imr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`imr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
278279For information about available fields see [`mod@imr`]
280module"]
281pub type IMR = crate::Reg<imr::IMR_SPEC>;
282#[doc = "Interrupt mask"]
283pub mod imr;
284#[doc = "ISR (r) register accessor: Interrupt status
285286You can [`read`](crate::generic::Reg::read) this register and get [`isr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
287288For information about available fields see [`mod@isr`]
289module"]
290pub type ISR = crate::Reg<isr::ISR_SPEC>;
291#[doc = "Interrupt status"]
292pub mod isr;
293#[doc = "RISR (r) register accessor: Raw interrupt status
294295You can [`read`](crate::generic::Reg::read) this register and get [`risr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
296297For information about available fields see [`mod@risr`]
298module"]
299pub type RISR = crate::Reg<risr::RISR_SPEC>;
300#[doc = "Raw interrupt status"]
301pub mod risr;
302#[doc = "TXOICR (r) register accessor: TX FIFO overflow interrupt clear
303304You can [`read`](crate::generic::Reg::read) this register and get [`txoicr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
305306For information about available fields see [`mod@txoicr`]
307module"]
308pub type TXOICR = crate::Reg<txoicr::TXOICR_SPEC>;
309#[doc = "TX FIFO overflow interrupt clear"]
310pub mod txoicr;
311#[doc = "RXOICR (r) register accessor: RX FIFO overflow interrupt clear
312313You can [`read`](crate::generic::Reg::read) this register and get [`rxoicr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
314315For information about available fields see [`mod@rxoicr`]
316module"]
317pub type RXOICR = crate::Reg<rxoicr::RXOICR_SPEC>;
318#[doc = "RX FIFO overflow interrupt clear"]
319pub mod rxoicr;
320#[doc = "RXUICR (r) register accessor: RX FIFO underflow interrupt clear
321322You can [`read`](crate::generic::Reg::read) this register and get [`rxuicr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
323324For information about available fields see [`mod@rxuicr`]
325module"]
326pub type RXUICR = crate::Reg<rxuicr::RXUICR_SPEC>;
327#[doc = "RX FIFO underflow interrupt clear"]
328pub mod rxuicr;
329#[doc = "MSTICR (r) register accessor: Multi-master interrupt clear
330331You can [`read`](crate::generic::Reg::read) this register and get [`msticr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
332333For information about available fields see [`mod@msticr`]
334module"]
335pub type MSTICR = crate::Reg<msticr::MSTICR_SPEC>;
336#[doc = "Multi-master interrupt clear"]
337pub mod msticr;
338#[doc = "ICR (r) register accessor: Interrupt clear
339340You can [`read`](crate::generic::Reg::read) this register and get [`icr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
341342For information about available fields see [`mod@icr`]
343module"]
344pub type ICR = crate::Reg<icr::ICR_SPEC>;
345#[doc = "Interrupt clear"]
346pub mod icr;
347#[doc = "DMACR (rw) register accessor: DMA control
348349You can [`read`](crate::generic::Reg::read) this register and get [`dmacr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmacr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
350351For information about available fields see [`mod@dmacr`]
352module"]
353pub type DMACR = crate::Reg<dmacr::DMACR_SPEC>;
354#[doc = "DMA control"]
355pub mod dmacr;
356#[doc = "DMATDLR (rw) register accessor: DMA TX data level
357358You can [`read`](crate::generic::Reg::read) this register and get [`dmatdlr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmatdlr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
359360For information about available fields see [`mod@dmatdlr`]
361module"]
362pub type DMATDLR = crate::Reg<dmatdlr::DMATDLR_SPEC>;
363#[doc = "DMA TX data level"]
364pub mod dmatdlr;
365#[doc = "DMARDLR (rw) register accessor: DMA RX data level
366367You can [`read`](crate::generic::Reg::read) this register and get [`dmardlr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmardlr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
368369For information about available fields see [`mod@dmardlr`]
370module"]
371pub type DMARDLR = crate::Reg<dmardlr::DMARDLR_SPEC>;
372#[doc = "DMA RX data level"]
373pub mod dmardlr;
374#[doc = "IDR (r) register accessor: Identification register
375376You can [`read`](crate::generic::Reg::read) this register and get [`idr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
377378For information about available fields see [`mod@idr`]
379module"]
380pub type IDR = crate::Reg<idr::IDR_SPEC>;
381#[doc = "Identification register"]
382pub mod idr;
383#[doc = "SSI_VERSION_ID (r) register accessor: Version ID
384385You can [`read`](crate::generic::Reg::read) this register and get [`ssi_version_id::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
386387For information about available fields see [`mod@ssi_version_id`]
388module"]
389pub type SSI_VERSION_ID = crate::Reg<ssi_version_id::SSI_VERSION_ID_SPEC>;
390#[doc = "Version ID"]
391pub mod ssi_version_id;
392#[doc = "DR0 (rw) register accessor: Data Register 0 (of 36)
393394You can [`read`](crate::generic::Reg::read) this register and get [`dr0::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dr0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
395396For information about available fields see [`mod@dr0`]
397module"]
398pub type DR0 = crate::Reg<dr0::DR0_SPEC>;
399#[doc = "Data Register 0 (of 36)"]
400pub mod dr0;
401#[doc = "RX_SAMPLE_DLY (rw) register accessor: RX sample delay
402403You can [`read`](crate::generic::Reg::read) this register and get [`rx_sample_dly::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rx_sample_dly::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
404405For information about available fields see [`mod@rx_sample_dly`]
406module"]
407pub type RX_SAMPLE_DLY = crate::Reg<rx_sample_dly::RX_SAMPLE_DLY_SPEC>;
408#[doc = "RX sample delay"]
409pub mod rx_sample_dly;
410#[doc = "SPI_CTRLR0 (rw) register accessor: SPI control
411412You can [`read`](crate::generic::Reg::read) this register and get [`spi_ctrlr0::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`spi_ctrlr0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
413414For information about available fields see [`mod@spi_ctrlr0`]
415module"]
416pub type SPI_CTRLR0 = crate::Reg<spi_ctrlr0::SPI_CTRLR0_SPEC>;
417#[doc = "SPI control"]
418pub mod spi_ctrlr0;
419#[doc = "TXD_DRIVE_EDGE (rw) register accessor: TX drive edge
420421You can [`read`](crate::generic::Reg::read) this register and get [`txd_drive_edge::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`txd_drive_edge::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
422423For information about available fields see [`mod@txd_drive_edge`]
424module"]
425pub type TXD_DRIVE_EDGE = crate::Reg<txd_drive_edge::TXD_DRIVE_EDGE_SPEC>;
426#[doc = "TX drive edge"]
427pub mod txd_drive_edge;