ra6e1_pac/
etherc0.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.20.00, with svd2pac 0.6.0 on Thu, 24 Jul 2025 04:50:30 +0000
19
20#![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 = "Interpacket Gap 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::RW> {
132        unsafe {
133            crate::common::Reg::<self::Mpr_SPEC, crate::common::RW>::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 = "Too-Short Frame Receive Counter Register"]
254    #[inline(always)]
255    pub const fn tsfrcr(
256        &self,
257    ) -> &'static crate::common::Reg<self::Tsfrcr_SPEC, crate::common::RW> {
258        unsafe {
259            crate::common::Reg::<self::Tsfrcr_SPEC, crate::common::RW>::from_ptr(
260                self._svd2pac_as_ptr().add(236usize),
261            )
262        }
263    }
264
265    #[doc = "Too-Long Frame Receive Counter Register"]
266    #[inline(always)]
267    pub const fn tlfrcr(
268        &self,
269    ) -> &'static crate::common::Reg<self::Tlfrcr_SPEC, crate::common::RW> {
270        unsafe {
271            crate::common::Reg::<self::Tlfrcr_SPEC, crate::common::RW>::from_ptr(
272                self._svd2pac_as_ptr().add(240usize),
273            )
274        }
275    }
276
277    #[doc = "Received Alignment Error Frame Counter Register"]
278    #[inline(always)]
279    pub const fn rfcr(&self) -> &'static crate::common::Reg<self::Rfcr_SPEC, crate::common::RW> {
280        unsafe {
281            crate::common::Reg::<self::Rfcr_SPEC, crate::common::RW>::from_ptr(
282                self._svd2pac_as_ptr().add(244usize),
283            )
284        }
285    }
286
287    #[doc = "Multicast Address Frame Receive Counter Register"]
288    #[inline(always)]
289    pub const fn mafcr(&self) -> &'static crate::common::Reg<self::Mafcr_SPEC, crate::common::RW> {
290        unsafe {
291            crate::common::Reg::<self::Mafcr_SPEC, crate::common::RW>::from_ptr(
292                self._svd2pac_as_ptr().add(248usize),
293            )
294        }
295    }
296}
297#[doc(hidden)]
298#[derive(Copy, Clone, Eq, PartialEq)]
299pub struct Ecmr_SPEC;
300impl crate::sealed::RegSpec for Ecmr_SPEC {
301    type DataType = u32;
302}
303
304#[doc = "ETHERC Mode Register"]
305pub type Ecmr = crate::RegValueT<Ecmr_SPEC>;
306
307impl Ecmr {
308    #[doc = "Promiscuous Mode"]
309    #[inline(always)]
310    pub fn prm(
311        self,
312    ) -> crate::common::RegisterField<
313        0,
314        0x1,
315        1,
316        0,
317        ecmr::Prm,
318        ecmr::Prm,
319        Ecmr_SPEC,
320        crate::common::RW,
321    > {
322        crate::common::RegisterField::<
323            0,
324            0x1,
325            1,
326            0,
327            ecmr::Prm,
328            ecmr::Prm,
329            Ecmr_SPEC,
330            crate::common::RW,
331        >::from_register(self, 0)
332    }
333
334    #[doc = "Duplex Mode"]
335    #[inline(always)]
336    pub fn dm(
337        self,
338    ) -> crate::common::RegisterField<1, 0x1, 1, 0, ecmr::Dm, ecmr::Dm, Ecmr_SPEC, crate::common::RW>
339    {
340        crate::common::RegisterField::<1,0x1,1,0,ecmr::Dm,ecmr::Dm,Ecmr_SPEC,crate::common::RW>::from_register(self,0)
341    }
342
343    #[doc = "Bit Rate"]
344    #[inline(always)]
345    pub fn rtm(
346        self,
347    ) -> crate::common::RegisterField<
348        2,
349        0x1,
350        1,
351        0,
352        ecmr::Rtm,
353        ecmr::Rtm,
354        Ecmr_SPEC,
355        crate::common::RW,
356    > {
357        crate::common::RegisterField::<
358            2,
359            0x1,
360            1,
361            0,
362            ecmr::Rtm,
363            ecmr::Rtm,
364            Ecmr_SPEC,
365            crate::common::RW,
366        >::from_register(self, 0)
367    }
368
369    #[doc = "Internal Loopback Mode"]
370    #[inline(always)]
371    pub fn ilb(
372        self,
373    ) -> crate::common::RegisterField<
374        3,
375        0x1,
376        1,
377        0,
378        ecmr::Ilb,
379        ecmr::Ilb,
380        Ecmr_SPEC,
381        crate::common::RW,
382    > {
383        crate::common::RegisterField::<
384            3,
385            0x1,
386            1,
387            0,
388            ecmr::Ilb,
389            ecmr::Ilb,
390            Ecmr_SPEC,
391            crate::common::RW,
392        >::from_register(self, 0)
393    }
394
395    #[doc = "Transmission Enable"]
396    #[inline(always)]
397    pub fn te(
398        self,
399    ) -> crate::common::RegisterField<5, 0x1, 1, 0, ecmr::Te, ecmr::Te, Ecmr_SPEC, crate::common::RW>
400    {
401        crate::common::RegisterField::<5,0x1,1,0,ecmr::Te,ecmr::Te,Ecmr_SPEC,crate::common::RW>::from_register(self,0)
402    }
403
404    #[doc = "Reception Enable"]
405    #[inline(always)]
406    pub fn re(
407        self,
408    ) -> crate::common::RegisterField<6, 0x1, 1, 0, ecmr::Re, ecmr::Re, Ecmr_SPEC, crate::common::RW>
409    {
410        crate::common::RegisterField::<6,0x1,1,0,ecmr::Re,ecmr::Re,Ecmr_SPEC,crate::common::RW>::from_register(self,0)
411    }
412
413    #[doc = "Magic Packet Detection Enable"]
414    #[inline(always)]
415    pub fn mpde(
416        self,
417    ) -> crate::common::RegisterField<
418        9,
419        0x1,
420        1,
421        0,
422        ecmr::Mpde,
423        ecmr::Mpde,
424        Ecmr_SPEC,
425        crate::common::RW,
426    > {
427        crate::common::RegisterField::<
428            9,
429            0x1,
430            1,
431            0,
432            ecmr::Mpde,
433            ecmr::Mpde,
434            Ecmr_SPEC,
435            crate::common::RW,
436        >::from_register(self, 0)
437    }
438
439    #[doc = "CRC Error Frame Receive Mode"]
440    #[inline(always)]
441    pub fn prcef(
442        self,
443    ) -> crate::common::RegisterField<
444        12,
445        0x1,
446        1,
447        0,
448        ecmr::Prcef,
449        ecmr::Prcef,
450        Ecmr_SPEC,
451        crate::common::RW,
452    > {
453        crate::common::RegisterField::<
454            12,
455            0x1,
456            1,
457            0,
458            ecmr::Prcef,
459            ecmr::Prcef,
460            Ecmr_SPEC,
461            crate::common::RW,
462        >::from_register(self, 0)
463    }
464
465    #[doc = "Transmit Flow Control Operating Mode"]
466    #[inline(always)]
467    pub fn txf(
468        self,
469    ) -> crate::common::RegisterField<
470        16,
471        0x1,
472        1,
473        0,
474        ecmr::Txf,
475        ecmr::Txf,
476        Ecmr_SPEC,
477        crate::common::RW,
478    > {
479        crate::common::RegisterField::<
480            16,
481            0x1,
482            1,
483            0,
484            ecmr::Txf,
485            ecmr::Txf,
486            Ecmr_SPEC,
487            crate::common::RW,
488        >::from_register(self, 0)
489    }
490
491    #[doc = "Receive Flow Control Operating Mode"]
492    #[inline(always)]
493    pub fn rxf(
494        self,
495    ) -> crate::common::RegisterField<
496        17,
497        0x1,
498        1,
499        0,
500        ecmr::Rxf,
501        ecmr::Rxf,
502        Ecmr_SPEC,
503        crate::common::RW,
504    > {
505        crate::common::RegisterField::<
506            17,
507            0x1,
508            1,
509            0,
510            ecmr::Rxf,
511            ecmr::Rxf,
512            Ecmr_SPEC,
513            crate::common::RW,
514        >::from_register(self, 0)
515    }
516
517    #[doc = "PAUSE Frame Receive Mode"]
518    #[inline(always)]
519    pub fn pfr(
520        self,
521    ) -> crate::common::RegisterField<
522        18,
523        0x1,
524        1,
525        0,
526        ecmr::Pfr,
527        ecmr::Pfr,
528        Ecmr_SPEC,
529        crate::common::RW,
530    > {
531        crate::common::RegisterField::<
532            18,
533            0x1,
534            1,
535            0,
536            ecmr::Pfr,
537            ecmr::Pfr,
538            Ecmr_SPEC,
539            crate::common::RW,
540        >::from_register(self, 0)
541    }
542
543    #[doc = "0 Time PAUSE Frame Enable"]
544    #[inline(always)]
545    pub fn zpf(
546        self,
547    ) -> crate::common::RegisterField<
548        19,
549        0x1,
550        1,
551        0,
552        ecmr::Zpf,
553        ecmr::Zpf,
554        Ecmr_SPEC,
555        crate::common::RW,
556    > {
557        crate::common::RegisterField::<
558            19,
559            0x1,
560            1,
561            0,
562            ecmr::Zpf,
563            ecmr::Zpf,
564            Ecmr_SPEC,
565            crate::common::RW,
566        >::from_register(self, 0)
567    }
568
569    #[doc = "PAUSE Frame Transmit"]
570    #[inline(always)]
571    pub fn tpc(
572        self,
573    ) -> crate::common::RegisterField<
574        20,
575        0x1,
576        1,
577        0,
578        ecmr::Tpc,
579        ecmr::Tpc,
580        Ecmr_SPEC,
581        crate::common::RW,
582    > {
583        crate::common::RegisterField::<
584            20,
585            0x1,
586            1,
587            0,
588            ecmr::Tpc,
589            ecmr::Tpc,
590            Ecmr_SPEC,
591            crate::common::RW,
592        >::from_register(self, 0)
593    }
594}
595impl ::core::default::Default for Ecmr {
596    #[inline(always)]
597    fn default() -> Ecmr {
598        <crate::RegValueT<Ecmr_SPEC> as RegisterValue<_>>::new(0)
599    }
600}
601pub mod ecmr {
602
603    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
604    pub struct Prm_SPEC;
605    pub type Prm = crate::EnumBitfieldStruct<u8, Prm_SPEC>;
606    impl Prm {
607        #[doc = "Disable promiscuous mode"]
608        pub const _0: Self = Self::new(0);
609
610        #[doc = "Enable promiscuous mode."]
611        pub const _1: Self = Self::new(1);
612    }
613    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
614    pub struct Dm_SPEC;
615    pub type Dm = crate::EnumBitfieldStruct<u8, Dm_SPEC>;
616    impl Dm {
617        #[doc = "Half-duplex mode"]
618        pub const _0: Self = Self::new(0);
619
620        #[doc = "Full-duplex mode."]
621        pub const _1: Self = Self::new(1);
622    }
623    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
624    pub struct Rtm_SPEC;
625    pub type Rtm = crate::EnumBitfieldStruct<u8, Rtm_SPEC>;
626    impl Rtm {
627        #[doc = "10 Mbps"]
628        pub const _0: Self = Self::new(0);
629
630        #[doc = "100 Mbps."]
631        pub const _1: Self = Self::new(1);
632    }
633    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
634    pub struct Ilb_SPEC;
635    pub type Ilb = crate::EnumBitfieldStruct<u8, Ilb_SPEC>;
636    impl Ilb {
637        #[doc = "Perform normal data transmission or reception"]
638        pub const _0: Self = Self::new(0);
639
640        #[doc = "Loop data back in the ETHERC when full-duplex mode is selected."]
641        pub const _1: Self = Self::new(1);
642    }
643    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
644    pub struct Te_SPEC;
645    pub type Te = crate::EnumBitfieldStruct<u8, Te_SPEC>;
646    impl Te {
647        #[doc = "Disable transmit function"]
648        pub const _0: Self = Self::new(0);
649
650        #[doc = "Enable transmit function."]
651        pub const _1: Self = Self::new(1);
652    }
653    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
654    pub struct Re_SPEC;
655    pub type Re = crate::EnumBitfieldStruct<u8, Re_SPEC>;
656    impl Re {
657        #[doc = "Disable receive function"]
658        pub const _0: Self = Self::new(0);
659
660        #[doc = "Enable receive function."]
661        pub const _1: Self = Self::new(1);
662    }
663    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
664    pub struct Mpde_SPEC;
665    pub type Mpde = crate::EnumBitfieldStruct<u8, Mpde_SPEC>;
666    impl Mpde {
667        #[doc = "Disable Magic Packet detection"]
668        pub const _0: Self = Self::new(0);
669
670        #[doc = "Enable Magic Packet detection."]
671        pub const _1: Self = Self::new(1);
672    }
673    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
674    pub struct Prcef_SPEC;
675    pub type Prcef = crate::EnumBitfieldStruct<u8, Prcef_SPEC>;
676    impl Prcef {
677        #[doc = "Notify EDMAC of a CRC error"]
678        pub const _0: Self = Self::new(0);
679
680        #[doc = "Do not notify EDMAC of a CRC error."]
681        pub const _1: Self = Self::new(1);
682    }
683    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
684    pub struct Txf_SPEC;
685    pub type Txf = crate::EnumBitfieldStruct<u8, Txf_SPEC>;
686    impl Txf {
687        #[doc = "Disable automatic PAUSE frame transmission (PAUSE frame is not automatically transmitted)"]
688        pub const _0: Self = Self::new(0);
689
690        #[doc = "Enable automatic PAUSE frame transmission (PAUSE frame is automatically transmitted as required)."]
691        pub const _1: Self = Self::new(1);
692    }
693    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
694    pub struct Rxf_SPEC;
695    pub type Rxf = crate::EnumBitfieldStruct<u8, Rxf_SPEC>;
696    impl Rxf {
697        #[doc = "Disable PAUSE frame detection"]
698        pub const _0: Self = Self::new(0);
699
700        #[doc = "Enable PAUSE frame detection."]
701        pub const _1: Self = Self::new(1);
702    }
703    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
704    pub struct Pfr_SPEC;
705    pub type Pfr = crate::EnumBitfieldStruct<u8, Pfr_SPEC>;
706    impl Pfr {
707        #[doc = "Do not transfer PAUSE frame to the EDMAC"]
708        pub const _0: Self = Self::new(0);
709
710        #[doc = "Transfer PAUSE frame to the EDMAC."]
711        pub const _1: Self = Self::new(1);
712    }
713    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
714    pub struct Zpf_SPEC;
715    pub type Zpf = crate::EnumBitfieldStruct<u8, Zpf_SPEC>;
716    impl Zpf {
717        #[doc = "Do not use PAUSE frames that containing a pause_time parameter of 0"]
718        pub const _0: Self = Self::new(0);
719
720        #[doc = "Use PAUSE frames that containing a pause_time parameter of 0."]
721        pub const _1: Self = Self::new(1);
722    }
723    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
724    pub struct Tpc_SPEC;
725    pub type Tpc = crate::EnumBitfieldStruct<u8, Tpc_SPEC>;
726    impl Tpc {
727        #[doc = "Transmit PAUSE frame even during a PAUSE period"]
728        pub const _0: Self = Self::new(0);
729
730        #[doc = "Do not transmit PAUSE frame during a PAUSE period."]
731        pub const _1: Self = Self::new(1);
732    }
733}
734#[doc(hidden)]
735#[derive(Copy, Clone, Eq, PartialEq)]
736pub struct Rflr_SPEC;
737impl crate::sealed::RegSpec for Rflr_SPEC {
738    type DataType = u32;
739}
740
741#[doc = "Receive Frame Maximum Length Register"]
742pub type Rflr = crate::RegValueT<Rflr_SPEC>;
743
744impl Rflr {
745    #[doc = "Receive Frame Maximum Length"]
746    #[inline(always)]
747    pub fn rfl(
748        self,
749    ) -> crate::common::RegisterField<0, 0xfff, 1, 0, u16, u16, Rflr_SPEC, crate::common::RW> {
750        crate::common::RegisterField::<0,0xfff,1,0,u16,u16,Rflr_SPEC,crate::common::RW>::from_register(self,0)
751    }
752}
753impl ::core::default::Default for Rflr {
754    #[inline(always)]
755    fn default() -> Rflr {
756        <crate::RegValueT<Rflr_SPEC> as RegisterValue<_>>::new(0)
757    }
758}
759
760#[doc(hidden)]
761#[derive(Copy, Clone, Eq, PartialEq)]
762pub struct Ecsr_SPEC;
763impl crate::sealed::RegSpec for Ecsr_SPEC {
764    type DataType = u32;
765}
766
767#[doc = "ETHERC Status Register"]
768pub type Ecsr = crate::RegValueT<Ecsr_SPEC>;
769
770impl Ecsr {
771    #[doc = "False Carrier Detect Flag"]
772    #[inline(always)]
773    pub fn icd(
774        self,
775    ) -> crate::common::RegisterField<
776        0,
777        0x1,
778        1,
779        0,
780        ecsr::Icd,
781        ecsr::Icd,
782        Ecsr_SPEC,
783        crate::common::RW,
784    > {
785        crate::common::RegisterField::<
786            0,
787            0x1,
788            1,
789            0,
790            ecsr::Icd,
791            ecsr::Icd,
792            Ecsr_SPEC,
793            crate::common::RW,
794        >::from_register(self, 0)
795    }
796
797    #[doc = "Magic Packet Detect Flag"]
798    #[inline(always)]
799    pub fn mpd(
800        self,
801    ) -> crate::common::RegisterField<
802        1,
803        0x1,
804        1,
805        0,
806        ecsr::Mpd,
807        ecsr::Mpd,
808        Ecsr_SPEC,
809        crate::common::RW,
810    > {
811        crate::common::RegisterField::<
812            1,
813            0x1,
814            1,
815            0,
816            ecsr::Mpd,
817            ecsr::Mpd,
818            Ecsr_SPEC,
819            crate::common::RW,
820        >::from_register(self, 0)
821    }
822
823    #[doc = "Link Signal Change Flag"]
824    #[inline(always)]
825    pub fn lchng(
826        self,
827    ) -> crate::common::RegisterField<
828        2,
829        0x1,
830        1,
831        0,
832        ecsr::Lchng,
833        ecsr::Lchng,
834        Ecsr_SPEC,
835        crate::common::RW,
836    > {
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        >::from_register(self, 0)
847    }
848
849    #[doc = "PAUSE Frame Retransmit Over Flag"]
850    #[inline(always)]
851    pub fn psrto(
852        self,
853    ) -> crate::common::RegisterField<
854        4,
855        0x1,
856        1,
857        0,
858        ecsr::Psrto,
859        ecsr::Psrto,
860        Ecsr_SPEC,
861        crate::common::RW,
862    > {
863        crate::common::RegisterField::<
864            4,
865            0x1,
866            1,
867            0,
868            ecsr::Psrto,
869            ecsr::Psrto,
870            Ecsr_SPEC,
871            crate::common::RW,
872        >::from_register(self, 0)
873    }
874
875    #[doc = "Continuous Broadcast Frame Reception Flag"]
876    #[inline(always)]
877    pub fn bfr(
878        self,
879    ) -> crate::common::RegisterField<
880        5,
881        0x1,
882        1,
883        0,
884        ecsr::Bfr,
885        ecsr::Bfr,
886        Ecsr_SPEC,
887        crate::common::RW,
888    > {
889        crate::common::RegisterField::<
890            5,
891            0x1,
892            1,
893            0,
894            ecsr::Bfr,
895            ecsr::Bfr,
896            Ecsr_SPEC,
897            crate::common::RW,
898        >::from_register(self, 0)
899    }
900}
901impl ::core::default::Default for Ecsr {
902    #[inline(always)]
903    fn default() -> Ecsr {
904        <crate::RegValueT<Ecsr_SPEC> as RegisterValue<_>>::new(0)
905    }
906}
907pub mod ecsr {
908
909    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
910    pub struct Icd_SPEC;
911    pub type Icd = crate::EnumBitfieldStruct<u8, Icd_SPEC>;
912    impl Icd {
913        #[doc = "PHY-LSI has not detected a false carrier on the line"]
914        pub const _0: Self = Self::new(0);
915
916        #[doc = "PHY-LSI detected a false carrier on the line."]
917        pub const _1: Self = Self::new(1);
918    }
919    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
920    pub struct Mpd_SPEC;
921    pub type Mpd = crate::EnumBitfieldStruct<u8, Mpd_SPEC>;
922    impl Mpd {
923        #[doc = "Magic Packet not detected"]
924        pub const _0: Self = Self::new(0);
925
926        #[doc = "Magic Packet detected."]
927        pub const _1: Self = Self::new(1);
928    }
929    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
930    pub struct Lchng_SPEC;
931    pub type Lchng = crate::EnumBitfieldStruct<u8, Lchng_SPEC>;
932    impl Lchng {
933        #[doc = "Change in the ET0_LINKSTA signal not detected"]
934        pub const _0: Self = Self::new(0);
935
936        #[doc = "Change in the ET0_LINKSTA signal detected (high to low, or low to high)."]
937        pub const _1: Self = Self::new(1);
938    }
939    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
940    pub struct Psrto_SPEC;
941    pub type Psrto = crate::EnumBitfieldStruct<u8, Psrto_SPEC>;
942    impl Psrto {
943        #[doc = "PAUSE frame retransmit count has not reached the upper limit"]
944        pub const _0: Self = Self::new(0);
945
946        #[doc = "PAUSE frame retransmit count reached the upper limit."]
947        pub const _1: Self = Self::new(1);
948    }
949    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
950    pub struct Bfr_SPEC;
951    pub type Bfr = crate::EnumBitfieldStruct<u8, Bfr_SPEC>;
952    impl Bfr {
953        #[doc = "Continuous reception of broadcast frames not detected"]
954        pub const _0: Self = Self::new(0);
955
956        #[doc = "Continuous reception of broadcast frames detected."]
957        pub const _1: Self = Self::new(1);
958    }
959}
960#[doc(hidden)]
961#[derive(Copy, Clone, Eq, PartialEq)]
962pub struct Ecsipr_SPEC;
963impl crate::sealed::RegSpec for Ecsipr_SPEC {
964    type DataType = u32;
965}
966
967#[doc = "ETHERC Interrupt Enable Register"]
968pub type Ecsipr = crate::RegValueT<Ecsipr_SPEC>;
969
970impl Ecsipr {
971    #[doc = "False Carrier Detect Interrupt Enable"]
972    #[inline(always)]
973    pub fn icdip(
974        self,
975    ) -> crate::common::RegisterField<
976        0,
977        0x1,
978        1,
979        0,
980        ecsipr::Icdip,
981        ecsipr::Icdip,
982        Ecsipr_SPEC,
983        crate::common::RW,
984    > {
985        crate::common::RegisterField::<
986            0,
987            0x1,
988            1,
989            0,
990            ecsipr::Icdip,
991            ecsipr::Icdip,
992            Ecsipr_SPEC,
993            crate::common::RW,
994        >::from_register(self, 0)
995    }
996
997    #[doc = "Magic Packet Detect Interrupt Enable"]
998    #[inline(always)]
999    pub fn mpdip(
1000        self,
1001    ) -> crate::common::RegisterField<
1002        1,
1003        0x1,
1004        1,
1005        0,
1006        ecsipr::Mpdip,
1007        ecsipr::Mpdip,
1008        Ecsipr_SPEC,
1009        crate::common::RW,
1010    > {
1011        crate::common::RegisterField::<
1012            1,
1013            0x1,
1014            1,
1015            0,
1016            ecsipr::Mpdip,
1017            ecsipr::Mpdip,
1018            Ecsipr_SPEC,
1019            crate::common::RW,
1020        >::from_register(self, 0)
1021    }
1022
1023    #[doc = "LINK Signal Change Interrupt Enable"]
1024    #[inline(always)]
1025    pub fn lchngip(
1026        self,
1027    ) -> crate::common::RegisterField<
1028        2,
1029        0x1,
1030        1,
1031        0,
1032        ecsipr::Lchngip,
1033        ecsipr::Lchngip,
1034        Ecsipr_SPEC,
1035        crate::common::RW,
1036    > {
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        >::from_register(self, 0)
1047    }
1048
1049    #[doc = "PAUSE Frame Retransmit Over Interrupt Enable"]
1050    #[inline(always)]
1051    pub fn psrtoip(
1052        self,
1053    ) -> crate::common::RegisterField<
1054        4,
1055        0x1,
1056        1,
1057        0,
1058        ecsipr::Psrtoip,
1059        ecsipr::Psrtoip,
1060        Ecsipr_SPEC,
1061        crate::common::RW,
1062    > {
1063        crate::common::RegisterField::<
1064            4,
1065            0x1,
1066            1,
1067            0,
1068            ecsipr::Psrtoip,
1069            ecsipr::Psrtoip,
1070            Ecsipr_SPEC,
1071            crate::common::RW,
1072        >::from_register(self, 0)
1073    }
1074
1075    #[doc = "Continuous Broadcast Frame Reception Interrupt Enable"]
1076    #[inline(always)]
1077    pub fn bfsipr(
1078        self,
1079    ) -> crate::common::RegisterField<
1080        5,
1081        0x1,
1082        1,
1083        0,
1084        ecsipr::Bfsipr,
1085        ecsipr::Bfsipr,
1086        Ecsipr_SPEC,
1087        crate::common::RW,
1088    > {
1089        crate::common::RegisterField::<
1090            5,
1091            0x1,
1092            1,
1093            0,
1094            ecsipr::Bfsipr,
1095            ecsipr::Bfsipr,
1096            Ecsipr_SPEC,
1097            crate::common::RW,
1098        >::from_register(self, 0)
1099    }
1100}
1101impl ::core::default::Default for Ecsipr {
1102    #[inline(always)]
1103    fn default() -> Ecsipr {
1104        <crate::RegValueT<Ecsipr_SPEC> as RegisterValue<_>>::new(0)
1105    }
1106}
1107pub mod ecsipr {
1108
1109    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1110    pub struct Icdip_SPEC;
1111    pub type Icdip = crate::EnumBitfieldStruct<u8, Icdip_SPEC>;
1112    impl Icdip {
1113        #[doc = "Disable interrupt notification"]
1114        pub const _0: Self = Self::new(0);
1115
1116        #[doc = "Enable interrupt notification."]
1117        pub const _1: Self = Self::new(1);
1118    }
1119    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1120    pub struct Mpdip_SPEC;
1121    pub type Mpdip = crate::EnumBitfieldStruct<u8, Mpdip_SPEC>;
1122    impl Mpdip {
1123        #[doc = "Disable interrupt notification"]
1124        pub const _0: Self = Self::new(0);
1125
1126        #[doc = "Enable interrupt notification."]
1127        pub const _1: Self = Self::new(1);
1128    }
1129    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1130    pub struct Lchngip_SPEC;
1131    pub type Lchngip = crate::EnumBitfieldStruct<u8, Lchngip_SPEC>;
1132    impl Lchngip {
1133        #[doc = "Disable interrupt notification"]
1134        pub const _0: Self = Self::new(0);
1135
1136        #[doc = "Enable interrupt notification."]
1137        pub const _1: Self = Self::new(1);
1138    }
1139    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1140    pub struct Psrtoip_SPEC;
1141    pub type Psrtoip = crate::EnumBitfieldStruct<u8, Psrtoip_SPEC>;
1142    impl Psrtoip {
1143        #[doc = "Disable interrupt notification"]
1144        pub const _0: Self = Self::new(0);
1145
1146        #[doc = "Enable interrupt notification."]
1147        pub const _1: Self = Self::new(1);
1148    }
1149    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1150    pub struct Bfsipr_SPEC;
1151    pub type Bfsipr = crate::EnumBitfieldStruct<u8, Bfsipr_SPEC>;
1152    impl Bfsipr {
1153        #[doc = "Disable interrupt notification"]
1154        pub const _0: Self = Self::new(0);
1155
1156        #[doc = "Enable interrupt notification."]
1157        pub const _1: Self = Self::new(1);
1158    }
1159}
1160#[doc(hidden)]
1161#[derive(Copy, Clone, Eq, PartialEq)]
1162pub struct Pir_SPEC;
1163impl crate::sealed::RegSpec for Pir_SPEC {
1164    type DataType = u32;
1165}
1166
1167#[doc = "PHY Interface Register"]
1168pub type Pir = crate::RegValueT<Pir_SPEC>;
1169
1170impl Pir {
1171    #[doc = "RMII Management Data Clock"]
1172    #[inline(always)]
1173    pub fn mdc(self) -> crate::common::RegisterFieldBool<0, 1, 0, Pir_SPEC, crate::common::RW> {
1174        crate::common::RegisterFieldBool::<0, 1, 0, Pir_SPEC, crate::common::RW>::from_register(
1175            self, 0,
1176        )
1177    }
1178
1179    #[doc = "RMII Management Mode"]
1180    #[inline(always)]
1181    pub fn mmd(
1182        self,
1183    ) -> crate::common::RegisterField<1, 0x1, 1, 0, pir::Mmd, pir::Mmd, Pir_SPEC, crate::common::RW>
1184    {
1185        crate::common::RegisterField::<1,0x1,1,0,pir::Mmd,pir::Mmd,Pir_SPEC,crate::common::RW>::from_register(self,0)
1186    }
1187
1188    #[doc = "RMII Management Data-Out"]
1189    #[inline(always)]
1190    pub fn mdo(self) -> crate::common::RegisterFieldBool<2, 1, 0, Pir_SPEC, crate::common::RW> {
1191        crate::common::RegisterFieldBool::<2, 1, 0, Pir_SPEC, crate::common::RW>::from_register(
1192            self, 0,
1193        )
1194    }
1195
1196    #[doc = "RMII Management Data-In"]
1197    #[inline(always)]
1198    pub fn mdi(self) -> crate::common::RegisterFieldBool<3, 1, 0, Pir_SPEC, crate::common::R> {
1199        crate::common::RegisterFieldBool::<3, 1, 0, Pir_SPEC, crate::common::R>::from_register(
1200            self, 0,
1201        )
1202    }
1203}
1204impl ::core::default::Default for Pir {
1205    #[inline(always)]
1206    fn default() -> Pir {
1207        <crate::RegValueT<Pir_SPEC> as RegisterValue<_>>::new(0)
1208    }
1209}
1210pub mod pir {
1211
1212    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1213    pub struct Mmd_SPEC;
1214    pub type Mmd = crate::EnumBitfieldStruct<u8, Mmd_SPEC>;
1215    impl Mmd {
1216        #[doc = "Read"]
1217        pub const _0: Self = Self::new(0);
1218
1219        #[doc = "Write."]
1220        pub const _1: Self = Self::new(1);
1221    }
1222}
1223#[doc(hidden)]
1224#[derive(Copy, Clone, Eq, PartialEq)]
1225pub struct Psr_SPEC;
1226impl crate::sealed::RegSpec for Psr_SPEC {
1227    type DataType = u32;
1228}
1229
1230#[doc = "PHY Status Register"]
1231pub type Psr = crate::RegValueT<Psr_SPEC>;
1232
1233impl Psr {
1234    #[doc = "ET0_LINKSTA Pin Status Flag"]
1235    #[inline(always)]
1236    pub fn lmon(self) -> crate::common::RegisterFieldBool<0, 1, 0, Psr_SPEC, crate::common::R> {
1237        crate::common::RegisterFieldBool::<0, 1, 0, Psr_SPEC, crate::common::R>::from_register(
1238            self, 0,
1239        )
1240    }
1241}
1242impl ::core::default::Default for Psr {
1243    #[inline(always)]
1244    fn default() -> Psr {
1245        <crate::RegValueT<Psr_SPEC> as RegisterValue<_>>::new(0)
1246    }
1247}
1248
1249#[doc(hidden)]
1250#[derive(Copy, Clone, Eq, PartialEq)]
1251pub struct Rdmlr_SPEC;
1252impl crate::sealed::RegSpec for Rdmlr_SPEC {
1253    type DataType = u32;
1254}
1255
1256#[doc = "Random Number Generation Counter Upper Limit Setting Register"]
1257pub type Rdmlr = crate::RegValueT<Rdmlr_SPEC>;
1258
1259impl Rdmlr {
1260    #[doc = "Random Number Generation Counter"]
1261    #[inline(always)]
1262    pub fn rmd(
1263        self,
1264    ) -> crate::common::RegisterField<0, 0xfffff, 1, 0, u32, u32, Rdmlr_SPEC, crate::common::RW>
1265    {
1266        crate::common::RegisterField::<0,0xfffff,1,0,u32,u32,Rdmlr_SPEC,crate::common::RW>::from_register(self,0)
1267    }
1268}
1269impl ::core::default::Default for Rdmlr {
1270    #[inline(always)]
1271    fn default() -> Rdmlr {
1272        <crate::RegValueT<Rdmlr_SPEC> as RegisterValue<_>>::new(0)
1273    }
1274}
1275
1276#[doc(hidden)]
1277#[derive(Copy, Clone, Eq, PartialEq)]
1278pub struct Ipgr_SPEC;
1279impl crate::sealed::RegSpec for Ipgr_SPEC {
1280    type DataType = u32;
1281}
1282
1283#[doc = "Interpacket Gap Register"]
1284pub type Ipgr = crate::RegValueT<Ipgr_SPEC>;
1285
1286impl Ipgr {
1287    #[inline(always)]
1288    pub fn ipg(
1289        self,
1290    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, Ipgr_SPEC, crate::common::RW> {
1291        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,Ipgr_SPEC,crate::common::RW>::from_register(self,0)
1292    }
1293}
1294impl ::core::default::Default for Ipgr {
1295    #[inline(always)]
1296    fn default() -> Ipgr {
1297        <crate::RegValueT<Ipgr_SPEC> as RegisterValue<_>>::new(20)
1298    }
1299}
1300
1301#[doc(hidden)]
1302#[derive(Copy, Clone, Eq, PartialEq)]
1303pub struct Apr_SPEC;
1304impl crate::sealed::RegSpec for Apr_SPEC {
1305    type DataType = u32;
1306}
1307
1308#[doc = "Automatic PAUSE Frame Register"]
1309pub type Apr = crate::RegValueT<Apr_SPEC>;
1310
1311impl Apr {
1312    #[doc = "Automatic PAUSE Time Setting"]
1313    #[inline(always)]
1314    pub fn ap(
1315        self,
1316    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Apr_SPEC, crate::common::RW> {
1317        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Apr_SPEC,crate::common::RW>::from_register(self,0)
1318    }
1319}
1320impl ::core::default::Default for Apr {
1321    #[inline(always)]
1322    fn default() -> Apr {
1323        <crate::RegValueT<Apr_SPEC> as RegisterValue<_>>::new(0)
1324    }
1325}
1326
1327#[doc(hidden)]
1328#[derive(Copy, Clone, Eq, PartialEq)]
1329pub struct Mpr_SPEC;
1330impl crate::sealed::RegSpec for Mpr_SPEC {
1331    type DataType = u32;
1332}
1333
1334#[doc = "Manual PAUSE Frame Register"]
1335pub type Mpr = crate::RegValueT<Mpr_SPEC>;
1336
1337impl Mpr {
1338    #[doc = "Manual PAUSE Time Setting"]
1339    #[inline(always)]
1340    pub fn mp(
1341        self,
1342    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Mpr_SPEC, crate::common::RW> {
1343        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Mpr_SPEC,crate::common::RW>::from_register(self,0)
1344    }
1345}
1346impl ::core::default::Default for Mpr {
1347    #[inline(always)]
1348    fn default() -> Mpr {
1349        <crate::RegValueT<Mpr_SPEC> as RegisterValue<_>>::new(0)
1350    }
1351}
1352
1353#[doc(hidden)]
1354#[derive(Copy, Clone, Eq, PartialEq)]
1355pub struct Rfcf_SPEC;
1356impl crate::sealed::RegSpec for Rfcf_SPEC {
1357    type DataType = u32;
1358}
1359
1360#[doc = "Received PAUSE Frame Counter"]
1361pub type Rfcf = crate::RegValueT<Rfcf_SPEC>;
1362
1363impl Rfcf {
1364    #[doc = "Received PAUSE Frame Count"]
1365    #[inline(always)]
1366    pub fn rpause(
1367        self,
1368    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Rfcf_SPEC, crate::common::R> {
1369        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Rfcf_SPEC,crate::common::R>::from_register(self,0)
1370    }
1371}
1372impl ::core::default::Default for Rfcf {
1373    #[inline(always)]
1374    fn default() -> Rfcf {
1375        <crate::RegValueT<Rfcf_SPEC> as RegisterValue<_>>::new(0)
1376    }
1377}
1378
1379#[doc(hidden)]
1380#[derive(Copy, Clone, Eq, PartialEq)]
1381pub struct Tpauser_SPEC;
1382impl crate::sealed::RegSpec for Tpauser_SPEC {
1383    type DataType = u32;
1384}
1385
1386#[doc = "PAUSE Frame Retransmit Count Setting Register"]
1387pub type Tpauser = crate::RegValueT<Tpauser_SPEC>;
1388
1389impl Tpauser {
1390    #[inline(always)]
1391    pub fn tpause(
1392        self,
1393    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Tpauser_SPEC, crate::common::RW>
1394    {
1395        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Tpauser_SPEC,crate::common::RW>::from_register(self,0)
1396    }
1397}
1398impl ::core::default::Default for Tpauser {
1399    #[inline(always)]
1400    fn default() -> Tpauser {
1401        <crate::RegValueT<Tpauser_SPEC> as RegisterValue<_>>::new(0)
1402    }
1403}
1404
1405#[doc(hidden)]
1406#[derive(Copy, Clone, Eq, PartialEq)]
1407pub struct Tpausecr_SPEC;
1408impl crate::sealed::RegSpec for Tpausecr_SPEC {
1409    type DataType = u32;
1410}
1411
1412#[doc = "PAUSE Frame Retransmit Counter"]
1413pub type Tpausecr = crate::RegValueT<Tpausecr_SPEC>;
1414
1415impl Tpausecr {
1416    #[doc = "PAUSE Frame Retransmit Count"]
1417    #[inline(always)]
1418    pub fn txp(
1419        self,
1420    ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Tpausecr_SPEC, crate::common::R> {
1421        crate::common::RegisterField::<0,0xff,1,0,u8,u8,Tpausecr_SPEC,crate::common::R>::from_register(self,0)
1422    }
1423}
1424impl ::core::default::Default for Tpausecr {
1425    #[inline(always)]
1426    fn default() -> Tpausecr {
1427        <crate::RegValueT<Tpausecr_SPEC> as RegisterValue<_>>::new(0)
1428    }
1429}
1430
1431#[doc(hidden)]
1432#[derive(Copy, Clone, Eq, PartialEq)]
1433pub struct Bcfrr_SPEC;
1434impl crate::sealed::RegSpec for Bcfrr_SPEC {
1435    type DataType = u32;
1436}
1437
1438#[doc = "Broadcast Frame Receive Count Setting Register"]
1439pub type Bcfrr = crate::RegValueT<Bcfrr_SPEC>;
1440
1441impl Bcfrr {
1442    #[inline(always)]
1443    pub fn bcf(
1444        self,
1445    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Bcfrr_SPEC, crate::common::RW>
1446    {
1447        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Bcfrr_SPEC,crate::common::RW>::from_register(self,0)
1448    }
1449}
1450impl ::core::default::Default for Bcfrr {
1451    #[inline(always)]
1452    fn default() -> Bcfrr {
1453        <crate::RegValueT<Bcfrr_SPEC> as RegisterValue<_>>::new(0)
1454    }
1455}
1456
1457#[doc(hidden)]
1458#[derive(Copy, Clone, Eq, PartialEq)]
1459pub struct Mahr_SPEC;
1460impl crate::sealed::RegSpec for Mahr_SPEC {
1461    type DataType = u32;
1462}
1463
1464#[doc = "MAC Address Upper Bit Register"]
1465pub type Mahr = crate::RegValueT<Mahr_SPEC>;
1466
1467impl Mahr {
1468    #[doc = "MAC Address Upper Bit"]
1469    #[inline(always)]
1470    pub fn mahr(
1471        self,
1472    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Mahr_SPEC, crate::common::RW>
1473    {
1474        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Mahr_SPEC,crate::common::RW>::from_register(self,0)
1475    }
1476}
1477impl ::core::default::Default for Mahr {
1478    #[inline(always)]
1479    fn default() -> Mahr {
1480        <crate::RegValueT<Mahr_SPEC> as RegisterValue<_>>::new(0)
1481    }
1482}
1483
1484#[doc(hidden)]
1485#[derive(Copy, Clone, Eq, PartialEq)]
1486pub struct Malr_SPEC;
1487impl crate::sealed::RegSpec for Malr_SPEC {
1488    type DataType = u32;
1489}
1490
1491#[doc = "MAC Address Lower Bit Register"]
1492pub type Malr = crate::RegValueT<Malr_SPEC>;
1493
1494impl Malr {
1495    #[doc = "MAC Address Lower Bit"]
1496    #[inline(always)]
1497    pub fn malr(
1498        self,
1499    ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Malr_SPEC, crate::common::RW> {
1500        crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Malr_SPEC,crate::common::RW>::from_register(self,0)
1501    }
1502}
1503impl ::core::default::Default for Malr {
1504    #[inline(always)]
1505    fn default() -> Malr {
1506        <crate::RegValueT<Malr_SPEC> as RegisterValue<_>>::new(0)
1507    }
1508}
1509
1510#[doc(hidden)]
1511#[derive(Copy, Clone, Eq, PartialEq)]
1512pub struct Trocr_SPEC;
1513impl crate::sealed::RegSpec for Trocr_SPEC {
1514    type DataType = u32;
1515}
1516
1517#[doc = "Transmit Retry Over Counter Register"]
1518pub type Trocr = crate::RegValueT<Trocr_SPEC>;
1519
1520impl Trocr {
1521    #[doc = "Transmit Retry Over Counter"]
1522    #[inline(always)]
1523    pub fn trocr(
1524        self,
1525    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Trocr_SPEC, crate::common::RW>
1526    {
1527        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Trocr_SPEC,crate::common::RW>::from_register(self,0)
1528    }
1529}
1530impl ::core::default::Default for Trocr {
1531    #[inline(always)]
1532    fn default() -> Trocr {
1533        <crate::RegValueT<Trocr_SPEC> as RegisterValue<_>>::new(0)
1534    }
1535}
1536
1537#[doc(hidden)]
1538#[derive(Copy, Clone, Eq, PartialEq)]
1539pub struct Cdcr_SPEC;
1540impl crate::sealed::RegSpec for Cdcr_SPEC {
1541    type DataType = u32;
1542}
1543
1544#[doc = "Late Collision Detect Counter Register"]
1545pub type Cdcr = crate::RegValueT<Cdcr_SPEC>;
1546
1547impl Cdcr {
1548    #[doc = "Late Collision Detect Counter"]
1549    #[inline(always)]
1550    pub fn cdcr(
1551        self,
1552    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Cdcr_SPEC, crate::common::RW>
1553    {
1554        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Cdcr_SPEC,crate::common::RW>::from_register(self,0)
1555    }
1556}
1557impl ::core::default::Default for Cdcr {
1558    #[inline(always)]
1559    fn default() -> Cdcr {
1560        <crate::RegValueT<Cdcr_SPEC> as RegisterValue<_>>::new(0)
1561    }
1562}
1563
1564#[doc(hidden)]
1565#[derive(Copy, Clone, Eq, PartialEq)]
1566pub struct Lccr_SPEC;
1567impl crate::sealed::RegSpec for Lccr_SPEC {
1568    type DataType = u32;
1569}
1570
1571#[doc = "Lost Carrier Counter Register"]
1572pub type Lccr = crate::RegValueT<Lccr_SPEC>;
1573
1574impl Lccr {
1575    #[doc = "Lost Carrier Counter"]
1576    #[inline(always)]
1577    pub fn lccr(
1578        self,
1579    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Lccr_SPEC, crate::common::RW>
1580    {
1581        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Lccr_SPEC,crate::common::RW>::from_register(self,0)
1582    }
1583}
1584impl ::core::default::Default for Lccr {
1585    #[inline(always)]
1586    fn default() -> Lccr {
1587        <crate::RegValueT<Lccr_SPEC> as RegisterValue<_>>::new(0)
1588    }
1589}
1590
1591#[doc(hidden)]
1592#[derive(Copy, Clone, Eq, PartialEq)]
1593pub struct Cndcr_SPEC;
1594impl crate::sealed::RegSpec for Cndcr_SPEC {
1595    type DataType = u32;
1596}
1597
1598#[doc = "Carrier Not Detect Counter Register"]
1599pub type Cndcr = crate::RegValueT<Cndcr_SPEC>;
1600
1601impl Cndcr {
1602    #[doc = "Carrier Not Detect Counter"]
1603    #[inline(always)]
1604    pub fn cndcr(
1605        self,
1606    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Cndcr_SPEC, crate::common::RW>
1607    {
1608        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Cndcr_SPEC,crate::common::RW>::from_register(self,0)
1609    }
1610}
1611impl ::core::default::Default for Cndcr {
1612    #[inline(always)]
1613    fn default() -> Cndcr {
1614        <crate::RegValueT<Cndcr_SPEC> as RegisterValue<_>>::new(0)
1615    }
1616}
1617
1618#[doc(hidden)]
1619#[derive(Copy, Clone, Eq, PartialEq)]
1620pub struct Cefcr_SPEC;
1621impl crate::sealed::RegSpec for Cefcr_SPEC {
1622    type DataType = u32;
1623}
1624
1625#[doc = "CRC Error Frame Receive Counter Register"]
1626pub type Cefcr = crate::RegValueT<Cefcr_SPEC>;
1627
1628impl Cefcr {
1629    #[doc = "CRC Error Frame Receive Counter"]
1630    #[inline(always)]
1631    pub fn cefcr(
1632        self,
1633    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Cefcr_SPEC, crate::common::RW>
1634    {
1635        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Cefcr_SPEC,crate::common::RW>::from_register(self,0)
1636    }
1637}
1638impl ::core::default::Default for Cefcr {
1639    #[inline(always)]
1640    fn default() -> Cefcr {
1641        <crate::RegValueT<Cefcr_SPEC> as RegisterValue<_>>::new(0)
1642    }
1643}
1644
1645#[doc(hidden)]
1646#[derive(Copy, Clone, Eq, PartialEq)]
1647pub struct Tsfrcr_SPEC;
1648impl crate::sealed::RegSpec for Tsfrcr_SPEC {
1649    type DataType = u32;
1650}
1651
1652#[doc = "Too-Short Frame Receive Counter Register"]
1653pub type Tsfrcr = crate::RegValueT<Tsfrcr_SPEC>;
1654
1655impl Tsfrcr {
1656    #[doc = "Too-Short Frame Receive Counter"]
1657    #[inline(always)]
1658    pub fn tsfrcr(
1659        self,
1660    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Tsfrcr_SPEC, crate::common::RW>
1661    {
1662        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Tsfrcr_SPEC,crate::common::RW>::from_register(self,0)
1663    }
1664}
1665impl ::core::default::Default for Tsfrcr {
1666    #[inline(always)]
1667    fn default() -> Tsfrcr {
1668        <crate::RegValueT<Tsfrcr_SPEC> as RegisterValue<_>>::new(0)
1669    }
1670}
1671
1672#[doc(hidden)]
1673#[derive(Copy, Clone, Eq, PartialEq)]
1674pub struct Tlfrcr_SPEC;
1675impl crate::sealed::RegSpec for Tlfrcr_SPEC {
1676    type DataType = u32;
1677}
1678
1679#[doc = "Too-Long Frame Receive Counter Register"]
1680pub type Tlfrcr = crate::RegValueT<Tlfrcr_SPEC>;
1681
1682impl Tlfrcr {
1683    #[doc = "Too-Long Frame Receive Counter"]
1684    #[inline(always)]
1685    pub fn tlfrcr(
1686        self,
1687    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Tlfrcr_SPEC, crate::common::RW>
1688    {
1689        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Tlfrcr_SPEC,crate::common::RW>::from_register(self,0)
1690    }
1691}
1692impl ::core::default::Default for Tlfrcr {
1693    #[inline(always)]
1694    fn default() -> Tlfrcr {
1695        <crate::RegValueT<Tlfrcr_SPEC> as RegisterValue<_>>::new(0)
1696    }
1697}
1698
1699#[doc(hidden)]
1700#[derive(Copy, Clone, Eq, PartialEq)]
1701pub struct Rfcr_SPEC;
1702impl crate::sealed::RegSpec for Rfcr_SPEC {
1703    type DataType = u32;
1704}
1705
1706#[doc = "Received Alignment Error Frame Counter Register"]
1707pub type Rfcr = crate::RegValueT<Rfcr_SPEC>;
1708
1709impl Rfcr {
1710    #[doc = "Received Alignment Error Frame Counter"]
1711    #[inline(always)]
1712    pub fn rfcr(
1713        self,
1714    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Rfcr_SPEC, crate::common::RW>
1715    {
1716        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Rfcr_SPEC,crate::common::RW>::from_register(self,0)
1717    }
1718}
1719impl ::core::default::Default for Rfcr {
1720    #[inline(always)]
1721    fn default() -> Rfcr {
1722        <crate::RegValueT<Rfcr_SPEC> as RegisterValue<_>>::new(0)
1723    }
1724}
1725
1726#[doc(hidden)]
1727#[derive(Copy, Clone, Eq, PartialEq)]
1728pub struct Mafcr_SPEC;
1729impl crate::sealed::RegSpec for Mafcr_SPEC {
1730    type DataType = u32;
1731}
1732
1733#[doc = "Multicast Address Frame Receive Counter Register"]
1734pub type Mafcr = crate::RegValueT<Mafcr_SPEC>;
1735
1736impl Mafcr {
1737    #[doc = "Multicast Address Frame Receive Counter"]
1738    #[inline(always)]
1739    pub fn mafcr(
1740        self,
1741    ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Mafcr_SPEC, crate::common::RW>
1742    {
1743        crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Mafcr_SPEC,crate::common::RW>::from_register(self,0)
1744    }
1745}
1746impl ::core::default::Default for Mafcr {
1747    #[inline(always)]
1748    fn default() -> Mafcr {
1749        <crate::RegValueT<Mafcr_SPEC> as RegisterValue<_>>::new(0)
1750    }
1751}