ra2e2_pac/
port0.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.40.00, with svd2pac 0.6.0 on Thu, 24 Jul 2025 04:46:37 +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"Port 0 Control Registers"]
28unsafe impl ::core::marker::Send for super::Port0 {}
29unsafe impl ::core::marker::Sync for super::Port0 {}
30impl super::Port0 {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "Port Control Register 1"]
38    #[inline(always)]
39    pub const fn pcntr1(
40        &self,
41    ) -> &'static crate::common::Reg<self::Pcntr1_SPEC, crate::common::RW> {
42        unsafe {
43            crate::common::Reg::<self::Pcntr1_SPEC, crate::common::RW>::from_ptr(
44                self._svd2pac_as_ptr().add(0usize),
45            )
46        }
47    }
48
49    #[doc = "Port Control Register 1"]
50    #[inline(always)]
51    pub const fn podr(&self) -> &'static crate::common::Reg<self::Podr_SPEC, crate::common::RW> {
52        unsafe {
53            crate::common::Reg::<self::Podr_SPEC, crate::common::RW>::from_ptr(
54                self._svd2pac_as_ptr().add(0usize),
55            )
56        }
57    }
58
59    #[doc = "Port Control Register 1"]
60    #[inline(always)]
61    pub const fn pdr(&self) -> &'static crate::common::Reg<self::Pdr_SPEC, crate::common::RW> {
62        unsafe {
63            crate::common::Reg::<self::Pdr_SPEC, crate::common::RW>::from_ptr(
64                self._svd2pac_as_ptr().add(2usize),
65            )
66        }
67    }
68
69    #[doc = "Port Control Register 2"]
70    #[inline(always)]
71    pub const fn pcntr2(&self) -> &'static crate::common::Reg<self::Pcntr2_SPEC, crate::common::R> {
72        unsafe {
73            crate::common::Reg::<self::Pcntr2_SPEC, crate::common::R>::from_ptr(
74                self._svd2pac_as_ptr().add(4usize),
75            )
76        }
77    }
78
79    #[doc = "Port Control Register 2"]
80    #[inline(always)]
81    pub const fn pidr(&self) -> &'static crate::common::Reg<self::Pidr_SPEC, crate::common::R> {
82        unsafe {
83            crate::common::Reg::<self::Pidr_SPEC, crate::common::R>::from_ptr(
84                self._svd2pac_as_ptr().add(6usize),
85            )
86        }
87    }
88
89    #[doc = "Port Control Register 3"]
90    #[inline(always)]
91    pub const fn pcntr3(&self) -> &'static crate::common::Reg<self::Pcntr3_SPEC, crate::common::W> {
92        unsafe {
93            crate::common::Reg::<self::Pcntr3_SPEC, crate::common::W>::from_ptr(
94                self._svd2pac_as_ptr().add(8usize),
95            )
96        }
97    }
98
99    #[doc = "Port Control Register 3"]
100    #[inline(always)]
101    pub const fn porr(&self) -> &'static crate::common::Reg<self::Porr_SPEC, crate::common::W> {
102        unsafe {
103            crate::common::Reg::<self::Porr_SPEC, crate::common::W>::from_ptr(
104                self._svd2pac_as_ptr().add(8usize),
105            )
106        }
107    }
108
109    #[doc = "Port Control Register 3"]
110    #[inline(always)]
111    pub const fn posr(&self) -> &'static crate::common::Reg<self::Posr_SPEC, crate::common::W> {
112        unsafe {
113            crate::common::Reg::<self::Posr_SPEC, crate::common::W>::from_ptr(
114                self._svd2pac_as_ptr().add(10usize),
115            )
116        }
117    }
118}
119#[doc(hidden)]
120#[derive(Copy, Clone, Eq, PartialEq)]
121pub struct Pcntr1_SPEC;
122impl crate::sealed::RegSpec for Pcntr1_SPEC {
123    type DataType = u32;
124}
125
126#[doc = "Port Control Register 1"]
127pub type Pcntr1 = crate::RegValueT<Pcntr1_SPEC>;
128
129impl Pcntr1 {
130    #[doc = "Pmn Direction"]
131    #[inline(always)]
132    pub fn pdr00(
133        self,
134    ) -> crate::common::RegisterField<
135        0,
136        0x1,
137        1,
138        0,
139        pcntr1::Pdr00,
140        pcntr1::Pdr00,
141        Pcntr1_SPEC,
142        crate::common::RW,
143    > {
144        crate::common::RegisterField::<
145            0,
146            0x1,
147            1,
148            0,
149            pcntr1::Pdr00,
150            pcntr1::Pdr00,
151            Pcntr1_SPEC,
152            crate::common::RW,
153        >::from_register(self, 0)
154    }
155
156    #[doc = "Pmn Direction"]
157    #[inline(always)]
158    pub fn pdr01(
159        self,
160    ) -> crate::common::RegisterField<
161        1,
162        0x1,
163        1,
164        0,
165        pcntr1::Pdr01,
166        pcntr1::Pdr01,
167        Pcntr1_SPEC,
168        crate::common::RW,
169    > {
170        crate::common::RegisterField::<
171            1,
172            0x1,
173            1,
174            0,
175            pcntr1::Pdr01,
176            pcntr1::Pdr01,
177            Pcntr1_SPEC,
178            crate::common::RW,
179        >::from_register(self, 0)
180    }
181
182    #[doc = "Pmn Direction"]
183    #[inline(always)]
184    pub fn pdr02(
185        self,
186    ) -> crate::common::RegisterField<
187        2,
188        0x1,
189        1,
190        0,
191        pcntr1::Pdr02,
192        pcntr1::Pdr02,
193        Pcntr1_SPEC,
194        crate::common::RW,
195    > {
196        crate::common::RegisterField::<
197            2,
198            0x1,
199            1,
200            0,
201            pcntr1::Pdr02,
202            pcntr1::Pdr02,
203            Pcntr1_SPEC,
204            crate::common::RW,
205        >::from_register(self, 0)
206    }
207
208    #[doc = "Pmn Direction"]
209    #[inline(always)]
210    pub fn pdr03(
211        self,
212    ) -> crate::common::RegisterField<
213        3,
214        0x1,
215        1,
216        0,
217        pcntr1::Pdr03,
218        pcntr1::Pdr03,
219        Pcntr1_SPEC,
220        crate::common::RW,
221    > {
222        crate::common::RegisterField::<
223            3,
224            0x1,
225            1,
226            0,
227            pcntr1::Pdr03,
228            pcntr1::Pdr03,
229            Pcntr1_SPEC,
230            crate::common::RW,
231        >::from_register(self, 0)
232    }
233
234    #[doc = "Pmn Direction"]
235    #[inline(always)]
236    pub fn pdr04(
237        self,
238    ) -> crate::common::RegisterField<
239        4,
240        0x1,
241        1,
242        0,
243        pcntr1::Pdr04,
244        pcntr1::Pdr04,
245        Pcntr1_SPEC,
246        crate::common::RW,
247    > {
248        crate::common::RegisterField::<
249            4,
250            0x1,
251            1,
252            0,
253            pcntr1::Pdr04,
254            pcntr1::Pdr04,
255            Pcntr1_SPEC,
256            crate::common::RW,
257        >::from_register(self, 0)
258    }
259
260    #[doc = "Pmn Direction"]
261    #[inline(always)]
262    pub fn pdr05(
263        self,
264    ) -> crate::common::RegisterField<
265        5,
266        0x1,
267        1,
268        0,
269        pcntr1::Pdr05,
270        pcntr1::Pdr05,
271        Pcntr1_SPEC,
272        crate::common::RW,
273    > {
274        crate::common::RegisterField::<
275            5,
276            0x1,
277            1,
278            0,
279            pcntr1::Pdr05,
280            pcntr1::Pdr05,
281            Pcntr1_SPEC,
282            crate::common::RW,
283        >::from_register(self, 0)
284    }
285
286    #[doc = "Pmn Direction"]
287    #[inline(always)]
288    pub fn pdr06(
289        self,
290    ) -> crate::common::RegisterField<
291        6,
292        0x1,
293        1,
294        0,
295        pcntr1::Pdr06,
296        pcntr1::Pdr06,
297        Pcntr1_SPEC,
298        crate::common::RW,
299    > {
300        crate::common::RegisterField::<
301            6,
302            0x1,
303            1,
304            0,
305            pcntr1::Pdr06,
306            pcntr1::Pdr06,
307            Pcntr1_SPEC,
308            crate::common::RW,
309        >::from_register(self, 0)
310    }
311
312    #[doc = "Pmn Direction"]
313    #[inline(always)]
314    pub fn pdr07(
315        self,
316    ) -> crate::common::RegisterField<
317        7,
318        0x1,
319        1,
320        0,
321        pcntr1::Pdr07,
322        pcntr1::Pdr07,
323        Pcntr1_SPEC,
324        crate::common::RW,
325    > {
326        crate::common::RegisterField::<
327            7,
328            0x1,
329            1,
330            0,
331            pcntr1::Pdr07,
332            pcntr1::Pdr07,
333            Pcntr1_SPEC,
334            crate::common::RW,
335        >::from_register(self, 0)
336    }
337
338    #[doc = "Pmn Direction"]
339    #[inline(always)]
340    pub fn pdr08(
341        self,
342    ) -> crate::common::RegisterField<
343        8,
344        0x1,
345        1,
346        0,
347        pcntr1::Pdr08,
348        pcntr1::Pdr08,
349        Pcntr1_SPEC,
350        crate::common::RW,
351    > {
352        crate::common::RegisterField::<
353            8,
354            0x1,
355            1,
356            0,
357            pcntr1::Pdr08,
358            pcntr1::Pdr08,
359            Pcntr1_SPEC,
360            crate::common::RW,
361        >::from_register(self, 0)
362    }
363
364    #[doc = "Pmn Direction"]
365    #[inline(always)]
366    pub fn pdr09(
367        self,
368    ) -> crate::common::RegisterField<
369        9,
370        0x1,
371        1,
372        0,
373        pcntr1::Pdr09,
374        pcntr1::Pdr09,
375        Pcntr1_SPEC,
376        crate::common::RW,
377    > {
378        crate::common::RegisterField::<
379            9,
380            0x1,
381            1,
382            0,
383            pcntr1::Pdr09,
384            pcntr1::Pdr09,
385            Pcntr1_SPEC,
386            crate::common::RW,
387        >::from_register(self, 0)
388    }
389
390    #[doc = "Pmn Direction"]
391    #[inline(always)]
392    pub fn pdr10(
393        self,
394    ) -> crate::common::RegisterField<
395        10,
396        0x1,
397        1,
398        0,
399        pcntr1::Pdr10,
400        pcntr1::Pdr10,
401        Pcntr1_SPEC,
402        crate::common::RW,
403    > {
404        crate::common::RegisterField::<
405            10,
406            0x1,
407            1,
408            0,
409            pcntr1::Pdr10,
410            pcntr1::Pdr10,
411            Pcntr1_SPEC,
412            crate::common::RW,
413        >::from_register(self, 0)
414    }
415
416    #[doc = "Pmn Direction"]
417    #[inline(always)]
418    pub fn pdr11(
419        self,
420    ) -> crate::common::RegisterField<
421        11,
422        0x1,
423        1,
424        0,
425        pcntr1::Pdr11,
426        pcntr1::Pdr11,
427        Pcntr1_SPEC,
428        crate::common::RW,
429    > {
430        crate::common::RegisterField::<
431            11,
432            0x1,
433            1,
434            0,
435            pcntr1::Pdr11,
436            pcntr1::Pdr11,
437            Pcntr1_SPEC,
438            crate::common::RW,
439        >::from_register(self, 0)
440    }
441
442    #[doc = "Pmn Direction"]
443    #[inline(always)]
444    pub fn pdr12(
445        self,
446    ) -> crate::common::RegisterField<
447        12,
448        0x1,
449        1,
450        0,
451        pcntr1::Pdr12,
452        pcntr1::Pdr12,
453        Pcntr1_SPEC,
454        crate::common::RW,
455    > {
456        crate::common::RegisterField::<
457            12,
458            0x1,
459            1,
460            0,
461            pcntr1::Pdr12,
462            pcntr1::Pdr12,
463            Pcntr1_SPEC,
464            crate::common::RW,
465        >::from_register(self, 0)
466    }
467
468    #[doc = "Pmn Direction"]
469    #[inline(always)]
470    pub fn pdr13(
471        self,
472    ) -> crate::common::RegisterField<
473        13,
474        0x1,
475        1,
476        0,
477        pcntr1::Pdr13,
478        pcntr1::Pdr13,
479        Pcntr1_SPEC,
480        crate::common::RW,
481    > {
482        crate::common::RegisterField::<
483            13,
484            0x1,
485            1,
486            0,
487            pcntr1::Pdr13,
488            pcntr1::Pdr13,
489            Pcntr1_SPEC,
490            crate::common::RW,
491        >::from_register(self, 0)
492    }
493
494    #[doc = "Pmn Direction"]
495    #[inline(always)]
496    pub fn pdr14(
497        self,
498    ) -> crate::common::RegisterField<
499        14,
500        0x1,
501        1,
502        0,
503        pcntr1::Pdr14,
504        pcntr1::Pdr14,
505        Pcntr1_SPEC,
506        crate::common::RW,
507    > {
508        crate::common::RegisterField::<
509            14,
510            0x1,
511            1,
512            0,
513            pcntr1::Pdr14,
514            pcntr1::Pdr14,
515            Pcntr1_SPEC,
516            crate::common::RW,
517        >::from_register(self, 0)
518    }
519
520    #[doc = "Pmn Direction"]
521    #[inline(always)]
522    pub fn pdr15(
523        self,
524    ) -> crate::common::RegisterField<
525        15,
526        0x1,
527        1,
528        0,
529        pcntr1::Pdr15,
530        pcntr1::Pdr15,
531        Pcntr1_SPEC,
532        crate::common::RW,
533    > {
534        crate::common::RegisterField::<
535            15,
536            0x1,
537            1,
538            0,
539            pcntr1::Pdr15,
540            pcntr1::Pdr15,
541            Pcntr1_SPEC,
542            crate::common::RW,
543        >::from_register(self, 0)
544    }
545
546    #[doc = "Pmn Output Data"]
547    #[inline(always)]
548    pub fn podr00(
549        self,
550    ) -> crate::common::RegisterField<
551        16,
552        0x1,
553        1,
554        0,
555        pcntr1::Podr00,
556        pcntr1::Podr00,
557        Pcntr1_SPEC,
558        crate::common::RW,
559    > {
560        crate::common::RegisterField::<
561            16,
562            0x1,
563            1,
564            0,
565            pcntr1::Podr00,
566            pcntr1::Podr00,
567            Pcntr1_SPEC,
568            crate::common::RW,
569        >::from_register(self, 0)
570    }
571
572    #[doc = "Pmn Output Data"]
573    #[inline(always)]
574    pub fn podr01(
575        self,
576    ) -> crate::common::RegisterField<
577        17,
578        0x1,
579        1,
580        0,
581        pcntr1::Podr01,
582        pcntr1::Podr01,
583        Pcntr1_SPEC,
584        crate::common::RW,
585    > {
586        crate::common::RegisterField::<
587            17,
588            0x1,
589            1,
590            0,
591            pcntr1::Podr01,
592            pcntr1::Podr01,
593            Pcntr1_SPEC,
594            crate::common::RW,
595        >::from_register(self, 0)
596    }
597
598    #[doc = "Pmn Output Data"]
599    #[inline(always)]
600    pub fn podr02(
601        self,
602    ) -> crate::common::RegisterField<
603        18,
604        0x1,
605        1,
606        0,
607        pcntr1::Podr02,
608        pcntr1::Podr02,
609        Pcntr1_SPEC,
610        crate::common::RW,
611    > {
612        crate::common::RegisterField::<
613            18,
614            0x1,
615            1,
616            0,
617            pcntr1::Podr02,
618            pcntr1::Podr02,
619            Pcntr1_SPEC,
620            crate::common::RW,
621        >::from_register(self, 0)
622    }
623
624    #[doc = "Pmn Output Data"]
625    #[inline(always)]
626    pub fn podr03(
627        self,
628    ) -> crate::common::RegisterField<
629        19,
630        0x1,
631        1,
632        0,
633        pcntr1::Podr03,
634        pcntr1::Podr03,
635        Pcntr1_SPEC,
636        crate::common::RW,
637    > {
638        crate::common::RegisterField::<
639            19,
640            0x1,
641            1,
642            0,
643            pcntr1::Podr03,
644            pcntr1::Podr03,
645            Pcntr1_SPEC,
646            crate::common::RW,
647        >::from_register(self, 0)
648    }
649
650    #[doc = "Pmn Output Data"]
651    #[inline(always)]
652    pub fn podr04(
653        self,
654    ) -> crate::common::RegisterField<
655        20,
656        0x1,
657        1,
658        0,
659        pcntr1::Podr04,
660        pcntr1::Podr04,
661        Pcntr1_SPEC,
662        crate::common::RW,
663    > {
664        crate::common::RegisterField::<
665            20,
666            0x1,
667            1,
668            0,
669            pcntr1::Podr04,
670            pcntr1::Podr04,
671            Pcntr1_SPEC,
672            crate::common::RW,
673        >::from_register(self, 0)
674    }
675
676    #[doc = "Pmn Output Data"]
677    #[inline(always)]
678    pub fn podr05(
679        self,
680    ) -> crate::common::RegisterField<
681        21,
682        0x1,
683        1,
684        0,
685        pcntr1::Podr05,
686        pcntr1::Podr05,
687        Pcntr1_SPEC,
688        crate::common::RW,
689    > {
690        crate::common::RegisterField::<
691            21,
692            0x1,
693            1,
694            0,
695            pcntr1::Podr05,
696            pcntr1::Podr05,
697            Pcntr1_SPEC,
698            crate::common::RW,
699        >::from_register(self, 0)
700    }
701
702    #[doc = "Pmn Output Data"]
703    #[inline(always)]
704    pub fn podr06(
705        self,
706    ) -> crate::common::RegisterField<
707        22,
708        0x1,
709        1,
710        0,
711        pcntr1::Podr06,
712        pcntr1::Podr06,
713        Pcntr1_SPEC,
714        crate::common::RW,
715    > {
716        crate::common::RegisterField::<
717            22,
718            0x1,
719            1,
720            0,
721            pcntr1::Podr06,
722            pcntr1::Podr06,
723            Pcntr1_SPEC,
724            crate::common::RW,
725        >::from_register(self, 0)
726    }
727
728    #[doc = "Pmn Output Data"]
729    #[inline(always)]
730    pub fn podr07(
731        self,
732    ) -> crate::common::RegisterField<
733        23,
734        0x1,
735        1,
736        0,
737        pcntr1::Podr07,
738        pcntr1::Podr07,
739        Pcntr1_SPEC,
740        crate::common::RW,
741    > {
742        crate::common::RegisterField::<
743            23,
744            0x1,
745            1,
746            0,
747            pcntr1::Podr07,
748            pcntr1::Podr07,
749            Pcntr1_SPEC,
750            crate::common::RW,
751        >::from_register(self, 0)
752    }
753
754    #[doc = "Pmn Output Data"]
755    #[inline(always)]
756    pub fn podr08(
757        self,
758    ) -> crate::common::RegisterField<
759        24,
760        0x1,
761        1,
762        0,
763        pcntr1::Podr08,
764        pcntr1::Podr08,
765        Pcntr1_SPEC,
766        crate::common::RW,
767    > {
768        crate::common::RegisterField::<
769            24,
770            0x1,
771            1,
772            0,
773            pcntr1::Podr08,
774            pcntr1::Podr08,
775            Pcntr1_SPEC,
776            crate::common::RW,
777        >::from_register(self, 0)
778    }
779
780    #[doc = "Pmn Output Data"]
781    #[inline(always)]
782    pub fn podr09(
783        self,
784    ) -> crate::common::RegisterField<
785        25,
786        0x1,
787        1,
788        0,
789        pcntr1::Podr09,
790        pcntr1::Podr09,
791        Pcntr1_SPEC,
792        crate::common::RW,
793    > {
794        crate::common::RegisterField::<
795            25,
796            0x1,
797            1,
798            0,
799            pcntr1::Podr09,
800            pcntr1::Podr09,
801            Pcntr1_SPEC,
802            crate::common::RW,
803        >::from_register(self, 0)
804    }
805
806    #[doc = "Pmn Output Data"]
807    #[inline(always)]
808    pub fn podr10(
809        self,
810    ) -> crate::common::RegisterField<
811        26,
812        0x1,
813        1,
814        0,
815        pcntr1::Podr10,
816        pcntr1::Podr10,
817        Pcntr1_SPEC,
818        crate::common::RW,
819    > {
820        crate::common::RegisterField::<
821            26,
822            0x1,
823            1,
824            0,
825            pcntr1::Podr10,
826            pcntr1::Podr10,
827            Pcntr1_SPEC,
828            crate::common::RW,
829        >::from_register(self, 0)
830    }
831
832    #[doc = "Pmn Output Data"]
833    #[inline(always)]
834    pub fn podr11(
835        self,
836    ) -> crate::common::RegisterField<
837        27,
838        0x1,
839        1,
840        0,
841        pcntr1::Podr11,
842        pcntr1::Podr11,
843        Pcntr1_SPEC,
844        crate::common::RW,
845    > {
846        crate::common::RegisterField::<
847            27,
848            0x1,
849            1,
850            0,
851            pcntr1::Podr11,
852            pcntr1::Podr11,
853            Pcntr1_SPEC,
854            crate::common::RW,
855        >::from_register(self, 0)
856    }
857
858    #[doc = "Pmn Output Data"]
859    #[inline(always)]
860    pub fn podr12(
861        self,
862    ) -> crate::common::RegisterField<
863        28,
864        0x1,
865        1,
866        0,
867        pcntr1::Podr12,
868        pcntr1::Podr12,
869        Pcntr1_SPEC,
870        crate::common::RW,
871    > {
872        crate::common::RegisterField::<
873            28,
874            0x1,
875            1,
876            0,
877            pcntr1::Podr12,
878            pcntr1::Podr12,
879            Pcntr1_SPEC,
880            crate::common::RW,
881        >::from_register(self, 0)
882    }
883
884    #[doc = "Pmn Output Data"]
885    #[inline(always)]
886    pub fn podr13(
887        self,
888    ) -> crate::common::RegisterField<
889        29,
890        0x1,
891        1,
892        0,
893        pcntr1::Podr13,
894        pcntr1::Podr13,
895        Pcntr1_SPEC,
896        crate::common::RW,
897    > {
898        crate::common::RegisterField::<
899            29,
900            0x1,
901            1,
902            0,
903            pcntr1::Podr13,
904            pcntr1::Podr13,
905            Pcntr1_SPEC,
906            crate::common::RW,
907        >::from_register(self, 0)
908    }
909
910    #[doc = "Pmn Output Data"]
911    #[inline(always)]
912    pub fn podr14(
913        self,
914    ) -> crate::common::RegisterField<
915        30,
916        0x1,
917        1,
918        0,
919        pcntr1::Podr14,
920        pcntr1::Podr14,
921        Pcntr1_SPEC,
922        crate::common::RW,
923    > {
924        crate::common::RegisterField::<
925            30,
926            0x1,
927            1,
928            0,
929            pcntr1::Podr14,
930            pcntr1::Podr14,
931            Pcntr1_SPEC,
932            crate::common::RW,
933        >::from_register(self, 0)
934    }
935
936    #[doc = "Pmn Output Data"]
937    #[inline(always)]
938    pub fn podr15(
939        self,
940    ) -> crate::common::RegisterField<
941        31,
942        0x1,
943        1,
944        0,
945        pcntr1::Podr15,
946        pcntr1::Podr15,
947        Pcntr1_SPEC,
948        crate::common::RW,
949    > {
950        crate::common::RegisterField::<
951            31,
952            0x1,
953            1,
954            0,
955            pcntr1::Podr15,
956            pcntr1::Podr15,
957            Pcntr1_SPEC,
958            crate::common::RW,
959        >::from_register(self, 0)
960    }
961}
962impl ::core::default::Default for Pcntr1 {
963    #[inline(always)]
964    fn default() -> Pcntr1 {
965        <crate::RegValueT<Pcntr1_SPEC> as RegisterValue<_>>::new(0)
966    }
967}
968pub mod pcntr1 {
969
970    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
971    pub struct Pdr00_SPEC;
972    pub type Pdr00 = crate::EnumBitfieldStruct<u8, Pdr00_SPEC>;
973    impl Pdr00 {
974        #[doc = "Input (functions as an input pin)"]
975        pub const _0: Self = Self::new(0);
976
977        #[doc = "Output (functions as an output pin)"]
978        pub const _1: Self = Self::new(1);
979    }
980    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
981    pub struct Pdr01_SPEC;
982    pub type Pdr01 = crate::EnumBitfieldStruct<u8, Pdr01_SPEC>;
983    impl Pdr01 {
984        #[doc = "Input (functions as an input pin)"]
985        pub const _0: Self = Self::new(0);
986
987        #[doc = "Output (functions as an output pin)"]
988        pub const _1: Self = Self::new(1);
989    }
990    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
991    pub struct Pdr02_SPEC;
992    pub type Pdr02 = crate::EnumBitfieldStruct<u8, Pdr02_SPEC>;
993    impl Pdr02 {
994        #[doc = "Input (functions as an input pin)"]
995        pub const _0: Self = Self::new(0);
996
997        #[doc = "Output (functions as an output pin)"]
998        pub const _1: Self = Self::new(1);
999    }
1000    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1001    pub struct Pdr03_SPEC;
1002    pub type Pdr03 = crate::EnumBitfieldStruct<u8, Pdr03_SPEC>;
1003    impl Pdr03 {
1004        #[doc = "Input (functions as an input pin)"]
1005        pub const _0: Self = Self::new(0);
1006
1007        #[doc = "Output (functions as an output pin)"]
1008        pub const _1: Self = Self::new(1);
1009    }
1010    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1011    pub struct Pdr04_SPEC;
1012    pub type Pdr04 = crate::EnumBitfieldStruct<u8, Pdr04_SPEC>;
1013    impl Pdr04 {
1014        #[doc = "Input (functions as an input pin)"]
1015        pub const _0: Self = Self::new(0);
1016
1017        #[doc = "Output (functions as an output pin)"]
1018        pub const _1: Self = Self::new(1);
1019    }
1020    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1021    pub struct Pdr05_SPEC;
1022    pub type Pdr05 = crate::EnumBitfieldStruct<u8, Pdr05_SPEC>;
1023    impl Pdr05 {
1024        #[doc = "Input (functions as an input pin)"]
1025        pub const _0: Self = Self::new(0);
1026
1027        #[doc = "Output (functions as an output pin)"]
1028        pub const _1: Self = Self::new(1);
1029    }
1030    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1031    pub struct Pdr06_SPEC;
1032    pub type Pdr06 = crate::EnumBitfieldStruct<u8, Pdr06_SPEC>;
1033    impl Pdr06 {
1034        #[doc = "Input (functions as an input pin)"]
1035        pub const _0: Self = Self::new(0);
1036
1037        #[doc = "Output (functions as an output pin)"]
1038        pub const _1: Self = Self::new(1);
1039    }
1040    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1041    pub struct Pdr07_SPEC;
1042    pub type Pdr07 = crate::EnumBitfieldStruct<u8, Pdr07_SPEC>;
1043    impl Pdr07 {
1044        #[doc = "Input (functions as an input pin)"]
1045        pub const _0: Self = Self::new(0);
1046
1047        #[doc = "Output (functions as an output pin)"]
1048        pub const _1: Self = Self::new(1);
1049    }
1050    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1051    pub struct Pdr08_SPEC;
1052    pub type Pdr08 = crate::EnumBitfieldStruct<u8, Pdr08_SPEC>;
1053    impl Pdr08 {
1054        #[doc = "Input (functions as an input pin)"]
1055        pub const _0: Self = Self::new(0);
1056
1057        #[doc = "Output (functions as an output pin)"]
1058        pub const _1: Self = Self::new(1);
1059    }
1060    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1061    pub struct Pdr09_SPEC;
1062    pub type Pdr09 = crate::EnumBitfieldStruct<u8, Pdr09_SPEC>;
1063    impl Pdr09 {
1064        #[doc = "Input (functions as an input pin)"]
1065        pub const _0: Self = Self::new(0);
1066
1067        #[doc = "Output (functions as an output pin)"]
1068        pub const _1: Self = Self::new(1);
1069    }
1070    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1071    pub struct Pdr10_SPEC;
1072    pub type Pdr10 = crate::EnumBitfieldStruct<u8, Pdr10_SPEC>;
1073    impl Pdr10 {
1074        #[doc = "Input (functions as an input pin)"]
1075        pub const _0: Self = Self::new(0);
1076
1077        #[doc = "Output (functions as an output pin)"]
1078        pub const _1: Self = Self::new(1);
1079    }
1080    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1081    pub struct Pdr11_SPEC;
1082    pub type Pdr11 = crate::EnumBitfieldStruct<u8, Pdr11_SPEC>;
1083    impl Pdr11 {
1084        #[doc = "Input (functions as an input pin)"]
1085        pub const _0: Self = Self::new(0);
1086
1087        #[doc = "Output (functions as an output pin)"]
1088        pub const _1: Self = Self::new(1);
1089    }
1090    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1091    pub struct Pdr12_SPEC;
1092    pub type Pdr12 = crate::EnumBitfieldStruct<u8, Pdr12_SPEC>;
1093    impl Pdr12 {
1094        #[doc = "Input (functions as an input pin)"]
1095        pub const _0: Self = Self::new(0);
1096
1097        #[doc = "Output (functions as an output pin)"]
1098        pub const _1: Self = Self::new(1);
1099    }
1100    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1101    pub struct Pdr13_SPEC;
1102    pub type Pdr13 = crate::EnumBitfieldStruct<u8, Pdr13_SPEC>;
1103    impl Pdr13 {
1104        #[doc = "Input (functions as an input pin)"]
1105        pub const _0: Self = Self::new(0);
1106
1107        #[doc = "Output (functions as an output pin)"]
1108        pub const _1: Self = Self::new(1);
1109    }
1110    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1111    pub struct Pdr14_SPEC;
1112    pub type Pdr14 = crate::EnumBitfieldStruct<u8, Pdr14_SPEC>;
1113    impl Pdr14 {
1114        #[doc = "Input (functions as an input pin)"]
1115        pub const _0: Self = Self::new(0);
1116
1117        #[doc = "Output (functions as an output pin)"]
1118        pub const _1: Self = Self::new(1);
1119    }
1120    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1121    pub struct Pdr15_SPEC;
1122    pub type Pdr15 = crate::EnumBitfieldStruct<u8, Pdr15_SPEC>;
1123    impl Pdr15 {
1124        #[doc = "Input (functions as an input pin)"]
1125        pub const _0: Self = Self::new(0);
1126
1127        #[doc = "Output (functions as an output pin)"]
1128        pub const _1: Self = Self::new(1);
1129    }
1130    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1131    pub struct Podr00_SPEC;
1132    pub type Podr00 = crate::EnumBitfieldStruct<u8, Podr00_SPEC>;
1133    impl Podr00 {
1134        #[doc = "Low output"]
1135        pub const _0: Self = Self::new(0);
1136
1137        #[doc = "High output"]
1138        pub const _1: Self = Self::new(1);
1139    }
1140    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1141    pub struct Podr01_SPEC;
1142    pub type Podr01 = crate::EnumBitfieldStruct<u8, Podr01_SPEC>;
1143    impl Podr01 {
1144        #[doc = "Low output"]
1145        pub const _0: Self = Self::new(0);
1146
1147        #[doc = "High output"]
1148        pub const _1: Self = Self::new(1);
1149    }
1150    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1151    pub struct Podr02_SPEC;
1152    pub type Podr02 = crate::EnumBitfieldStruct<u8, Podr02_SPEC>;
1153    impl Podr02 {
1154        #[doc = "Low output"]
1155        pub const _0: Self = Self::new(0);
1156
1157        #[doc = "High output"]
1158        pub const _1: Self = Self::new(1);
1159    }
1160    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1161    pub struct Podr03_SPEC;
1162    pub type Podr03 = crate::EnumBitfieldStruct<u8, Podr03_SPEC>;
1163    impl Podr03 {
1164        #[doc = "Low output"]
1165        pub const _0: Self = Self::new(0);
1166
1167        #[doc = "High output"]
1168        pub const _1: Self = Self::new(1);
1169    }
1170    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1171    pub struct Podr04_SPEC;
1172    pub type Podr04 = crate::EnumBitfieldStruct<u8, Podr04_SPEC>;
1173    impl Podr04 {
1174        #[doc = "Low output"]
1175        pub const _0: Self = Self::new(0);
1176
1177        #[doc = "High output"]
1178        pub const _1: Self = Self::new(1);
1179    }
1180    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1181    pub struct Podr05_SPEC;
1182    pub type Podr05 = crate::EnumBitfieldStruct<u8, Podr05_SPEC>;
1183    impl Podr05 {
1184        #[doc = "Low output"]
1185        pub const _0: Self = Self::new(0);
1186
1187        #[doc = "High output"]
1188        pub const _1: Self = Self::new(1);
1189    }
1190    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1191    pub struct Podr06_SPEC;
1192    pub type Podr06 = crate::EnumBitfieldStruct<u8, Podr06_SPEC>;
1193    impl Podr06 {
1194        #[doc = "Low output"]
1195        pub const _0: Self = Self::new(0);
1196
1197        #[doc = "High output"]
1198        pub const _1: Self = Self::new(1);
1199    }
1200    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1201    pub struct Podr07_SPEC;
1202    pub type Podr07 = crate::EnumBitfieldStruct<u8, Podr07_SPEC>;
1203    impl Podr07 {
1204        #[doc = "Low output"]
1205        pub const _0: Self = Self::new(0);
1206
1207        #[doc = "High output"]
1208        pub const _1: Self = Self::new(1);
1209    }
1210    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1211    pub struct Podr08_SPEC;
1212    pub type Podr08 = crate::EnumBitfieldStruct<u8, Podr08_SPEC>;
1213    impl Podr08 {
1214        #[doc = "Low output"]
1215        pub const _0: Self = Self::new(0);
1216
1217        #[doc = "High output"]
1218        pub const _1: Self = Self::new(1);
1219    }
1220    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1221    pub struct Podr09_SPEC;
1222    pub type Podr09 = crate::EnumBitfieldStruct<u8, Podr09_SPEC>;
1223    impl Podr09 {
1224        #[doc = "Low output"]
1225        pub const _0: Self = Self::new(0);
1226
1227        #[doc = "High output"]
1228        pub const _1: Self = Self::new(1);
1229    }
1230    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1231    pub struct Podr10_SPEC;
1232    pub type Podr10 = crate::EnumBitfieldStruct<u8, Podr10_SPEC>;
1233    impl Podr10 {
1234        #[doc = "Low output"]
1235        pub const _0: Self = Self::new(0);
1236
1237        #[doc = "High output"]
1238        pub const _1: Self = Self::new(1);
1239    }
1240    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1241    pub struct Podr11_SPEC;
1242    pub type Podr11 = crate::EnumBitfieldStruct<u8, Podr11_SPEC>;
1243    impl Podr11 {
1244        #[doc = "Low output"]
1245        pub const _0: Self = Self::new(0);
1246
1247        #[doc = "High output"]
1248        pub const _1: Self = Self::new(1);
1249    }
1250    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1251    pub struct Podr12_SPEC;
1252    pub type Podr12 = crate::EnumBitfieldStruct<u8, Podr12_SPEC>;
1253    impl Podr12 {
1254        #[doc = "Low output"]
1255        pub const _0: Self = Self::new(0);
1256
1257        #[doc = "High output"]
1258        pub const _1: Self = Self::new(1);
1259    }
1260    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1261    pub struct Podr13_SPEC;
1262    pub type Podr13 = crate::EnumBitfieldStruct<u8, Podr13_SPEC>;
1263    impl Podr13 {
1264        #[doc = "Low output"]
1265        pub const _0: Self = Self::new(0);
1266
1267        #[doc = "High output"]
1268        pub const _1: Self = Self::new(1);
1269    }
1270    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1271    pub struct Podr14_SPEC;
1272    pub type Podr14 = crate::EnumBitfieldStruct<u8, Podr14_SPEC>;
1273    impl Podr14 {
1274        #[doc = "Low output"]
1275        pub const _0: Self = Self::new(0);
1276
1277        #[doc = "High output"]
1278        pub const _1: Self = Self::new(1);
1279    }
1280    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1281    pub struct Podr15_SPEC;
1282    pub type Podr15 = crate::EnumBitfieldStruct<u8, Podr15_SPEC>;
1283    impl Podr15 {
1284        #[doc = "Low output"]
1285        pub const _0: Self = Self::new(0);
1286
1287        #[doc = "High output"]
1288        pub const _1: Self = Self::new(1);
1289    }
1290}
1291#[doc(hidden)]
1292#[derive(Copy, Clone, Eq, PartialEq)]
1293pub struct Podr_SPEC;
1294impl crate::sealed::RegSpec for Podr_SPEC {
1295    type DataType = u16;
1296}
1297
1298#[doc = "Port Control Register 1"]
1299pub type Podr = crate::RegValueT<Podr_SPEC>;
1300
1301impl Podr {
1302    #[doc = "Pmn Output Data"]
1303    #[inline(always)]
1304    pub fn podr00(
1305        self,
1306    ) -> crate::common::RegisterField<
1307        0,
1308        0x1,
1309        1,
1310        0,
1311        podr::Podr00,
1312        podr::Podr00,
1313        Podr_SPEC,
1314        crate::common::RW,
1315    > {
1316        crate::common::RegisterField::<
1317            0,
1318            0x1,
1319            1,
1320            0,
1321            podr::Podr00,
1322            podr::Podr00,
1323            Podr_SPEC,
1324            crate::common::RW,
1325        >::from_register(self, 0)
1326    }
1327
1328    #[doc = "Pmn Output Data"]
1329    #[inline(always)]
1330    pub fn podr01(
1331        self,
1332    ) -> crate::common::RegisterField<
1333        1,
1334        0x1,
1335        1,
1336        0,
1337        podr::Podr01,
1338        podr::Podr01,
1339        Podr_SPEC,
1340        crate::common::RW,
1341    > {
1342        crate::common::RegisterField::<
1343            1,
1344            0x1,
1345            1,
1346            0,
1347            podr::Podr01,
1348            podr::Podr01,
1349            Podr_SPEC,
1350            crate::common::RW,
1351        >::from_register(self, 0)
1352    }
1353
1354    #[doc = "Pmn Output Data"]
1355    #[inline(always)]
1356    pub fn podr02(
1357        self,
1358    ) -> crate::common::RegisterField<
1359        2,
1360        0x1,
1361        1,
1362        0,
1363        podr::Podr02,
1364        podr::Podr02,
1365        Podr_SPEC,
1366        crate::common::RW,
1367    > {
1368        crate::common::RegisterField::<
1369            2,
1370            0x1,
1371            1,
1372            0,
1373            podr::Podr02,
1374            podr::Podr02,
1375            Podr_SPEC,
1376            crate::common::RW,
1377        >::from_register(self, 0)
1378    }
1379
1380    #[doc = "Pmn Output Data"]
1381    #[inline(always)]
1382    pub fn podr03(
1383        self,
1384    ) -> crate::common::RegisterField<
1385        3,
1386        0x1,
1387        1,
1388        0,
1389        podr::Podr03,
1390        podr::Podr03,
1391        Podr_SPEC,
1392        crate::common::RW,
1393    > {
1394        crate::common::RegisterField::<
1395            3,
1396            0x1,
1397            1,
1398            0,
1399            podr::Podr03,
1400            podr::Podr03,
1401            Podr_SPEC,
1402            crate::common::RW,
1403        >::from_register(self, 0)
1404    }
1405
1406    #[doc = "Pmn Output Data"]
1407    #[inline(always)]
1408    pub fn podr04(
1409        self,
1410    ) -> crate::common::RegisterField<
1411        4,
1412        0x1,
1413        1,
1414        0,
1415        podr::Podr04,
1416        podr::Podr04,
1417        Podr_SPEC,
1418        crate::common::RW,
1419    > {
1420        crate::common::RegisterField::<
1421            4,
1422            0x1,
1423            1,
1424            0,
1425            podr::Podr04,
1426            podr::Podr04,
1427            Podr_SPEC,
1428            crate::common::RW,
1429        >::from_register(self, 0)
1430    }
1431
1432    #[doc = "Pmn Output Data"]
1433    #[inline(always)]
1434    pub fn podr05(
1435        self,
1436    ) -> crate::common::RegisterField<
1437        5,
1438        0x1,
1439        1,
1440        0,
1441        podr::Podr05,
1442        podr::Podr05,
1443        Podr_SPEC,
1444        crate::common::RW,
1445    > {
1446        crate::common::RegisterField::<
1447            5,
1448            0x1,
1449            1,
1450            0,
1451            podr::Podr05,
1452            podr::Podr05,
1453            Podr_SPEC,
1454            crate::common::RW,
1455        >::from_register(self, 0)
1456    }
1457
1458    #[doc = "Pmn Output Data"]
1459    #[inline(always)]
1460    pub fn podr06(
1461        self,
1462    ) -> crate::common::RegisterField<
1463        6,
1464        0x1,
1465        1,
1466        0,
1467        podr::Podr06,
1468        podr::Podr06,
1469        Podr_SPEC,
1470        crate::common::RW,
1471    > {
1472        crate::common::RegisterField::<
1473            6,
1474            0x1,
1475            1,
1476            0,
1477            podr::Podr06,
1478            podr::Podr06,
1479            Podr_SPEC,
1480            crate::common::RW,
1481        >::from_register(self, 0)
1482    }
1483
1484    #[doc = "Pmn Output Data"]
1485    #[inline(always)]
1486    pub fn podr07(
1487        self,
1488    ) -> crate::common::RegisterField<
1489        7,
1490        0x1,
1491        1,
1492        0,
1493        podr::Podr07,
1494        podr::Podr07,
1495        Podr_SPEC,
1496        crate::common::RW,
1497    > {
1498        crate::common::RegisterField::<
1499            7,
1500            0x1,
1501            1,
1502            0,
1503            podr::Podr07,
1504            podr::Podr07,
1505            Podr_SPEC,
1506            crate::common::RW,
1507        >::from_register(self, 0)
1508    }
1509
1510    #[doc = "Pmn Output Data"]
1511    #[inline(always)]
1512    pub fn podr08(
1513        self,
1514    ) -> crate::common::RegisterField<
1515        8,
1516        0x1,
1517        1,
1518        0,
1519        podr::Podr08,
1520        podr::Podr08,
1521        Podr_SPEC,
1522        crate::common::RW,
1523    > {
1524        crate::common::RegisterField::<
1525            8,
1526            0x1,
1527            1,
1528            0,
1529            podr::Podr08,
1530            podr::Podr08,
1531            Podr_SPEC,
1532            crate::common::RW,
1533        >::from_register(self, 0)
1534    }
1535
1536    #[doc = "Pmn Output Data"]
1537    #[inline(always)]
1538    pub fn podr09(
1539        self,
1540    ) -> crate::common::RegisterField<
1541        9,
1542        0x1,
1543        1,
1544        0,
1545        podr::Podr09,
1546        podr::Podr09,
1547        Podr_SPEC,
1548        crate::common::RW,
1549    > {
1550        crate::common::RegisterField::<
1551            9,
1552            0x1,
1553            1,
1554            0,
1555            podr::Podr09,
1556            podr::Podr09,
1557            Podr_SPEC,
1558            crate::common::RW,
1559        >::from_register(self, 0)
1560    }
1561
1562    #[doc = "Pmn Output Data"]
1563    #[inline(always)]
1564    pub fn podr10(
1565        self,
1566    ) -> crate::common::RegisterField<
1567        10,
1568        0x1,
1569        1,
1570        0,
1571        podr::Podr10,
1572        podr::Podr10,
1573        Podr_SPEC,
1574        crate::common::RW,
1575    > {
1576        crate::common::RegisterField::<
1577            10,
1578            0x1,
1579            1,
1580            0,
1581            podr::Podr10,
1582            podr::Podr10,
1583            Podr_SPEC,
1584            crate::common::RW,
1585        >::from_register(self, 0)
1586    }
1587
1588    #[doc = "Pmn Output Data"]
1589    #[inline(always)]
1590    pub fn podr11(
1591        self,
1592    ) -> crate::common::RegisterField<
1593        11,
1594        0x1,
1595        1,
1596        0,
1597        podr::Podr11,
1598        podr::Podr11,
1599        Podr_SPEC,
1600        crate::common::RW,
1601    > {
1602        crate::common::RegisterField::<
1603            11,
1604            0x1,
1605            1,
1606            0,
1607            podr::Podr11,
1608            podr::Podr11,
1609            Podr_SPEC,
1610            crate::common::RW,
1611        >::from_register(self, 0)
1612    }
1613
1614    #[doc = "Pmn Output Data"]
1615    #[inline(always)]
1616    pub fn podr12(
1617        self,
1618    ) -> crate::common::RegisterField<
1619        12,
1620        0x1,
1621        1,
1622        0,
1623        podr::Podr12,
1624        podr::Podr12,
1625        Podr_SPEC,
1626        crate::common::RW,
1627    > {
1628        crate::common::RegisterField::<
1629            12,
1630            0x1,
1631            1,
1632            0,
1633            podr::Podr12,
1634            podr::Podr12,
1635            Podr_SPEC,
1636            crate::common::RW,
1637        >::from_register(self, 0)
1638    }
1639
1640    #[doc = "Pmn Output Data"]
1641    #[inline(always)]
1642    pub fn podr13(
1643        self,
1644    ) -> crate::common::RegisterField<
1645        13,
1646        0x1,
1647        1,
1648        0,
1649        podr::Podr13,
1650        podr::Podr13,
1651        Podr_SPEC,
1652        crate::common::RW,
1653    > {
1654        crate::common::RegisterField::<
1655            13,
1656            0x1,
1657            1,
1658            0,
1659            podr::Podr13,
1660            podr::Podr13,
1661            Podr_SPEC,
1662            crate::common::RW,
1663        >::from_register(self, 0)
1664    }
1665
1666    #[doc = "Pmn Output Data"]
1667    #[inline(always)]
1668    pub fn podr14(
1669        self,
1670    ) -> crate::common::RegisterField<
1671        14,
1672        0x1,
1673        1,
1674        0,
1675        podr::Podr14,
1676        podr::Podr14,
1677        Podr_SPEC,
1678        crate::common::RW,
1679    > {
1680        crate::common::RegisterField::<
1681            14,
1682            0x1,
1683            1,
1684            0,
1685            podr::Podr14,
1686            podr::Podr14,
1687            Podr_SPEC,
1688            crate::common::RW,
1689        >::from_register(self, 0)
1690    }
1691
1692    #[doc = "Pmn Output Data"]
1693    #[inline(always)]
1694    pub fn podr15(
1695        self,
1696    ) -> crate::common::RegisterField<
1697        15,
1698        0x1,
1699        1,
1700        0,
1701        podr::Podr15,
1702        podr::Podr15,
1703        Podr_SPEC,
1704        crate::common::RW,
1705    > {
1706        crate::common::RegisterField::<
1707            15,
1708            0x1,
1709            1,
1710            0,
1711            podr::Podr15,
1712            podr::Podr15,
1713            Podr_SPEC,
1714            crate::common::RW,
1715        >::from_register(self, 0)
1716    }
1717}
1718impl ::core::default::Default for Podr {
1719    #[inline(always)]
1720    fn default() -> Podr {
1721        <crate::RegValueT<Podr_SPEC> as RegisterValue<_>>::new(0)
1722    }
1723}
1724pub mod podr {
1725
1726    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1727    pub struct Podr00_SPEC;
1728    pub type Podr00 = crate::EnumBitfieldStruct<u8, Podr00_SPEC>;
1729    impl Podr00 {
1730        #[doc = "Low output"]
1731        pub const _0: Self = Self::new(0);
1732
1733        #[doc = "High output"]
1734        pub const _1: Self = Self::new(1);
1735    }
1736    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1737    pub struct Podr01_SPEC;
1738    pub type Podr01 = crate::EnumBitfieldStruct<u8, Podr01_SPEC>;
1739    impl Podr01 {
1740        #[doc = "Low output"]
1741        pub const _0: Self = Self::new(0);
1742
1743        #[doc = "High output"]
1744        pub const _1: Self = Self::new(1);
1745    }
1746    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1747    pub struct Podr02_SPEC;
1748    pub type Podr02 = crate::EnumBitfieldStruct<u8, Podr02_SPEC>;
1749    impl Podr02 {
1750        #[doc = "Low output"]
1751        pub const _0: Self = Self::new(0);
1752
1753        #[doc = "High output"]
1754        pub const _1: Self = Self::new(1);
1755    }
1756    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1757    pub struct Podr03_SPEC;
1758    pub type Podr03 = crate::EnumBitfieldStruct<u8, Podr03_SPEC>;
1759    impl Podr03 {
1760        #[doc = "Low output"]
1761        pub const _0: Self = Self::new(0);
1762
1763        #[doc = "High output"]
1764        pub const _1: Self = Self::new(1);
1765    }
1766    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1767    pub struct Podr04_SPEC;
1768    pub type Podr04 = crate::EnumBitfieldStruct<u8, Podr04_SPEC>;
1769    impl Podr04 {
1770        #[doc = "Low output"]
1771        pub const _0: Self = Self::new(0);
1772
1773        #[doc = "High output"]
1774        pub const _1: Self = Self::new(1);
1775    }
1776    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1777    pub struct Podr05_SPEC;
1778    pub type Podr05 = crate::EnumBitfieldStruct<u8, Podr05_SPEC>;
1779    impl Podr05 {
1780        #[doc = "Low output"]
1781        pub const _0: Self = Self::new(0);
1782
1783        #[doc = "High output"]
1784        pub const _1: Self = Self::new(1);
1785    }
1786    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1787    pub struct Podr06_SPEC;
1788    pub type Podr06 = crate::EnumBitfieldStruct<u8, Podr06_SPEC>;
1789    impl Podr06 {
1790        #[doc = "Low output"]
1791        pub const _0: Self = Self::new(0);
1792
1793        #[doc = "High output"]
1794        pub const _1: Self = Self::new(1);
1795    }
1796    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1797    pub struct Podr07_SPEC;
1798    pub type Podr07 = crate::EnumBitfieldStruct<u8, Podr07_SPEC>;
1799    impl Podr07 {
1800        #[doc = "Low output"]
1801        pub const _0: Self = Self::new(0);
1802
1803        #[doc = "High output"]
1804        pub const _1: Self = Self::new(1);
1805    }
1806    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1807    pub struct Podr08_SPEC;
1808    pub type Podr08 = crate::EnumBitfieldStruct<u8, Podr08_SPEC>;
1809    impl Podr08 {
1810        #[doc = "Low output"]
1811        pub const _0: Self = Self::new(0);
1812
1813        #[doc = "High output"]
1814        pub const _1: Self = Self::new(1);
1815    }
1816    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1817    pub struct Podr09_SPEC;
1818    pub type Podr09 = crate::EnumBitfieldStruct<u8, Podr09_SPEC>;
1819    impl Podr09 {
1820        #[doc = "Low output"]
1821        pub const _0: Self = Self::new(0);
1822
1823        #[doc = "High output"]
1824        pub const _1: Self = Self::new(1);
1825    }
1826    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1827    pub struct Podr10_SPEC;
1828    pub type Podr10 = crate::EnumBitfieldStruct<u8, Podr10_SPEC>;
1829    impl Podr10 {
1830        #[doc = "Low output"]
1831        pub const _0: Self = Self::new(0);
1832
1833        #[doc = "High output"]
1834        pub const _1: Self = Self::new(1);
1835    }
1836    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1837    pub struct Podr11_SPEC;
1838    pub type Podr11 = crate::EnumBitfieldStruct<u8, Podr11_SPEC>;
1839    impl Podr11 {
1840        #[doc = "Low output"]
1841        pub const _0: Self = Self::new(0);
1842
1843        #[doc = "High output"]
1844        pub const _1: Self = Self::new(1);
1845    }
1846    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1847    pub struct Podr12_SPEC;
1848    pub type Podr12 = crate::EnumBitfieldStruct<u8, Podr12_SPEC>;
1849    impl Podr12 {
1850        #[doc = "Low output"]
1851        pub const _0: Self = Self::new(0);
1852
1853        #[doc = "High output"]
1854        pub const _1: Self = Self::new(1);
1855    }
1856    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1857    pub struct Podr13_SPEC;
1858    pub type Podr13 = crate::EnumBitfieldStruct<u8, Podr13_SPEC>;
1859    impl Podr13 {
1860        #[doc = "Low output"]
1861        pub const _0: Self = Self::new(0);
1862
1863        #[doc = "High output"]
1864        pub const _1: Self = Self::new(1);
1865    }
1866    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1867    pub struct Podr14_SPEC;
1868    pub type Podr14 = crate::EnumBitfieldStruct<u8, Podr14_SPEC>;
1869    impl Podr14 {
1870        #[doc = "Low output"]
1871        pub const _0: Self = Self::new(0);
1872
1873        #[doc = "High output"]
1874        pub const _1: Self = Self::new(1);
1875    }
1876    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1877    pub struct Podr15_SPEC;
1878    pub type Podr15 = crate::EnumBitfieldStruct<u8, Podr15_SPEC>;
1879    impl Podr15 {
1880        #[doc = "Low output"]
1881        pub const _0: Self = Self::new(0);
1882
1883        #[doc = "High output"]
1884        pub const _1: Self = Self::new(1);
1885    }
1886}
1887#[doc(hidden)]
1888#[derive(Copy, Clone, Eq, PartialEq)]
1889pub struct Pdr_SPEC;
1890impl crate::sealed::RegSpec for Pdr_SPEC {
1891    type DataType = u16;
1892}
1893
1894#[doc = "Port Control Register 1"]
1895pub type Pdr = crate::RegValueT<Pdr_SPEC>;
1896
1897impl Pdr {
1898    #[doc = "Pmn Direction"]
1899    #[inline(always)]
1900    pub fn pdr00(
1901        self,
1902    ) -> crate::common::RegisterField<
1903        0,
1904        0x1,
1905        1,
1906        0,
1907        pdr::Pdr00,
1908        pdr::Pdr00,
1909        Pdr_SPEC,
1910        crate::common::RW,
1911    > {
1912        crate::common::RegisterField::<
1913            0,
1914            0x1,
1915            1,
1916            0,
1917            pdr::Pdr00,
1918            pdr::Pdr00,
1919            Pdr_SPEC,
1920            crate::common::RW,
1921        >::from_register(self, 0)
1922    }
1923
1924    #[doc = "Pmn Direction"]
1925    #[inline(always)]
1926    pub fn pdr01(
1927        self,
1928    ) -> crate::common::RegisterField<
1929        1,
1930        0x1,
1931        1,
1932        0,
1933        pdr::Pdr01,
1934        pdr::Pdr01,
1935        Pdr_SPEC,
1936        crate::common::RW,
1937    > {
1938        crate::common::RegisterField::<
1939            1,
1940            0x1,
1941            1,
1942            0,
1943            pdr::Pdr01,
1944            pdr::Pdr01,
1945            Pdr_SPEC,
1946            crate::common::RW,
1947        >::from_register(self, 0)
1948    }
1949
1950    #[doc = "Pmn Direction"]
1951    #[inline(always)]
1952    pub fn pdr02(
1953        self,
1954    ) -> crate::common::RegisterField<
1955        2,
1956        0x1,
1957        1,
1958        0,
1959        pdr::Pdr02,
1960        pdr::Pdr02,
1961        Pdr_SPEC,
1962        crate::common::RW,
1963    > {
1964        crate::common::RegisterField::<
1965            2,
1966            0x1,
1967            1,
1968            0,
1969            pdr::Pdr02,
1970            pdr::Pdr02,
1971            Pdr_SPEC,
1972            crate::common::RW,
1973        >::from_register(self, 0)
1974    }
1975
1976    #[doc = "Pmn Direction"]
1977    #[inline(always)]
1978    pub fn pdr03(
1979        self,
1980    ) -> crate::common::RegisterField<
1981        3,
1982        0x1,
1983        1,
1984        0,
1985        pdr::Pdr03,
1986        pdr::Pdr03,
1987        Pdr_SPEC,
1988        crate::common::RW,
1989    > {
1990        crate::common::RegisterField::<
1991            3,
1992            0x1,
1993            1,
1994            0,
1995            pdr::Pdr03,
1996            pdr::Pdr03,
1997            Pdr_SPEC,
1998            crate::common::RW,
1999        >::from_register(self, 0)
2000    }
2001
2002    #[doc = "Pmn Direction"]
2003    #[inline(always)]
2004    pub fn pdr04(
2005        self,
2006    ) -> crate::common::RegisterField<
2007        4,
2008        0x1,
2009        1,
2010        0,
2011        pdr::Pdr04,
2012        pdr::Pdr04,
2013        Pdr_SPEC,
2014        crate::common::RW,
2015    > {
2016        crate::common::RegisterField::<
2017            4,
2018            0x1,
2019            1,
2020            0,
2021            pdr::Pdr04,
2022            pdr::Pdr04,
2023            Pdr_SPEC,
2024            crate::common::RW,
2025        >::from_register(self, 0)
2026    }
2027
2028    #[doc = "Pmn Direction"]
2029    #[inline(always)]
2030    pub fn pdr05(
2031        self,
2032    ) -> crate::common::RegisterField<
2033        5,
2034        0x1,
2035        1,
2036        0,
2037        pdr::Pdr05,
2038        pdr::Pdr05,
2039        Pdr_SPEC,
2040        crate::common::RW,
2041    > {
2042        crate::common::RegisterField::<
2043            5,
2044            0x1,
2045            1,
2046            0,
2047            pdr::Pdr05,
2048            pdr::Pdr05,
2049            Pdr_SPEC,
2050            crate::common::RW,
2051        >::from_register(self, 0)
2052    }
2053
2054    #[doc = "Pmn Direction"]
2055    #[inline(always)]
2056    pub fn pdr06(
2057        self,
2058    ) -> crate::common::RegisterField<
2059        6,
2060        0x1,
2061        1,
2062        0,
2063        pdr::Pdr06,
2064        pdr::Pdr06,
2065        Pdr_SPEC,
2066        crate::common::RW,
2067    > {
2068        crate::common::RegisterField::<
2069            6,
2070            0x1,
2071            1,
2072            0,
2073            pdr::Pdr06,
2074            pdr::Pdr06,
2075            Pdr_SPEC,
2076            crate::common::RW,
2077        >::from_register(self, 0)
2078    }
2079
2080    #[doc = "Pmn Direction"]
2081    #[inline(always)]
2082    pub fn pdr07(
2083        self,
2084    ) -> crate::common::RegisterField<
2085        7,
2086        0x1,
2087        1,
2088        0,
2089        pdr::Pdr07,
2090        pdr::Pdr07,
2091        Pdr_SPEC,
2092        crate::common::RW,
2093    > {
2094        crate::common::RegisterField::<
2095            7,
2096            0x1,
2097            1,
2098            0,
2099            pdr::Pdr07,
2100            pdr::Pdr07,
2101            Pdr_SPEC,
2102            crate::common::RW,
2103        >::from_register(self, 0)
2104    }
2105
2106    #[doc = "Pmn Direction"]
2107    #[inline(always)]
2108    pub fn pdr08(
2109        self,
2110    ) -> crate::common::RegisterField<
2111        8,
2112        0x1,
2113        1,
2114        0,
2115        pdr::Pdr08,
2116        pdr::Pdr08,
2117        Pdr_SPEC,
2118        crate::common::RW,
2119    > {
2120        crate::common::RegisterField::<
2121            8,
2122            0x1,
2123            1,
2124            0,
2125            pdr::Pdr08,
2126            pdr::Pdr08,
2127            Pdr_SPEC,
2128            crate::common::RW,
2129        >::from_register(self, 0)
2130    }
2131
2132    #[doc = "Pmn Direction"]
2133    #[inline(always)]
2134    pub fn pdr09(
2135        self,
2136    ) -> crate::common::RegisterField<
2137        9,
2138        0x1,
2139        1,
2140        0,
2141        pdr::Pdr09,
2142        pdr::Pdr09,
2143        Pdr_SPEC,
2144        crate::common::RW,
2145    > {
2146        crate::common::RegisterField::<
2147            9,
2148            0x1,
2149            1,
2150            0,
2151            pdr::Pdr09,
2152            pdr::Pdr09,
2153            Pdr_SPEC,
2154            crate::common::RW,
2155        >::from_register(self, 0)
2156    }
2157
2158    #[doc = "Pmn Direction"]
2159    #[inline(always)]
2160    pub fn pdr10(
2161        self,
2162    ) -> crate::common::RegisterField<
2163        10,
2164        0x1,
2165        1,
2166        0,
2167        pdr::Pdr10,
2168        pdr::Pdr10,
2169        Pdr_SPEC,
2170        crate::common::RW,
2171    > {
2172        crate::common::RegisterField::<
2173            10,
2174            0x1,
2175            1,
2176            0,
2177            pdr::Pdr10,
2178            pdr::Pdr10,
2179            Pdr_SPEC,
2180            crate::common::RW,
2181        >::from_register(self, 0)
2182    }
2183
2184    #[doc = "Pmn Direction"]
2185    #[inline(always)]
2186    pub fn pdr11(
2187        self,
2188    ) -> crate::common::RegisterField<
2189        11,
2190        0x1,
2191        1,
2192        0,
2193        pdr::Pdr11,
2194        pdr::Pdr11,
2195        Pdr_SPEC,
2196        crate::common::RW,
2197    > {
2198        crate::common::RegisterField::<
2199            11,
2200            0x1,
2201            1,
2202            0,
2203            pdr::Pdr11,
2204            pdr::Pdr11,
2205            Pdr_SPEC,
2206            crate::common::RW,
2207        >::from_register(self, 0)
2208    }
2209
2210    #[doc = "Pmn Direction"]
2211    #[inline(always)]
2212    pub fn pdr12(
2213        self,
2214    ) -> crate::common::RegisterField<
2215        12,
2216        0x1,
2217        1,
2218        0,
2219        pdr::Pdr12,
2220        pdr::Pdr12,
2221        Pdr_SPEC,
2222        crate::common::RW,
2223    > {
2224        crate::common::RegisterField::<
2225            12,
2226            0x1,
2227            1,
2228            0,
2229            pdr::Pdr12,
2230            pdr::Pdr12,
2231            Pdr_SPEC,
2232            crate::common::RW,
2233        >::from_register(self, 0)
2234    }
2235
2236    #[doc = "Pmn Direction"]
2237    #[inline(always)]
2238    pub fn pdr13(
2239        self,
2240    ) -> crate::common::RegisterField<
2241        13,
2242        0x1,
2243        1,
2244        0,
2245        pdr::Pdr13,
2246        pdr::Pdr13,
2247        Pdr_SPEC,
2248        crate::common::RW,
2249    > {
2250        crate::common::RegisterField::<
2251            13,
2252            0x1,
2253            1,
2254            0,
2255            pdr::Pdr13,
2256            pdr::Pdr13,
2257            Pdr_SPEC,
2258            crate::common::RW,
2259        >::from_register(self, 0)
2260    }
2261
2262    #[doc = "Pmn Direction"]
2263    #[inline(always)]
2264    pub fn pdr14(
2265        self,
2266    ) -> crate::common::RegisterField<
2267        14,
2268        0x1,
2269        1,
2270        0,
2271        pdr::Pdr14,
2272        pdr::Pdr14,
2273        Pdr_SPEC,
2274        crate::common::RW,
2275    > {
2276        crate::common::RegisterField::<
2277            14,
2278            0x1,
2279            1,
2280            0,
2281            pdr::Pdr14,
2282            pdr::Pdr14,
2283            Pdr_SPEC,
2284            crate::common::RW,
2285        >::from_register(self, 0)
2286    }
2287
2288    #[doc = "Pmn Direction"]
2289    #[inline(always)]
2290    pub fn pdr15(
2291        self,
2292    ) -> crate::common::RegisterField<
2293        15,
2294        0x1,
2295        1,
2296        0,
2297        pdr::Pdr15,
2298        pdr::Pdr15,
2299        Pdr_SPEC,
2300        crate::common::RW,
2301    > {
2302        crate::common::RegisterField::<
2303            15,
2304            0x1,
2305            1,
2306            0,
2307            pdr::Pdr15,
2308            pdr::Pdr15,
2309            Pdr_SPEC,
2310            crate::common::RW,
2311        >::from_register(self, 0)
2312    }
2313}
2314impl ::core::default::Default for Pdr {
2315    #[inline(always)]
2316    fn default() -> Pdr {
2317        <crate::RegValueT<Pdr_SPEC> as RegisterValue<_>>::new(0)
2318    }
2319}
2320pub mod pdr {
2321
2322    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2323    pub struct Pdr00_SPEC;
2324    pub type Pdr00 = crate::EnumBitfieldStruct<u8, Pdr00_SPEC>;
2325    impl Pdr00 {
2326        #[doc = "Input (functions as an input pin)"]
2327        pub const _0: Self = Self::new(0);
2328
2329        #[doc = "Output (functions as an output pin)"]
2330        pub const _1: Self = Self::new(1);
2331    }
2332    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2333    pub struct Pdr01_SPEC;
2334    pub type Pdr01 = crate::EnumBitfieldStruct<u8, Pdr01_SPEC>;
2335    impl Pdr01 {
2336        #[doc = "Input (functions as an input pin)"]
2337        pub const _0: Self = Self::new(0);
2338
2339        #[doc = "Output (functions as an output pin)"]
2340        pub const _1: Self = Self::new(1);
2341    }
2342    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2343    pub struct Pdr02_SPEC;
2344    pub type Pdr02 = crate::EnumBitfieldStruct<u8, Pdr02_SPEC>;
2345    impl Pdr02 {
2346        #[doc = "Input (functions as an input pin)"]
2347        pub const _0: Self = Self::new(0);
2348
2349        #[doc = "Output (functions as an output pin)"]
2350        pub const _1: Self = Self::new(1);
2351    }
2352    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2353    pub struct Pdr03_SPEC;
2354    pub type Pdr03 = crate::EnumBitfieldStruct<u8, Pdr03_SPEC>;
2355    impl Pdr03 {
2356        #[doc = "Input (functions as an input pin)"]
2357        pub const _0: Self = Self::new(0);
2358
2359        #[doc = "Output (functions as an output pin)"]
2360        pub const _1: Self = Self::new(1);
2361    }
2362    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2363    pub struct Pdr04_SPEC;
2364    pub type Pdr04 = crate::EnumBitfieldStruct<u8, Pdr04_SPEC>;
2365    impl Pdr04 {
2366        #[doc = "Input (functions as an input pin)"]
2367        pub const _0: Self = Self::new(0);
2368
2369        #[doc = "Output (functions as an output pin)"]
2370        pub const _1: Self = Self::new(1);
2371    }
2372    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2373    pub struct Pdr05_SPEC;
2374    pub type Pdr05 = crate::EnumBitfieldStruct<u8, Pdr05_SPEC>;
2375    impl Pdr05 {
2376        #[doc = "Input (functions as an input pin)"]
2377        pub const _0: Self = Self::new(0);
2378
2379        #[doc = "Output (functions as an output pin)"]
2380        pub const _1: Self = Self::new(1);
2381    }
2382    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2383    pub struct Pdr06_SPEC;
2384    pub type Pdr06 = crate::EnumBitfieldStruct<u8, Pdr06_SPEC>;
2385    impl Pdr06 {
2386        #[doc = "Input (functions as an input pin)"]
2387        pub const _0: Self = Self::new(0);
2388
2389        #[doc = "Output (functions as an output pin)"]
2390        pub const _1: Self = Self::new(1);
2391    }
2392    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2393    pub struct Pdr07_SPEC;
2394    pub type Pdr07 = crate::EnumBitfieldStruct<u8, Pdr07_SPEC>;
2395    impl Pdr07 {
2396        #[doc = "Input (functions as an input pin)"]
2397        pub const _0: Self = Self::new(0);
2398
2399        #[doc = "Output (functions as an output pin)"]
2400        pub const _1: Self = Self::new(1);
2401    }
2402    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2403    pub struct Pdr08_SPEC;
2404    pub type Pdr08 = crate::EnumBitfieldStruct<u8, Pdr08_SPEC>;
2405    impl Pdr08 {
2406        #[doc = "Input (functions as an input pin)"]
2407        pub const _0: Self = Self::new(0);
2408
2409        #[doc = "Output (functions as an output pin)"]
2410        pub const _1: Self = Self::new(1);
2411    }
2412    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2413    pub struct Pdr09_SPEC;
2414    pub type Pdr09 = crate::EnumBitfieldStruct<u8, Pdr09_SPEC>;
2415    impl Pdr09 {
2416        #[doc = "Input (functions as an input pin)"]
2417        pub const _0: Self = Self::new(0);
2418
2419        #[doc = "Output (functions as an output pin)"]
2420        pub const _1: Self = Self::new(1);
2421    }
2422    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2423    pub struct Pdr10_SPEC;
2424    pub type Pdr10 = crate::EnumBitfieldStruct<u8, Pdr10_SPEC>;
2425    impl Pdr10 {
2426        #[doc = "Input (functions as an input pin)"]
2427        pub const _0: Self = Self::new(0);
2428
2429        #[doc = "Output (functions as an output pin)"]
2430        pub const _1: Self = Self::new(1);
2431    }
2432    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2433    pub struct Pdr11_SPEC;
2434    pub type Pdr11 = crate::EnumBitfieldStruct<u8, Pdr11_SPEC>;
2435    impl Pdr11 {
2436        #[doc = "Input (functions as an input pin)"]
2437        pub const _0: Self = Self::new(0);
2438
2439        #[doc = "Output (functions as an output pin)"]
2440        pub const _1: Self = Self::new(1);
2441    }
2442    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2443    pub struct Pdr12_SPEC;
2444    pub type Pdr12 = crate::EnumBitfieldStruct<u8, Pdr12_SPEC>;
2445    impl Pdr12 {
2446        #[doc = "Input (functions as an input pin)"]
2447        pub const _0: Self = Self::new(0);
2448
2449        #[doc = "Output (functions as an output pin)"]
2450        pub const _1: Self = Self::new(1);
2451    }
2452    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2453    pub struct Pdr13_SPEC;
2454    pub type Pdr13 = crate::EnumBitfieldStruct<u8, Pdr13_SPEC>;
2455    impl Pdr13 {
2456        #[doc = "Input (functions as an input pin)"]
2457        pub const _0: Self = Self::new(0);
2458
2459        #[doc = "Output (functions as an output pin)"]
2460        pub const _1: Self = Self::new(1);
2461    }
2462    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2463    pub struct Pdr14_SPEC;
2464    pub type Pdr14 = crate::EnumBitfieldStruct<u8, Pdr14_SPEC>;
2465    impl Pdr14 {
2466        #[doc = "Input (functions as an input pin)"]
2467        pub const _0: Self = Self::new(0);
2468
2469        #[doc = "Output (functions as an output pin)"]
2470        pub const _1: Self = Self::new(1);
2471    }
2472    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2473    pub struct Pdr15_SPEC;
2474    pub type Pdr15 = crate::EnumBitfieldStruct<u8, Pdr15_SPEC>;
2475    impl Pdr15 {
2476        #[doc = "Input (functions as an input pin)"]
2477        pub const _0: Self = Self::new(0);
2478
2479        #[doc = "Output (functions as an output pin)"]
2480        pub const _1: Self = Self::new(1);
2481    }
2482}
2483#[doc(hidden)]
2484#[derive(Copy, Clone, Eq, PartialEq)]
2485pub struct Pcntr2_SPEC;
2486impl crate::sealed::RegSpec for Pcntr2_SPEC {
2487    type DataType = u32;
2488}
2489
2490#[doc = "Port Control Register 2"]
2491pub type Pcntr2 = crate::RegValueT<Pcntr2_SPEC>;
2492
2493impl Pcntr2 {
2494    #[doc = "Pmn State"]
2495    #[inline(always)]
2496    pub fn pidr00(
2497        self,
2498    ) -> crate::common::RegisterField<
2499        0,
2500        0x1,
2501        1,
2502        0,
2503        pcntr2::Pidr00,
2504        pcntr2::Pidr00,
2505        Pcntr2_SPEC,
2506        crate::common::R,
2507    > {
2508        crate::common::RegisterField::<
2509            0,
2510            0x1,
2511            1,
2512            0,
2513            pcntr2::Pidr00,
2514            pcntr2::Pidr00,
2515            Pcntr2_SPEC,
2516            crate::common::R,
2517        >::from_register(self, 0)
2518    }
2519
2520    #[doc = "Pmn State"]
2521    #[inline(always)]
2522    pub fn pidr01(
2523        self,
2524    ) -> crate::common::RegisterField<
2525        1,
2526        0x1,
2527        1,
2528        0,
2529        pcntr2::Pidr01,
2530        pcntr2::Pidr01,
2531        Pcntr2_SPEC,
2532        crate::common::R,
2533    > {
2534        crate::common::RegisterField::<
2535            1,
2536            0x1,
2537            1,
2538            0,
2539            pcntr2::Pidr01,
2540            pcntr2::Pidr01,
2541            Pcntr2_SPEC,
2542            crate::common::R,
2543        >::from_register(self, 0)
2544    }
2545
2546    #[doc = "Pmn State"]
2547    #[inline(always)]
2548    pub fn pidr02(
2549        self,
2550    ) -> crate::common::RegisterField<
2551        2,
2552        0x1,
2553        1,
2554        0,
2555        pcntr2::Pidr02,
2556        pcntr2::Pidr02,
2557        Pcntr2_SPEC,
2558        crate::common::R,
2559    > {
2560        crate::common::RegisterField::<
2561            2,
2562            0x1,
2563            1,
2564            0,
2565            pcntr2::Pidr02,
2566            pcntr2::Pidr02,
2567            Pcntr2_SPEC,
2568            crate::common::R,
2569        >::from_register(self, 0)
2570    }
2571
2572    #[doc = "Pmn State"]
2573    #[inline(always)]
2574    pub fn pidr03(
2575        self,
2576    ) -> crate::common::RegisterField<
2577        3,
2578        0x1,
2579        1,
2580        0,
2581        pcntr2::Pidr03,
2582        pcntr2::Pidr03,
2583        Pcntr2_SPEC,
2584        crate::common::R,
2585    > {
2586        crate::common::RegisterField::<
2587            3,
2588            0x1,
2589            1,
2590            0,
2591            pcntr2::Pidr03,
2592            pcntr2::Pidr03,
2593            Pcntr2_SPEC,
2594            crate::common::R,
2595        >::from_register(self, 0)
2596    }
2597
2598    #[doc = "Pmn State"]
2599    #[inline(always)]
2600    pub fn pidr04(
2601        self,
2602    ) -> crate::common::RegisterField<
2603        4,
2604        0x1,
2605        1,
2606        0,
2607        pcntr2::Pidr04,
2608        pcntr2::Pidr04,
2609        Pcntr2_SPEC,
2610        crate::common::R,
2611    > {
2612        crate::common::RegisterField::<
2613            4,
2614            0x1,
2615            1,
2616            0,
2617            pcntr2::Pidr04,
2618            pcntr2::Pidr04,
2619            Pcntr2_SPEC,
2620            crate::common::R,
2621        >::from_register(self, 0)
2622    }
2623
2624    #[doc = "Pmn State"]
2625    #[inline(always)]
2626    pub fn pidr05(
2627        self,
2628    ) -> crate::common::RegisterField<
2629        5,
2630        0x1,
2631        1,
2632        0,
2633        pcntr2::Pidr05,
2634        pcntr2::Pidr05,
2635        Pcntr2_SPEC,
2636        crate::common::R,
2637    > {
2638        crate::common::RegisterField::<
2639            5,
2640            0x1,
2641            1,
2642            0,
2643            pcntr2::Pidr05,
2644            pcntr2::Pidr05,
2645            Pcntr2_SPEC,
2646            crate::common::R,
2647        >::from_register(self, 0)
2648    }
2649
2650    #[doc = "Pmn State"]
2651    #[inline(always)]
2652    pub fn pidr06(
2653        self,
2654    ) -> crate::common::RegisterField<
2655        6,
2656        0x1,
2657        1,
2658        0,
2659        pcntr2::Pidr06,
2660        pcntr2::Pidr06,
2661        Pcntr2_SPEC,
2662        crate::common::R,
2663    > {
2664        crate::common::RegisterField::<
2665            6,
2666            0x1,
2667            1,
2668            0,
2669            pcntr2::Pidr06,
2670            pcntr2::Pidr06,
2671            Pcntr2_SPEC,
2672            crate::common::R,
2673        >::from_register(self, 0)
2674    }
2675
2676    #[doc = "Pmn State"]
2677    #[inline(always)]
2678    pub fn pidr07(
2679        self,
2680    ) -> crate::common::RegisterField<
2681        7,
2682        0x1,
2683        1,
2684        0,
2685        pcntr2::Pidr07,
2686        pcntr2::Pidr07,
2687        Pcntr2_SPEC,
2688        crate::common::R,
2689    > {
2690        crate::common::RegisterField::<
2691            7,
2692            0x1,
2693            1,
2694            0,
2695            pcntr2::Pidr07,
2696            pcntr2::Pidr07,
2697            Pcntr2_SPEC,
2698            crate::common::R,
2699        >::from_register(self, 0)
2700    }
2701
2702    #[doc = "Pmn State"]
2703    #[inline(always)]
2704    pub fn pidr08(
2705        self,
2706    ) -> crate::common::RegisterField<
2707        8,
2708        0x1,
2709        1,
2710        0,
2711        pcntr2::Pidr08,
2712        pcntr2::Pidr08,
2713        Pcntr2_SPEC,
2714        crate::common::R,
2715    > {
2716        crate::common::RegisterField::<
2717            8,
2718            0x1,
2719            1,
2720            0,
2721            pcntr2::Pidr08,
2722            pcntr2::Pidr08,
2723            Pcntr2_SPEC,
2724            crate::common::R,
2725        >::from_register(self, 0)
2726    }
2727
2728    #[doc = "Pmn State"]
2729    #[inline(always)]
2730    pub fn pidr09(
2731        self,
2732    ) -> crate::common::RegisterField<
2733        9,
2734        0x1,
2735        1,
2736        0,
2737        pcntr2::Pidr09,
2738        pcntr2::Pidr09,
2739        Pcntr2_SPEC,
2740        crate::common::R,
2741    > {
2742        crate::common::RegisterField::<
2743            9,
2744            0x1,
2745            1,
2746            0,
2747            pcntr2::Pidr09,
2748            pcntr2::Pidr09,
2749            Pcntr2_SPEC,
2750            crate::common::R,
2751        >::from_register(self, 0)
2752    }
2753
2754    #[doc = "Pmn State"]
2755    #[inline(always)]
2756    pub fn pidr10(
2757        self,
2758    ) -> crate::common::RegisterField<
2759        10,
2760        0x1,
2761        1,
2762        0,
2763        pcntr2::Pidr10,
2764        pcntr2::Pidr10,
2765        Pcntr2_SPEC,
2766        crate::common::R,
2767    > {
2768        crate::common::RegisterField::<
2769            10,
2770            0x1,
2771            1,
2772            0,
2773            pcntr2::Pidr10,
2774            pcntr2::Pidr10,
2775            Pcntr2_SPEC,
2776            crate::common::R,
2777        >::from_register(self, 0)
2778    }
2779
2780    #[doc = "Pmn State"]
2781    #[inline(always)]
2782    pub fn pidr11(
2783        self,
2784    ) -> crate::common::RegisterField<
2785        11,
2786        0x1,
2787        1,
2788        0,
2789        pcntr2::Pidr11,
2790        pcntr2::Pidr11,
2791        Pcntr2_SPEC,
2792        crate::common::R,
2793    > {
2794        crate::common::RegisterField::<
2795            11,
2796            0x1,
2797            1,
2798            0,
2799            pcntr2::Pidr11,
2800            pcntr2::Pidr11,
2801            Pcntr2_SPEC,
2802            crate::common::R,
2803        >::from_register(self, 0)
2804    }
2805
2806    #[doc = "Pmn State"]
2807    #[inline(always)]
2808    pub fn pidr12(
2809        self,
2810    ) -> crate::common::RegisterField<
2811        12,
2812        0x1,
2813        1,
2814        0,
2815        pcntr2::Pidr12,
2816        pcntr2::Pidr12,
2817        Pcntr2_SPEC,
2818        crate::common::R,
2819    > {
2820        crate::common::RegisterField::<
2821            12,
2822            0x1,
2823            1,
2824            0,
2825            pcntr2::Pidr12,
2826            pcntr2::Pidr12,
2827            Pcntr2_SPEC,
2828            crate::common::R,
2829        >::from_register(self, 0)
2830    }
2831
2832    #[doc = "Pmn State"]
2833    #[inline(always)]
2834    pub fn pidr13(
2835        self,
2836    ) -> crate::common::RegisterField<
2837        13,
2838        0x1,
2839        1,
2840        0,
2841        pcntr2::Pidr13,
2842        pcntr2::Pidr13,
2843        Pcntr2_SPEC,
2844        crate::common::R,
2845    > {
2846        crate::common::RegisterField::<
2847            13,
2848            0x1,
2849            1,
2850            0,
2851            pcntr2::Pidr13,
2852            pcntr2::Pidr13,
2853            Pcntr2_SPEC,
2854            crate::common::R,
2855        >::from_register(self, 0)
2856    }
2857
2858    #[doc = "Pmn State"]
2859    #[inline(always)]
2860    pub fn pidr14(
2861        self,
2862    ) -> crate::common::RegisterField<
2863        14,
2864        0x1,
2865        1,
2866        0,
2867        pcntr2::Pidr14,
2868        pcntr2::Pidr14,
2869        Pcntr2_SPEC,
2870        crate::common::R,
2871    > {
2872        crate::common::RegisterField::<
2873            14,
2874            0x1,
2875            1,
2876            0,
2877            pcntr2::Pidr14,
2878            pcntr2::Pidr14,
2879            Pcntr2_SPEC,
2880            crate::common::R,
2881        >::from_register(self, 0)
2882    }
2883
2884    #[doc = "Pmn State"]
2885    #[inline(always)]
2886    pub fn pidr15(
2887        self,
2888    ) -> crate::common::RegisterField<
2889        15,
2890        0x1,
2891        1,
2892        0,
2893        pcntr2::Pidr15,
2894        pcntr2::Pidr15,
2895        Pcntr2_SPEC,
2896        crate::common::R,
2897    > {
2898        crate::common::RegisterField::<
2899            15,
2900            0x1,
2901            1,
2902            0,
2903            pcntr2::Pidr15,
2904            pcntr2::Pidr15,
2905            Pcntr2_SPEC,
2906            crate::common::R,
2907        >::from_register(self, 0)
2908    }
2909}
2910impl ::core::default::Default for Pcntr2 {
2911    #[inline(always)]
2912    fn default() -> Pcntr2 {
2913        <crate::RegValueT<Pcntr2_SPEC> as RegisterValue<_>>::new(0)
2914    }
2915}
2916pub mod pcntr2 {
2917
2918    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2919    pub struct Pidr00_SPEC;
2920    pub type Pidr00 = crate::EnumBitfieldStruct<u8, Pidr00_SPEC>;
2921    impl Pidr00 {
2922        #[doc = "Low level"]
2923        pub const _0: Self = Self::new(0);
2924
2925        #[doc = "High level"]
2926        pub const _1: Self = Self::new(1);
2927    }
2928    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2929    pub struct Pidr01_SPEC;
2930    pub type Pidr01 = crate::EnumBitfieldStruct<u8, Pidr01_SPEC>;
2931    impl Pidr01 {
2932        #[doc = "Low level"]
2933        pub const _0: Self = Self::new(0);
2934
2935        #[doc = "High level"]
2936        pub const _1: Self = Self::new(1);
2937    }
2938    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2939    pub struct Pidr02_SPEC;
2940    pub type Pidr02 = crate::EnumBitfieldStruct<u8, Pidr02_SPEC>;
2941    impl Pidr02 {
2942        #[doc = "Low level"]
2943        pub const _0: Self = Self::new(0);
2944
2945        #[doc = "High level"]
2946        pub const _1: Self = Self::new(1);
2947    }
2948    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2949    pub struct Pidr03_SPEC;
2950    pub type Pidr03 = crate::EnumBitfieldStruct<u8, Pidr03_SPEC>;
2951    impl Pidr03 {
2952        #[doc = "Low level"]
2953        pub const _0: Self = Self::new(0);
2954
2955        #[doc = "High level"]
2956        pub const _1: Self = Self::new(1);
2957    }
2958    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2959    pub struct Pidr04_SPEC;
2960    pub type Pidr04 = crate::EnumBitfieldStruct<u8, Pidr04_SPEC>;
2961    impl Pidr04 {
2962        #[doc = "Low level"]
2963        pub const _0: Self = Self::new(0);
2964
2965        #[doc = "High level"]
2966        pub const _1: Self = Self::new(1);
2967    }
2968    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2969    pub struct Pidr05_SPEC;
2970    pub type Pidr05 = crate::EnumBitfieldStruct<u8, Pidr05_SPEC>;
2971    impl Pidr05 {
2972        #[doc = "Low level"]
2973        pub const _0: Self = Self::new(0);
2974
2975        #[doc = "High level"]
2976        pub const _1: Self = Self::new(1);
2977    }
2978    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2979    pub struct Pidr06_SPEC;
2980    pub type Pidr06 = crate::EnumBitfieldStruct<u8, Pidr06_SPEC>;
2981    impl Pidr06 {
2982        #[doc = "Low level"]
2983        pub const _0: Self = Self::new(0);
2984
2985        #[doc = "High level"]
2986        pub const _1: Self = Self::new(1);
2987    }
2988    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2989    pub struct Pidr07_SPEC;
2990    pub type Pidr07 = crate::EnumBitfieldStruct<u8, Pidr07_SPEC>;
2991    impl Pidr07 {
2992        #[doc = "Low level"]
2993        pub const _0: Self = Self::new(0);
2994
2995        #[doc = "High level"]
2996        pub const _1: Self = Self::new(1);
2997    }
2998    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2999    pub struct Pidr08_SPEC;
3000    pub type Pidr08 = crate::EnumBitfieldStruct<u8, Pidr08_SPEC>;
3001    impl Pidr08 {
3002        #[doc = "Low level"]
3003        pub const _0: Self = Self::new(0);
3004
3005        #[doc = "High level"]
3006        pub const _1: Self = Self::new(1);
3007    }
3008    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3009    pub struct Pidr09_SPEC;
3010    pub type Pidr09 = crate::EnumBitfieldStruct<u8, Pidr09_SPEC>;
3011    impl Pidr09 {
3012        #[doc = "Low level"]
3013        pub const _0: Self = Self::new(0);
3014
3015        #[doc = "High level"]
3016        pub const _1: Self = Self::new(1);
3017    }
3018    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3019    pub struct Pidr10_SPEC;
3020    pub type Pidr10 = crate::EnumBitfieldStruct<u8, Pidr10_SPEC>;
3021    impl Pidr10 {
3022        #[doc = "Low level"]
3023        pub const _0: Self = Self::new(0);
3024
3025        #[doc = "High level"]
3026        pub const _1: Self = Self::new(1);
3027    }
3028    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3029    pub struct Pidr11_SPEC;
3030    pub type Pidr11 = crate::EnumBitfieldStruct<u8, Pidr11_SPEC>;
3031    impl Pidr11 {
3032        #[doc = "Low level"]
3033        pub const _0: Self = Self::new(0);
3034
3035        #[doc = "High level"]
3036        pub const _1: Self = Self::new(1);
3037    }
3038    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3039    pub struct Pidr12_SPEC;
3040    pub type Pidr12 = crate::EnumBitfieldStruct<u8, Pidr12_SPEC>;
3041    impl Pidr12 {
3042        #[doc = "Low level"]
3043        pub const _0: Self = Self::new(0);
3044
3045        #[doc = "High level"]
3046        pub const _1: Self = Self::new(1);
3047    }
3048    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3049    pub struct Pidr13_SPEC;
3050    pub type Pidr13 = crate::EnumBitfieldStruct<u8, Pidr13_SPEC>;
3051    impl Pidr13 {
3052        #[doc = "Low level"]
3053        pub const _0: Self = Self::new(0);
3054
3055        #[doc = "High level"]
3056        pub const _1: Self = Self::new(1);
3057    }
3058    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3059    pub struct Pidr14_SPEC;
3060    pub type Pidr14 = crate::EnumBitfieldStruct<u8, Pidr14_SPEC>;
3061    impl Pidr14 {
3062        #[doc = "Low level"]
3063        pub const _0: Self = Self::new(0);
3064
3065        #[doc = "High level"]
3066        pub const _1: Self = Self::new(1);
3067    }
3068    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3069    pub struct Pidr15_SPEC;
3070    pub type Pidr15 = crate::EnumBitfieldStruct<u8, Pidr15_SPEC>;
3071    impl Pidr15 {
3072        #[doc = "Low level"]
3073        pub const _0: Self = Self::new(0);
3074
3075        #[doc = "High level"]
3076        pub const _1: Self = Self::new(1);
3077    }
3078}
3079#[doc(hidden)]
3080#[derive(Copy, Clone, Eq, PartialEq)]
3081pub struct Pidr_SPEC;
3082impl crate::sealed::RegSpec for Pidr_SPEC {
3083    type DataType = u16;
3084}
3085
3086#[doc = "Port Control Register 2"]
3087pub type Pidr = crate::RegValueT<Pidr_SPEC>;
3088
3089impl Pidr {
3090    #[doc = "Pmn State"]
3091    #[inline(always)]
3092    pub fn pidr00(
3093        self,
3094    ) -> crate::common::RegisterField<
3095        0,
3096        0x1,
3097        1,
3098        0,
3099        pidr::Pidr00,
3100        pidr::Pidr00,
3101        Pidr_SPEC,
3102        crate::common::R,
3103    > {
3104        crate::common::RegisterField::<
3105            0,
3106            0x1,
3107            1,
3108            0,
3109            pidr::Pidr00,
3110            pidr::Pidr00,
3111            Pidr_SPEC,
3112            crate::common::R,
3113        >::from_register(self, 0)
3114    }
3115
3116    #[doc = "Pmn State"]
3117    #[inline(always)]
3118    pub fn pidr01(
3119        self,
3120    ) -> crate::common::RegisterField<
3121        1,
3122        0x1,
3123        1,
3124        0,
3125        pidr::Pidr01,
3126        pidr::Pidr01,
3127        Pidr_SPEC,
3128        crate::common::R,
3129    > {
3130        crate::common::RegisterField::<
3131            1,
3132            0x1,
3133            1,
3134            0,
3135            pidr::Pidr01,
3136            pidr::Pidr01,
3137            Pidr_SPEC,
3138            crate::common::R,
3139        >::from_register(self, 0)
3140    }
3141
3142    #[doc = "Pmn State"]
3143    #[inline(always)]
3144    pub fn pidr02(
3145        self,
3146    ) -> crate::common::RegisterField<
3147        2,
3148        0x1,
3149        1,
3150        0,
3151        pidr::Pidr02,
3152        pidr::Pidr02,
3153        Pidr_SPEC,
3154        crate::common::R,
3155    > {
3156        crate::common::RegisterField::<
3157            2,
3158            0x1,
3159            1,
3160            0,
3161            pidr::Pidr02,
3162            pidr::Pidr02,
3163            Pidr_SPEC,
3164            crate::common::R,
3165        >::from_register(self, 0)
3166    }
3167
3168    #[doc = "Pmn State"]
3169    #[inline(always)]
3170    pub fn pidr03(
3171        self,
3172    ) -> crate::common::RegisterField<
3173        3,
3174        0x1,
3175        1,
3176        0,
3177        pidr::Pidr03,
3178        pidr::Pidr03,
3179        Pidr_SPEC,
3180        crate::common::R,
3181    > {
3182        crate::common::RegisterField::<
3183            3,
3184            0x1,
3185            1,
3186            0,
3187            pidr::Pidr03,
3188            pidr::Pidr03,
3189            Pidr_SPEC,
3190            crate::common::R,
3191        >::from_register(self, 0)
3192    }
3193
3194    #[doc = "Pmn State"]
3195    #[inline(always)]
3196    pub fn pidr04(
3197        self,
3198    ) -> crate::common::RegisterField<
3199        4,
3200        0x1,
3201        1,
3202        0,
3203        pidr::Pidr04,
3204        pidr::Pidr04,
3205        Pidr_SPEC,
3206        crate::common::R,
3207    > {
3208        crate::common::RegisterField::<
3209            4,
3210            0x1,
3211            1,
3212            0,
3213            pidr::Pidr04,
3214            pidr::Pidr04,
3215            Pidr_SPEC,
3216            crate::common::R,
3217        >::from_register(self, 0)
3218    }
3219
3220    #[doc = "Pmn State"]
3221    #[inline(always)]
3222    pub fn pidr05(
3223        self,
3224    ) -> crate::common::RegisterField<
3225        5,
3226        0x1,
3227        1,
3228        0,
3229        pidr::Pidr05,
3230        pidr::Pidr05,
3231        Pidr_SPEC,
3232        crate::common::R,
3233    > {
3234        crate::common::RegisterField::<
3235            5,
3236            0x1,
3237            1,
3238            0,
3239            pidr::Pidr05,
3240            pidr::Pidr05,
3241            Pidr_SPEC,
3242            crate::common::R,
3243        >::from_register(self, 0)
3244    }
3245
3246    #[doc = "Pmn State"]
3247    #[inline(always)]
3248    pub fn pidr06(
3249        self,
3250    ) -> crate::common::RegisterField<
3251        6,
3252        0x1,
3253        1,
3254        0,
3255        pidr::Pidr06,
3256        pidr::Pidr06,
3257        Pidr_SPEC,
3258        crate::common::R,
3259    > {
3260        crate::common::RegisterField::<
3261            6,
3262            0x1,
3263            1,
3264            0,
3265            pidr::Pidr06,
3266            pidr::Pidr06,
3267            Pidr_SPEC,
3268            crate::common::R,
3269        >::from_register(self, 0)
3270    }
3271
3272    #[doc = "Pmn State"]
3273    #[inline(always)]
3274    pub fn pidr07(
3275        self,
3276    ) -> crate::common::RegisterField<
3277        7,
3278        0x1,
3279        1,
3280        0,
3281        pidr::Pidr07,
3282        pidr::Pidr07,
3283        Pidr_SPEC,
3284        crate::common::R,
3285    > {
3286        crate::common::RegisterField::<
3287            7,
3288            0x1,
3289            1,
3290            0,
3291            pidr::Pidr07,
3292            pidr::Pidr07,
3293            Pidr_SPEC,
3294            crate::common::R,
3295        >::from_register(self, 0)
3296    }
3297
3298    #[doc = "Pmn State"]
3299    #[inline(always)]
3300    pub fn pidr08(
3301        self,
3302    ) -> crate::common::RegisterField<
3303        8,
3304        0x1,
3305        1,
3306        0,
3307        pidr::Pidr08,
3308        pidr::Pidr08,
3309        Pidr_SPEC,
3310        crate::common::R,
3311    > {
3312        crate::common::RegisterField::<
3313            8,
3314            0x1,
3315            1,
3316            0,
3317            pidr::Pidr08,
3318            pidr::Pidr08,
3319            Pidr_SPEC,
3320            crate::common::R,
3321        >::from_register(self, 0)
3322    }
3323
3324    #[doc = "Pmn State"]
3325    #[inline(always)]
3326    pub fn pidr09(
3327        self,
3328    ) -> crate::common::RegisterField<
3329        9,
3330        0x1,
3331        1,
3332        0,
3333        pidr::Pidr09,
3334        pidr::Pidr09,
3335        Pidr_SPEC,
3336        crate::common::R,
3337    > {
3338        crate::common::RegisterField::<
3339            9,
3340            0x1,
3341            1,
3342            0,
3343            pidr::Pidr09,
3344            pidr::Pidr09,
3345            Pidr_SPEC,
3346            crate::common::R,
3347        >::from_register(self, 0)
3348    }
3349
3350    #[doc = "Pmn State"]
3351    #[inline(always)]
3352    pub fn pidr10(
3353        self,
3354    ) -> crate::common::RegisterField<
3355        10,
3356        0x1,
3357        1,
3358        0,
3359        pidr::Pidr10,
3360        pidr::Pidr10,
3361        Pidr_SPEC,
3362        crate::common::R,
3363    > {
3364        crate::common::RegisterField::<
3365            10,
3366            0x1,
3367            1,
3368            0,
3369            pidr::Pidr10,
3370            pidr::Pidr10,
3371            Pidr_SPEC,
3372            crate::common::R,
3373        >::from_register(self, 0)
3374    }
3375
3376    #[doc = "Pmn State"]
3377    #[inline(always)]
3378    pub fn pidr11(
3379        self,
3380    ) -> crate::common::RegisterField<
3381        11,
3382        0x1,
3383        1,
3384        0,
3385        pidr::Pidr11,
3386        pidr::Pidr11,
3387        Pidr_SPEC,
3388        crate::common::R,
3389    > {
3390        crate::common::RegisterField::<
3391            11,
3392            0x1,
3393            1,
3394            0,
3395            pidr::Pidr11,
3396            pidr::Pidr11,
3397            Pidr_SPEC,
3398            crate::common::R,
3399        >::from_register(self, 0)
3400    }
3401
3402    #[doc = "Pmn State"]
3403    #[inline(always)]
3404    pub fn pidr12(
3405        self,
3406    ) -> crate::common::RegisterField<
3407        12,
3408        0x1,
3409        1,
3410        0,
3411        pidr::Pidr12,
3412        pidr::Pidr12,
3413        Pidr_SPEC,
3414        crate::common::R,
3415    > {
3416        crate::common::RegisterField::<
3417            12,
3418            0x1,
3419            1,
3420            0,
3421            pidr::Pidr12,
3422            pidr::Pidr12,
3423            Pidr_SPEC,
3424            crate::common::R,
3425        >::from_register(self, 0)
3426    }
3427
3428    #[doc = "Pmn State"]
3429    #[inline(always)]
3430    pub fn pidr13(
3431        self,
3432    ) -> crate::common::RegisterField<
3433        13,
3434        0x1,
3435        1,
3436        0,
3437        pidr::Pidr13,
3438        pidr::Pidr13,
3439        Pidr_SPEC,
3440        crate::common::R,
3441    > {
3442        crate::common::RegisterField::<
3443            13,
3444            0x1,
3445            1,
3446            0,
3447            pidr::Pidr13,
3448            pidr::Pidr13,
3449            Pidr_SPEC,
3450            crate::common::R,
3451        >::from_register(self, 0)
3452    }
3453
3454    #[doc = "Pmn State"]
3455    #[inline(always)]
3456    pub fn pidr14(
3457        self,
3458    ) -> crate::common::RegisterField<
3459        14,
3460        0x1,
3461        1,
3462        0,
3463        pidr::Pidr14,
3464        pidr::Pidr14,
3465        Pidr_SPEC,
3466        crate::common::R,
3467    > {
3468        crate::common::RegisterField::<
3469            14,
3470            0x1,
3471            1,
3472            0,
3473            pidr::Pidr14,
3474            pidr::Pidr14,
3475            Pidr_SPEC,
3476            crate::common::R,
3477        >::from_register(self, 0)
3478    }
3479
3480    #[doc = "Pmn State"]
3481    #[inline(always)]
3482    pub fn pidr15(
3483        self,
3484    ) -> crate::common::RegisterField<
3485        15,
3486        0x1,
3487        1,
3488        0,
3489        pidr::Pidr15,
3490        pidr::Pidr15,
3491        Pidr_SPEC,
3492        crate::common::R,
3493    > {
3494        crate::common::RegisterField::<
3495            15,
3496            0x1,
3497            1,
3498            0,
3499            pidr::Pidr15,
3500            pidr::Pidr15,
3501            Pidr_SPEC,
3502            crate::common::R,
3503        >::from_register(self, 0)
3504    }
3505}
3506impl ::core::default::Default for Pidr {
3507    #[inline(always)]
3508    fn default() -> Pidr {
3509        <crate::RegValueT<Pidr_SPEC> as RegisterValue<_>>::new(0)
3510    }
3511}
3512pub mod pidr {
3513
3514    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3515    pub struct Pidr00_SPEC;
3516    pub type Pidr00 = crate::EnumBitfieldStruct<u8, Pidr00_SPEC>;
3517    impl Pidr00 {
3518        #[doc = "Low level"]
3519        pub const _0: Self = Self::new(0);
3520
3521        #[doc = "High level"]
3522        pub const _1: Self = Self::new(1);
3523    }
3524    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3525    pub struct Pidr01_SPEC;
3526    pub type Pidr01 = crate::EnumBitfieldStruct<u8, Pidr01_SPEC>;
3527    impl Pidr01 {
3528        #[doc = "Low level"]
3529        pub const _0: Self = Self::new(0);
3530
3531        #[doc = "High level"]
3532        pub const _1: Self = Self::new(1);
3533    }
3534    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3535    pub struct Pidr02_SPEC;
3536    pub type Pidr02 = crate::EnumBitfieldStruct<u8, Pidr02_SPEC>;
3537    impl Pidr02 {
3538        #[doc = "Low level"]
3539        pub const _0: Self = Self::new(0);
3540
3541        #[doc = "High level"]
3542        pub const _1: Self = Self::new(1);
3543    }
3544    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3545    pub struct Pidr03_SPEC;
3546    pub type Pidr03 = crate::EnumBitfieldStruct<u8, Pidr03_SPEC>;
3547    impl Pidr03 {
3548        #[doc = "Low level"]
3549        pub const _0: Self = Self::new(0);
3550
3551        #[doc = "High level"]
3552        pub const _1: Self = Self::new(1);
3553    }
3554    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3555    pub struct Pidr04_SPEC;
3556    pub type Pidr04 = crate::EnumBitfieldStruct<u8, Pidr04_SPEC>;
3557    impl Pidr04 {
3558        #[doc = "Low level"]
3559        pub const _0: Self = Self::new(0);
3560
3561        #[doc = "High level"]
3562        pub const _1: Self = Self::new(1);
3563    }
3564    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3565    pub struct Pidr05_SPEC;
3566    pub type Pidr05 = crate::EnumBitfieldStruct<u8, Pidr05_SPEC>;
3567    impl Pidr05 {
3568        #[doc = "Low level"]
3569        pub const _0: Self = Self::new(0);
3570
3571        #[doc = "High level"]
3572        pub const _1: Self = Self::new(1);
3573    }
3574    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3575    pub struct Pidr06_SPEC;
3576    pub type Pidr06 = crate::EnumBitfieldStruct<u8, Pidr06_SPEC>;
3577    impl Pidr06 {
3578        #[doc = "Low level"]
3579        pub const _0: Self = Self::new(0);
3580
3581        #[doc = "High level"]
3582        pub const _1: Self = Self::new(1);
3583    }
3584    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3585    pub struct Pidr07_SPEC;
3586    pub type Pidr07 = crate::EnumBitfieldStruct<u8, Pidr07_SPEC>;
3587    impl Pidr07 {
3588        #[doc = "Low level"]
3589        pub const _0: Self = Self::new(0);
3590
3591        #[doc = "High level"]
3592        pub const _1: Self = Self::new(1);
3593    }
3594    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3595    pub struct Pidr08_SPEC;
3596    pub type Pidr08 = crate::EnumBitfieldStruct<u8, Pidr08_SPEC>;
3597    impl Pidr08 {
3598        #[doc = "Low level"]
3599        pub const _0: Self = Self::new(0);
3600
3601        #[doc = "High level"]
3602        pub const _1: Self = Self::new(1);
3603    }
3604    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3605    pub struct Pidr09_SPEC;
3606    pub type Pidr09 = crate::EnumBitfieldStruct<u8, Pidr09_SPEC>;
3607    impl Pidr09 {
3608        #[doc = "Low level"]
3609        pub const _0: Self = Self::new(0);
3610
3611        #[doc = "High level"]
3612        pub const _1: Self = Self::new(1);
3613    }
3614    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3615    pub struct Pidr10_SPEC;
3616    pub type Pidr10 = crate::EnumBitfieldStruct<u8, Pidr10_SPEC>;
3617    impl Pidr10 {
3618        #[doc = "Low level"]
3619        pub const _0: Self = Self::new(0);
3620
3621        #[doc = "High level"]
3622        pub const _1: Self = Self::new(1);
3623    }
3624    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3625    pub struct Pidr11_SPEC;
3626    pub type Pidr11 = crate::EnumBitfieldStruct<u8, Pidr11_SPEC>;
3627    impl Pidr11 {
3628        #[doc = "Low level"]
3629        pub const _0: Self = Self::new(0);
3630
3631        #[doc = "High level"]
3632        pub const _1: Self = Self::new(1);
3633    }
3634    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3635    pub struct Pidr12_SPEC;
3636    pub type Pidr12 = crate::EnumBitfieldStruct<u8, Pidr12_SPEC>;
3637    impl Pidr12 {
3638        #[doc = "Low level"]
3639        pub const _0: Self = Self::new(0);
3640
3641        #[doc = "High level"]
3642        pub const _1: Self = Self::new(1);
3643    }
3644    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3645    pub struct Pidr13_SPEC;
3646    pub type Pidr13 = crate::EnumBitfieldStruct<u8, Pidr13_SPEC>;
3647    impl Pidr13 {
3648        #[doc = "Low level"]
3649        pub const _0: Self = Self::new(0);
3650
3651        #[doc = "High level"]
3652        pub const _1: Self = Self::new(1);
3653    }
3654    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3655    pub struct Pidr14_SPEC;
3656    pub type Pidr14 = crate::EnumBitfieldStruct<u8, Pidr14_SPEC>;
3657    impl Pidr14 {
3658        #[doc = "Low level"]
3659        pub const _0: Self = Self::new(0);
3660
3661        #[doc = "High level"]
3662        pub const _1: Self = Self::new(1);
3663    }
3664    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3665    pub struct Pidr15_SPEC;
3666    pub type Pidr15 = crate::EnumBitfieldStruct<u8, Pidr15_SPEC>;
3667    impl Pidr15 {
3668        #[doc = "Low level"]
3669        pub const _0: Self = Self::new(0);
3670
3671        #[doc = "High level"]
3672        pub const _1: Self = Self::new(1);
3673    }
3674}
3675#[doc(hidden)]
3676#[derive(Copy, Clone, Eq, PartialEq)]
3677pub struct Pcntr3_SPEC;
3678impl crate::sealed::RegSpec for Pcntr3_SPEC {
3679    type DataType = u32;
3680}
3681
3682#[doc = "Port Control Register 3"]
3683pub type Pcntr3 = crate::RegValueT<Pcntr3_SPEC>;
3684
3685impl Pcntr3 {
3686    #[doc = "Pmn Output Set"]
3687    #[inline(always)]
3688    pub fn posr00(
3689        self,
3690    ) -> crate::common::RegisterField<
3691        0,
3692        0x1,
3693        1,
3694        0,
3695        pcntr3::Posr00,
3696        pcntr3::Posr00,
3697        Pcntr3_SPEC,
3698        crate::common::W,
3699    > {
3700        crate::common::RegisterField::<
3701            0,
3702            0x1,
3703            1,
3704            0,
3705            pcntr3::Posr00,
3706            pcntr3::Posr00,
3707            Pcntr3_SPEC,
3708            crate::common::W,
3709        >::from_register(self, 0)
3710    }
3711
3712    #[doc = "Pmn Output Set"]
3713    #[inline(always)]
3714    pub fn posr01(
3715        self,
3716    ) -> crate::common::RegisterField<
3717        1,
3718        0x1,
3719        1,
3720        0,
3721        pcntr3::Posr01,
3722        pcntr3::Posr01,
3723        Pcntr3_SPEC,
3724        crate::common::W,
3725    > {
3726        crate::common::RegisterField::<
3727            1,
3728            0x1,
3729            1,
3730            0,
3731            pcntr3::Posr01,
3732            pcntr3::Posr01,
3733            Pcntr3_SPEC,
3734            crate::common::W,
3735        >::from_register(self, 0)
3736    }
3737
3738    #[doc = "Pmn Output Set"]
3739    #[inline(always)]
3740    pub fn posr02(
3741        self,
3742    ) -> crate::common::RegisterField<
3743        2,
3744        0x1,
3745        1,
3746        0,
3747        pcntr3::Posr02,
3748        pcntr3::Posr02,
3749        Pcntr3_SPEC,
3750        crate::common::W,
3751    > {
3752        crate::common::RegisterField::<
3753            2,
3754            0x1,
3755            1,
3756            0,
3757            pcntr3::Posr02,
3758            pcntr3::Posr02,
3759            Pcntr3_SPEC,
3760            crate::common::W,
3761        >::from_register(self, 0)
3762    }
3763
3764    #[doc = "Pmn Output Set"]
3765    #[inline(always)]
3766    pub fn posr03(
3767        self,
3768    ) -> crate::common::RegisterField<
3769        3,
3770        0x1,
3771        1,
3772        0,
3773        pcntr3::Posr03,
3774        pcntr3::Posr03,
3775        Pcntr3_SPEC,
3776        crate::common::W,
3777    > {
3778        crate::common::RegisterField::<
3779            3,
3780            0x1,
3781            1,
3782            0,
3783            pcntr3::Posr03,
3784            pcntr3::Posr03,
3785            Pcntr3_SPEC,
3786            crate::common::W,
3787        >::from_register(self, 0)
3788    }
3789
3790    #[doc = "Pmn Output Set"]
3791    #[inline(always)]
3792    pub fn posr04(
3793        self,
3794    ) -> crate::common::RegisterField<
3795        4,
3796        0x1,
3797        1,
3798        0,
3799        pcntr3::Posr04,
3800        pcntr3::Posr04,
3801        Pcntr3_SPEC,
3802        crate::common::W,
3803    > {
3804        crate::common::RegisterField::<
3805            4,
3806            0x1,
3807            1,
3808            0,
3809            pcntr3::Posr04,
3810            pcntr3::Posr04,
3811            Pcntr3_SPEC,
3812            crate::common::W,
3813        >::from_register(self, 0)
3814    }
3815
3816    #[doc = "Pmn Output Set"]
3817    #[inline(always)]
3818    pub fn posr05(
3819        self,
3820    ) -> crate::common::RegisterField<
3821        5,
3822        0x1,
3823        1,
3824        0,
3825        pcntr3::Posr05,
3826        pcntr3::Posr05,
3827        Pcntr3_SPEC,
3828        crate::common::W,
3829    > {
3830        crate::common::RegisterField::<
3831            5,
3832            0x1,
3833            1,
3834            0,
3835            pcntr3::Posr05,
3836            pcntr3::Posr05,
3837            Pcntr3_SPEC,
3838            crate::common::W,
3839        >::from_register(self, 0)
3840    }
3841
3842    #[doc = "Pmn Output Set"]
3843    #[inline(always)]
3844    pub fn posr06(
3845        self,
3846    ) -> crate::common::RegisterField<
3847        6,
3848        0x1,
3849        1,
3850        0,
3851        pcntr3::Posr06,
3852        pcntr3::Posr06,
3853        Pcntr3_SPEC,
3854        crate::common::W,
3855    > {
3856        crate::common::RegisterField::<
3857            6,
3858            0x1,
3859            1,
3860            0,
3861            pcntr3::Posr06,
3862            pcntr3::Posr06,
3863            Pcntr3_SPEC,
3864            crate::common::W,
3865        >::from_register(self, 0)
3866    }
3867
3868    #[doc = "Pmn Output Set"]
3869    #[inline(always)]
3870    pub fn posr07(
3871        self,
3872    ) -> crate::common::RegisterField<
3873        7,
3874        0x1,
3875        1,
3876        0,
3877        pcntr3::Posr07,
3878        pcntr3::Posr07,
3879        Pcntr3_SPEC,
3880        crate::common::W,
3881    > {
3882        crate::common::RegisterField::<
3883            7,
3884            0x1,
3885            1,
3886            0,
3887            pcntr3::Posr07,
3888            pcntr3::Posr07,
3889            Pcntr3_SPEC,
3890            crate::common::W,
3891        >::from_register(self, 0)
3892    }
3893
3894    #[doc = "Pmn Output Set"]
3895    #[inline(always)]
3896    pub fn posr08(
3897        self,
3898    ) -> crate::common::RegisterField<
3899        8,
3900        0x1,
3901        1,
3902        0,
3903        pcntr3::Posr08,
3904        pcntr3::Posr08,
3905        Pcntr3_SPEC,
3906        crate::common::W,
3907    > {
3908        crate::common::RegisterField::<
3909            8,
3910            0x1,
3911            1,
3912            0,
3913            pcntr3::Posr08,
3914            pcntr3::Posr08,
3915            Pcntr3_SPEC,
3916            crate::common::W,
3917        >::from_register(self, 0)
3918    }
3919
3920    #[doc = "Pmn Output Set"]
3921    #[inline(always)]
3922    pub fn posr09(
3923        self,
3924    ) -> crate::common::RegisterField<
3925        9,
3926        0x1,
3927        1,
3928        0,
3929        pcntr3::Posr09,
3930        pcntr3::Posr09,
3931        Pcntr3_SPEC,
3932        crate::common::W,
3933    > {
3934        crate::common::RegisterField::<
3935            9,
3936            0x1,
3937            1,
3938            0,
3939            pcntr3::Posr09,
3940            pcntr3::Posr09,
3941            Pcntr3_SPEC,
3942            crate::common::W,
3943        >::from_register(self, 0)
3944    }
3945
3946    #[doc = "Pmn Output Set"]
3947    #[inline(always)]
3948    pub fn posr10(
3949        self,
3950    ) -> crate::common::RegisterField<
3951        10,
3952        0x1,
3953        1,
3954        0,
3955        pcntr3::Posr10,
3956        pcntr3::Posr10,
3957        Pcntr3_SPEC,
3958        crate::common::W,
3959    > {
3960        crate::common::RegisterField::<
3961            10,
3962            0x1,
3963            1,
3964            0,
3965            pcntr3::Posr10,
3966            pcntr3::Posr10,
3967            Pcntr3_SPEC,
3968            crate::common::W,
3969        >::from_register(self, 0)
3970    }
3971
3972    #[doc = "Pmn Output Set"]
3973    #[inline(always)]
3974    pub fn posr11(
3975        self,
3976    ) -> crate::common::RegisterField<
3977        11,
3978        0x1,
3979        1,
3980        0,
3981        pcntr3::Posr11,
3982        pcntr3::Posr11,
3983        Pcntr3_SPEC,
3984        crate::common::W,
3985    > {
3986        crate::common::RegisterField::<
3987            11,
3988            0x1,
3989            1,
3990            0,
3991            pcntr3::Posr11,
3992            pcntr3::Posr11,
3993            Pcntr3_SPEC,
3994            crate::common::W,
3995        >::from_register(self, 0)
3996    }
3997
3998    #[doc = "Pmn Output Set"]
3999    #[inline(always)]
4000    pub fn posr12(
4001        self,
4002    ) -> crate::common::RegisterField<
4003        12,
4004        0x1,
4005        1,
4006        0,
4007        pcntr3::Posr12,
4008        pcntr3::Posr12,
4009        Pcntr3_SPEC,
4010        crate::common::W,
4011    > {
4012        crate::common::RegisterField::<
4013            12,
4014            0x1,
4015            1,
4016            0,
4017            pcntr3::Posr12,
4018            pcntr3::Posr12,
4019            Pcntr3_SPEC,
4020            crate::common::W,
4021        >::from_register(self, 0)
4022    }
4023
4024    #[doc = "Pmn Output Set"]
4025    #[inline(always)]
4026    pub fn posr13(
4027        self,
4028    ) -> crate::common::RegisterField<
4029        13,
4030        0x1,
4031        1,
4032        0,
4033        pcntr3::Posr13,
4034        pcntr3::Posr13,
4035        Pcntr3_SPEC,
4036        crate::common::W,
4037    > {
4038        crate::common::RegisterField::<
4039            13,
4040            0x1,
4041            1,
4042            0,
4043            pcntr3::Posr13,
4044            pcntr3::Posr13,
4045            Pcntr3_SPEC,
4046            crate::common::W,
4047        >::from_register(self, 0)
4048    }
4049
4050    #[doc = "Pmn Output Set"]
4051    #[inline(always)]
4052    pub fn posr14(
4053        self,
4054    ) -> crate::common::RegisterField<
4055        14,
4056        0x1,
4057        1,
4058        0,
4059        pcntr3::Posr14,
4060        pcntr3::Posr14,
4061        Pcntr3_SPEC,
4062        crate::common::W,
4063    > {
4064        crate::common::RegisterField::<
4065            14,
4066            0x1,
4067            1,
4068            0,
4069            pcntr3::Posr14,
4070            pcntr3::Posr14,
4071            Pcntr3_SPEC,
4072            crate::common::W,
4073        >::from_register(self, 0)
4074    }
4075
4076    #[doc = "Pmn Output Set"]
4077    #[inline(always)]
4078    pub fn posr15(
4079        self,
4080    ) -> crate::common::RegisterField<
4081        15,
4082        0x1,
4083        1,
4084        0,
4085        pcntr3::Posr15,
4086        pcntr3::Posr15,
4087        Pcntr3_SPEC,
4088        crate::common::W,
4089    > {
4090        crate::common::RegisterField::<
4091            15,
4092            0x1,
4093            1,
4094            0,
4095            pcntr3::Posr15,
4096            pcntr3::Posr15,
4097            Pcntr3_SPEC,
4098            crate::common::W,
4099        >::from_register(self, 0)
4100    }
4101
4102    #[doc = "Pmn Output Reset"]
4103    #[inline(always)]
4104    pub fn porr00(
4105        self,
4106    ) -> crate::common::RegisterField<
4107        16,
4108        0x1,
4109        1,
4110        0,
4111        pcntr3::Porr00,
4112        pcntr3::Porr00,
4113        Pcntr3_SPEC,
4114        crate::common::W,
4115    > {
4116        crate::common::RegisterField::<
4117            16,
4118            0x1,
4119            1,
4120            0,
4121            pcntr3::Porr00,
4122            pcntr3::Porr00,
4123            Pcntr3_SPEC,
4124            crate::common::W,
4125        >::from_register(self, 0)
4126    }
4127
4128    #[doc = "Pmn Output Reset"]
4129    #[inline(always)]
4130    pub fn porr01(
4131        self,
4132    ) -> crate::common::RegisterField<
4133        17,
4134        0x1,
4135        1,
4136        0,
4137        pcntr3::Porr01,
4138        pcntr3::Porr01,
4139        Pcntr3_SPEC,
4140        crate::common::W,
4141    > {
4142        crate::common::RegisterField::<
4143            17,
4144            0x1,
4145            1,
4146            0,
4147            pcntr3::Porr01,
4148            pcntr3::Porr01,
4149            Pcntr3_SPEC,
4150            crate::common::W,
4151        >::from_register(self, 0)
4152    }
4153
4154    #[doc = "Pmn Output Reset"]
4155    #[inline(always)]
4156    pub fn porr02(
4157        self,
4158    ) -> crate::common::RegisterField<
4159        18,
4160        0x1,
4161        1,
4162        0,
4163        pcntr3::Porr02,
4164        pcntr3::Porr02,
4165        Pcntr3_SPEC,
4166        crate::common::W,
4167    > {
4168        crate::common::RegisterField::<
4169            18,
4170            0x1,
4171            1,
4172            0,
4173            pcntr3::Porr02,
4174            pcntr3::Porr02,
4175            Pcntr3_SPEC,
4176            crate::common::W,
4177        >::from_register(self, 0)
4178    }
4179
4180    #[doc = "Pmn Output Reset"]
4181    #[inline(always)]
4182    pub fn porr03(
4183        self,
4184    ) -> crate::common::RegisterField<
4185        19,
4186        0x1,
4187        1,
4188        0,
4189        pcntr3::Porr03,
4190        pcntr3::Porr03,
4191        Pcntr3_SPEC,
4192        crate::common::W,
4193    > {
4194        crate::common::RegisterField::<
4195            19,
4196            0x1,
4197            1,
4198            0,
4199            pcntr3::Porr03,
4200            pcntr3::Porr03,
4201            Pcntr3_SPEC,
4202            crate::common::W,
4203        >::from_register(self, 0)
4204    }
4205
4206    #[doc = "Pmn Output Reset"]
4207    #[inline(always)]
4208    pub fn porr04(
4209        self,
4210    ) -> crate::common::RegisterField<
4211        20,
4212        0x1,
4213        1,
4214        0,
4215        pcntr3::Porr04,
4216        pcntr3::Porr04,
4217        Pcntr3_SPEC,
4218        crate::common::W,
4219    > {
4220        crate::common::RegisterField::<
4221            20,
4222            0x1,
4223            1,
4224            0,
4225            pcntr3::Porr04,
4226            pcntr3::Porr04,
4227            Pcntr3_SPEC,
4228            crate::common::W,
4229        >::from_register(self, 0)
4230    }
4231
4232    #[doc = "Pmn Output Reset"]
4233    #[inline(always)]
4234    pub fn porr05(
4235        self,
4236    ) -> crate::common::RegisterField<
4237        21,
4238        0x1,
4239        1,
4240        0,
4241        pcntr3::Porr05,
4242        pcntr3::Porr05,
4243        Pcntr3_SPEC,
4244        crate::common::W,
4245    > {
4246        crate::common::RegisterField::<
4247            21,
4248            0x1,
4249            1,
4250            0,
4251            pcntr3::Porr05,
4252            pcntr3::Porr05,
4253            Pcntr3_SPEC,
4254            crate::common::W,
4255        >::from_register(self, 0)
4256    }
4257
4258    #[doc = "Pmn Output Reset"]
4259    #[inline(always)]
4260    pub fn porr06(
4261        self,
4262    ) -> crate::common::RegisterField<
4263        22,
4264        0x1,
4265        1,
4266        0,
4267        pcntr3::Porr06,
4268        pcntr3::Porr06,
4269        Pcntr3_SPEC,
4270        crate::common::W,
4271    > {
4272        crate::common::RegisterField::<
4273            22,
4274            0x1,
4275            1,
4276            0,
4277            pcntr3::Porr06,
4278            pcntr3::Porr06,
4279            Pcntr3_SPEC,
4280            crate::common::W,
4281        >::from_register(self, 0)
4282    }
4283
4284    #[doc = "Pmn Output Reset"]
4285    #[inline(always)]
4286    pub fn porr07(
4287        self,
4288    ) -> crate::common::RegisterField<
4289        23,
4290        0x1,
4291        1,
4292        0,
4293        pcntr3::Porr07,
4294        pcntr3::Porr07,
4295        Pcntr3_SPEC,
4296        crate::common::W,
4297    > {
4298        crate::common::RegisterField::<
4299            23,
4300            0x1,
4301            1,
4302            0,
4303            pcntr3::Porr07,
4304            pcntr3::Porr07,
4305            Pcntr3_SPEC,
4306            crate::common::W,
4307        >::from_register(self, 0)
4308    }
4309
4310    #[doc = "Pmn Output Reset"]
4311    #[inline(always)]
4312    pub fn porr08(
4313        self,
4314    ) -> crate::common::RegisterField<
4315        24,
4316        0x1,
4317        1,
4318        0,
4319        pcntr3::Porr08,
4320        pcntr3::Porr08,
4321        Pcntr3_SPEC,
4322        crate::common::W,
4323    > {
4324        crate::common::RegisterField::<
4325            24,
4326            0x1,
4327            1,
4328            0,
4329            pcntr3::Porr08,
4330            pcntr3::Porr08,
4331            Pcntr3_SPEC,
4332            crate::common::W,
4333        >::from_register(self, 0)
4334    }
4335
4336    #[doc = "Pmn Output Reset"]
4337    #[inline(always)]
4338    pub fn porr09(
4339        self,
4340    ) -> crate::common::RegisterField<
4341        25,
4342        0x1,
4343        1,
4344        0,
4345        pcntr3::Porr09,
4346        pcntr3::Porr09,
4347        Pcntr3_SPEC,
4348        crate::common::W,
4349    > {
4350        crate::common::RegisterField::<
4351            25,
4352            0x1,
4353            1,
4354            0,
4355            pcntr3::Porr09,
4356            pcntr3::Porr09,
4357            Pcntr3_SPEC,
4358            crate::common::W,
4359        >::from_register(self, 0)
4360    }
4361
4362    #[doc = "Pmn Output Reset"]
4363    #[inline(always)]
4364    pub fn porr10(
4365        self,
4366    ) -> crate::common::RegisterField<
4367        26,
4368        0x1,
4369        1,
4370        0,
4371        pcntr3::Porr10,
4372        pcntr3::Porr10,
4373        Pcntr3_SPEC,
4374        crate::common::W,
4375    > {
4376        crate::common::RegisterField::<
4377            26,
4378            0x1,
4379            1,
4380            0,
4381            pcntr3::Porr10,
4382            pcntr3::Porr10,
4383            Pcntr3_SPEC,
4384            crate::common::W,
4385        >::from_register(self, 0)
4386    }
4387
4388    #[doc = "Pmn Output Reset"]
4389    #[inline(always)]
4390    pub fn porr11(
4391        self,
4392    ) -> crate::common::RegisterField<
4393        27,
4394        0x1,
4395        1,
4396        0,
4397        pcntr3::Porr11,
4398        pcntr3::Porr11,
4399        Pcntr3_SPEC,
4400        crate::common::W,
4401    > {
4402        crate::common::RegisterField::<
4403            27,
4404            0x1,
4405            1,
4406            0,
4407            pcntr3::Porr11,
4408            pcntr3::Porr11,
4409            Pcntr3_SPEC,
4410            crate::common::W,
4411        >::from_register(self, 0)
4412    }
4413
4414    #[doc = "Pmn Output Reset"]
4415    #[inline(always)]
4416    pub fn porr12(
4417        self,
4418    ) -> crate::common::RegisterField<
4419        28,
4420        0x1,
4421        1,
4422        0,
4423        pcntr3::Porr12,
4424        pcntr3::Porr12,
4425        Pcntr3_SPEC,
4426        crate::common::W,
4427    > {
4428        crate::common::RegisterField::<
4429            28,
4430            0x1,
4431            1,
4432            0,
4433            pcntr3::Porr12,
4434            pcntr3::Porr12,
4435            Pcntr3_SPEC,
4436            crate::common::W,
4437        >::from_register(self, 0)
4438    }
4439
4440    #[doc = "Pmn Output Reset"]
4441    #[inline(always)]
4442    pub fn porr13(
4443        self,
4444    ) -> crate::common::RegisterField<
4445        29,
4446        0x1,
4447        1,
4448        0,
4449        pcntr3::Porr13,
4450        pcntr3::Porr13,
4451        Pcntr3_SPEC,
4452        crate::common::W,
4453    > {
4454        crate::common::RegisterField::<
4455            29,
4456            0x1,
4457            1,
4458            0,
4459            pcntr3::Porr13,
4460            pcntr3::Porr13,
4461            Pcntr3_SPEC,
4462            crate::common::W,
4463        >::from_register(self, 0)
4464    }
4465
4466    #[doc = "Pmn Output Reset"]
4467    #[inline(always)]
4468    pub fn porr14(
4469        self,
4470    ) -> crate::common::RegisterField<
4471        30,
4472        0x1,
4473        1,
4474        0,
4475        pcntr3::Porr14,
4476        pcntr3::Porr14,
4477        Pcntr3_SPEC,
4478        crate::common::W,
4479    > {
4480        crate::common::RegisterField::<
4481            30,
4482            0x1,
4483            1,
4484            0,
4485            pcntr3::Porr14,
4486            pcntr3::Porr14,
4487            Pcntr3_SPEC,
4488            crate::common::W,
4489        >::from_register(self, 0)
4490    }
4491
4492    #[doc = "Pmn Output Reset"]
4493    #[inline(always)]
4494    pub fn porr15(
4495        self,
4496    ) -> crate::common::RegisterField<
4497        31,
4498        0x1,
4499        1,
4500        0,
4501        pcntr3::Porr15,
4502        pcntr3::Porr15,
4503        Pcntr3_SPEC,
4504        crate::common::W,
4505    > {
4506        crate::common::RegisterField::<
4507            31,
4508            0x1,
4509            1,
4510            0,
4511            pcntr3::Porr15,
4512            pcntr3::Porr15,
4513            Pcntr3_SPEC,
4514            crate::common::W,
4515        >::from_register(self, 0)
4516    }
4517}
4518impl ::core::default::Default for Pcntr3 {
4519    #[inline(always)]
4520    fn default() -> Pcntr3 {
4521        <crate::RegValueT<Pcntr3_SPEC> as RegisterValue<_>>::new(0)
4522    }
4523}
4524pub mod pcntr3 {
4525
4526    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4527    pub struct Posr00_SPEC;
4528    pub type Posr00 = crate::EnumBitfieldStruct<u8, Posr00_SPEC>;
4529    impl Posr00 {
4530        #[doc = "No effect on output"]
4531        pub const _0: Self = Self::new(0);
4532
4533        #[doc = "High output"]
4534        pub const _1: Self = Self::new(1);
4535    }
4536    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4537    pub struct Posr01_SPEC;
4538    pub type Posr01 = crate::EnumBitfieldStruct<u8, Posr01_SPEC>;
4539    impl Posr01 {
4540        #[doc = "No effect on output"]
4541        pub const _0: Self = Self::new(0);
4542
4543        #[doc = "High output"]
4544        pub const _1: Self = Self::new(1);
4545    }
4546    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4547    pub struct Posr02_SPEC;
4548    pub type Posr02 = crate::EnumBitfieldStruct<u8, Posr02_SPEC>;
4549    impl Posr02 {
4550        #[doc = "No effect on output"]
4551        pub const _0: Self = Self::new(0);
4552
4553        #[doc = "High output"]
4554        pub const _1: Self = Self::new(1);
4555    }
4556    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4557    pub struct Posr03_SPEC;
4558    pub type Posr03 = crate::EnumBitfieldStruct<u8, Posr03_SPEC>;
4559    impl Posr03 {
4560        #[doc = "No effect on output"]
4561        pub const _0: Self = Self::new(0);
4562
4563        #[doc = "High output"]
4564        pub const _1: Self = Self::new(1);
4565    }
4566    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4567    pub struct Posr04_SPEC;
4568    pub type Posr04 = crate::EnumBitfieldStruct<u8, Posr04_SPEC>;
4569    impl Posr04 {
4570        #[doc = "No effect on output"]
4571        pub const _0: Self = Self::new(0);
4572
4573        #[doc = "High output"]
4574        pub const _1: Self = Self::new(1);
4575    }
4576    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4577    pub struct Posr05_SPEC;
4578    pub type Posr05 = crate::EnumBitfieldStruct<u8, Posr05_SPEC>;
4579    impl Posr05 {
4580        #[doc = "No effect on output"]
4581        pub const _0: Self = Self::new(0);
4582
4583        #[doc = "High output"]
4584        pub const _1: Self = Self::new(1);
4585    }
4586    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4587    pub struct Posr06_SPEC;
4588    pub type Posr06 = crate::EnumBitfieldStruct<u8, Posr06_SPEC>;
4589    impl Posr06 {
4590        #[doc = "No effect on output"]
4591        pub const _0: Self = Self::new(0);
4592
4593        #[doc = "High output"]
4594        pub const _1: Self = Self::new(1);
4595    }
4596    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4597    pub struct Posr07_SPEC;
4598    pub type Posr07 = crate::EnumBitfieldStruct<u8, Posr07_SPEC>;
4599    impl Posr07 {
4600        #[doc = "No effect on output"]
4601        pub const _0: Self = Self::new(0);
4602
4603        #[doc = "High output"]
4604        pub const _1: Self = Self::new(1);
4605    }
4606    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4607    pub struct Posr08_SPEC;
4608    pub type Posr08 = crate::EnumBitfieldStruct<u8, Posr08_SPEC>;
4609    impl Posr08 {
4610        #[doc = "No effect on output"]
4611        pub const _0: Self = Self::new(0);
4612
4613        #[doc = "High output"]
4614        pub const _1: Self = Self::new(1);
4615    }
4616    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4617    pub struct Posr09_SPEC;
4618    pub type Posr09 = crate::EnumBitfieldStruct<u8, Posr09_SPEC>;
4619    impl Posr09 {
4620        #[doc = "No effect on output"]
4621        pub const _0: Self = Self::new(0);
4622
4623        #[doc = "High output"]
4624        pub const _1: Self = Self::new(1);
4625    }
4626    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4627    pub struct Posr10_SPEC;
4628    pub type Posr10 = crate::EnumBitfieldStruct<u8, Posr10_SPEC>;
4629    impl Posr10 {
4630        #[doc = "No effect on output"]
4631        pub const _0: Self = Self::new(0);
4632
4633        #[doc = "High output"]
4634        pub const _1: Self = Self::new(1);
4635    }
4636    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4637    pub struct Posr11_SPEC;
4638    pub type Posr11 = crate::EnumBitfieldStruct<u8, Posr11_SPEC>;
4639    impl Posr11 {
4640        #[doc = "No effect on output"]
4641        pub const _0: Self = Self::new(0);
4642
4643        #[doc = "High output"]
4644        pub const _1: Self = Self::new(1);
4645    }
4646    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4647    pub struct Posr12_SPEC;
4648    pub type Posr12 = crate::EnumBitfieldStruct<u8, Posr12_SPEC>;
4649    impl Posr12 {
4650        #[doc = "No effect on output"]
4651        pub const _0: Self = Self::new(0);
4652
4653        #[doc = "High output"]
4654        pub const _1: Self = Self::new(1);
4655    }
4656    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4657    pub struct Posr13_SPEC;
4658    pub type Posr13 = crate::EnumBitfieldStruct<u8, Posr13_SPEC>;
4659    impl Posr13 {
4660        #[doc = "No effect on output"]
4661        pub const _0: Self = Self::new(0);
4662
4663        #[doc = "High output"]
4664        pub const _1: Self = Self::new(1);
4665    }
4666    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4667    pub struct Posr14_SPEC;
4668    pub type Posr14 = crate::EnumBitfieldStruct<u8, Posr14_SPEC>;
4669    impl Posr14 {
4670        #[doc = "No effect on output"]
4671        pub const _0: Self = Self::new(0);
4672
4673        #[doc = "High output"]
4674        pub const _1: Self = Self::new(1);
4675    }
4676    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4677    pub struct Posr15_SPEC;
4678    pub type Posr15 = crate::EnumBitfieldStruct<u8, Posr15_SPEC>;
4679    impl Posr15 {
4680        #[doc = "No effect on output"]
4681        pub const _0: Self = Self::new(0);
4682
4683        #[doc = "High output"]
4684        pub const _1: Self = Self::new(1);
4685    }
4686    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4687    pub struct Porr00_SPEC;
4688    pub type Porr00 = crate::EnumBitfieldStruct<u8, Porr00_SPEC>;
4689    impl Porr00 {
4690        #[doc = "No effect on output"]
4691        pub const _0: Self = Self::new(0);
4692
4693        #[doc = "Low output"]
4694        pub const _1: Self = Self::new(1);
4695    }
4696    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4697    pub struct Porr01_SPEC;
4698    pub type Porr01 = crate::EnumBitfieldStruct<u8, Porr01_SPEC>;
4699    impl Porr01 {
4700        #[doc = "No effect on output"]
4701        pub const _0: Self = Self::new(0);
4702
4703        #[doc = "Low output"]
4704        pub const _1: Self = Self::new(1);
4705    }
4706    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4707    pub struct Porr02_SPEC;
4708    pub type Porr02 = crate::EnumBitfieldStruct<u8, Porr02_SPEC>;
4709    impl Porr02 {
4710        #[doc = "No effect on output"]
4711        pub const _0: Self = Self::new(0);
4712
4713        #[doc = "Low output"]
4714        pub const _1: Self = Self::new(1);
4715    }
4716    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4717    pub struct Porr03_SPEC;
4718    pub type Porr03 = crate::EnumBitfieldStruct<u8, Porr03_SPEC>;
4719    impl Porr03 {
4720        #[doc = "No effect on output"]
4721        pub const _0: Self = Self::new(0);
4722
4723        #[doc = "Low output"]
4724        pub const _1: Self = Self::new(1);
4725    }
4726    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4727    pub struct Porr04_SPEC;
4728    pub type Porr04 = crate::EnumBitfieldStruct<u8, Porr04_SPEC>;
4729    impl Porr04 {
4730        #[doc = "No effect on output"]
4731        pub const _0: Self = Self::new(0);
4732
4733        #[doc = "Low output"]
4734        pub const _1: Self = Self::new(1);
4735    }
4736    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4737    pub struct Porr05_SPEC;
4738    pub type Porr05 = crate::EnumBitfieldStruct<u8, Porr05_SPEC>;
4739    impl Porr05 {
4740        #[doc = "No effect on output"]
4741        pub const _0: Self = Self::new(0);
4742
4743        #[doc = "Low output"]
4744        pub const _1: Self = Self::new(1);
4745    }
4746    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4747    pub struct Porr06_SPEC;
4748    pub type Porr06 = crate::EnumBitfieldStruct<u8, Porr06_SPEC>;
4749    impl Porr06 {
4750        #[doc = "No effect on output"]
4751        pub const _0: Self = Self::new(0);
4752
4753        #[doc = "Low output"]
4754        pub const _1: Self = Self::new(1);
4755    }
4756    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4757    pub struct Porr07_SPEC;
4758    pub type Porr07 = crate::EnumBitfieldStruct<u8, Porr07_SPEC>;
4759    impl Porr07 {
4760        #[doc = "No effect on output"]
4761        pub const _0: Self = Self::new(0);
4762
4763        #[doc = "Low output"]
4764        pub const _1: Self = Self::new(1);
4765    }
4766    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4767    pub struct Porr08_SPEC;
4768    pub type Porr08 = crate::EnumBitfieldStruct<u8, Porr08_SPEC>;
4769    impl Porr08 {
4770        #[doc = "No effect on output"]
4771        pub const _0: Self = Self::new(0);
4772
4773        #[doc = "Low output"]
4774        pub const _1: Self = Self::new(1);
4775    }
4776    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4777    pub struct Porr09_SPEC;
4778    pub type Porr09 = crate::EnumBitfieldStruct<u8, Porr09_SPEC>;
4779    impl Porr09 {
4780        #[doc = "No effect on output"]
4781        pub const _0: Self = Self::new(0);
4782
4783        #[doc = "Low output"]
4784        pub const _1: Self = Self::new(1);
4785    }
4786    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4787    pub struct Porr10_SPEC;
4788    pub type Porr10 = crate::EnumBitfieldStruct<u8, Porr10_SPEC>;
4789    impl Porr10 {
4790        #[doc = "No effect on output"]
4791        pub const _0: Self = Self::new(0);
4792
4793        #[doc = "Low output"]
4794        pub const _1: Self = Self::new(1);
4795    }
4796    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4797    pub struct Porr11_SPEC;
4798    pub type Porr11 = crate::EnumBitfieldStruct<u8, Porr11_SPEC>;
4799    impl Porr11 {
4800        #[doc = "No effect on output"]
4801        pub const _0: Self = Self::new(0);
4802
4803        #[doc = "Low output"]
4804        pub const _1: Self = Self::new(1);
4805    }
4806    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4807    pub struct Porr12_SPEC;
4808    pub type Porr12 = crate::EnumBitfieldStruct<u8, Porr12_SPEC>;
4809    impl Porr12 {
4810        #[doc = "No effect on output"]
4811        pub const _0: Self = Self::new(0);
4812
4813        #[doc = "Low output"]
4814        pub const _1: Self = Self::new(1);
4815    }
4816    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4817    pub struct Porr13_SPEC;
4818    pub type Porr13 = crate::EnumBitfieldStruct<u8, Porr13_SPEC>;
4819    impl Porr13 {
4820        #[doc = "No effect on output"]
4821        pub const _0: Self = Self::new(0);
4822
4823        #[doc = "Low output"]
4824        pub const _1: Self = Self::new(1);
4825    }
4826    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4827    pub struct Porr14_SPEC;
4828    pub type Porr14 = crate::EnumBitfieldStruct<u8, Porr14_SPEC>;
4829    impl Porr14 {
4830        #[doc = "No effect on output"]
4831        pub const _0: Self = Self::new(0);
4832
4833        #[doc = "Low output"]
4834        pub const _1: Self = Self::new(1);
4835    }
4836    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4837    pub struct Porr15_SPEC;
4838    pub type Porr15 = crate::EnumBitfieldStruct<u8, Porr15_SPEC>;
4839    impl Porr15 {
4840        #[doc = "No effect on output"]
4841        pub const _0: Self = Self::new(0);
4842
4843        #[doc = "Low output"]
4844        pub const _1: Self = Self::new(1);
4845    }
4846}
4847#[doc(hidden)]
4848#[derive(Copy, Clone, Eq, PartialEq)]
4849pub struct Porr_SPEC;
4850impl crate::sealed::RegSpec for Porr_SPEC {
4851    type DataType = u16;
4852}
4853
4854#[doc = "Port Control Register 3"]
4855pub type Porr = crate::RegValueT<Porr_SPEC>;
4856
4857impl Porr {
4858    #[doc = "Pmn Output Reset"]
4859    #[inline(always)]
4860    pub fn porr00(
4861        self,
4862    ) -> crate::common::RegisterField<
4863        0,
4864        0x1,
4865        1,
4866        0,
4867        porr::Porr00,
4868        porr::Porr00,
4869        Porr_SPEC,
4870        crate::common::W,
4871    > {
4872        crate::common::RegisterField::<
4873            0,
4874            0x1,
4875            1,
4876            0,
4877            porr::Porr00,
4878            porr::Porr00,
4879            Porr_SPEC,
4880            crate::common::W,
4881        >::from_register(self, 0)
4882    }
4883
4884    #[doc = "Pmn Output Reset"]
4885    #[inline(always)]
4886    pub fn porr01(
4887        self,
4888    ) -> crate::common::RegisterField<
4889        1,
4890        0x1,
4891        1,
4892        0,
4893        porr::Porr01,
4894        porr::Porr01,
4895        Porr_SPEC,
4896        crate::common::W,
4897    > {
4898        crate::common::RegisterField::<
4899            1,
4900            0x1,
4901            1,
4902            0,
4903            porr::Porr01,
4904            porr::Porr01,
4905            Porr_SPEC,
4906            crate::common::W,
4907        >::from_register(self, 0)
4908    }
4909
4910    #[doc = "Pmn Output Reset"]
4911    #[inline(always)]
4912    pub fn porr02(
4913        self,
4914    ) -> crate::common::RegisterField<
4915        2,
4916        0x1,
4917        1,
4918        0,
4919        porr::Porr02,
4920        porr::Porr02,
4921        Porr_SPEC,
4922        crate::common::W,
4923    > {
4924        crate::common::RegisterField::<
4925            2,
4926            0x1,
4927            1,
4928            0,
4929            porr::Porr02,
4930            porr::Porr02,
4931            Porr_SPEC,
4932            crate::common::W,
4933        >::from_register(self, 0)
4934    }
4935
4936    #[doc = "Pmn Output Reset"]
4937    #[inline(always)]
4938    pub fn porr03(
4939        self,
4940    ) -> crate::common::RegisterField<
4941        3,
4942        0x1,
4943        1,
4944        0,
4945        porr::Porr03,
4946        porr::Porr03,
4947        Porr_SPEC,
4948        crate::common::W,
4949    > {
4950        crate::common::RegisterField::<
4951            3,
4952            0x1,
4953            1,
4954            0,
4955            porr::Porr03,
4956            porr::Porr03,
4957            Porr_SPEC,
4958            crate::common::W,
4959        >::from_register(self, 0)
4960    }
4961
4962    #[doc = "Pmn Output Reset"]
4963    #[inline(always)]
4964    pub fn porr04(
4965        self,
4966    ) -> crate::common::RegisterField<
4967        4,
4968        0x1,
4969        1,
4970        0,
4971        porr::Porr04,
4972        porr::Porr04,
4973        Porr_SPEC,
4974        crate::common::W,
4975    > {
4976        crate::common::RegisterField::<
4977            4,
4978            0x1,
4979            1,
4980            0,
4981            porr::Porr04,
4982            porr::Porr04,
4983            Porr_SPEC,
4984            crate::common::W,
4985        >::from_register(self, 0)
4986    }
4987
4988    #[doc = "Pmn Output Reset"]
4989    #[inline(always)]
4990    pub fn porr05(
4991        self,
4992    ) -> crate::common::RegisterField<
4993        5,
4994        0x1,
4995        1,
4996        0,
4997        porr::Porr05,
4998        porr::Porr05,
4999        Porr_SPEC,
5000        crate::common::W,
5001    > {
5002        crate::common::RegisterField::<
5003            5,
5004            0x1,
5005            1,
5006            0,
5007            porr::Porr05,
5008            porr::Porr05,
5009            Porr_SPEC,
5010            crate::common::W,
5011        >::from_register(self, 0)
5012    }
5013
5014    #[doc = "Pmn Output Reset"]
5015    #[inline(always)]
5016    pub fn porr06(
5017        self,
5018    ) -> crate::common::RegisterField<
5019        6,
5020        0x1,
5021        1,
5022        0,
5023        porr::Porr06,
5024        porr::Porr06,
5025        Porr_SPEC,
5026        crate::common::W,
5027    > {
5028        crate::common::RegisterField::<
5029            6,
5030            0x1,
5031            1,
5032            0,
5033            porr::Porr06,
5034            porr::Porr06,
5035            Porr_SPEC,
5036            crate::common::W,
5037        >::from_register(self, 0)
5038    }
5039
5040    #[doc = "Pmn Output Reset"]
5041    #[inline(always)]
5042    pub fn porr07(
5043        self,
5044    ) -> crate::common::RegisterField<
5045        7,
5046        0x1,
5047        1,
5048        0,
5049        porr::Porr07,
5050        porr::Porr07,
5051        Porr_SPEC,
5052        crate::common::W,
5053    > {
5054        crate::common::RegisterField::<
5055            7,
5056            0x1,
5057            1,
5058            0,
5059            porr::Porr07,
5060            porr::Porr07,
5061            Porr_SPEC,
5062            crate::common::W,
5063        >::from_register(self, 0)
5064    }
5065
5066    #[doc = "Pmn Output Reset"]
5067    #[inline(always)]
5068    pub fn porr08(
5069        self,
5070    ) -> crate::common::RegisterField<
5071        8,
5072        0x1,
5073        1,
5074        0,
5075        porr::Porr08,
5076        porr::Porr08,
5077        Porr_SPEC,
5078        crate::common::W,
5079    > {
5080        crate::common::RegisterField::<
5081            8,
5082            0x1,
5083            1,
5084            0,
5085            porr::Porr08,
5086            porr::Porr08,
5087            Porr_SPEC,
5088            crate::common::W,
5089        >::from_register(self, 0)
5090    }
5091
5092    #[doc = "Pmn Output Reset"]
5093    #[inline(always)]
5094    pub fn porr09(
5095        self,
5096    ) -> crate::common::RegisterField<
5097        9,
5098        0x1,
5099        1,
5100        0,
5101        porr::Porr09,
5102        porr::Porr09,
5103        Porr_SPEC,
5104        crate::common::W,
5105    > {
5106        crate::common::RegisterField::<
5107            9,
5108            0x1,
5109            1,
5110            0,
5111            porr::Porr09,
5112            porr::Porr09,
5113            Porr_SPEC,
5114            crate::common::W,
5115        >::from_register(self, 0)
5116    }
5117
5118    #[doc = "Pmn Output Reset"]
5119    #[inline(always)]
5120    pub fn porr10(
5121        self,
5122    ) -> crate::common::RegisterField<
5123        10,
5124        0x1,
5125        1,
5126        0,
5127        porr::Porr10,
5128        porr::Porr10,
5129        Porr_SPEC,
5130        crate::common::W,
5131    > {
5132        crate::common::RegisterField::<
5133            10,
5134            0x1,
5135            1,
5136            0,
5137            porr::Porr10,
5138            porr::Porr10,
5139            Porr_SPEC,
5140            crate::common::W,
5141        >::from_register(self, 0)
5142    }
5143
5144    #[doc = "Pmn Output Reset"]
5145    #[inline(always)]
5146    pub fn porr11(
5147        self,
5148    ) -> crate::common::RegisterField<
5149        11,
5150        0x1,
5151        1,
5152        0,
5153        porr::Porr11,
5154        porr::Porr11,
5155        Porr_SPEC,
5156        crate::common::W,
5157    > {
5158        crate::common::RegisterField::<
5159            11,
5160            0x1,
5161            1,
5162            0,
5163            porr::Porr11,
5164            porr::Porr11,
5165            Porr_SPEC,
5166            crate::common::W,
5167        >::from_register(self, 0)
5168    }
5169
5170    #[doc = "Pmn Output Reset"]
5171    #[inline(always)]
5172    pub fn porr12(
5173        self,
5174    ) -> crate::common::RegisterField<
5175        12,
5176        0x1,
5177        1,
5178        0,
5179        porr::Porr12,
5180        porr::Porr12,
5181        Porr_SPEC,
5182        crate::common::W,
5183    > {
5184        crate::common::RegisterField::<
5185            12,
5186            0x1,
5187            1,
5188            0,
5189            porr::Porr12,
5190            porr::Porr12,
5191            Porr_SPEC,
5192            crate::common::W,
5193        >::from_register(self, 0)
5194    }
5195
5196    #[doc = "Pmn Output Reset"]
5197    #[inline(always)]
5198    pub fn porr13(
5199        self,
5200    ) -> crate::common::RegisterField<
5201        13,
5202        0x1,
5203        1,
5204        0,
5205        porr::Porr13,
5206        porr::Porr13,
5207        Porr_SPEC,
5208        crate::common::W,
5209    > {
5210        crate::common::RegisterField::<
5211            13,
5212            0x1,
5213            1,
5214            0,
5215            porr::Porr13,
5216            porr::Porr13,
5217            Porr_SPEC,
5218            crate::common::W,
5219        >::from_register(self, 0)
5220    }
5221
5222    #[doc = "Pmn Output Reset"]
5223    #[inline(always)]
5224    pub fn porr14(
5225        self,
5226    ) -> crate::common::RegisterField<
5227        14,
5228        0x1,
5229        1,
5230        0,
5231        porr::Porr14,
5232        porr::Porr14,
5233        Porr_SPEC,
5234        crate::common::W,
5235    > {
5236        crate::common::RegisterField::<
5237            14,
5238            0x1,
5239            1,
5240            0,
5241            porr::Porr14,
5242            porr::Porr14,
5243            Porr_SPEC,
5244            crate::common::W,
5245        >::from_register(self, 0)
5246    }
5247
5248    #[doc = "Pmn Output Reset"]
5249    #[inline(always)]
5250    pub fn porr15(
5251        self,
5252    ) -> crate::common::RegisterField<
5253        15,
5254        0x1,
5255        1,
5256        0,
5257        porr::Porr15,
5258        porr::Porr15,
5259        Porr_SPEC,
5260        crate::common::W,
5261    > {
5262        crate::common::RegisterField::<
5263            15,
5264            0x1,
5265            1,
5266            0,
5267            porr::Porr15,
5268            porr::Porr15,
5269            Porr_SPEC,
5270            crate::common::W,
5271        >::from_register(self, 0)
5272    }
5273}
5274impl ::core::default::Default for Porr {
5275    #[inline(always)]
5276    fn default() -> Porr {
5277        <crate::RegValueT<Porr_SPEC> as RegisterValue<_>>::new(0)
5278    }
5279}
5280pub mod porr {
5281
5282    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5283    pub struct Porr00_SPEC;
5284    pub type Porr00 = crate::EnumBitfieldStruct<u8, Porr00_SPEC>;
5285    impl Porr00 {
5286        #[doc = "No effect on output"]
5287        pub const _0: Self = Self::new(0);
5288
5289        #[doc = "Low output"]
5290        pub const _1: Self = Self::new(1);
5291    }
5292    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5293    pub struct Porr01_SPEC;
5294    pub type Porr01 = crate::EnumBitfieldStruct<u8, Porr01_SPEC>;
5295    impl Porr01 {
5296        #[doc = "No effect on output"]
5297        pub const _0: Self = Self::new(0);
5298
5299        #[doc = "Low output"]
5300        pub const _1: Self = Self::new(1);
5301    }
5302    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5303    pub struct Porr02_SPEC;
5304    pub type Porr02 = crate::EnumBitfieldStruct<u8, Porr02_SPEC>;
5305    impl Porr02 {
5306        #[doc = "No effect on output"]
5307        pub const _0: Self = Self::new(0);
5308
5309        #[doc = "Low output"]
5310        pub const _1: Self = Self::new(1);
5311    }
5312    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5313    pub struct Porr03_SPEC;
5314    pub type Porr03 = crate::EnumBitfieldStruct<u8, Porr03_SPEC>;
5315    impl Porr03 {
5316        #[doc = "No effect on output"]
5317        pub const _0: Self = Self::new(0);
5318
5319        #[doc = "Low output"]
5320        pub const _1: Self = Self::new(1);
5321    }
5322    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5323    pub struct Porr04_SPEC;
5324    pub type Porr04 = crate::EnumBitfieldStruct<u8, Porr04_SPEC>;
5325    impl Porr04 {
5326        #[doc = "No effect on output"]
5327        pub const _0: Self = Self::new(0);
5328
5329        #[doc = "Low output"]
5330        pub const _1: Self = Self::new(1);
5331    }
5332    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5333    pub struct Porr05_SPEC;
5334    pub type Porr05 = crate::EnumBitfieldStruct<u8, Porr05_SPEC>;
5335    impl Porr05 {
5336        #[doc = "No effect on output"]
5337        pub const _0: Self = Self::new(0);
5338
5339        #[doc = "Low output"]
5340        pub const _1: Self = Self::new(1);
5341    }
5342    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5343    pub struct Porr06_SPEC;
5344    pub type Porr06 = crate::EnumBitfieldStruct<u8, Porr06_SPEC>;
5345    impl Porr06 {
5346        #[doc = "No effect on output"]
5347        pub const _0: Self = Self::new(0);
5348
5349        #[doc = "Low output"]
5350        pub const _1: Self = Self::new(1);
5351    }
5352    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5353    pub struct Porr07_SPEC;
5354    pub type Porr07 = crate::EnumBitfieldStruct<u8, Porr07_SPEC>;
5355    impl Porr07 {
5356        #[doc = "No effect on output"]
5357        pub const _0: Self = Self::new(0);
5358
5359        #[doc = "Low output"]
5360        pub const _1: Self = Self::new(1);
5361    }
5362    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5363    pub struct Porr08_SPEC;
5364    pub type Porr08 = crate::EnumBitfieldStruct<u8, Porr08_SPEC>;
5365    impl Porr08 {
5366        #[doc = "No effect on output"]
5367        pub const _0: Self = Self::new(0);
5368
5369        #[doc = "Low output"]
5370        pub const _1: Self = Self::new(1);
5371    }
5372    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5373    pub struct Porr09_SPEC;
5374    pub type Porr09 = crate::EnumBitfieldStruct<u8, Porr09_SPEC>;
5375    impl Porr09 {
5376        #[doc = "No effect on output"]
5377        pub const _0: Self = Self::new(0);
5378
5379        #[doc = "Low output"]
5380        pub const _1: Self = Self::new(1);
5381    }
5382    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5383    pub struct Porr10_SPEC;
5384    pub type Porr10 = crate::EnumBitfieldStruct<u8, Porr10_SPEC>;
5385    impl Porr10 {
5386        #[doc = "No effect on output"]
5387        pub const _0: Self = Self::new(0);
5388
5389        #[doc = "Low output"]
5390        pub const _1: Self = Self::new(1);
5391    }
5392    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5393    pub struct Porr11_SPEC;
5394    pub type Porr11 = crate::EnumBitfieldStruct<u8, Porr11_SPEC>;
5395    impl Porr11 {
5396        #[doc = "No effect on output"]
5397        pub const _0: Self = Self::new(0);
5398
5399        #[doc = "Low output"]
5400        pub const _1: Self = Self::new(1);
5401    }
5402    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5403    pub struct Porr12_SPEC;
5404    pub type Porr12 = crate::EnumBitfieldStruct<u8, Porr12_SPEC>;
5405    impl Porr12 {
5406        #[doc = "No effect on output"]
5407        pub const _0: Self = Self::new(0);
5408
5409        #[doc = "Low output"]
5410        pub const _1: Self = Self::new(1);
5411    }
5412    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5413    pub struct Porr13_SPEC;
5414    pub type Porr13 = crate::EnumBitfieldStruct<u8, Porr13_SPEC>;
5415    impl Porr13 {
5416        #[doc = "No effect on output"]
5417        pub const _0: Self = Self::new(0);
5418
5419        #[doc = "Low output"]
5420        pub const _1: Self = Self::new(1);
5421    }
5422    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5423    pub struct Porr14_SPEC;
5424    pub type Porr14 = crate::EnumBitfieldStruct<u8, Porr14_SPEC>;
5425    impl Porr14 {
5426        #[doc = "No effect on output"]
5427        pub const _0: Self = Self::new(0);
5428
5429        #[doc = "Low output"]
5430        pub const _1: Self = Self::new(1);
5431    }
5432    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5433    pub struct Porr15_SPEC;
5434    pub type Porr15 = crate::EnumBitfieldStruct<u8, Porr15_SPEC>;
5435    impl Porr15 {
5436        #[doc = "No effect on output"]
5437        pub const _0: Self = Self::new(0);
5438
5439        #[doc = "Low output"]
5440        pub const _1: Self = Self::new(1);
5441    }
5442}
5443#[doc(hidden)]
5444#[derive(Copy, Clone, Eq, PartialEq)]
5445pub struct Posr_SPEC;
5446impl crate::sealed::RegSpec for Posr_SPEC {
5447    type DataType = u16;
5448}
5449
5450#[doc = "Port Control Register 3"]
5451pub type Posr = crate::RegValueT<Posr_SPEC>;
5452
5453impl Posr {
5454    #[doc = "Pmn Output Set"]
5455    #[inline(always)]
5456    pub fn posr00(
5457        self,
5458    ) -> crate::common::RegisterField<
5459        0,
5460        0x1,
5461        1,
5462        0,
5463        posr::Posr00,
5464        posr::Posr00,
5465        Posr_SPEC,
5466        crate::common::W,
5467    > {
5468        crate::common::RegisterField::<
5469            0,
5470            0x1,
5471            1,
5472            0,
5473            posr::Posr00,
5474            posr::Posr00,
5475            Posr_SPEC,
5476            crate::common::W,
5477        >::from_register(self, 0)
5478    }
5479
5480    #[doc = "Pmn Output Set"]
5481    #[inline(always)]
5482    pub fn posr01(
5483        self,
5484    ) -> crate::common::RegisterField<
5485        1,
5486        0x1,
5487        1,
5488        0,
5489        posr::Posr01,
5490        posr::Posr01,
5491        Posr_SPEC,
5492        crate::common::W,
5493    > {
5494        crate::common::RegisterField::<
5495            1,
5496            0x1,
5497            1,
5498            0,
5499            posr::Posr01,
5500            posr::Posr01,
5501            Posr_SPEC,
5502            crate::common::W,
5503        >::from_register(self, 0)
5504    }
5505
5506    #[doc = "Pmn Output Set"]
5507    #[inline(always)]
5508    pub fn posr02(
5509        self,
5510    ) -> crate::common::RegisterField<
5511        2,
5512        0x1,
5513        1,
5514        0,
5515        posr::Posr02,
5516        posr::Posr02,
5517        Posr_SPEC,
5518        crate::common::W,
5519    > {
5520        crate::common::RegisterField::<
5521            2,
5522            0x1,
5523            1,
5524            0,
5525            posr::Posr02,
5526            posr::Posr02,
5527            Posr_SPEC,
5528            crate::common::W,
5529        >::from_register(self, 0)
5530    }
5531
5532    #[doc = "Pmn Output Set"]
5533    #[inline(always)]
5534    pub fn posr03(
5535        self,
5536    ) -> crate::common::RegisterField<
5537        3,
5538        0x1,
5539        1,
5540        0,
5541        posr::Posr03,
5542        posr::Posr03,
5543        Posr_SPEC,
5544        crate::common::W,
5545    > {
5546        crate::common::RegisterField::<
5547            3,
5548            0x1,
5549            1,
5550            0,
5551            posr::Posr03,
5552            posr::Posr03,
5553            Posr_SPEC,
5554            crate::common::W,
5555        >::from_register(self, 0)
5556    }
5557
5558    #[doc = "Pmn Output Set"]
5559    #[inline(always)]
5560    pub fn posr04(
5561        self,
5562    ) -> crate::common::RegisterField<
5563        4,
5564        0x1,
5565        1,
5566        0,
5567        posr::Posr04,
5568        posr::Posr04,
5569        Posr_SPEC,
5570        crate::common::W,
5571    > {
5572        crate::common::RegisterField::<
5573            4,
5574            0x1,
5575            1,
5576            0,
5577            posr::Posr04,
5578            posr::Posr04,
5579            Posr_SPEC,
5580            crate::common::W,
5581        >::from_register(self, 0)
5582    }
5583
5584    #[doc = "Pmn Output Set"]
5585    #[inline(always)]
5586    pub fn posr05(
5587        self,
5588    ) -> crate::common::RegisterField<
5589        5,
5590        0x1,
5591        1,
5592        0,
5593        posr::Posr05,
5594        posr::Posr05,
5595        Posr_SPEC,
5596        crate::common::W,
5597    > {
5598        crate::common::RegisterField::<
5599            5,
5600            0x1,
5601            1,
5602            0,
5603            posr::Posr05,
5604            posr::Posr05,
5605            Posr_SPEC,
5606            crate::common::W,
5607        >::from_register(self, 0)
5608    }
5609
5610    #[doc = "Pmn Output Set"]
5611    #[inline(always)]
5612    pub fn posr06(
5613        self,
5614    ) -> crate::common::RegisterField<
5615        6,
5616        0x1,
5617        1,
5618        0,
5619        posr::Posr06,
5620        posr::Posr06,
5621        Posr_SPEC,
5622        crate::common::W,
5623    > {
5624        crate::common::RegisterField::<
5625            6,
5626            0x1,
5627            1,
5628            0,
5629            posr::Posr06,
5630            posr::Posr06,
5631            Posr_SPEC,
5632            crate::common::W,
5633        >::from_register(self, 0)
5634    }
5635
5636    #[doc = "Pmn Output Set"]
5637    #[inline(always)]
5638    pub fn posr07(
5639        self,
5640    ) -> crate::common::RegisterField<
5641        7,
5642        0x1,
5643        1,
5644        0,
5645        posr::Posr07,
5646        posr::Posr07,
5647        Posr_SPEC,
5648        crate::common::W,
5649    > {
5650        crate::common::RegisterField::<
5651            7,
5652            0x1,
5653            1,
5654            0,
5655            posr::Posr07,
5656            posr::Posr07,
5657            Posr_SPEC,
5658            crate::common::W,
5659        >::from_register(self, 0)
5660    }
5661
5662    #[doc = "Pmn Output Set"]
5663    #[inline(always)]
5664    pub fn posr08(
5665        self,
5666    ) -> crate::common::RegisterField<
5667        8,
5668        0x1,
5669        1,
5670        0,
5671        posr::Posr08,
5672        posr::Posr08,
5673        Posr_SPEC,
5674        crate::common::W,
5675    > {
5676        crate::common::RegisterField::<
5677            8,
5678            0x1,
5679            1,
5680            0,
5681            posr::Posr08,
5682            posr::Posr08,
5683            Posr_SPEC,
5684            crate::common::W,
5685        >::from_register(self, 0)
5686    }
5687
5688    #[doc = "Pmn Output Set"]
5689    #[inline(always)]
5690    pub fn posr09(
5691        self,
5692    ) -> crate::common::RegisterField<
5693        9,
5694        0x1,
5695        1,
5696        0,
5697        posr::Posr09,
5698        posr::Posr09,
5699        Posr_SPEC,
5700        crate::common::W,
5701    > {
5702        crate::common::RegisterField::<
5703            9,
5704            0x1,
5705            1,
5706            0,
5707            posr::Posr09,
5708            posr::Posr09,
5709            Posr_SPEC,
5710            crate::common::W,
5711        >::from_register(self, 0)
5712    }
5713
5714    #[doc = "Pmn Output Set"]
5715    #[inline(always)]
5716    pub fn posr10(
5717        self,
5718    ) -> crate::common::RegisterField<
5719        10,
5720        0x1,
5721        1,
5722        0,
5723        posr::Posr10,
5724        posr::Posr10,
5725        Posr_SPEC,
5726        crate::common::W,
5727    > {
5728        crate::common::RegisterField::<
5729            10,
5730            0x1,
5731            1,
5732            0,
5733            posr::Posr10,
5734            posr::Posr10,
5735            Posr_SPEC,
5736            crate::common::W,
5737        >::from_register(self, 0)
5738    }
5739
5740    #[doc = "Pmn Output Set"]
5741    #[inline(always)]
5742    pub fn posr11(
5743        self,
5744    ) -> crate::common::RegisterField<
5745        11,
5746        0x1,
5747        1,
5748        0,
5749        posr::Posr11,
5750        posr::Posr11,
5751        Posr_SPEC,
5752        crate::common::W,
5753    > {
5754        crate::common::RegisterField::<
5755            11,
5756            0x1,
5757            1,
5758            0,
5759            posr::Posr11,
5760            posr::Posr11,
5761            Posr_SPEC,
5762            crate::common::W,
5763        >::from_register(self, 0)
5764    }
5765
5766    #[doc = "Pmn Output Set"]
5767    #[inline(always)]
5768    pub fn posr12(
5769        self,
5770    ) -> crate::common::RegisterField<
5771        12,
5772        0x1,
5773        1,
5774        0,
5775        posr::Posr12,
5776        posr::Posr12,
5777        Posr_SPEC,
5778        crate::common::W,
5779    > {
5780        crate::common::RegisterField::<
5781            12,
5782            0x1,
5783            1,
5784            0,
5785            posr::Posr12,
5786            posr::Posr12,
5787            Posr_SPEC,
5788            crate::common::W,
5789        >::from_register(self, 0)
5790    }
5791
5792    #[doc = "Pmn Output Set"]
5793    #[inline(always)]
5794    pub fn posr13(
5795        self,
5796    ) -> crate::common::RegisterField<
5797        13,
5798        0x1,
5799        1,
5800        0,
5801        posr::Posr13,
5802        posr::Posr13,
5803        Posr_SPEC,
5804        crate::common::W,
5805    > {
5806        crate::common::RegisterField::<
5807            13,
5808            0x1,
5809            1,
5810            0,
5811            posr::Posr13,
5812            posr::Posr13,
5813            Posr_SPEC,
5814            crate::common::W,
5815        >::from_register(self, 0)
5816    }
5817
5818    #[doc = "Pmn Output Set"]
5819    #[inline(always)]
5820    pub fn posr14(
5821        self,
5822    ) -> crate::common::RegisterField<
5823        14,
5824        0x1,
5825        1,
5826        0,
5827        posr::Posr14,
5828        posr::Posr14,
5829        Posr_SPEC,
5830        crate::common::W,
5831    > {
5832        crate::common::RegisterField::<
5833            14,
5834            0x1,
5835            1,
5836            0,
5837            posr::Posr14,
5838            posr::Posr14,
5839            Posr_SPEC,
5840            crate::common::W,
5841        >::from_register(self, 0)
5842    }
5843
5844    #[doc = "Pmn Output Set"]
5845    #[inline(always)]
5846    pub fn posr15(
5847        self,
5848    ) -> crate::common::RegisterField<
5849        15,
5850        0x1,
5851        1,
5852        0,
5853        posr::Posr15,
5854        posr::Posr15,
5855        Posr_SPEC,
5856        crate::common::W,
5857    > {
5858        crate::common::RegisterField::<
5859            15,
5860            0x1,
5861            1,
5862            0,
5863            posr::Posr15,
5864            posr::Posr15,
5865            Posr_SPEC,
5866            crate::common::W,
5867        >::from_register(self, 0)
5868    }
5869}
5870impl ::core::default::Default for Posr {
5871    #[inline(always)]
5872    fn default() -> Posr {
5873        <crate::RegValueT<Posr_SPEC> as RegisterValue<_>>::new(0)
5874    }
5875}
5876pub mod posr {
5877
5878    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5879    pub struct Posr00_SPEC;
5880    pub type Posr00 = crate::EnumBitfieldStruct<u8, Posr00_SPEC>;
5881    impl Posr00 {
5882        #[doc = "No effect on output"]
5883        pub const _0: Self = Self::new(0);
5884
5885        #[doc = "High output"]
5886        pub const _1: Self = Self::new(1);
5887    }
5888    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5889    pub struct Posr01_SPEC;
5890    pub type Posr01 = crate::EnumBitfieldStruct<u8, Posr01_SPEC>;
5891    impl Posr01 {
5892        #[doc = "No effect on output"]
5893        pub const _0: Self = Self::new(0);
5894
5895        #[doc = "High output"]
5896        pub const _1: Self = Self::new(1);
5897    }
5898    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5899    pub struct Posr02_SPEC;
5900    pub type Posr02 = crate::EnumBitfieldStruct<u8, Posr02_SPEC>;
5901    impl Posr02 {
5902        #[doc = "No effect on output"]
5903        pub const _0: Self = Self::new(0);
5904
5905        #[doc = "High output"]
5906        pub const _1: Self = Self::new(1);
5907    }
5908    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5909    pub struct Posr03_SPEC;
5910    pub type Posr03 = crate::EnumBitfieldStruct<u8, Posr03_SPEC>;
5911    impl Posr03 {
5912        #[doc = "No effect on output"]
5913        pub const _0: Self = Self::new(0);
5914
5915        #[doc = "High output"]
5916        pub const _1: Self = Self::new(1);
5917    }
5918    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5919    pub struct Posr04_SPEC;
5920    pub type Posr04 = crate::EnumBitfieldStruct<u8, Posr04_SPEC>;
5921    impl Posr04 {
5922        #[doc = "No effect on output"]
5923        pub const _0: Self = Self::new(0);
5924
5925        #[doc = "High output"]
5926        pub const _1: Self = Self::new(1);
5927    }
5928    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5929    pub struct Posr05_SPEC;
5930    pub type Posr05 = crate::EnumBitfieldStruct<u8, Posr05_SPEC>;
5931    impl Posr05 {
5932        #[doc = "No effect on output"]
5933        pub const _0: Self = Self::new(0);
5934
5935        #[doc = "High output"]
5936        pub const _1: Self = Self::new(1);
5937    }
5938    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5939    pub struct Posr06_SPEC;
5940    pub type Posr06 = crate::EnumBitfieldStruct<u8, Posr06_SPEC>;
5941    impl Posr06 {
5942        #[doc = "No effect on output"]
5943        pub const _0: Self = Self::new(0);
5944
5945        #[doc = "High output"]
5946        pub const _1: Self = Self::new(1);
5947    }
5948    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5949    pub struct Posr07_SPEC;
5950    pub type Posr07 = crate::EnumBitfieldStruct<u8, Posr07_SPEC>;
5951    impl Posr07 {
5952        #[doc = "No effect on output"]
5953        pub const _0: Self = Self::new(0);
5954
5955        #[doc = "High output"]
5956        pub const _1: Self = Self::new(1);
5957    }
5958    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5959    pub struct Posr08_SPEC;
5960    pub type Posr08 = crate::EnumBitfieldStruct<u8, Posr08_SPEC>;
5961    impl Posr08 {
5962        #[doc = "No effect on output"]
5963        pub const _0: Self = Self::new(0);
5964
5965        #[doc = "High output"]
5966        pub const _1: Self = Self::new(1);
5967    }
5968    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5969    pub struct Posr09_SPEC;
5970    pub type Posr09 = crate::EnumBitfieldStruct<u8, Posr09_SPEC>;
5971    impl Posr09 {
5972        #[doc = "No effect on output"]
5973        pub const _0: Self = Self::new(0);
5974
5975        #[doc = "High output"]
5976        pub const _1: Self = Self::new(1);
5977    }
5978    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5979    pub struct Posr10_SPEC;
5980    pub type Posr10 = crate::EnumBitfieldStruct<u8, Posr10_SPEC>;
5981    impl Posr10 {
5982        #[doc = "No effect on output"]
5983        pub const _0: Self = Self::new(0);
5984
5985        #[doc = "High output"]
5986        pub const _1: Self = Self::new(1);
5987    }
5988    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5989    pub struct Posr11_SPEC;
5990    pub type Posr11 = crate::EnumBitfieldStruct<u8, Posr11_SPEC>;
5991    impl Posr11 {
5992        #[doc = "No effect on output"]
5993        pub const _0: Self = Self::new(0);
5994
5995        #[doc = "High output"]
5996        pub const _1: Self = Self::new(1);
5997    }
5998    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5999    pub struct Posr12_SPEC;
6000    pub type Posr12 = crate::EnumBitfieldStruct<u8, Posr12_SPEC>;
6001    impl Posr12 {
6002        #[doc = "No effect on output"]
6003        pub const _0: Self = Self::new(0);
6004
6005        #[doc = "High output"]
6006        pub const _1: Self = Self::new(1);
6007    }
6008    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6009    pub struct Posr13_SPEC;
6010    pub type Posr13 = crate::EnumBitfieldStruct<u8, Posr13_SPEC>;
6011    impl Posr13 {
6012        #[doc = "No effect on output"]
6013        pub const _0: Self = Self::new(0);
6014
6015        #[doc = "High output"]
6016        pub const _1: Self = Self::new(1);
6017    }
6018    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6019    pub struct Posr14_SPEC;
6020    pub type Posr14 = crate::EnumBitfieldStruct<u8, Posr14_SPEC>;
6021    impl Posr14 {
6022        #[doc = "No effect on output"]
6023        pub const _0: Self = Self::new(0);
6024
6025        #[doc = "High output"]
6026        pub const _1: Self = Self::new(1);
6027    }
6028    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6029    pub struct Posr15_SPEC;
6030    pub type Posr15 = crate::EnumBitfieldStruct<u8, Posr15_SPEC>;
6031    impl Posr15 {
6032        #[doc = "No effect on output"]
6033        pub const _0: Self = Self::new(0);
6034
6035        #[doc = "High output"]
6036        pub const _1: Self = Self::new(1);
6037    }
6038}