1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
#[repr(C)]
#[doc = "Register block"]
pub struct RegisterBlock {
    spi_ctrlr0: SpiCtrlr0,
    spi_ctrlr1: SpiCtrlr1,
    spi_enr: SpiEnr,
    spi_ser: SpiSer,
    spi_baudr: SpiBaudr,
    spi_txftlr: SpiTxftlr,
    spi_rxftlr: SpiRxftlr,
    spi_txflr: SpiTxflr,
    spi_rxflr: SpiRxflr,
    spi_sr: SpiSr,
    spi_ipr: SpiIpr,
    spi_imr: SpiImr,
    spi_isr: SpiIsr,
    spi_risr: SpiRisr,
    spi_icr: SpiIcr,
    spi_dmacr: SpiDmacr,
    spi_dmatdlr: SpiDmatdlr,
    spi_dmardlr: SpiDmardlr,
    _reserved18: [u8; 0x03b8],
    spi_txdr: SpiTxdr,
    _reserved19: [u8; 0x03fc],
    spi_rxdr: SpiRxdr,
}
impl RegisterBlock {
    #[doc = "0x00 - Control Register 0"]
    #[inline(always)]
    pub const fn spi_ctrlr0(&self) -> &SpiCtrlr0 {
        &self.spi_ctrlr0
    }
    #[doc = "0x04 - Control Register 1"]
    #[inline(always)]
    pub const fn spi_ctrlr1(&self) -> &SpiCtrlr1 {
        &self.spi_ctrlr1
    }
    #[doc = "0x08 - SPI Enable"]
    #[inline(always)]
    pub const fn spi_enr(&self) -> &SpiEnr {
        &self.spi_enr
    }
    #[doc = "0x0c - Slave Enable Register"]
    #[inline(always)]
    pub const fn spi_ser(&self) -> &SpiSer {
        &self.spi_ser
    }
    #[doc = "0x10 - Baud Rate Select"]
    #[inline(always)]
    pub const fn spi_baudr(&self) -> &SpiBaudr {
        &self.spi_baudr
    }
    #[doc = "0x14 - Transmit FIFO Threshold Level"]
    #[inline(always)]
    pub const fn spi_txftlr(&self) -> &SpiTxftlr {
        &self.spi_txftlr
    }
    #[doc = "0x18 - Receive FIFO Threshold Level"]
    #[inline(always)]
    pub const fn spi_rxftlr(&self) -> &SpiRxftlr {
        &self.spi_rxftlr
    }
    #[doc = "0x1c - Transmit FIFO Level"]
    #[inline(always)]
    pub const fn spi_txflr(&self) -> &SpiTxflr {
        &self.spi_txflr
    }
    #[doc = "0x20 - Receive FIFO Level"]
    #[inline(always)]
    pub const fn spi_rxflr(&self) -> &SpiRxflr {
        &self.spi_rxflr
    }
    #[doc = "0x24 - SPI Status"]
    #[inline(always)]
    pub const fn spi_sr(&self) -> &SpiSr {
        &self.spi_sr
    }
    #[doc = "0x28 - Interrupt Polarity"]
    #[inline(always)]
    pub const fn spi_ipr(&self) -> &SpiIpr {
        &self.spi_ipr
    }
    #[doc = "0x2c - Interrupt Mask"]
    #[inline(always)]
    pub const fn spi_imr(&self) -> &SpiImr {
        &self.spi_imr
    }
    #[doc = "0x30 - Interrupt Status"]
    #[inline(always)]
    pub const fn spi_isr(&self) -> &SpiIsr {
        &self.spi_isr
    }
    #[doc = "0x34 - Raw Interrupt Status"]
    #[inline(always)]
    pub const fn spi_risr(&self) -> &SpiRisr {
        &self.spi_risr
    }
    #[doc = "0x38 - Interrupt Clear"]
    #[inline(always)]
    pub const fn spi_icr(&self) -> &SpiIcr {
        &self.spi_icr
    }
    #[doc = "0x3c - DMA Control"]
    #[inline(always)]
    pub const fn spi_dmacr(&self) -> &SpiDmacr {
        &self.spi_dmacr
    }
    #[doc = "0x40 - DMA Transmit Data Level"]
    #[inline(always)]
    pub const fn spi_dmatdlr(&self) -> &SpiDmatdlr {
        &self.spi_dmatdlr
    }
    #[doc = "0x44 - DMA Receive Data Level"]
    #[inline(always)]
    pub const fn spi_dmardlr(&self) -> &SpiDmardlr {
        &self.spi_dmardlr
    }
    #[doc = "0x400 - Transmit FIFO Data"]
    #[inline(always)]
    pub const fn spi_txdr(&self) -> &SpiTxdr {
        &self.spi_txdr
    }
    #[doc = "0x800 - Receive FIFO Data"]
    #[inline(always)]
    pub const fn spi_rxdr(&self) -> &SpiRxdr {
        &self.spi_rxdr
    }
}
#[doc = "SPI_CTRLR0 (rw) register accessor: Control Register 0\n\nYou 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).\n\nFor information about available fields see [`mod@spi_ctrlr0`]
module"]
#[doc(alias = "SPI_CTRLR0")]
pub type SpiCtrlr0 = crate::Reg<spi_ctrlr0::SpiCtrlr0Spec>;
#[doc = "Control Register 0"]
pub mod spi_ctrlr0;
#[doc = "SPI_CTRLR1 (rw) register accessor: Control Register 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_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 [`spi_ctrlr1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_ctrlr1`]
module"]
#[doc(alias = "SPI_CTRLR1")]
pub type SpiCtrlr1 = crate::Reg<spi_ctrlr1::SpiCtrlr1Spec>;
#[doc = "Control Register 1"]
pub mod spi_ctrlr1;
#[doc = "SPI_ENR (rw) register accessor: SPI Enable\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_enr::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_enr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_enr`]
module"]
#[doc(alias = "SPI_ENR")]
pub type SpiEnr = crate::Reg<spi_enr::SpiEnrSpec>;
#[doc = "SPI Enable"]
pub mod spi_enr;
#[doc = "SPI_SER (rw) register accessor: Slave Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_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 [`spi_ser::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_ser`]
module"]
#[doc(alias = "SPI_SER")]
pub type SpiSer = crate::Reg<spi_ser::SpiSerSpec>;
#[doc = "Slave Enable Register"]
pub mod spi_ser;
#[doc = "SPI_BAUDR (rw) register accessor: Baud Rate Select\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_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 [`spi_baudr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_baudr`]
module"]
#[doc(alias = "SPI_BAUDR")]
pub type SpiBaudr = crate::Reg<spi_baudr::SpiBaudrSpec>;
#[doc = "Baud Rate Select"]
pub mod spi_baudr;
#[doc = "SPI_TXFTLR (rw) register accessor: Transmit FIFO Threshold Level\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_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 [`spi_txftlr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_txftlr`]
module"]
#[doc(alias = "SPI_TXFTLR")]
pub type SpiTxftlr = crate::Reg<spi_txftlr::SpiTxftlrSpec>;
#[doc = "Transmit FIFO Threshold Level"]
pub mod spi_txftlr;
#[doc = "SPI_RXFTLR (rw) register accessor: Receive FIFO Threshold Level\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_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 [`spi_rxftlr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_rxftlr`]
module"]
#[doc(alias = "SPI_RXFTLR")]
pub type SpiRxftlr = crate::Reg<spi_rxftlr::SpiRxftlrSpec>;
#[doc = "Receive FIFO Threshold Level"]
pub mod spi_rxftlr;
#[doc = "SPI_TXFLR (r) register accessor: Transmit FIFO Level\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_txflr::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_txflr`]
module"]
#[doc(alias = "SPI_TXFLR")]
pub type SpiTxflr = crate::Reg<spi_txflr::SpiTxflrSpec>;
#[doc = "Transmit FIFO Level"]
pub mod spi_txflr;
#[doc = "SPI_RXFLR (r) register accessor: Receive FIFO Level\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_rxflr::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_rxflr`]
module"]
#[doc(alias = "SPI_RXFLR")]
pub type SpiRxflr = crate::Reg<spi_rxflr::SpiRxflrSpec>;
#[doc = "Receive FIFO Level"]
pub mod spi_rxflr;
#[doc = "SPI_SR (r) register accessor: SPI Status\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_sr::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_sr`]
module"]
#[doc(alias = "SPI_SR")]
pub type SpiSr = crate::Reg<spi_sr::SpiSrSpec>;
#[doc = "SPI Status"]
pub mod spi_sr;
#[doc = "SPI_IPR (rw) register accessor: Interrupt Polarity\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_ipr::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_ipr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_ipr`]
module"]
#[doc(alias = "SPI_IPR")]
pub type SpiIpr = crate::Reg<spi_ipr::SpiIprSpec>;
#[doc = "Interrupt Polarity"]
pub mod spi_ipr;
#[doc = "SPI_IMR (rw) register accessor: Interrupt Mask\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_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 [`spi_imr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_imr`]
module"]
#[doc(alias = "SPI_IMR")]
pub type SpiImr = crate::Reg<spi_imr::SpiImrSpec>;
#[doc = "Interrupt Mask"]
pub mod spi_imr;
#[doc = "SPI_ISR (r) register accessor: Interrupt Status\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_isr::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_isr`]
module"]
#[doc(alias = "SPI_ISR")]
pub type SpiIsr = crate::Reg<spi_isr::SpiIsrSpec>;
#[doc = "Interrupt Status"]
pub mod spi_isr;
#[doc = "SPI_RISR (r) register accessor: Raw Interrupt Status\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_risr::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_risr`]
module"]
#[doc(alias = "SPI_RISR")]
pub type SpiRisr = crate::Reg<spi_risr::SpiRisrSpec>;
#[doc = "Raw Interrupt Status"]
pub mod spi_risr;
#[doc = "SPI_ICR (w) register accessor: Interrupt Clear\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`spi_icr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_icr`]
module"]
#[doc(alias = "SPI_ICR")]
pub type SpiIcr = crate::Reg<spi_icr::SpiIcrSpec>;
#[doc = "Interrupt Clear"]
pub mod spi_icr;
#[doc = "SPI_DMACR (rw) register accessor: DMA Control\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_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 [`spi_dmacr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_dmacr`]
module"]
#[doc(alias = "SPI_DMACR")]
pub type SpiDmacr = crate::Reg<spi_dmacr::SpiDmacrSpec>;
#[doc = "DMA Control"]
pub mod spi_dmacr;
#[doc = "SPI_DMATDLR (rw) register accessor: DMA Transmit Data Level\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_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 [`spi_dmatdlr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_dmatdlr`]
module"]
#[doc(alias = "SPI_DMATDLR")]
pub type SpiDmatdlr = crate::Reg<spi_dmatdlr::SpiDmatdlrSpec>;
#[doc = "DMA Transmit Data Level"]
pub mod spi_dmatdlr;
#[doc = "SPI_DMARDLR (rw) register accessor: DMA Receive Data Level\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_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 [`spi_dmardlr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_dmardlr`]
module"]
#[doc(alias = "SPI_DMARDLR")]
pub type SpiDmardlr = crate::Reg<spi_dmardlr::SpiDmardlrSpec>;
#[doc = "DMA Receive Data Level"]
pub mod spi_dmardlr;
#[doc = "SPI_TXDR (w) register accessor: Transmit FIFO Data\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`spi_txdr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_txdr`]
module"]
#[doc(alias = "SPI_TXDR")]
pub type SpiTxdr = crate::Reg<spi_txdr::SpiTxdrSpec>;
#[doc = "Transmit FIFO Data"]
pub mod spi_txdr;
#[doc = "SPI_RXDR (rw) register accessor: Receive FIFO Data\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_rxdr::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_rxdr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_rxdr`]
module"]
#[doc(alias = "SPI_RXDR")]
pub type SpiRxdr = crate::Reg<spi_rxdr::SpiRxdrSpec>;
#[doc = "Receive FIFO Data"]
pub mod spi_rxdr;