1#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"Ethernet Controller Channel 0"]
28unsafe impl ::core::marker::Send for super::Etherc0 {}
29unsafe impl ::core::marker::Sync for super::Etherc0 {}
30impl super::Etherc0 {
31 #[allow(unused)]
32 #[inline(always)]
33 pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34 self.ptr
35 }
36
37 #[doc = "ETHERC Mode Register"]
38 #[inline(always)]
39 pub const fn ecmr(&self) -> &'static crate::common::Reg<self::Ecmr_SPEC, crate::common::RW> {
40 unsafe {
41 crate::common::Reg::<self::Ecmr_SPEC, crate::common::RW>::from_ptr(
42 self._svd2pac_as_ptr().add(0usize),
43 )
44 }
45 }
46
47 #[doc = "Receive Frame Maximum Length Register"]
48 #[inline(always)]
49 pub const fn rflr(&self) -> &'static crate::common::Reg<self::Rflr_SPEC, crate::common::RW> {
50 unsafe {
51 crate::common::Reg::<self::Rflr_SPEC, crate::common::RW>::from_ptr(
52 self._svd2pac_as_ptr().add(8usize),
53 )
54 }
55 }
56
57 #[doc = "ETHERC Status Register"]
58 #[inline(always)]
59 pub const fn ecsr(&self) -> &'static crate::common::Reg<self::Ecsr_SPEC, crate::common::RW> {
60 unsafe {
61 crate::common::Reg::<self::Ecsr_SPEC, crate::common::RW>::from_ptr(
62 self._svd2pac_as_ptr().add(16usize),
63 )
64 }
65 }
66
67 #[doc = "ETHERC Interrupt Enable Register"]
68 #[inline(always)]
69 pub const fn ecsipr(
70 &self,
71 ) -> &'static crate::common::Reg<self::Ecsipr_SPEC, crate::common::RW> {
72 unsafe {
73 crate::common::Reg::<self::Ecsipr_SPEC, crate::common::RW>::from_ptr(
74 self._svd2pac_as_ptr().add(24usize),
75 )
76 }
77 }
78
79 #[doc = "PHY Interface Register"]
80 #[inline(always)]
81 pub const fn pir(&self) -> &'static crate::common::Reg<self::Pir_SPEC, crate::common::RW> {
82 unsafe {
83 crate::common::Reg::<self::Pir_SPEC, crate::common::RW>::from_ptr(
84 self._svd2pac_as_ptr().add(32usize),
85 )
86 }
87 }
88
89 #[doc = "PHY Status Register"]
90 #[inline(always)]
91 pub const fn psr(&self) -> &'static crate::common::Reg<self::Psr_SPEC, crate::common::R> {
92 unsafe {
93 crate::common::Reg::<self::Psr_SPEC, crate::common::R>::from_ptr(
94 self._svd2pac_as_ptr().add(40usize),
95 )
96 }
97 }
98
99 #[doc = "Random Number Generation Counter Upper Limit Setting Register"]
100 #[inline(always)]
101 pub const fn rdmlr(&self) -> &'static crate::common::Reg<self::Rdmlr_SPEC, crate::common::RW> {
102 unsafe {
103 crate::common::Reg::<self::Rdmlr_SPEC, crate::common::RW>::from_ptr(
104 self._svd2pac_as_ptr().add(64usize),
105 )
106 }
107 }
108
109 #[doc = "IPG Register"]
110 #[inline(always)]
111 pub const fn ipgr(&self) -> &'static crate::common::Reg<self::Ipgr_SPEC, crate::common::RW> {
112 unsafe {
113 crate::common::Reg::<self::Ipgr_SPEC, crate::common::RW>::from_ptr(
114 self._svd2pac_as_ptr().add(80usize),
115 )
116 }
117 }
118
119 #[doc = "Automatic PAUSE Frame Register"]
120 #[inline(always)]
121 pub const fn apr(&self) -> &'static crate::common::Reg<self::Apr_SPEC, crate::common::RW> {
122 unsafe {
123 crate::common::Reg::<self::Apr_SPEC, crate::common::RW>::from_ptr(
124 self._svd2pac_as_ptr().add(84usize),
125 )
126 }
127 }
128
129 #[doc = "Manual PAUSE Frame Register"]
130 #[inline(always)]
131 pub const fn mpr(&self) -> &'static crate::common::Reg<self::Mpr_SPEC, crate::common::W> {
132 unsafe {
133 crate::common::Reg::<self::Mpr_SPEC, crate::common::W>::from_ptr(
134 self._svd2pac_as_ptr().add(88usize),
135 )
136 }
137 }
138
139 #[doc = "Received PAUSE Frame Counter"]
140 #[inline(always)]
141 pub const fn rfcf(&self) -> &'static crate::common::Reg<self::Rfcf_SPEC, crate::common::R> {
142 unsafe {
143 crate::common::Reg::<self::Rfcf_SPEC, crate::common::R>::from_ptr(
144 self._svd2pac_as_ptr().add(96usize),
145 )
146 }
147 }
148
149 #[doc = "PAUSE Frame Retransmit Count Setting Register"]
150 #[inline(always)]
151 pub const fn tpauser(
152 &self,
153 ) -> &'static crate::common::Reg<self::Tpauser_SPEC, crate::common::RW> {
154 unsafe {
155 crate::common::Reg::<self::Tpauser_SPEC, crate::common::RW>::from_ptr(
156 self._svd2pac_as_ptr().add(100usize),
157 )
158 }
159 }
160
161 #[doc = "PAUSE Frame Retransmit Counter"]
162 #[inline(always)]
163 pub const fn tpausecr(
164 &self,
165 ) -> &'static crate::common::Reg<self::Tpausecr_SPEC, crate::common::R> {
166 unsafe {
167 crate::common::Reg::<self::Tpausecr_SPEC, crate::common::R>::from_ptr(
168 self._svd2pac_as_ptr().add(104usize),
169 )
170 }
171 }
172
173 #[doc = "Broadcast Frame Receive Count Setting Register"]
174 #[inline(always)]
175 pub const fn bcfrr(&self) -> &'static crate::common::Reg<self::Bcfrr_SPEC, crate::common::RW> {
176 unsafe {
177 crate::common::Reg::<self::Bcfrr_SPEC, crate::common::RW>::from_ptr(
178 self._svd2pac_as_ptr().add(108usize),
179 )
180 }
181 }
182
183 #[doc = "MAC Address Upper Bit Register"]
184 #[inline(always)]
185 pub const fn mahr(&self) -> &'static crate::common::Reg<self::Mahr_SPEC, crate::common::RW> {
186 unsafe {
187 crate::common::Reg::<self::Mahr_SPEC, crate::common::RW>::from_ptr(
188 self._svd2pac_as_ptr().add(192usize),
189 )
190 }
191 }
192
193 #[doc = "MAC Address Lower Bit Register"]
194 #[inline(always)]
195 pub const fn malr(&self) -> &'static crate::common::Reg<self::Malr_SPEC, crate::common::RW> {
196 unsafe {
197 crate::common::Reg::<self::Malr_SPEC, crate::common::RW>::from_ptr(
198 self._svd2pac_as_ptr().add(200usize),
199 )
200 }
201 }
202
203 #[doc = "Transmit Retry Over Counter Register"]
204 #[inline(always)]
205 pub const fn trocr(&self) -> &'static crate::common::Reg<self::Trocr_SPEC, crate::common::RW> {
206 unsafe {
207 crate::common::Reg::<self::Trocr_SPEC, crate::common::RW>::from_ptr(
208 self._svd2pac_as_ptr().add(208usize),
209 )
210 }
211 }
212
213 #[doc = "Late Collision Detect Counter Register"]
214 #[inline(always)]
215 pub const fn cdcr(&self) -> &'static crate::common::Reg<self::Cdcr_SPEC, crate::common::RW> {
216 unsafe {
217 crate::common::Reg::<self::Cdcr_SPEC, crate::common::RW>::from_ptr(
218 self._svd2pac_as_ptr().add(212usize),
219 )
220 }
221 }
222
223 #[doc = "Lost Carrier Counter Register"]
224 #[inline(always)]
225 pub const fn lccr(&self) -> &'static crate::common::Reg<self::Lccr_SPEC, crate::common::RW> {
226 unsafe {
227 crate::common::Reg::<self::Lccr_SPEC, crate::common::RW>::from_ptr(
228 self._svd2pac_as_ptr().add(216usize),
229 )
230 }
231 }
232
233 #[doc = "Carrier Not Detect Counter Register"]
234 #[inline(always)]
235 pub const fn cndcr(&self) -> &'static crate::common::Reg<self::Cndcr_SPEC, crate::common::RW> {
236 unsafe {
237 crate::common::Reg::<self::Cndcr_SPEC, crate::common::RW>::from_ptr(
238 self._svd2pac_as_ptr().add(220usize),
239 )
240 }
241 }
242
243 #[doc = "CRC Error Frame Receive Counter Register"]
244 #[inline(always)]
245 pub const fn cefcr(&self) -> &'static crate::common::Reg<self::Cefcr_SPEC, crate::common::RW> {
246 unsafe {
247 crate::common::Reg::<self::Cefcr_SPEC, crate::common::RW>::from_ptr(
248 self._svd2pac_as_ptr().add(228usize),
249 )
250 }
251 }
252
253 #[doc = "Frame Receive Error Counter Register"]
254 #[inline(always)]
255 pub const fn frecr(&self) -> &'static crate::common::Reg<self::Frecr_SPEC, crate::common::RW> {
256 unsafe {
257 crate::common::Reg::<self::Frecr_SPEC, crate::common::RW>::from_ptr(
258 self._svd2pac_as_ptr().add(232usize),
259 )
260 }
261 }
262
263 #[doc = "Too-Short Frame Receive Counter Register"]
264 #[inline(always)]
265 pub const fn tsfrcr(
266 &self,
267 ) -> &'static crate::common::Reg<self::Tsfrcr_SPEC, crate::common::RW> {
268 unsafe {
269 crate::common::Reg::<self::Tsfrcr_SPEC, crate::common::RW>::from_ptr(
270 self._svd2pac_as_ptr().add(236usize),
271 )
272 }
273 }
274
275 #[doc = "Too-Long Frame Receive Counter Register"]
276 #[inline(always)]
277 pub const fn tlfrcr(
278 &self,
279 ) -> &'static crate::common::Reg<self::Tlfrcr_SPEC, crate::common::RW> {
280 unsafe {
281 crate::common::Reg::<self::Tlfrcr_SPEC, crate::common::RW>::from_ptr(
282 self._svd2pac_as_ptr().add(240usize),
283 )
284 }
285 }
286
287 #[doc = "Received Alignment Error Frame Counter Register"]
288 #[inline(always)]
289 pub const fn rfcr(&self) -> &'static crate::common::Reg<self::Rfcr_SPEC, crate::common::RW> {
290 unsafe {
291 crate::common::Reg::<self::Rfcr_SPEC, crate::common::RW>::from_ptr(
292 self._svd2pac_as_ptr().add(244usize),
293 )
294 }
295 }
296
297 #[doc = "Multicast Address Frame Receive Counter Register"]
298 #[inline(always)]
299 pub const fn mafcr(&self) -> &'static crate::common::Reg<self::Mafcr_SPEC, crate::common::RW> {
300 unsafe {
301 crate::common::Reg::<self::Mafcr_SPEC, crate::common::RW>::from_ptr(
302 self._svd2pac_as_ptr().add(248usize),
303 )
304 }
305 }
306}
307#[doc(hidden)]
308#[derive(Copy, Clone, Eq, PartialEq)]
309pub struct Ecmr_SPEC;
310impl crate::sealed::RegSpec for Ecmr_SPEC {
311 type DataType = u32;
312}
313
314#[doc = "ETHERC Mode Register"]
315pub type Ecmr = crate::RegValueT<Ecmr_SPEC>;
316
317impl Ecmr {
318 #[doc = "PAUSE Frame Transmit"]
319 #[inline(always)]
320 pub fn tpc(
321 self,
322 ) -> crate::common::RegisterField<
323 20,
324 0x1,
325 1,
326 0,
327 ecmr::Tpc,
328 ecmr::Tpc,
329 Ecmr_SPEC,
330 crate::common::RW,
331 > {
332 crate::common::RegisterField::<
333 20,
334 0x1,
335 1,
336 0,
337 ecmr::Tpc,
338 ecmr::Tpc,
339 Ecmr_SPEC,
340 crate::common::RW,
341 >::from_register(self, 0)
342 }
343
344 #[doc = "0 Time PAUSE Frame Enable"]
345 #[inline(always)]
346 pub fn zpf(
347 self,
348 ) -> crate::common::RegisterField<
349 19,
350 0x1,
351 1,
352 0,
353 ecmr::Zpf,
354 ecmr::Zpf,
355 Ecmr_SPEC,
356 crate::common::RW,
357 > {
358 crate::common::RegisterField::<
359 19,
360 0x1,
361 1,
362 0,
363 ecmr::Zpf,
364 ecmr::Zpf,
365 Ecmr_SPEC,
366 crate::common::RW,
367 >::from_register(self, 0)
368 }
369
370 #[doc = "PAUSE Frame Receive Mode"]
371 #[inline(always)]
372 pub fn pfr(
373 self,
374 ) -> crate::common::RegisterField<
375 18,
376 0x1,
377 1,
378 0,
379 ecmr::Pfr,
380 ecmr::Pfr,
381 Ecmr_SPEC,
382 crate::common::RW,
383 > {
384 crate::common::RegisterField::<
385 18,
386 0x1,
387 1,
388 0,
389 ecmr::Pfr,
390 ecmr::Pfr,
391 Ecmr_SPEC,
392 crate::common::RW,
393 >::from_register(self, 0)
394 }
395
396 #[doc = "Receive Flow Control Operating Mode"]
397 #[inline(always)]
398 pub fn rxf(
399 self,
400 ) -> crate::common::RegisterField<
401 17,
402 0x1,
403 1,
404 0,
405 ecmr::Rxf,
406 ecmr::Rxf,
407 Ecmr_SPEC,
408 crate::common::RW,
409 > {
410 crate::common::RegisterField::<
411 17,
412 0x1,
413 1,
414 0,
415 ecmr::Rxf,
416 ecmr::Rxf,
417 Ecmr_SPEC,
418 crate::common::RW,
419 >::from_register(self, 0)
420 }
421
422 #[doc = "Transmit Flow Control Operating Mode"]
423 #[inline(always)]
424 pub fn txf(
425 self,
426 ) -> crate::common::RegisterField<
427 16,
428 0x1,
429 1,
430 0,
431 ecmr::Txf,
432 ecmr::Txf,
433 Ecmr_SPEC,
434 crate::common::RW,
435 > {
436 crate::common::RegisterField::<
437 16,
438 0x1,
439 1,
440 0,
441 ecmr::Txf,
442 ecmr::Txf,
443 Ecmr_SPEC,
444 crate::common::RW,
445 >::from_register(self, 0)
446 }
447
448 #[doc = "CRC Error Frame Receive Mode"]
449 #[inline(always)]
450 pub fn prcef(
451 self,
452 ) -> crate::common::RegisterField<
453 12,
454 0x1,
455 1,
456 0,
457 ecmr::Prcef,
458 ecmr::Prcef,
459 Ecmr_SPEC,
460 crate::common::RW,
461 > {
462 crate::common::RegisterField::<
463 12,
464 0x1,
465 1,
466 0,
467 ecmr::Prcef,
468 ecmr::Prcef,
469 Ecmr_SPEC,
470 crate::common::RW,
471 >::from_register(self, 0)
472 }
473
474 #[doc = "Magic Packet Detection Enable"]
475 #[inline(always)]
476 pub fn mpde(
477 self,
478 ) -> crate::common::RegisterField<
479 9,
480 0x1,
481 1,
482 0,
483 ecmr::Mpde,
484 ecmr::Mpde,
485 Ecmr_SPEC,
486 crate::common::RW,
487 > {
488 crate::common::RegisterField::<
489 9,
490 0x1,
491 1,
492 0,
493 ecmr::Mpde,
494 ecmr::Mpde,
495 Ecmr_SPEC,
496 crate::common::RW,
497 >::from_register(self, 0)
498 }
499
500 #[doc = "Reception Enable"]
501 #[inline(always)]
502 pub fn re(
503 self,
504 ) -> crate::common::RegisterField<6, 0x1, 1, 0, ecmr::Re, ecmr::Re, Ecmr_SPEC, crate::common::RW>
505 {
506 crate::common::RegisterField::<6,0x1,1,0,ecmr::Re,ecmr::Re,Ecmr_SPEC,crate::common::RW>::from_register(self,0)
507 }
508
509 #[doc = "Transmission Enable"]
510 #[inline(always)]
511 pub fn te(
512 self,
513 ) -> crate::common::RegisterField<5, 0x1, 1, 0, ecmr::Te, ecmr::Te, Ecmr_SPEC, crate::common::RW>
514 {
515 crate::common::RegisterField::<5,0x1,1,0,ecmr::Te,ecmr::Te,Ecmr_SPEC,crate::common::RW>::from_register(self,0)
516 }
517
518 #[doc = "Internal Loopback Mode"]
519 #[inline(always)]
520 pub fn ilb(
521 self,
522 ) -> crate::common::RegisterField<
523 3,
524 0x1,
525 1,
526 0,
527 ecmr::Ilb,
528 ecmr::Ilb,
529 Ecmr_SPEC,
530 crate::common::RW,
531 > {
532 crate::common::RegisterField::<
533 3,
534 0x1,
535 1,
536 0,
537 ecmr::Ilb,
538 ecmr::Ilb,
539 Ecmr_SPEC,
540 crate::common::RW,
541 >::from_register(self, 0)
542 }
543
544 #[doc = "Bit Rate"]
545 #[inline(always)]
546 pub fn rtm(
547 self,
548 ) -> crate::common::RegisterField<
549 2,
550 0x1,
551 1,
552 0,
553 ecmr::Rtm,
554 ecmr::Rtm,
555 Ecmr_SPEC,
556 crate::common::RW,
557 > {
558 crate::common::RegisterField::<
559 2,
560 0x1,
561 1,
562 0,
563 ecmr::Rtm,
564 ecmr::Rtm,
565 Ecmr_SPEC,
566 crate::common::RW,
567 >::from_register(self, 0)
568 }
569
570 #[doc = "Duplex Mode"]
571 #[inline(always)]
572 pub fn dm(
573 self,
574 ) -> crate::common::RegisterField<1, 0x1, 1, 0, ecmr::Dm, ecmr::Dm, Ecmr_SPEC, crate::common::RW>
575 {
576 crate::common::RegisterField::<1,0x1,1,0,ecmr::Dm,ecmr::Dm,Ecmr_SPEC,crate::common::RW>::from_register(self,0)
577 }
578
579 #[doc = "Promiscuous Mode"]
580 #[inline(always)]
581 pub fn prm(
582 self,
583 ) -> crate::common::RegisterField<
584 0,
585 0x1,
586 1,
587 0,
588 ecmr::Prm,
589 ecmr::Prm,
590 Ecmr_SPEC,
591 crate::common::RW,
592 > {
593 crate::common::RegisterField::<
594 0,
595 0x1,
596 1,
597 0,
598 ecmr::Prm,
599 ecmr::Prm,
600 Ecmr_SPEC,
601 crate::common::RW,
602 >::from_register(self, 0)
603 }
604}
605impl ::core::default::Default for Ecmr {
606 #[inline(always)]
607 fn default() -> Ecmr {
608 <crate::RegValueT<Ecmr_SPEC> as RegisterValue<_>>::new(0)
609 }
610}
611pub mod ecmr {
612
613 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
614 pub struct Tpc_SPEC;
615 pub type Tpc = crate::EnumBitfieldStruct<u8, Tpc_SPEC>;
616 impl Tpc {
617 #[doc = "PAUSE frame is transmitted even during a PAUSE period."]
618 pub const _0: Self = Self::new(0);
619
620 #[doc = "PAUSE frame is not transmitted during a PAUSE period."]
621 pub const _1: Self = Self::new(1);
622 }
623 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
624 pub struct Zpf_SPEC;
625 pub type Zpf = crate::EnumBitfieldStruct<u8, Zpf_SPEC>;
626 impl Zpf {
627 #[doc = "PAUSE frame that contains the pause_time parameter of 0 is not used."]
628 pub const _0: Self = Self::new(0);
629
630 #[doc = "PAUSE frame that contains the pause_time parameter of 0 is used."]
631 pub const _1: Self = Self::new(1);
632 }
633 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
634 pub struct Pfr_SPEC;
635 pub type Pfr = crate::EnumBitfieldStruct<u8, Pfr_SPEC>;
636 impl Pfr {
637 #[doc = "PAUSE frame is not transferred to the EDMAC."]
638 pub const _0: Self = Self::new(0);
639
640 #[doc = "PAUSE frame is transferred to the EDMAC."]
641 pub const _1: Self = Self::new(1);
642 }
643 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
644 pub struct Rxf_SPEC;
645 pub type Rxf = crate::EnumBitfieldStruct<u8, Rxf_SPEC>;
646 impl Rxf {
647 #[doc = "PAUSE frame detection is disabled."]
648 pub const _0: Self = Self::new(0);
649
650 #[doc = "PAUSE frame detection is enabled."]
651 pub const _1: Self = Self::new(1);
652 }
653 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
654 pub struct Txf_SPEC;
655 pub type Txf = crate::EnumBitfieldStruct<u8, Txf_SPEC>;
656 impl Txf {
657 #[doc = "Automatic PAUSE frame transmission is disabled.(PAUSE frame is not automatically transmitted.)"]
658 pub const _0: Self = Self::new(0);
659
660 #[doc = "Automatic PAUSE frame transmission is enabled.(PAUSE frame is automatically transmitted as required.)"]
661 pub const _1: Self = Self::new(1);
662 }
663 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
664 pub struct Prcef_SPEC;
665 pub type Prcef = crate::EnumBitfieldStruct<u8, Prcef_SPEC>;
666 impl Prcef {
667 #[doc = "EDMAC is notified of a CRC error."]
668 pub const _0: Self = Self::new(0);
669
670 #[doc = "EDMAC is not notified of a CRC error."]
671 pub const _1: Self = Self::new(1);
672 }
673 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
674 pub struct Mpde_SPEC;
675 pub type Mpde = crate::EnumBitfieldStruct<u8, Mpde_SPEC>;
676 impl Mpde {
677 #[doc = "Magic Packet detection is disabled."]
678 pub const _0: Self = Self::new(0);
679
680 #[doc = "Magic Packet detection is enabled."]
681 pub const _1: Self = Self::new(1);
682 }
683 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
684 pub struct Re_SPEC;
685 pub type Re = crate::EnumBitfieldStruct<u8, Re_SPEC>;
686 impl Re {
687 #[doc = "Receive function is disabled."]
688 pub const _0: Self = Self::new(0);
689
690 #[doc = "Receive function is enabled."]
691 pub const _1: Self = Self::new(1);
692 }
693 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
694 pub struct Te_SPEC;
695 pub type Te = crate::EnumBitfieldStruct<u8, Te_SPEC>;
696 impl Te {
697 #[doc = "Transmit function is disabled."]
698 pub const _0: Self = Self::new(0);
699
700 #[doc = "Transmit function is enabled."]
701 pub const _1: Self = Self::new(1);
702 }
703 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
704 pub struct Ilb_SPEC;
705 pub type Ilb = crate::EnumBitfieldStruct<u8, Ilb_SPEC>;
706 impl Ilb {
707 #[doc = "Normal data transmission or reception is performed."]
708 pub const _0: Self = Self::new(0);
709
710 #[doc = "Data is looped back in the ETHERC when full-duplex mode is selected."]
711 pub const _1: Self = Self::new(1);
712 }
713 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
714 pub struct Rtm_SPEC;
715 pub type Rtm = crate::EnumBitfieldStruct<u8, Rtm_SPEC>;
716 impl Rtm {
717 #[doc = "10 Mbps"]
718 pub const _0: Self = Self::new(0);
719
720 #[doc = "100 Mbps"]
721 pub const _1: Self = Self::new(1);
722 }
723 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
724 pub struct Dm_SPEC;
725 pub type Dm = crate::EnumBitfieldStruct<u8, Dm_SPEC>;
726 impl Dm {
727 #[doc = "Half-duplex mode"]
728 pub const _0: Self = Self::new(0);
729
730 #[doc = "Full-duplex mode"]
731 pub const _1: Self = Self::new(1);
732 }
733 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
734 pub struct Prm_SPEC;
735 pub type Prm = crate::EnumBitfieldStruct<u8, Prm_SPEC>;
736 impl Prm {
737 #[doc = "Promiscuous mode is disabled."]
738 pub const _0: Self = Self::new(0);
739
740 #[doc = "Promiscuous mode is enabled."]
741 pub const _1: Self = Self::new(1);
742 }
743}
744#[doc(hidden)]
745#[derive(Copy, Clone, Eq, PartialEq)]
746pub struct Rflr_SPEC;
747impl crate::sealed::RegSpec for Rflr_SPEC {
748 type DataType = u32;
749}
750
751#[doc = "Receive Frame Maximum Length Register"]
752pub type Rflr = crate::RegValueT<Rflr_SPEC>;
753
754impl Rflr {
755 #[doc = "Receive Frame Maximum LengthThe set value becomes the maximum frame length. The minimum value that can be set is 1,518 bytes, and the maximum value that can be set is 2,048 bytes. Values that are less than 1,518 bytes are regarded as 1,518 bytes, and values larger than 2,048 bytes are regarded as 2,048 bytes."]
756 #[inline(always)]
757 pub fn rfl(
758 self,
759 ) -> crate::common::RegisterField<0, 0xfff, 1, 0, u16, u16, Rflr_SPEC, crate::common::RW> {
760 crate::common::RegisterField::<0,0xfff,1,0,u16,u16,Rflr_SPEC,crate::common::RW>::from_register(self,0)
761 }
762}
763impl ::core::default::Default for Rflr {
764 #[inline(always)]
765 fn default() -> Rflr {
766 <crate::RegValueT<Rflr_SPEC> as RegisterValue<_>>::new(0)
767 }
768}
769
770#[doc(hidden)]
771#[derive(Copy, Clone, Eq, PartialEq)]
772pub struct Ecsr_SPEC;
773impl crate::sealed::RegSpec for Ecsr_SPEC {
774 type DataType = u32;
775}
776
777#[doc = "ETHERC Status Register"]
778pub type Ecsr = crate::RegValueT<Ecsr_SPEC>;
779
780impl Ecsr {
781 #[doc = "Continuous Broadcast Frame Reception Flag"]
782 #[inline(always)]
783 pub fn bfr(
784 self,
785 ) -> crate::common::RegisterField<
786 5,
787 0x1,
788 1,
789 0,
790 ecsr::Bfr,
791 ecsr::Bfr,
792 Ecsr_SPEC,
793 crate::common::RW,
794 > {
795 crate::common::RegisterField::<
796 5,
797 0x1,
798 1,
799 0,
800 ecsr::Bfr,
801 ecsr::Bfr,
802 Ecsr_SPEC,
803 crate::common::RW,
804 >::from_register(self, 0)
805 }
806
807 #[doc = "PAUSE Frame Retransmit Over Flag"]
808 #[inline(always)]
809 pub fn psrto(
810 self,
811 ) -> crate::common::RegisterField<
812 4,
813 0x1,
814 1,
815 0,
816 ecsr::Psrto,
817 ecsr::Psrto,
818 Ecsr_SPEC,
819 crate::common::RW,
820 > {
821 crate::common::RegisterField::<
822 4,
823 0x1,
824 1,
825 0,
826 ecsr::Psrto,
827 ecsr::Psrto,
828 Ecsr_SPEC,
829 crate::common::RW,
830 >::from_register(self, 0)
831 }
832
833 #[doc = "LCHNG Link Signal Change Flag"]
834 #[inline(always)]
835 pub fn lchng(
836 self,
837 ) -> crate::common::RegisterField<
838 2,
839 0x1,
840 1,
841 0,
842 ecsr::Lchng,
843 ecsr::Lchng,
844 Ecsr_SPEC,
845 crate::common::RW,
846 > {
847 crate::common::RegisterField::<
848 2,
849 0x1,
850 1,
851 0,
852 ecsr::Lchng,
853 ecsr::Lchng,
854 Ecsr_SPEC,
855 crate::common::RW,
856 >::from_register(self, 0)
857 }
858
859 #[doc = "Magic Packet Detect Flag"]
860 #[inline(always)]
861 pub fn mpd(
862 self,
863 ) -> crate::common::RegisterField<
864 1,
865 0x1,
866 1,
867 0,
868 ecsr::Mpd,
869 ecsr::Mpd,
870 Ecsr_SPEC,
871 crate::common::RW,
872 > {
873 crate::common::RegisterField::<
874 1,
875 0x1,
876 1,
877 0,
878 ecsr::Mpd,
879 ecsr::Mpd,
880 Ecsr_SPEC,
881 crate::common::RW,
882 >::from_register(self, 0)
883 }
884
885 #[doc = "False Carrier Detect Flag"]
886 #[inline(always)]
887 pub fn icd(
888 self,
889 ) -> crate::common::RegisterField<
890 0,
891 0x1,
892 1,
893 0,
894 ecsr::Icd,
895 ecsr::Icd,
896 Ecsr_SPEC,
897 crate::common::RW,
898 > {
899 crate::common::RegisterField::<
900 0,
901 0x1,
902 1,
903 0,
904 ecsr::Icd,
905 ecsr::Icd,
906 Ecsr_SPEC,
907 crate::common::RW,
908 >::from_register(self, 0)
909 }
910}
911impl ::core::default::Default for Ecsr {
912 #[inline(always)]
913 fn default() -> Ecsr {
914 <crate::RegValueT<Ecsr_SPEC> as RegisterValue<_>>::new(0)
915 }
916}
917pub mod ecsr {
918
919 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
920 pub struct Bfr_SPEC;
921 pub type Bfr = crate::EnumBitfieldStruct<u8, Bfr_SPEC>;
922 impl Bfr {
923 #[doc = "Continuous reception of broadcast frames has not been detected."]
924 pub const _0: Self = Self::new(0);
925
926 #[doc = "Continuous reception of broadcast frames has been detected."]
927 pub const _1: Self = Self::new(1);
928 }
929 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
930 pub struct Psrto_SPEC;
931 pub type Psrto = crate::EnumBitfieldStruct<u8, Psrto_SPEC>;
932 impl Psrto {
933 #[doc = "PAUSE frame retransmit count has not reached the upper limit."]
934 pub const _0: Self = Self::new(0);
935
936 #[doc = "PAUSE frame retransmit count has reached the upper limit."]
937 pub const _1: Self = Self::new(1);
938 }
939 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
940 pub struct Lchng_SPEC;
941 pub type Lchng = crate::EnumBitfieldStruct<u8, Lchng_SPEC>;
942 impl Lchng {
943 #[doc = "Change in the ETn_LINKSTA signal has not been detected."]
944 pub const _0: Self = Self::new(0);
945
946 #[doc = "Change in the ETn_LINKSTA signal has been detected (high to low, or low to high)."]
947 pub const _1: Self = Self::new(1);
948 }
949 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
950 pub struct Mpd_SPEC;
951 pub type Mpd = crate::EnumBitfieldStruct<u8, Mpd_SPEC>;
952 impl Mpd {
953 #[doc = "Magic Packet has not been detected."]
954 pub const _0: Self = Self::new(0);
955
956 #[doc = "Magic Packet has been detected."]
957 pub const _1: Self = Self::new(1);
958 }
959 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
960 pub struct Icd_SPEC;
961 pub type Icd = crate::EnumBitfieldStruct<u8, Icd_SPEC>;
962 impl Icd {
963 #[doc = "PHY-LSI has not detected a false carrier on the line."]
964 pub const _0: Self = Self::new(0);
965
966 #[doc = "PHY-LSI has detected a false carrier on the line."]
967 pub const _1: Self = Self::new(1);
968 }
969}
970#[doc(hidden)]
971#[derive(Copy, Clone, Eq, PartialEq)]
972pub struct Ecsipr_SPEC;
973impl crate::sealed::RegSpec for Ecsipr_SPEC {
974 type DataType = u32;
975}
976
977#[doc = "ETHERC Interrupt Enable Register"]
978pub type Ecsipr = crate::RegValueT<Ecsipr_SPEC>;
979
980impl Ecsipr {
981 #[doc = "Continuous Broadcast Frame Reception Interrupt Enable"]
982 #[inline(always)]
983 pub fn bfsipr(
984 self,
985 ) -> crate::common::RegisterField<
986 5,
987 0x1,
988 1,
989 0,
990 ecsipr::Bfsipr,
991 ecsipr::Bfsipr,
992 Ecsipr_SPEC,
993 crate::common::RW,
994 > {
995 crate::common::RegisterField::<
996 5,
997 0x1,
998 1,
999 0,
1000 ecsipr::Bfsipr,
1001 ecsipr::Bfsipr,
1002 Ecsipr_SPEC,
1003 crate::common::RW,
1004 >::from_register(self, 0)
1005 }
1006
1007 #[doc = "PAUSE Frame Retransmit Over Interrupt Enable"]
1008 #[inline(always)]
1009 pub fn psrtoip(
1010 self,
1011 ) -> crate::common::RegisterField<
1012 4,
1013 0x1,
1014 1,
1015 0,
1016 ecsipr::Psrtoip,
1017 ecsipr::Psrtoip,
1018 Ecsipr_SPEC,
1019 crate::common::RW,
1020 > {
1021 crate::common::RegisterField::<
1022 4,
1023 0x1,
1024 1,
1025 0,
1026 ecsipr::Psrtoip,
1027 ecsipr::Psrtoip,
1028 Ecsipr_SPEC,
1029 crate::common::RW,
1030 >::from_register(self, 0)
1031 }
1032
1033 #[doc = "LINK Signal Change Interrupt Enable"]
1034 #[inline(always)]
1035 pub fn lchngip(
1036 self,
1037 ) -> crate::common::RegisterField<
1038 2,
1039 0x1,
1040 1,
1041 0,
1042 ecsipr::Lchngip,
1043 ecsipr::Lchngip,
1044 Ecsipr_SPEC,
1045 crate::common::RW,
1046 > {
1047 crate::common::RegisterField::<
1048 2,
1049 0x1,
1050 1,
1051 0,
1052 ecsipr::Lchngip,
1053 ecsipr::Lchngip,
1054 Ecsipr_SPEC,
1055 crate::common::RW,
1056 >::from_register(self, 0)
1057 }
1058
1059 #[doc = "Magic Packet Detect Interrupt Enable"]
1060 #[inline(always)]
1061 pub fn mpdip(
1062 self,
1063 ) -> crate::common::RegisterField<
1064 1,
1065 0x1,
1066 1,
1067 0,
1068 ecsipr::Mpdip,
1069 ecsipr::Mpdip,
1070 Ecsipr_SPEC,
1071 crate::common::RW,
1072 > {
1073 crate::common::RegisterField::<
1074 1,
1075 0x1,
1076 1,
1077 0,
1078 ecsipr::Mpdip,
1079 ecsipr::Mpdip,
1080 Ecsipr_SPEC,
1081 crate::common::RW,
1082 >::from_register(self, 0)
1083 }
1084
1085 #[doc = "False Carrier Detect Interrupt Enable"]
1086 #[inline(always)]
1087 pub fn icdip(
1088 self,
1089 ) -> crate::common::RegisterField<
1090 0,
1091 0x1,
1092 1,
1093 0,
1094 ecsipr::Icdip,
1095 ecsipr::Icdip,
1096 Ecsipr_SPEC,
1097 crate::common::RW,
1098 > {
1099 crate::common::RegisterField::<
1100 0,
1101 0x1,
1102 1,
1103 0,
1104 ecsipr::Icdip,
1105 ecsipr::Icdip,
1106 Ecsipr_SPEC,
1107 crate::common::RW,
1108 >::from_register(self, 0)
1109 }
1110}
1111impl ::core::default::Default for Ecsipr {
1112 #[inline(always)]
1113 fn default() -> Ecsipr {
1114 <crate::RegValueT<Ecsipr_SPEC> as RegisterValue<_>>::new(0)
1115 }
1116}
1117pub mod ecsipr {
1118
1119 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1120 pub struct Bfsipr_SPEC;
1121 pub type Bfsipr = crate::EnumBitfieldStruct<u8, Bfsipr_SPEC>;
1122 impl Bfsipr {
1123 #[doc = "Notification of continuous broadcast frame reception interrupt is disabled."]
1124 pub const _0: Self = Self::new(0);
1125
1126 #[doc = "Notification of continuous broadcast frame reception interrupt is enabled."]
1127 pub const _1: Self = Self::new(1);
1128 }
1129 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1130 pub struct Psrtoip_SPEC;
1131 pub type Psrtoip = crate::EnumBitfieldStruct<u8, Psrtoip_SPEC>;
1132 impl Psrtoip {
1133 #[doc = "Notification of PAUSE frame retransmit over interrupt is disabled."]
1134 pub const _0: Self = Self::new(0);
1135
1136 #[doc = "Notification of PAUSE frame retransmit over interrupt is enabled."]
1137 pub const _1: Self = Self::new(1);
1138 }
1139 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1140 pub struct Lchngip_SPEC;
1141 pub type Lchngip = crate::EnumBitfieldStruct<u8, Lchngip_SPEC>;
1142 impl Lchngip {
1143 #[doc = "Notification of ETn_LINKSTA signal change interrupt is disabled."]
1144 pub const _0: Self = Self::new(0);
1145
1146 #[doc = "Notification of ETn_LINKSTA signal change interrupt is enabled."]
1147 pub const _1: Self = Self::new(1);
1148 }
1149 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1150 pub struct Mpdip_SPEC;
1151 pub type Mpdip = crate::EnumBitfieldStruct<u8, Mpdip_SPEC>;
1152 impl Mpdip {
1153 #[doc = "Notification of the Magic Packet detect interrupt is disabled."]
1154 pub const _0: Self = Self::new(0);
1155
1156 #[doc = "Notification of the Magic Packet detect interrupt is enabled."]
1157 pub const _1: Self = Self::new(1);
1158 }
1159 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1160 pub struct Icdip_SPEC;
1161 pub type Icdip = crate::EnumBitfieldStruct<u8, Icdip_SPEC>;
1162 impl Icdip {
1163 #[doc = "Notification of the false carrier detect interrupt is disabled."]
1164 pub const _0: Self = Self::new(0);
1165
1166 #[doc = "Notification of the false carrier detect interrupt is enabled."]
1167 pub const _1: Self = Self::new(1);
1168 }
1169}
1170#[doc(hidden)]
1171#[derive(Copy, Clone, Eq, PartialEq)]
1172pub struct Pir_SPEC;
1173impl crate::sealed::RegSpec for Pir_SPEC {
1174 type DataType = u32;
1175}
1176
1177#[doc = "PHY Interface Register"]
1178pub type Pir = crate::RegValueT<Pir_SPEC>;
1179
1180impl Pir {
1181 #[doc = "MII/RMII Management Data-InThis bit indicates the level of the ETn_MDIO pin. The write value should be 0."]
1182 #[inline(always)]
1183 pub fn mdi(self) -> crate::common::RegisterFieldBool<3, 1, 0, Pir_SPEC, crate::common::R> {
1184 crate::common::RegisterFieldBool::<3, 1, 0, Pir_SPEC, crate::common::R>::from_register(
1185 self, 0,
1186 )
1187 }
1188
1189 #[doc = "MII/RMII Management Data-OutThe MDO bit value is output from the ETn_MDIO pin when the MMD bit is 1 (write). The value is not output when the MMD bit is 0 (read)."]
1190 #[inline(always)]
1191 pub fn mdo(self) -> crate::common::RegisterFieldBool<2, 1, 0, Pir_SPEC, crate::common::RW> {
1192 crate::common::RegisterFieldBool::<2, 1, 0, Pir_SPEC, crate::common::RW>::from_register(
1193 self, 0,
1194 )
1195 }
1196
1197 #[doc = "MII/RMII Management Mode"]
1198 #[inline(always)]
1199 pub fn mmd(
1200 self,
1201 ) -> crate::common::RegisterField<1, 0x1, 1, 0, pir::Mmd, pir::Mmd, Pir_SPEC, crate::common::RW>
1202 {
1203 crate::common::RegisterField::<1,0x1,1,0,pir::Mmd,pir::Mmd,Pir_SPEC,crate::common::RW>::from_register(self,0)
1204 }
1205
1206 #[doc = "MII/RMII Management Data ClockThe MDC bit value is output from the ETn_MDC pin to supply the management data clock to the MII or RMII."]
1207 #[inline(always)]
1208 pub fn mdc(self) -> crate::common::RegisterFieldBool<0, 1, 0, Pir_SPEC, crate::common::RW> {
1209 crate::common::RegisterFieldBool::<0, 1, 0, Pir_SPEC, crate::common::RW>::from_register(
1210 self, 0,
1211 )
1212 }
1213}
1214impl ::core::default::Default for Pir {
1215 #[inline(always)]
1216 fn default() -> Pir {
1217 <crate::RegValueT<Pir_SPEC> as RegisterValue<_>>::new(0)
1218 }
1219}
1220pub mod pir {
1221
1222 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1223 pub struct Mmd_SPEC;
1224 pub type Mmd = crate::EnumBitfieldStruct<u8, Mmd_SPEC>;
1225 impl Mmd {
1226 #[doc = "Read"]
1227 pub const _0: Self = Self::new(0);
1228
1229 #[doc = "Write"]
1230 pub const _1: Self = Self::new(1);
1231 }
1232}
1233#[doc(hidden)]
1234#[derive(Copy, Clone, Eq, PartialEq)]
1235pub struct Psr_SPEC;
1236impl crate::sealed::RegSpec for Psr_SPEC {
1237 type DataType = u32;
1238}
1239
1240#[doc = "PHY Status Register"]
1241pub type Psr = crate::RegValueT<Psr_SPEC>;
1242
1243impl Psr {
1244 #[doc = "ETn_LINKSTA Pin Status FlagThe link status can be read by connecting the link signal output from the PHY-LSI to the ETn_LINKSTA pin. For details on the polarity, refer to the specifications of the connected PHY-LSI."]
1245 #[inline(always)]
1246 pub fn lmon(self) -> crate::common::RegisterFieldBool<0, 1, 0, Psr_SPEC, crate::common::R> {
1247 crate::common::RegisterFieldBool::<0, 1, 0, Psr_SPEC, crate::common::R>::from_register(
1248 self, 0,
1249 )
1250 }
1251}
1252impl ::core::default::Default for Psr {
1253 #[inline(always)]
1254 fn default() -> Psr {
1255 <crate::RegValueT<Psr_SPEC> as RegisterValue<_>>::new(0)
1256 }
1257}
1258
1259#[doc(hidden)]
1260#[derive(Copy, Clone, Eq, PartialEq)]
1261pub struct Rdmlr_SPEC;
1262impl crate::sealed::RegSpec for Rdmlr_SPEC {
1263 type DataType = u32;
1264}
1265
1266#[doc = "Random Number Generation Counter Upper Limit Setting Register"]
1267pub type Rdmlr = crate::RegValueT<Rdmlr_SPEC>;
1268
1269impl Rdmlr {
1270 #[doc = "Random Number Generation Counter"]
1271 #[inline(always)]
1272 pub fn rmd(
1273 self,
1274 ) -> crate::common::RegisterField<
1275 0,
1276 0xfffff,
1277 1,
1278 0,
1279 rdmlr::Rmd,
1280 rdmlr::Rmd,
1281 Rdmlr_SPEC,
1282 crate::common::RW,
1283 > {
1284 crate::common::RegisterField::<
1285 0,
1286 0xfffff,
1287 1,
1288 0,
1289 rdmlr::Rmd,
1290 rdmlr::Rmd,
1291 Rdmlr_SPEC,
1292 crate::common::RW,
1293 >::from_register(self, 0)
1294 }
1295}
1296impl ::core::default::Default for Rdmlr {
1297 #[inline(always)]
1298 fn default() -> Rdmlr {
1299 <crate::RegValueT<Rdmlr_SPEC> as RegisterValue<_>>::new(0)
1300 }
1301}
1302pub mod rdmlr {
1303
1304 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1305 pub struct Rmd_SPEC;
1306 pub type Rmd = crate::EnumBitfieldStruct<u8, Rmd_SPEC>;
1307 impl Rmd {
1308 #[doc = "Normal operation"]
1309 pub const _00000_H: Self = Self::new(0);
1310 }
1311}
1312#[doc(hidden)]
1313#[derive(Copy, Clone, Eq, PartialEq)]
1314pub struct Ipgr_SPEC;
1315impl crate::sealed::RegSpec for Ipgr_SPEC {
1316 type DataType = u32;
1317}
1318
1319#[doc = "IPG Register"]
1320pub type Ipgr = crate::RegValueT<Ipgr_SPEC>;
1321
1322impl Ipgr {
1323 #[doc = "Interpacket Gap Range:\"16bit time(0x00)\"-\"140bit time(0x1F)\""]
1324 #[inline(always)]
1325 pub fn ipg(
1326 self,
1327 ) -> crate::common::RegisterField<
1328 0,
1329 0x1f,
1330 1,
1331 0,
1332 ipgr::Ipg,
1333 ipgr::Ipg,
1334 Ipgr_SPEC,
1335 crate::common::RW,
1336 > {
1337 crate::common::RegisterField::<
1338 0,
1339 0x1f,
1340 1,
1341 0,
1342 ipgr::Ipg,
1343 ipgr::Ipg,
1344 Ipgr_SPEC,
1345 crate::common::RW,
1346 >::from_register(self, 0)
1347 }
1348}
1349impl ::core::default::Default for Ipgr {
1350 #[inline(always)]
1351 fn default() -> Ipgr {
1352 <crate::RegValueT<Ipgr_SPEC> as RegisterValue<_>>::new(20)
1353 }
1354}
1355pub mod ipgr {
1356
1357 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1358 pub struct Ipg_SPEC;
1359 pub type Ipg = crate::EnumBitfieldStruct<u8, Ipg_SPEC>;
1360 impl Ipg {
1361 #[doc = "96 bit time (initial value)"]
1362 pub const _14_H: Self = Self::new(20);
1363 }
1364}
1365#[doc(hidden)]
1366#[derive(Copy, Clone, Eq, PartialEq)]
1367pub struct Apr_SPEC;
1368impl crate::sealed::RegSpec for Apr_SPEC {
1369 type DataType = u32;
1370}
1371
1372#[doc = "Automatic PAUSE Frame Register"]
1373pub type Apr = crate::RegValueT<Apr_SPEC>;
1374
1375impl Apr {
1376 #[doc = "Automatic PAUSE Time SettingThese bits set the value of the pause_time parameter for a PAUSE frame that is automatically transmitted. Transmission is not performed until the set value multiplied by 512 bit time has elapsed."]
1377 #[inline(always)]
1378 pub fn ap(
1379 self,
1380 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Apr_SPEC, crate::common::RW> {
1381 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Apr_SPEC,crate::common::RW>::from_register(self,0)
1382 }
1383}
1384impl ::core::default::Default for Apr {
1385 #[inline(always)]
1386 fn default() -> Apr {
1387 <crate::RegValueT<Apr_SPEC> as RegisterValue<_>>::new(0)
1388 }
1389}
1390
1391#[doc(hidden)]
1392#[derive(Copy, Clone, Eq, PartialEq)]
1393pub struct Mpr_SPEC;
1394impl crate::sealed::RegSpec for Mpr_SPEC {
1395 type DataType = u32;
1396}
1397
1398#[doc = "Manual PAUSE Frame Register"]
1399pub type Mpr = crate::RegValueT<Mpr_SPEC>;
1400
1401impl Mpr {
1402 #[doc = "Manual PAUSE Time SettingThese bits set the value of the pause_time parameter for a PAUSE frame that is manually transmitted. Transmission is not performed until the set value multiplied by 512 bit time has elapsed. The read value is undefined."]
1403 #[inline(always)]
1404 pub fn mp(
1405 self,
1406 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Mpr_SPEC, crate::common::W> {
1407 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Mpr_SPEC,crate::common::W>::from_register(self,0)
1408 }
1409}
1410impl ::core::default::Default for Mpr {
1411 #[inline(always)]
1412 fn default() -> Mpr {
1413 <crate::RegValueT<Mpr_SPEC> as RegisterValue<_>>::new(0)
1414 }
1415}
1416
1417#[doc(hidden)]
1418#[derive(Copy, Clone, Eq, PartialEq)]
1419pub struct Rfcf_SPEC;
1420impl crate::sealed::RegSpec for Rfcf_SPEC {
1421 type DataType = u32;
1422}
1423
1424#[doc = "Received PAUSE Frame Counter"]
1425pub type Rfcf = crate::RegValueT<Rfcf_SPEC>;
1426
1427impl Rfcf {
1428 #[doc = "Received PAUSE Frame CountNumber of received PAUSE frames"]
1429 #[inline(always)]
1430 pub fn rpause(
1431 self,
1432 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Rfcf_SPEC, crate::common::R> {
1433 crate::common::RegisterField::<0,0xff,1,0,u8,u8,Rfcf_SPEC,crate::common::R>::from_register(self,0)
1434 }
1435}
1436impl ::core::default::Default for Rfcf {
1437 #[inline(always)]
1438 fn default() -> Rfcf {
1439 <crate::RegValueT<Rfcf_SPEC> as RegisterValue<_>>::new(0)
1440 }
1441}
1442
1443#[doc(hidden)]
1444#[derive(Copy, Clone, Eq, PartialEq)]
1445pub struct Tpauser_SPEC;
1446impl crate::sealed::RegSpec for Tpauser_SPEC {
1447 type DataType = u32;
1448}
1449
1450#[doc = "PAUSE Frame Retransmit Count Setting Register"]
1451pub type Tpauser = crate::RegValueT<Tpauser_SPEC>;
1452
1453impl Tpauser {
1454 #[doc = "Automatic PAUSE Frame Retransmit Setting"]
1455 #[inline(always)]
1456 pub fn tpause(
1457 self,
1458 ) -> crate::common::RegisterField<
1459 0,
1460 0xffff,
1461 1,
1462 0,
1463 tpauser::Tpause,
1464 tpauser::Tpause,
1465 Tpauser_SPEC,
1466 crate::common::RW,
1467 > {
1468 crate::common::RegisterField::<
1469 0,
1470 0xffff,
1471 1,
1472 0,
1473 tpauser::Tpause,
1474 tpauser::Tpause,
1475 Tpauser_SPEC,
1476 crate::common::RW,
1477 >::from_register(self, 0)
1478 }
1479}
1480impl ::core::default::Default for Tpauser {
1481 #[inline(always)]
1482 fn default() -> Tpauser {
1483 <crate::RegValueT<Tpauser_SPEC> as RegisterValue<_>>::new(0)
1484 }
1485}
1486pub mod tpauser {
1487
1488 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1489 pub struct Tpause_SPEC;
1490 pub type Tpause = crate::EnumBitfieldStruct<u8, Tpause_SPEC>;
1491 impl Tpause {
1492 #[doc = "Number of retransmissions is unlimited"]
1493 pub const _0_X_0000: Self = Self::new(0);
1494 }
1495}
1496#[doc(hidden)]
1497#[derive(Copy, Clone, Eq, PartialEq)]
1498pub struct Tpausecr_SPEC;
1499impl crate::sealed::RegSpec for Tpausecr_SPEC {
1500 type DataType = u32;
1501}
1502
1503#[doc = "PAUSE Frame Retransmit Counter"]
1504pub type Tpausecr = crate::RegValueT<Tpausecr_SPEC>;
1505
1506impl NoBitfieldReg<Tpausecr_SPEC> for Tpausecr {}
1507impl ::core::default::Default for Tpausecr {
1508 #[inline(always)]
1509 fn default() -> Tpausecr {
1510 <crate::RegValueT<Tpausecr_SPEC> as RegisterValue<_>>::new(0)
1511 }
1512}
1513
1514#[doc(hidden)]
1515#[derive(Copy, Clone, Eq, PartialEq)]
1516pub struct Bcfrr_SPEC;
1517impl crate::sealed::RegSpec for Bcfrr_SPEC {
1518 type DataType = u32;
1519}
1520
1521#[doc = "Broadcast Frame Receive Count Setting Register"]
1522pub type Bcfrr = crate::RegValueT<Bcfrr_SPEC>;
1523
1524impl Bcfrr {
1525 #[doc = "Broadcast Frame Continuous Receive Count Setting"]
1526 #[inline(always)]
1527 pub fn bcf(
1528 self,
1529 ) -> crate::common::RegisterField<
1530 0,
1531 0xffff,
1532 1,
1533 0,
1534 bcfrr::Bcf,
1535 bcfrr::Bcf,
1536 Bcfrr_SPEC,
1537 crate::common::RW,
1538 > {
1539 crate::common::RegisterField::<
1540 0,
1541 0xffff,
1542 1,
1543 0,
1544 bcfrr::Bcf,
1545 bcfrr::Bcf,
1546 Bcfrr_SPEC,
1547 crate::common::RW,
1548 >::from_register(self, 0)
1549 }
1550}
1551impl ::core::default::Default for Bcfrr {
1552 #[inline(always)]
1553 fn default() -> Bcfrr {
1554 <crate::RegValueT<Bcfrr_SPEC> as RegisterValue<_>>::new(0)
1555 }
1556}
1557pub mod bcfrr {
1558
1559 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1560 pub struct Bcf_SPEC;
1561 pub type Bcf = crate::EnumBitfieldStruct<u8, Bcf_SPEC>;
1562 impl Bcf {
1563 #[doc = "Number of receptions is unlimited."]
1564 pub const _0000_H: Self = Self::new(0);
1565 }
1566}
1567#[doc(hidden)]
1568#[derive(Copy, Clone, Eq, PartialEq)]
1569pub struct Mahr_SPEC;
1570impl crate::sealed::RegSpec for Mahr_SPEC {
1571 type DataType = u32;
1572}
1573
1574#[doc = "MAC Address Upper Bit Register"]
1575pub type Mahr = crate::RegValueT<Mahr_SPEC>;
1576
1577impl Mahr {
1578 #[doc = "MAC Address Upper Bit RegisterThe MAHR register sets the upper 32 bits (b47 to b16) of the 48-bit MAC address."]
1579 #[inline(always)]
1580 pub fn mahr(
1581 self,
1582 ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Mahr_SPEC, crate::common::RW>
1583 {
1584 crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Mahr_SPEC,crate::common::RW>::from_register(self,0)
1585 }
1586}
1587impl ::core::default::Default for Mahr {
1588 #[inline(always)]
1589 fn default() -> Mahr {
1590 <crate::RegValueT<Mahr_SPEC> as RegisterValue<_>>::new(0)
1591 }
1592}
1593
1594#[doc(hidden)]
1595#[derive(Copy, Clone, Eq, PartialEq)]
1596pub struct Malr_SPEC;
1597impl crate::sealed::RegSpec for Malr_SPEC {
1598 type DataType = u32;
1599}
1600
1601#[doc = "MAC Address Lower Bit Register"]
1602pub type Malr = crate::RegValueT<Malr_SPEC>;
1603
1604impl Malr {
1605 #[doc = "MAC Address Lower Bit RegisterThe MALR register sets the lower 16 bits of the 48-bit MAC address."]
1606 #[inline(always)]
1607 pub fn malr(
1608 self,
1609 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Malr_SPEC, crate::common::RW> {
1610 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Malr_SPEC,crate::common::RW>::from_register(self,0)
1611 }
1612}
1613impl ::core::default::Default for Malr {
1614 #[inline(always)]
1615 fn default() -> Malr {
1616 <crate::RegValueT<Malr_SPEC> as RegisterValue<_>>::new(0)
1617 }
1618}
1619
1620#[doc(hidden)]
1621#[derive(Copy, Clone, Eq, PartialEq)]
1622pub struct Trocr_SPEC;
1623impl crate::sealed::RegSpec for Trocr_SPEC {
1624 type DataType = u32;
1625}
1626
1627#[doc = "Transmit Retry Over Counter Register"]
1628pub type Trocr = crate::RegValueT<Trocr_SPEC>;
1629
1630impl Trocr {
1631 #[doc = "Transmit Retry Over Counter RegisterThe TROCR register is a counter indicating the number of frames that fail to be retransmitted."]
1632 #[inline(always)]
1633 pub fn trocr(
1634 self,
1635 ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Trocr_SPEC, crate::common::RW>
1636 {
1637 crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Trocr_SPEC,crate::common::RW>::from_register(self,0)
1638 }
1639}
1640impl ::core::default::Default for Trocr {
1641 #[inline(always)]
1642 fn default() -> Trocr {
1643 <crate::RegValueT<Trocr_SPEC> as RegisterValue<_>>::new(0)
1644 }
1645}
1646
1647#[doc(hidden)]
1648#[derive(Copy, Clone, Eq, PartialEq)]
1649pub struct Cdcr_SPEC;
1650impl crate::sealed::RegSpec for Cdcr_SPEC {
1651 type DataType = u32;
1652}
1653
1654#[doc = "Late Collision Detect Counter Register"]
1655pub type Cdcr = crate::RegValueT<Cdcr_SPEC>;
1656
1657impl NoBitfieldReg<Cdcr_SPEC> for Cdcr {}
1658impl ::core::default::Default for Cdcr {
1659 #[inline(always)]
1660 fn default() -> Cdcr {
1661 <crate::RegValueT<Cdcr_SPEC> as RegisterValue<_>>::new(0)
1662 }
1663}
1664
1665#[doc(hidden)]
1666#[derive(Copy, Clone, Eq, PartialEq)]
1667pub struct Lccr_SPEC;
1668impl crate::sealed::RegSpec for Lccr_SPEC {
1669 type DataType = u32;
1670}
1671
1672#[doc = "Lost Carrier Counter Register"]
1673pub type Lccr = crate::RegValueT<Lccr_SPEC>;
1674
1675impl Lccr {
1676 #[doc = "Lost Carrier Counter RegisterThe LCCR register is a counter indicating the number of times a loss of carrier is detected during frame transmission."]
1677 #[inline(always)]
1678 pub fn lccr(
1679 self,
1680 ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Lccr_SPEC, crate::common::RW>
1681 {
1682 crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Lccr_SPEC,crate::common::RW>::from_register(self,0)
1683 }
1684}
1685impl ::core::default::Default for Lccr {
1686 #[inline(always)]
1687 fn default() -> Lccr {
1688 <crate::RegValueT<Lccr_SPEC> as RegisterValue<_>>::new(0)
1689 }
1690}
1691
1692#[doc(hidden)]
1693#[derive(Copy, Clone, Eq, PartialEq)]
1694pub struct Cndcr_SPEC;
1695impl crate::sealed::RegSpec for Cndcr_SPEC {
1696 type DataType = u32;
1697}
1698
1699#[doc = "Carrier Not Detect Counter Register"]
1700pub type Cndcr = crate::RegValueT<Cndcr_SPEC>;
1701
1702impl Cndcr {
1703 #[doc = "Carrier Not Detect Counter RegisterThe CNDCR register is a counter indicating the number of times a carrier is not detected during preamble transmission."]
1704 #[inline(always)]
1705 pub fn cndcr(
1706 self,
1707 ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Cndcr_SPEC, crate::common::RW>
1708 {
1709 crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Cndcr_SPEC,crate::common::RW>::from_register(self,0)
1710 }
1711}
1712impl ::core::default::Default for Cndcr {
1713 #[inline(always)]
1714 fn default() -> Cndcr {
1715 <crate::RegValueT<Cndcr_SPEC> as RegisterValue<_>>::new(0)
1716 }
1717}
1718
1719#[doc(hidden)]
1720#[derive(Copy, Clone, Eq, PartialEq)]
1721pub struct Cefcr_SPEC;
1722impl crate::sealed::RegSpec for Cefcr_SPEC {
1723 type DataType = u32;
1724}
1725
1726#[doc = "CRC Error Frame Receive Counter Register"]
1727pub type Cefcr = crate::RegValueT<Cefcr_SPEC>;
1728
1729impl Cefcr {
1730 #[doc = "CRC Error Frame Receive Counter RegisterThe CEFCR register is a counter indicating the number of received frames where a CRC error has been detected."]
1731 #[inline(always)]
1732 pub fn cefcr(
1733 self,
1734 ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Cefcr_SPEC, crate::common::RW>
1735 {
1736 crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Cefcr_SPEC,crate::common::RW>::from_register(self,0)
1737 }
1738}
1739impl ::core::default::Default for Cefcr {
1740 #[inline(always)]
1741 fn default() -> Cefcr {
1742 <crate::RegValueT<Cefcr_SPEC> as RegisterValue<_>>::new(0)
1743 }
1744}
1745
1746#[doc(hidden)]
1747#[derive(Copy, Clone, Eq, PartialEq)]
1748pub struct Frecr_SPEC;
1749impl crate::sealed::RegSpec for Frecr_SPEC {
1750 type DataType = u32;
1751}
1752
1753#[doc = "Frame Receive Error Counter Register"]
1754pub type Frecr = crate::RegValueT<Frecr_SPEC>;
1755
1756impl Frecr {
1757 #[doc = "Frame Receive Error Counter RegisterThe FRECR register is a counter indicating the number of times a frame receive error has occurred."]
1758 #[inline(always)]
1759 pub fn frecr(
1760 self,
1761 ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Frecr_SPEC, crate::common::RW>
1762 {
1763 crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Frecr_SPEC,crate::common::RW>::from_register(self,0)
1764 }
1765}
1766impl ::core::default::Default for Frecr {
1767 #[inline(always)]
1768 fn default() -> Frecr {
1769 <crate::RegValueT<Frecr_SPEC> as RegisterValue<_>>::new(0)
1770 }
1771}
1772
1773#[doc(hidden)]
1774#[derive(Copy, Clone, Eq, PartialEq)]
1775pub struct Tsfrcr_SPEC;
1776impl crate::sealed::RegSpec for Tsfrcr_SPEC {
1777 type DataType = u32;
1778}
1779
1780#[doc = "Too-Short Frame Receive Counter Register"]
1781pub type Tsfrcr = crate::RegValueT<Tsfrcr_SPEC>;
1782
1783impl Tsfrcr {
1784 #[doc = "Too-Short Frame Receive Counter RegisterThe TSFRCR register is a counter indicating the number of times a short frame that is shorter than 64 bytes has been received."]
1785 #[inline(always)]
1786 pub fn tsfrcr(
1787 self,
1788 ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Tsfrcr_SPEC, crate::common::RW>
1789 {
1790 crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Tsfrcr_SPEC,crate::common::RW>::from_register(self,0)
1791 }
1792}
1793impl ::core::default::Default for Tsfrcr {
1794 #[inline(always)]
1795 fn default() -> Tsfrcr {
1796 <crate::RegValueT<Tsfrcr_SPEC> as RegisterValue<_>>::new(0)
1797 }
1798}
1799
1800#[doc(hidden)]
1801#[derive(Copy, Clone, Eq, PartialEq)]
1802pub struct Tlfrcr_SPEC;
1803impl crate::sealed::RegSpec for Tlfrcr_SPEC {
1804 type DataType = u32;
1805}
1806
1807#[doc = "Too-Long Frame Receive Counter Register"]
1808pub type Tlfrcr = crate::RegValueT<Tlfrcr_SPEC>;
1809
1810impl Tlfrcr {
1811 #[doc = "Too-Long Frame Receive Counter RegisterThe TLFRCR register is a counter indicating the number of times a long frame that is longer than the RFLR register value has been received."]
1812 #[inline(always)]
1813 pub fn tlfrcr(
1814 self,
1815 ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Tlfrcr_SPEC, crate::common::RW>
1816 {
1817 crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Tlfrcr_SPEC,crate::common::RW>::from_register(self,0)
1818 }
1819}
1820impl ::core::default::Default for Tlfrcr {
1821 #[inline(always)]
1822 fn default() -> Tlfrcr {
1823 <crate::RegValueT<Tlfrcr_SPEC> as RegisterValue<_>>::new(0)
1824 }
1825}
1826
1827#[doc(hidden)]
1828#[derive(Copy, Clone, Eq, PartialEq)]
1829pub struct Rfcr_SPEC;
1830impl crate::sealed::RegSpec for Rfcr_SPEC {
1831 type DataType = u32;
1832}
1833
1834#[doc = "Received Alignment Error Frame Counter Register"]
1835pub type Rfcr = crate::RegValueT<Rfcr_SPEC>;
1836
1837impl Rfcr {
1838 #[doc = "Received Alignment Error Frame Counter RegisterThe RFCR register is a counter indicating the number of times a frame has been received with the alignment error (frame is not an integral number of octets)."]
1839 #[inline(always)]
1840 pub fn rfcr(
1841 self,
1842 ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Rfcr_SPEC, crate::common::RW>
1843 {
1844 crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Rfcr_SPEC,crate::common::RW>::from_register(self,0)
1845 }
1846}
1847impl ::core::default::Default for Rfcr {
1848 #[inline(always)]
1849 fn default() -> Rfcr {
1850 <crate::RegValueT<Rfcr_SPEC> as RegisterValue<_>>::new(0)
1851 }
1852}
1853
1854#[doc(hidden)]
1855#[derive(Copy, Clone, Eq, PartialEq)]
1856pub struct Mafcr_SPEC;
1857impl crate::sealed::RegSpec for Mafcr_SPEC {
1858 type DataType = u32;
1859}
1860
1861#[doc = "Multicast Address Frame Receive Counter Register"]
1862pub type Mafcr = crate::RegValueT<Mafcr_SPEC>;
1863
1864impl Mafcr {
1865 #[doc = "Multicast Address Frame Receive Counter RegisterThe MAFCR register is a counter indicating the number of times a frame where the multicast address is set has been received."]
1866 #[inline(always)]
1867 pub fn mafcr(
1868 self,
1869 ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Mafcr_SPEC, crate::common::RW>
1870 {
1871 crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Mafcr_SPEC,crate::common::RW>::from_register(self,0)
1872 }
1873}
1874impl ::core::default::Default for Mafcr {
1875 #[inline(always)]
1876 fn default() -> Mafcr {
1877 <crate::RegValueT<Mafcr_SPEC> as RegisterValue<_>>::new(0)
1878 }
1879}