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;