stm32f1_staging/stm32f101/ethernet_mac.rs
1#[repr(C)]
2#[derive(Debug)]
3///Register block
4pub struct RegisterBlock {
5 maccr: MACCR,
6 macffr: MACFFR,
7 machthr: MACHTHR,
8 machtlr: MACHTLR,
9 macmiiar: MACMIIAR,
10 macmiidr: MACMIIDR,
11 macfcr: MACFCR,
12 macvlantr: MACVLANTR,
13 _reserved8: [u8; 0x08],
14 macrwuffr: MACRWUFFR,
15 macpmtcsr: MACPMTCSR,
16 _reserved10: [u8; 0x08],
17 macsr: MACSR,
18 macimr: MACIMR,
19 maca0hr: MACA0HR,
20 maca0lr: MACA0LR,
21 maca1hr: MACA1HR,
22 maca1lr: MACA1LR,
23 maca2hr: MACA2HR,
24 maca2lr: MACA2LR,
25 maca3hr: MACA3HR,
26 maca3lr: MACA3LR,
27}
28impl RegisterBlock {
29 ///0x00 - Ethernet MAC configuration register (ETH_MACCR)
30 #[inline(always)]
31 pub const fn maccr(&self) -> &MACCR {
32 &self.maccr
33 }
34 ///0x04 - Ethernet MAC frame filter register (ETH_MACCFFR)
35 #[inline(always)]
36 pub const fn macffr(&self) -> &MACFFR {
37 &self.macffr
38 }
39 ///0x08 - Ethernet MAC hash table high register
40 #[inline(always)]
41 pub const fn machthr(&self) -> &MACHTHR {
42 &self.machthr
43 }
44 ///0x0c - Ethernet MAC hash table low register
45 #[inline(always)]
46 pub const fn machtlr(&self) -> &MACHTLR {
47 &self.machtlr
48 }
49 ///0x10 - Ethernet MAC MII address register (ETH_MACMIIAR)
50 #[inline(always)]
51 pub const fn macmiiar(&self) -> &MACMIIAR {
52 &self.macmiiar
53 }
54 ///0x14 - Ethernet MAC MII data register (ETH_MACMIIDR)
55 #[inline(always)]
56 pub const fn macmiidr(&self) -> &MACMIIDR {
57 &self.macmiidr
58 }
59 ///0x18 - Ethernet MAC flow control register (ETH_MACFCR)
60 #[inline(always)]
61 pub const fn macfcr(&self) -> &MACFCR {
62 &self.macfcr
63 }
64 ///0x1c - Ethernet MAC VLAN tag register (ETH_MACVLANTR)
65 #[inline(always)]
66 pub const fn macvlantr(&self) -> &MACVLANTR {
67 &self.macvlantr
68 }
69 ///0x28 - Ethernet MAC remote wakeup frame filter register (ETH_MACRWUFFR)
70 #[inline(always)]
71 pub const fn macrwuffr(&self) -> &MACRWUFFR {
72 &self.macrwuffr
73 }
74 ///0x2c - Ethernet MAC PMT control and status register (ETH_MACPMTCSR)
75 #[inline(always)]
76 pub const fn macpmtcsr(&self) -> &MACPMTCSR {
77 &self.macpmtcsr
78 }
79 ///0x38 - Ethernet MAC interrupt status register (ETH_MACSR)
80 #[inline(always)]
81 pub const fn macsr(&self) -> &MACSR {
82 &self.macsr
83 }
84 ///0x3c - Ethernet MAC interrupt mask register (ETH_MACIMR)
85 #[inline(always)]
86 pub const fn macimr(&self) -> &MACIMR {
87 &self.macimr
88 }
89 ///0x40 - Ethernet MAC address 0 high register (ETH_MACA0HR)
90 #[inline(always)]
91 pub const fn maca0hr(&self) -> &MACA0HR {
92 &self.maca0hr
93 }
94 ///0x44 - Ethernet MAC address 0 low register
95 #[inline(always)]
96 pub const fn maca0lr(&self) -> &MACA0LR {
97 &self.maca0lr
98 }
99 ///0x48 - Ethernet MAC address 1 high register (ETH_MACA1HR)
100 #[inline(always)]
101 pub const fn maca1hr(&self) -> &MACA1HR {
102 &self.maca1hr
103 }
104 ///0x4c - Ethernet MAC address1 low register
105 #[inline(always)]
106 pub const fn maca1lr(&self) -> &MACA1LR {
107 &self.maca1lr
108 }
109 ///0x50 - Ethernet MAC address 2 high register (ETH_MACA2HR)
110 #[inline(always)]
111 pub const fn maca2hr(&self) -> &MACA2HR {
112 &self.maca2hr
113 }
114 ///0x54 - Ethernet MAC address 2 low register
115 #[inline(always)]
116 pub const fn maca2lr(&self) -> &MACA2LR {
117 &self.maca2lr
118 }
119 ///0x58 - Ethernet MAC address 3 high register (ETH_MACA3HR)
120 #[inline(always)]
121 pub const fn maca3hr(&self) -> &MACA3HR {
122 &self.maca3hr
123 }
124 ///0x5c - Ethernet MAC address 3 low register
125 #[inline(always)]
126 pub const fn maca3lr(&self) -> &MACA3LR {
127 &self.maca3lr
128 }
129}
130/**MACCR (rw) register accessor: Ethernet MAC configuration register (ETH_MACCR)
131
132You can [`read`](crate::Reg::read) this register and get [`maccr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`maccr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
133
134See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACCR)
135
136For information about available fields see [`mod@maccr`] module*/
137pub type MACCR = crate::Reg<maccr::MACCRrs>;
138///Ethernet MAC configuration register (ETH_MACCR)
139pub mod maccr;
140/**MACFFR (rw) register accessor: Ethernet MAC frame filter register (ETH_MACCFFR)
141
142You can [`read`](crate::Reg::read) this register and get [`macffr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`macffr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
143
144See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACFFR)
145
146For information about available fields see [`mod@macffr`] module*/
147pub type MACFFR = crate::Reg<macffr::MACFFRrs>;
148///Ethernet MAC frame filter register (ETH_MACCFFR)
149pub mod macffr;
150/**MACHTHR (rw) register accessor: Ethernet MAC hash table high register
151
152You can [`read`](crate::Reg::read) this register and get [`machthr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`machthr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
153
154See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACHTHR)
155
156For information about available fields see [`mod@machthr`] module*/
157pub type MACHTHR = crate::Reg<machthr::MACHTHRrs>;
158///Ethernet MAC hash table high register
159pub mod machthr;
160/**MACHTLR (rw) register accessor: Ethernet MAC hash table low register
161
162You can [`read`](crate::Reg::read) this register and get [`machtlr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`machtlr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
163
164See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACHTLR)
165
166For information about available fields see [`mod@machtlr`] module*/
167pub type MACHTLR = crate::Reg<machtlr::MACHTLRrs>;
168///Ethernet MAC hash table low register
169pub mod machtlr;
170/**MACMIIAR (rw) register accessor: Ethernet MAC MII address register (ETH_MACMIIAR)
171
172You can [`read`](crate::Reg::read) this register and get [`macmiiar::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`macmiiar::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
173
174See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACMIIAR)
175
176For information about available fields see [`mod@macmiiar`] module*/
177pub type MACMIIAR = crate::Reg<macmiiar::MACMIIARrs>;
178///Ethernet MAC MII address register (ETH_MACMIIAR)
179pub mod macmiiar;
180/**MACMIIDR (rw) register accessor: Ethernet MAC MII data register (ETH_MACMIIDR)
181
182You can [`read`](crate::Reg::read) this register and get [`macmiidr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`macmiidr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
183
184See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACMIIDR)
185
186For information about available fields see [`mod@macmiidr`] module*/
187pub type MACMIIDR = crate::Reg<macmiidr::MACMIIDRrs>;
188///Ethernet MAC MII data register (ETH_MACMIIDR)
189pub mod macmiidr;
190/**MACFCR (rw) register accessor: Ethernet MAC flow control register (ETH_MACFCR)
191
192You can [`read`](crate::Reg::read) this register and get [`macfcr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`macfcr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
193
194See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACFCR)
195
196For information about available fields see [`mod@macfcr`] module*/
197pub type MACFCR = crate::Reg<macfcr::MACFCRrs>;
198///Ethernet MAC flow control register (ETH_MACFCR)
199pub mod macfcr;
200/**MACVLANTR (rw) register accessor: Ethernet MAC VLAN tag register (ETH_MACVLANTR)
201
202You can [`read`](crate::Reg::read) this register and get [`macvlantr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`macvlantr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
203
204See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACVLANTR)
205
206For information about available fields see [`mod@macvlantr`] module*/
207pub type MACVLANTR = crate::Reg<macvlantr::MACVLANTRrs>;
208///Ethernet MAC VLAN tag register (ETH_MACVLANTR)
209pub mod macvlantr;
210/**MACRWUFFR (rw) register accessor: Ethernet MAC remote wakeup frame filter register (ETH_MACRWUFFR)
211
212You can [`read`](crate::Reg::read) this register and get [`macrwuffr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`macrwuffr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
213
214See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACRWUFFR)
215
216For information about available fields see [`mod@macrwuffr`] module*/
217pub type MACRWUFFR = crate::Reg<macrwuffr::MACRWUFFRrs>;
218///Ethernet MAC remote wakeup frame filter register (ETH_MACRWUFFR)
219pub mod macrwuffr;
220/**MACPMTCSR (rw) register accessor: Ethernet MAC PMT control and status register (ETH_MACPMTCSR)
221
222You can [`read`](crate::Reg::read) this register and get [`macpmtcsr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`macpmtcsr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
223
224See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACPMTCSR)
225
226For information about available fields see [`mod@macpmtcsr`] module*/
227pub type MACPMTCSR = crate::Reg<macpmtcsr::MACPMTCSRrs>;
228///Ethernet MAC PMT control and status register (ETH_MACPMTCSR)
229pub mod macpmtcsr;
230/**MACSR (rw) register accessor: Ethernet MAC interrupt status register (ETH_MACSR)
231
232You can [`read`](crate::Reg::read) this register and get [`macsr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`macsr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
233
234See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACSR)
235
236For information about available fields see [`mod@macsr`] module*/
237pub type MACSR = crate::Reg<macsr::MACSRrs>;
238///Ethernet MAC interrupt status register (ETH_MACSR)
239pub mod macsr;
240/**MACIMR (rw) register accessor: Ethernet MAC interrupt mask register (ETH_MACIMR)
241
242You can [`read`](crate::Reg::read) this register and get [`macimr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`macimr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
243
244See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACIMR)
245
246For information about available fields see [`mod@macimr`] module*/
247pub type MACIMR = crate::Reg<macimr::MACIMRrs>;
248///Ethernet MAC interrupt mask register (ETH_MACIMR)
249pub mod macimr;
250/**MACA0HR (rw) register accessor: Ethernet MAC address 0 high register (ETH_MACA0HR)
251
252You can [`read`](crate::Reg::read) this register and get [`maca0hr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`maca0hr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
253
254See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACA0HR)
255
256For information about available fields see [`mod@maca0hr`] module*/
257pub type MACA0HR = crate::Reg<maca0hr::MACA0HRrs>;
258///Ethernet MAC address 0 high register (ETH_MACA0HR)
259pub mod maca0hr;
260/**MACA0LR (rw) register accessor: Ethernet MAC address 0 low register
261
262You can [`read`](crate::Reg::read) this register and get [`maca0lr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`maca0lr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
263
264See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACA0LR)
265
266For information about available fields see [`mod@maca0lr`] module*/
267pub type MACA0LR = crate::Reg<maca0lr::MACA0LRrs>;
268///Ethernet MAC address 0 low register
269pub mod maca0lr;
270/**MACA1HR (rw) register accessor: Ethernet MAC address 1 high register (ETH_MACA1HR)
271
272You can [`read`](crate::Reg::read) this register and get [`maca1hr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`maca1hr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
273
274See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACA1HR)
275
276For information about available fields see [`mod@maca1hr`] module*/
277pub type MACA1HR = crate::Reg<maca1hr::MACA1HRrs>;
278///Ethernet MAC address 1 high register (ETH_MACA1HR)
279pub mod maca1hr;
280/**MACA1LR (rw) register accessor: Ethernet MAC address1 low register
281
282You can [`read`](crate::Reg::read) this register and get [`maca1lr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`maca1lr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
283
284See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACA1LR)
285
286For information about available fields see [`mod@maca1lr`] module*/
287pub type MACA1LR = crate::Reg<maca1lr::MACA1LRrs>;
288///Ethernet MAC address1 low register
289pub mod maca1lr;
290/**MACA2HR (rw) register accessor: Ethernet MAC address 2 high register (ETH_MACA2HR)
291
292You can [`read`](crate::Reg::read) this register and get [`maca2hr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`maca2hr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
293
294See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACA2HR)
295
296For information about available fields see [`mod@maca2hr`] module*/
297pub type MACA2HR = crate::Reg<maca2hr::MACA2HRrs>;
298///Ethernet MAC address 2 high register (ETH_MACA2HR)
299pub mod maca2hr;
300/**MACA2LR (rw) register accessor: Ethernet MAC address 2 low register
301
302You can [`read`](crate::Reg::read) this register and get [`maca2lr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`maca2lr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
303
304See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACA2LR)
305
306For information about available fields see [`mod@maca2lr`] module*/
307pub type MACA2LR = crate::Reg<maca2lr::MACA2LRrs>;
308///Ethernet MAC address 2 low register
309pub mod maca2lr;
310/**MACA3HR (rw) register accessor: Ethernet MAC address 3 high register (ETH_MACA3HR)
311
312You can [`read`](crate::Reg::read) this register and get [`maca3hr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`maca3hr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
313
314See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACA3HR)
315
316For information about available fields see [`mod@maca3hr`] module*/
317pub type MACA3HR = crate::Reg<maca3hr::MACA3HRrs>;
318///Ethernet MAC address 3 high register (ETH_MACA3HR)
319pub mod maca3hr;
320/**MACA3LR (rw) register accessor: Ethernet MAC address 3 low register
321
322You can [`read`](crate::Reg::read) this register and get [`maca3lr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`maca3lr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
323
324See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#Ethernet_MAC:MACA3LR)
325
326For information about available fields see [`mod@maca3lr`] module*/
327pub type MACA3LR = crate::Reg<maca3lr::MACA3LRrs>;
328///Ethernet MAC address 3 low register
329pub mod maca3lr;