ra4e2_pac/
port1.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.30.00, with svd2pac 0.4.0 on Sat, 12 Apr 2025 22:15:35 +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"Pmn Pin FunctionPort 1 Control RegistersPmn Pin Function Control Register"]
28unsafe impl ::core::marker::Send for super::Port1 {}
29unsafe impl ::core::marker::Sync for super::Port1 {}
30impl super::Port1 {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36    #[doc = "Port Control Register 1"]
37    #[inline(always)]
38    pub const fn pcntr1(
39        &self,
40    ) -> &'static crate::common::Reg<self::Pcntr1_SPEC, crate::common::RW> {
41        unsafe {
42            crate::common::Reg::<self::Pcntr1_SPEC, crate::common::RW>::from_ptr(
43                self._svd2pac_as_ptr().add(0usize),
44            )
45        }
46    }
47
48    #[doc = "Port Control Register 1"]
49    #[inline(always)]
50    pub const fn podr(&self) -> &'static crate::common::Reg<self::Podr_SPEC, crate::common::RW> {
51        unsafe {
52            crate::common::Reg::<self::Podr_SPEC, crate::common::RW>::from_ptr(
53                self._svd2pac_as_ptr().add(0usize),
54            )
55        }
56    }
57
58    #[doc = "Port Control Register 1"]
59    #[inline(always)]
60    pub const fn pdr(&self) -> &'static crate::common::Reg<self::Pdr_SPEC, crate::common::RW> {
61        unsafe {
62            crate::common::Reg::<self::Pdr_SPEC, crate::common::RW>::from_ptr(
63                self._svd2pac_as_ptr().add(2usize),
64            )
65        }
66    }
67
68    #[doc = "Port Control Register 2"]
69    #[inline(always)]
70    pub const fn pcntr2(&self) -> &'static crate::common::Reg<self::Pcntr2_SPEC, crate::common::R> {
71        unsafe {
72            crate::common::Reg::<self::Pcntr2_SPEC, crate::common::R>::from_ptr(
73                self._svd2pac_as_ptr().add(4usize),
74            )
75        }
76    }
77
78    #[doc = "Port Control Register 2"]
79    #[inline(always)]
80    pub const fn eidr(&self) -> &'static crate::common::Reg<self::Eidr_SPEC, crate::common::R> {
81        unsafe {
82            crate::common::Reg::<self::Eidr_SPEC, crate::common::R>::from_ptr(
83                self._svd2pac_as_ptr().add(4usize),
84            )
85        }
86    }
87
88    #[doc = "Port Control Register 2"]
89    #[inline(always)]
90    pub const fn pidr(&self) -> &'static crate::common::Reg<self::Pidr_SPEC, crate::common::R> {
91        unsafe {
92            crate::common::Reg::<self::Pidr_SPEC, crate::common::R>::from_ptr(
93                self._svd2pac_as_ptr().add(6usize),
94            )
95        }
96    }
97
98    #[doc = "Port Control Register 3"]
99    #[inline(always)]
100    pub const fn pcntr3(&self) -> &'static crate::common::Reg<self::Pcntr3_SPEC, crate::common::W> {
101        unsafe {
102            crate::common::Reg::<self::Pcntr3_SPEC, crate::common::W>::from_ptr(
103                self._svd2pac_as_ptr().add(8usize),
104            )
105        }
106    }
107
108    #[doc = "Port Control Register 3"]
109    #[inline(always)]
110    pub const fn porr(&self) -> &'static crate::common::Reg<self::Porr_SPEC, crate::common::W> {
111        unsafe {
112            crate::common::Reg::<self::Porr_SPEC, crate::common::W>::from_ptr(
113                self._svd2pac_as_ptr().add(8usize),
114            )
115        }
116    }
117
118    #[doc = "Port Control Register 3"]
119    #[inline(always)]
120    pub const fn posr(&self) -> &'static crate::common::Reg<self::Posr_SPEC, crate::common::W> {
121        unsafe {
122            crate::common::Reg::<self::Posr_SPEC, crate::common::W>::from_ptr(
123                self._svd2pac_as_ptr().add(10usize),
124            )
125        }
126    }
127
128    #[doc = "Port Control Register 4"]
129    #[inline(always)]
130    pub const fn pcntr4(
131        &self,
132    ) -> &'static crate::common::Reg<self::Pcntr4_SPEC, crate::common::RW> {
133        unsafe {
134            crate::common::Reg::<self::Pcntr4_SPEC, crate::common::RW>::from_ptr(
135                self._svd2pac_as_ptr().add(12usize),
136            )
137        }
138    }
139
140    #[doc = "Port Control Register 4"]
141    #[inline(always)]
142    pub const fn eorr(&self) -> &'static crate::common::Reg<self::Eorr_SPEC, crate::common::RW> {
143        unsafe {
144            crate::common::Reg::<self::Eorr_SPEC, crate::common::RW>::from_ptr(
145                self._svd2pac_as_ptr().add(12usize),
146            )
147        }
148    }
149
150    #[doc = "Port Control Register 4"]
151    #[inline(always)]
152    pub const fn eosr(&self) -> &'static crate::common::Reg<self::Eosr_SPEC, crate::common::RW> {
153        unsafe {
154            crate::common::Reg::<self::Eosr_SPEC, crate::common::RW>::from_ptr(
155                self._svd2pac_as_ptr().add(14usize),
156            )
157        }
158    }
159}
160#[doc(hidden)]
161#[derive(Copy, Clone, Eq, PartialEq)]
162pub struct Pcntr1_SPEC;
163impl crate::sealed::RegSpec for Pcntr1_SPEC {
164    type DataType = u32;
165}
166#[doc = "Port Control Register 1"]
167pub type Pcntr1 = crate::RegValueT<Pcntr1_SPEC>;
168
169impl Pcntr1 {
170    #[doc = "Pmn Direction"]
171    #[inline(always)]
172    pub fn pdr00(
173        self,
174    ) -> crate::common::RegisterField<0, 0x1, 1, 0, pcntr1::Pdr00, Pcntr1_SPEC, crate::common::RW>
175    {
176        crate::common::RegisterField::<0,0x1,1,0,pcntr1::Pdr00, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
177    }
178    #[doc = "Pmn Direction"]
179    #[inline(always)]
180    pub fn pdr01(
181        self,
182    ) -> crate::common::RegisterField<1, 0x1, 1, 0, pcntr1::Pdr01, Pcntr1_SPEC, crate::common::RW>
183    {
184        crate::common::RegisterField::<1,0x1,1,0,pcntr1::Pdr01, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
185    }
186    #[doc = "Pmn Direction"]
187    #[inline(always)]
188    pub fn pdr02(
189        self,
190    ) -> crate::common::RegisterField<2, 0x1, 1, 0, pcntr1::Pdr02, Pcntr1_SPEC, crate::common::RW>
191    {
192        crate::common::RegisterField::<2,0x1,1,0,pcntr1::Pdr02, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
193    }
194    #[doc = "Pmn Direction"]
195    #[inline(always)]
196    pub fn pdr03(
197        self,
198    ) -> crate::common::RegisterField<3, 0x1, 1, 0, pcntr1::Pdr03, Pcntr1_SPEC, crate::common::RW>
199    {
200        crate::common::RegisterField::<3,0x1,1,0,pcntr1::Pdr03, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
201    }
202    #[doc = "Pmn Direction"]
203    #[inline(always)]
204    pub fn pdr04(
205        self,
206    ) -> crate::common::RegisterField<4, 0x1, 1, 0, pcntr1::Pdr04, Pcntr1_SPEC, crate::common::RW>
207    {
208        crate::common::RegisterField::<4,0x1,1,0,pcntr1::Pdr04, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
209    }
210    #[doc = "Pmn Direction"]
211    #[inline(always)]
212    pub fn pdr05(
213        self,
214    ) -> crate::common::RegisterField<5, 0x1, 1, 0, pcntr1::Pdr05, Pcntr1_SPEC, crate::common::RW>
215    {
216        crate::common::RegisterField::<5,0x1,1,0,pcntr1::Pdr05, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
217    }
218    #[doc = "Pmn Direction"]
219    #[inline(always)]
220    pub fn pdr06(
221        self,
222    ) -> crate::common::RegisterField<6, 0x1, 1, 0, pcntr1::Pdr06, Pcntr1_SPEC, crate::common::RW>
223    {
224        crate::common::RegisterField::<6,0x1,1,0,pcntr1::Pdr06, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
225    }
226    #[doc = "Pmn Direction"]
227    #[inline(always)]
228    pub fn pdr07(
229        self,
230    ) -> crate::common::RegisterField<7, 0x1, 1, 0, pcntr1::Pdr07, Pcntr1_SPEC, crate::common::RW>
231    {
232        crate::common::RegisterField::<7,0x1,1,0,pcntr1::Pdr07, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
233    }
234    #[doc = "Pmn Direction"]
235    #[inline(always)]
236    pub fn pdr08(
237        self,
238    ) -> crate::common::RegisterField<8, 0x1, 1, 0, pcntr1::Pdr08, Pcntr1_SPEC, crate::common::RW>
239    {
240        crate::common::RegisterField::<8,0x1,1,0,pcntr1::Pdr08, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
241    }
242    #[doc = "Pmn Direction"]
243    #[inline(always)]
244    pub fn pdr09(
245        self,
246    ) -> crate::common::RegisterField<9, 0x1, 1, 0, pcntr1::Pdr09, Pcntr1_SPEC, crate::common::RW>
247    {
248        crate::common::RegisterField::<9,0x1,1,0,pcntr1::Pdr09, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
249    }
250    #[doc = "Pmn Direction"]
251    #[inline(always)]
252    pub fn pdr10(
253        self,
254    ) -> crate::common::RegisterField<10, 0x1, 1, 0, pcntr1::Pdr10, Pcntr1_SPEC, crate::common::RW>
255    {
256        crate::common::RegisterField::<10,0x1,1,0,pcntr1::Pdr10, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
257    }
258    #[doc = "Pmn Direction"]
259    #[inline(always)]
260    pub fn pdr11(
261        self,
262    ) -> crate::common::RegisterField<11, 0x1, 1, 0, pcntr1::Pdr11, Pcntr1_SPEC, crate::common::RW>
263    {
264        crate::common::RegisterField::<11,0x1,1,0,pcntr1::Pdr11, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
265    }
266    #[doc = "Pmn Direction"]
267    #[inline(always)]
268    pub fn pdr12(
269        self,
270    ) -> crate::common::RegisterField<12, 0x1, 1, 0, pcntr1::Pdr12, Pcntr1_SPEC, crate::common::RW>
271    {
272        crate::common::RegisterField::<12,0x1,1,0,pcntr1::Pdr12, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
273    }
274    #[doc = "Pmn Direction"]
275    #[inline(always)]
276    pub fn pdr13(
277        self,
278    ) -> crate::common::RegisterField<13, 0x1, 1, 0, pcntr1::Pdr13, Pcntr1_SPEC, crate::common::RW>
279    {
280        crate::common::RegisterField::<13,0x1,1,0,pcntr1::Pdr13, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
281    }
282    #[doc = "Pmn Direction"]
283    #[inline(always)]
284    pub fn pdr14(
285        self,
286    ) -> crate::common::RegisterField<14, 0x1, 1, 0, pcntr1::Pdr14, Pcntr1_SPEC, crate::common::RW>
287    {
288        crate::common::RegisterField::<14,0x1,1,0,pcntr1::Pdr14, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
289    }
290    #[doc = "Pmn Direction"]
291    #[inline(always)]
292    pub fn pdr15(
293        self,
294    ) -> crate::common::RegisterField<15, 0x1, 1, 0, pcntr1::Pdr15, Pcntr1_SPEC, crate::common::RW>
295    {
296        crate::common::RegisterField::<15,0x1,1,0,pcntr1::Pdr15, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
297    }
298    #[doc = "Pmn Output Data"]
299    #[inline(always)]
300    pub fn podr00(
301        self,
302    ) -> crate::common::RegisterField<16, 0x1, 1, 0, pcntr1::Podr00, Pcntr1_SPEC, crate::common::RW>
303    {
304        crate::common::RegisterField::<16,0x1,1,0,pcntr1::Podr00, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
305    }
306    #[doc = "Pmn Output Data"]
307    #[inline(always)]
308    pub fn podr01(
309        self,
310    ) -> crate::common::RegisterField<17, 0x1, 1, 0, pcntr1::Podr01, Pcntr1_SPEC, crate::common::RW>
311    {
312        crate::common::RegisterField::<17,0x1,1,0,pcntr1::Podr01, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
313    }
314    #[doc = "Pmn Output Data"]
315    #[inline(always)]
316    pub fn podr02(
317        self,
318    ) -> crate::common::RegisterField<18, 0x1, 1, 0, pcntr1::Podr02, Pcntr1_SPEC, crate::common::RW>
319    {
320        crate::common::RegisterField::<18,0x1,1,0,pcntr1::Podr02, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
321    }
322    #[doc = "Pmn Output Data"]
323    #[inline(always)]
324    pub fn podr03(
325        self,
326    ) -> crate::common::RegisterField<19, 0x1, 1, 0, pcntr1::Podr03, Pcntr1_SPEC, crate::common::RW>
327    {
328        crate::common::RegisterField::<19,0x1,1,0,pcntr1::Podr03, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
329    }
330    #[doc = "Pmn Output Data"]
331    #[inline(always)]
332    pub fn podr04(
333        self,
334    ) -> crate::common::RegisterField<20, 0x1, 1, 0, pcntr1::Podr04, Pcntr1_SPEC, crate::common::RW>
335    {
336        crate::common::RegisterField::<20,0x1,1,0,pcntr1::Podr04, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
337    }
338    #[doc = "Pmn Output Data"]
339    #[inline(always)]
340    pub fn podr05(
341        self,
342    ) -> crate::common::RegisterField<21, 0x1, 1, 0, pcntr1::Podr05, Pcntr1_SPEC, crate::common::RW>
343    {
344        crate::common::RegisterField::<21,0x1,1,0,pcntr1::Podr05, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
345    }
346    #[doc = "Pmn Output Data"]
347    #[inline(always)]
348    pub fn podr06(
349        self,
350    ) -> crate::common::RegisterField<22, 0x1, 1, 0, pcntr1::Podr06, Pcntr1_SPEC, crate::common::RW>
351    {
352        crate::common::RegisterField::<22,0x1,1,0,pcntr1::Podr06, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
353    }
354    #[doc = "Pmn Output Data"]
355    #[inline(always)]
356    pub fn podr07(
357        self,
358    ) -> crate::common::RegisterField<23, 0x1, 1, 0, pcntr1::Podr07, Pcntr1_SPEC, crate::common::RW>
359    {
360        crate::common::RegisterField::<23,0x1,1,0,pcntr1::Podr07, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
361    }
362    #[doc = "Pmn Output Data"]
363    #[inline(always)]
364    pub fn podr08(
365        self,
366    ) -> crate::common::RegisterField<24, 0x1, 1, 0, pcntr1::Podr08, Pcntr1_SPEC, crate::common::RW>
367    {
368        crate::common::RegisterField::<24,0x1,1,0,pcntr1::Podr08, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
369    }
370    #[doc = "Pmn Output Data"]
371    #[inline(always)]
372    pub fn podr09(
373        self,
374    ) -> crate::common::RegisterField<25, 0x1, 1, 0, pcntr1::Podr09, Pcntr1_SPEC, crate::common::RW>
375    {
376        crate::common::RegisterField::<25,0x1,1,0,pcntr1::Podr09, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
377    }
378    #[doc = "Pmn Output Data"]
379    #[inline(always)]
380    pub fn podr10(
381        self,
382    ) -> crate::common::RegisterField<26, 0x1, 1, 0, pcntr1::Podr10, Pcntr1_SPEC, crate::common::RW>
383    {
384        crate::common::RegisterField::<26,0x1,1,0,pcntr1::Podr10, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
385    }
386    #[doc = "Pmn Output Data"]
387    #[inline(always)]
388    pub fn podr11(
389        self,
390    ) -> crate::common::RegisterField<27, 0x1, 1, 0, pcntr1::Podr11, Pcntr1_SPEC, crate::common::RW>
391    {
392        crate::common::RegisterField::<27,0x1,1,0,pcntr1::Podr11, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
393    }
394    #[doc = "Pmn Output Data"]
395    #[inline(always)]
396    pub fn podr12(
397        self,
398    ) -> crate::common::RegisterField<28, 0x1, 1, 0, pcntr1::Podr12, Pcntr1_SPEC, crate::common::RW>
399    {
400        crate::common::RegisterField::<28,0x1,1,0,pcntr1::Podr12, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
401    }
402    #[doc = "Pmn Output Data"]
403    #[inline(always)]
404    pub fn podr13(
405        self,
406    ) -> crate::common::RegisterField<29, 0x1, 1, 0, pcntr1::Podr13, Pcntr1_SPEC, crate::common::RW>
407    {
408        crate::common::RegisterField::<29,0x1,1,0,pcntr1::Podr13, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
409    }
410    #[doc = "Pmn Output Data"]
411    #[inline(always)]
412    pub fn podr14(
413        self,
414    ) -> crate::common::RegisterField<30, 0x1, 1, 0, pcntr1::Podr14, Pcntr1_SPEC, crate::common::RW>
415    {
416        crate::common::RegisterField::<30,0x1,1,0,pcntr1::Podr14, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
417    }
418    #[doc = "Pmn Output Data"]
419    #[inline(always)]
420    pub fn podr15(
421        self,
422    ) -> crate::common::RegisterField<31, 0x1, 1, 0, pcntr1::Podr15, Pcntr1_SPEC, crate::common::RW>
423    {
424        crate::common::RegisterField::<31,0x1,1,0,pcntr1::Podr15, Pcntr1_SPEC,crate::common::RW>::from_register(self,0)
425    }
426}
427impl ::core::default::Default for Pcntr1 {
428    #[inline(always)]
429    fn default() -> Pcntr1 {
430        <crate::RegValueT<Pcntr1_SPEC> as RegisterValue<_>>::new(0)
431    }
432}
433pub mod pcntr1 {
434
435    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
436    pub struct Pdr00_SPEC;
437    pub type Pdr00 = crate::EnumBitfieldStruct<u8, Pdr00_SPEC>;
438    impl Pdr00 {
439        #[doc = "Input (functions as an input pin)"]
440        pub const _0: Self = Self::new(0);
441        #[doc = "Output (functions as an output pin)"]
442        pub const _1: Self = Self::new(1);
443    }
444    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
445    pub struct Pdr01_SPEC;
446    pub type Pdr01 = crate::EnumBitfieldStruct<u8, Pdr01_SPEC>;
447    impl Pdr01 {
448        #[doc = "Input (functions as an input pin)"]
449        pub const _0: Self = Self::new(0);
450        #[doc = "Output (functions as an output pin)"]
451        pub const _1: Self = Self::new(1);
452    }
453    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
454    pub struct Pdr02_SPEC;
455    pub type Pdr02 = crate::EnumBitfieldStruct<u8, Pdr02_SPEC>;
456    impl Pdr02 {
457        #[doc = "Input (functions as an input pin)"]
458        pub const _0: Self = Self::new(0);
459        #[doc = "Output (functions as an output pin)"]
460        pub const _1: Self = Self::new(1);
461    }
462    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
463    pub struct Pdr03_SPEC;
464    pub type Pdr03 = crate::EnumBitfieldStruct<u8, Pdr03_SPEC>;
465    impl Pdr03 {
466        #[doc = "Input (functions as an input pin)"]
467        pub const _0: Self = Self::new(0);
468        #[doc = "Output (functions as an output pin)"]
469        pub const _1: Self = Self::new(1);
470    }
471    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
472    pub struct Pdr04_SPEC;
473    pub type Pdr04 = crate::EnumBitfieldStruct<u8, Pdr04_SPEC>;
474    impl Pdr04 {
475        #[doc = "Input (functions as an input pin)"]
476        pub const _0: Self = Self::new(0);
477        #[doc = "Output (functions as an output pin)"]
478        pub const _1: Self = Self::new(1);
479    }
480    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
481    pub struct Pdr05_SPEC;
482    pub type Pdr05 = crate::EnumBitfieldStruct<u8, Pdr05_SPEC>;
483    impl Pdr05 {
484        #[doc = "Input (functions as an input pin)"]
485        pub const _0: Self = Self::new(0);
486        #[doc = "Output (functions as an output pin)"]
487        pub const _1: Self = Self::new(1);
488    }
489    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
490    pub struct Pdr06_SPEC;
491    pub type Pdr06 = crate::EnumBitfieldStruct<u8, Pdr06_SPEC>;
492    impl Pdr06 {
493        #[doc = "Input (functions as an input pin)"]
494        pub const _0: Self = Self::new(0);
495        #[doc = "Output (functions as an output pin)"]
496        pub const _1: Self = Self::new(1);
497    }
498    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
499    pub struct Pdr07_SPEC;
500    pub type Pdr07 = crate::EnumBitfieldStruct<u8, Pdr07_SPEC>;
501    impl Pdr07 {
502        #[doc = "Input (functions as an input pin)"]
503        pub const _0: Self = Self::new(0);
504        #[doc = "Output (functions as an output pin)"]
505        pub const _1: Self = Self::new(1);
506    }
507    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
508    pub struct Pdr08_SPEC;
509    pub type Pdr08 = crate::EnumBitfieldStruct<u8, Pdr08_SPEC>;
510    impl Pdr08 {
511        #[doc = "Input (functions as an input pin)"]
512        pub const _0: Self = Self::new(0);
513        #[doc = "Output (functions as an output pin)"]
514        pub const _1: Self = Self::new(1);
515    }
516    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
517    pub struct Pdr09_SPEC;
518    pub type Pdr09 = crate::EnumBitfieldStruct<u8, Pdr09_SPEC>;
519    impl Pdr09 {
520        #[doc = "Input (functions as an input pin)"]
521        pub const _0: Self = Self::new(0);
522        #[doc = "Output (functions as an output pin)"]
523        pub const _1: Self = Self::new(1);
524    }
525    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
526    pub struct Pdr10_SPEC;
527    pub type Pdr10 = crate::EnumBitfieldStruct<u8, Pdr10_SPEC>;
528    impl Pdr10 {
529        #[doc = "Input (functions as an input pin)"]
530        pub const _0: Self = Self::new(0);
531        #[doc = "Output (functions as an output pin)"]
532        pub const _1: Self = Self::new(1);
533    }
534    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
535    pub struct Pdr11_SPEC;
536    pub type Pdr11 = crate::EnumBitfieldStruct<u8, Pdr11_SPEC>;
537    impl Pdr11 {
538        #[doc = "Input (functions as an input pin)"]
539        pub const _0: Self = Self::new(0);
540        #[doc = "Output (functions as an output pin)"]
541        pub const _1: Self = Self::new(1);
542    }
543    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
544    pub struct Pdr12_SPEC;
545    pub type Pdr12 = crate::EnumBitfieldStruct<u8, Pdr12_SPEC>;
546    impl Pdr12 {
547        #[doc = "Input (functions as an input pin)"]
548        pub const _0: Self = Self::new(0);
549        #[doc = "Output (functions as an output pin)"]
550        pub const _1: Self = Self::new(1);
551    }
552    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
553    pub struct Pdr13_SPEC;
554    pub type Pdr13 = crate::EnumBitfieldStruct<u8, Pdr13_SPEC>;
555    impl Pdr13 {
556        #[doc = "Input (functions as an input pin)"]
557        pub const _0: Self = Self::new(0);
558        #[doc = "Output (functions as an output pin)"]
559        pub const _1: Self = Self::new(1);
560    }
561    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
562    pub struct Pdr14_SPEC;
563    pub type Pdr14 = crate::EnumBitfieldStruct<u8, Pdr14_SPEC>;
564    impl Pdr14 {
565        #[doc = "Input (functions as an input pin)"]
566        pub const _0: Self = Self::new(0);
567        #[doc = "Output (functions as an output pin)"]
568        pub const _1: Self = Self::new(1);
569    }
570    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
571    pub struct Pdr15_SPEC;
572    pub type Pdr15 = crate::EnumBitfieldStruct<u8, Pdr15_SPEC>;
573    impl Pdr15 {
574        #[doc = "Input (functions as an input pin)"]
575        pub const _0: Self = Self::new(0);
576        #[doc = "Output (functions as an output pin)"]
577        pub const _1: Self = Self::new(1);
578    }
579    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
580    pub struct Podr00_SPEC;
581    pub type Podr00 = crate::EnumBitfieldStruct<u8, Podr00_SPEC>;
582    impl Podr00 {
583        #[doc = "Low output"]
584        pub const _0: Self = Self::new(0);
585        #[doc = "High output"]
586        pub const _1: Self = Self::new(1);
587    }
588    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
589    pub struct Podr01_SPEC;
590    pub type Podr01 = crate::EnumBitfieldStruct<u8, Podr01_SPEC>;
591    impl Podr01 {
592        #[doc = "Low output"]
593        pub const _0: Self = Self::new(0);
594        #[doc = "High output"]
595        pub const _1: Self = Self::new(1);
596    }
597    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
598    pub struct Podr02_SPEC;
599    pub type Podr02 = crate::EnumBitfieldStruct<u8, Podr02_SPEC>;
600    impl Podr02 {
601        #[doc = "Low output"]
602        pub const _0: Self = Self::new(0);
603        #[doc = "High output"]
604        pub const _1: Self = Self::new(1);
605    }
606    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
607    pub struct Podr03_SPEC;
608    pub type Podr03 = crate::EnumBitfieldStruct<u8, Podr03_SPEC>;
609    impl Podr03 {
610        #[doc = "Low output"]
611        pub const _0: Self = Self::new(0);
612        #[doc = "High output"]
613        pub const _1: Self = Self::new(1);
614    }
615    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
616    pub struct Podr04_SPEC;
617    pub type Podr04 = crate::EnumBitfieldStruct<u8, Podr04_SPEC>;
618    impl Podr04 {
619        #[doc = "Low output"]
620        pub const _0: Self = Self::new(0);
621        #[doc = "High output"]
622        pub const _1: Self = Self::new(1);
623    }
624    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
625    pub struct Podr05_SPEC;
626    pub type Podr05 = crate::EnumBitfieldStruct<u8, Podr05_SPEC>;
627    impl Podr05 {
628        #[doc = "Low output"]
629        pub const _0: Self = Self::new(0);
630        #[doc = "High output"]
631        pub const _1: Self = Self::new(1);
632    }
633    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
634    pub struct Podr06_SPEC;
635    pub type Podr06 = crate::EnumBitfieldStruct<u8, Podr06_SPEC>;
636    impl Podr06 {
637        #[doc = "Low output"]
638        pub const _0: Self = Self::new(0);
639        #[doc = "High output"]
640        pub const _1: Self = Self::new(1);
641    }
642    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
643    pub struct Podr07_SPEC;
644    pub type Podr07 = crate::EnumBitfieldStruct<u8, Podr07_SPEC>;
645    impl Podr07 {
646        #[doc = "Low output"]
647        pub const _0: Self = Self::new(0);
648        #[doc = "High output"]
649        pub const _1: Self = Self::new(1);
650    }
651    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
652    pub struct Podr08_SPEC;
653    pub type Podr08 = crate::EnumBitfieldStruct<u8, Podr08_SPEC>;
654    impl Podr08 {
655        #[doc = "Low output"]
656        pub const _0: Self = Self::new(0);
657        #[doc = "High output"]
658        pub const _1: Self = Self::new(1);
659    }
660    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
661    pub struct Podr09_SPEC;
662    pub type Podr09 = crate::EnumBitfieldStruct<u8, Podr09_SPEC>;
663    impl Podr09 {
664        #[doc = "Low output"]
665        pub const _0: Self = Self::new(0);
666        #[doc = "High output"]
667        pub const _1: Self = Self::new(1);
668    }
669    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
670    pub struct Podr10_SPEC;
671    pub type Podr10 = crate::EnumBitfieldStruct<u8, Podr10_SPEC>;
672    impl Podr10 {
673        #[doc = "Low output"]
674        pub const _0: Self = Self::new(0);
675        #[doc = "High output"]
676        pub const _1: Self = Self::new(1);
677    }
678    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
679    pub struct Podr11_SPEC;
680    pub type Podr11 = crate::EnumBitfieldStruct<u8, Podr11_SPEC>;
681    impl Podr11 {
682        #[doc = "Low output"]
683        pub const _0: Self = Self::new(0);
684        #[doc = "High output"]
685        pub const _1: Self = Self::new(1);
686    }
687    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
688    pub struct Podr12_SPEC;
689    pub type Podr12 = crate::EnumBitfieldStruct<u8, Podr12_SPEC>;
690    impl Podr12 {
691        #[doc = "Low output"]
692        pub const _0: Self = Self::new(0);
693        #[doc = "High output"]
694        pub const _1: Self = Self::new(1);
695    }
696    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
697    pub struct Podr13_SPEC;
698    pub type Podr13 = crate::EnumBitfieldStruct<u8, Podr13_SPEC>;
699    impl Podr13 {
700        #[doc = "Low output"]
701        pub const _0: Self = Self::new(0);
702        #[doc = "High output"]
703        pub const _1: Self = Self::new(1);
704    }
705    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
706    pub struct Podr14_SPEC;
707    pub type Podr14 = crate::EnumBitfieldStruct<u8, Podr14_SPEC>;
708    impl Podr14 {
709        #[doc = "Low output"]
710        pub const _0: Self = Self::new(0);
711        #[doc = "High output"]
712        pub const _1: Self = Self::new(1);
713    }
714    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
715    pub struct Podr15_SPEC;
716    pub type Podr15 = crate::EnumBitfieldStruct<u8, Podr15_SPEC>;
717    impl Podr15 {
718        #[doc = "Low output"]
719        pub const _0: Self = Self::new(0);
720        #[doc = "High output"]
721        pub const _1: Self = Self::new(1);
722    }
723}
724#[doc(hidden)]
725#[derive(Copy, Clone, Eq, PartialEq)]
726pub struct Podr_SPEC;
727impl crate::sealed::RegSpec for Podr_SPEC {
728    type DataType = u16;
729}
730#[doc = "Port Control Register 1"]
731pub type Podr = crate::RegValueT<Podr_SPEC>;
732
733impl Podr {
734    #[doc = "Pmn Output Data"]
735    #[inline(always)]
736    pub fn podr00(
737        self,
738    ) -> crate::common::RegisterField<0, 0x1, 1, 0, podr::Podr00, Podr_SPEC, crate::common::RW>
739    {
740        crate::common::RegisterField::<0,0x1,1,0,podr::Podr00, Podr_SPEC,crate::common::RW>::from_register(self,0)
741    }
742    #[doc = "Pmn Output Data"]
743    #[inline(always)]
744    pub fn podr01(
745        self,
746    ) -> crate::common::RegisterField<1, 0x1, 1, 0, podr::Podr01, Podr_SPEC, crate::common::RW>
747    {
748        crate::common::RegisterField::<1,0x1,1,0,podr::Podr01, Podr_SPEC,crate::common::RW>::from_register(self,0)
749    }
750    #[doc = "Pmn Output Data"]
751    #[inline(always)]
752    pub fn podr02(
753        self,
754    ) -> crate::common::RegisterField<2, 0x1, 1, 0, podr::Podr02, Podr_SPEC, crate::common::RW>
755    {
756        crate::common::RegisterField::<2,0x1,1,0,podr::Podr02, Podr_SPEC,crate::common::RW>::from_register(self,0)
757    }
758    #[doc = "Pmn Output Data"]
759    #[inline(always)]
760    pub fn podr03(
761        self,
762    ) -> crate::common::RegisterField<3, 0x1, 1, 0, podr::Podr03, Podr_SPEC, crate::common::RW>
763    {
764        crate::common::RegisterField::<3,0x1,1,0,podr::Podr03, Podr_SPEC,crate::common::RW>::from_register(self,0)
765    }
766    #[doc = "Pmn Output Data"]
767    #[inline(always)]
768    pub fn podr04(
769        self,
770    ) -> crate::common::RegisterField<4, 0x1, 1, 0, podr::Podr04, Podr_SPEC, crate::common::RW>
771    {
772        crate::common::RegisterField::<4,0x1,1,0,podr::Podr04, Podr_SPEC,crate::common::RW>::from_register(self,0)
773    }
774    #[doc = "Pmn Output Data"]
775    #[inline(always)]
776    pub fn podr05(
777        self,
778    ) -> crate::common::RegisterField<5, 0x1, 1, 0, podr::Podr05, Podr_SPEC, crate::common::RW>
779    {
780        crate::common::RegisterField::<5,0x1,1,0,podr::Podr05, Podr_SPEC,crate::common::RW>::from_register(self,0)
781    }
782    #[doc = "Pmn Output Data"]
783    #[inline(always)]
784    pub fn podr06(
785        self,
786    ) -> crate::common::RegisterField<6, 0x1, 1, 0, podr::Podr06, Podr_SPEC, crate::common::RW>
787    {
788        crate::common::RegisterField::<6,0x1,1,0,podr::Podr06, Podr_SPEC,crate::common::RW>::from_register(self,0)
789    }
790    #[doc = "Pmn Output Data"]
791    #[inline(always)]
792    pub fn podr07(
793        self,
794    ) -> crate::common::RegisterField<7, 0x1, 1, 0, podr::Podr07, Podr_SPEC, crate::common::RW>
795    {
796        crate::common::RegisterField::<7,0x1,1,0,podr::Podr07, Podr_SPEC,crate::common::RW>::from_register(self,0)
797    }
798    #[doc = "Pmn Output Data"]
799    #[inline(always)]
800    pub fn podr08(
801        self,
802    ) -> crate::common::RegisterField<8, 0x1, 1, 0, podr::Podr08, Podr_SPEC, crate::common::RW>
803    {
804        crate::common::RegisterField::<8,0x1,1,0,podr::Podr08, Podr_SPEC,crate::common::RW>::from_register(self,0)
805    }
806    #[doc = "Pmn Output Data"]
807    #[inline(always)]
808    pub fn podr09(
809        self,
810    ) -> crate::common::RegisterField<9, 0x1, 1, 0, podr::Podr09, Podr_SPEC, crate::common::RW>
811    {
812        crate::common::RegisterField::<9,0x1,1,0,podr::Podr09, Podr_SPEC,crate::common::RW>::from_register(self,0)
813    }
814    #[doc = "Pmn Output Data"]
815    #[inline(always)]
816    pub fn podr10(
817        self,
818    ) -> crate::common::RegisterField<10, 0x1, 1, 0, podr::Podr10, Podr_SPEC, crate::common::RW>
819    {
820        crate::common::RegisterField::<10,0x1,1,0,podr::Podr10, Podr_SPEC,crate::common::RW>::from_register(self,0)
821    }
822    #[doc = "Pmn Output Data"]
823    #[inline(always)]
824    pub fn podr11(
825        self,
826    ) -> crate::common::RegisterField<11, 0x1, 1, 0, podr::Podr11, Podr_SPEC, crate::common::RW>
827    {
828        crate::common::RegisterField::<11,0x1,1,0,podr::Podr11, Podr_SPEC,crate::common::RW>::from_register(self,0)
829    }
830    #[doc = "Pmn Output Data"]
831    #[inline(always)]
832    pub fn podr12(
833        self,
834    ) -> crate::common::RegisterField<12, 0x1, 1, 0, podr::Podr12, Podr_SPEC, crate::common::RW>
835    {
836        crate::common::RegisterField::<12,0x1,1,0,podr::Podr12, Podr_SPEC,crate::common::RW>::from_register(self,0)
837    }
838    #[doc = "Pmn Output Data"]
839    #[inline(always)]
840    pub fn podr13(
841        self,
842    ) -> crate::common::RegisterField<13, 0x1, 1, 0, podr::Podr13, Podr_SPEC, crate::common::RW>
843    {
844        crate::common::RegisterField::<13,0x1,1,0,podr::Podr13, Podr_SPEC,crate::common::RW>::from_register(self,0)
845    }
846    #[doc = "Pmn Output Data"]
847    #[inline(always)]
848    pub fn podr14(
849        self,
850    ) -> crate::common::RegisterField<14, 0x1, 1, 0, podr::Podr14, Podr_SPEC, crate::common::RW>
851    {
852        crate::common::RegisterField::<14,0x1,1,0,podr::Podr14, Podr_SPEC,crate::common::RW>::from_register(self,0)
853    }
854    #[doc = "Pmn Output Data"]
855    #[inline(always)]
856    pub fn podr15(
857        self,
858    ) -> crate::common::RegisterField<15, 0x1, 1, 0, podr::Podr15, Podr_SPEC, crate::common::RW>
859    {
860        crate::common::RegisterField::<15,0x1,1,0,podr::Podr15, Podr_SPEC,crate::common::RW>::from_register(self,0)
861    }
862}
863impl ::core::default::Default for Podr {
864    #[inline(always)]
865    fn default() -> Podr {
866        <crate::RegValueT<Podr_SPEC> as RegisterValue<_>>::new(0)
867    }
868}
869pub mod podr {
870
871    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
872    pub struct Podr00_SPEC;
873    pub type Podr00 = crate::EnumBitfieldStruct<u8, Podr00_SPEC>;
874    impl Podr00 {
875        #[doc = "Low output"]
876        pub const _0: Self = Self::new(0);
877        #[doc = "High output"]
878        pub const _1: Self = Self::new(1);
879    }
880    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
881    pub struct Podr01_SPEC;
882    pub type Podr01 = crate::EnumBitfieldStruct<u8, Podr01_SPEC>;
883    impl Podr01 {
884        #[doc = "Low output"]
885        pub const _0: Self = Self::new(0);
886        #[doc = "High output"]
887        pub const _1: Self = Self::new(1);
888    }
889    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
890    pub struct Podr02_SPEC;
891    pub type Podr02 = crate::EnumBitfieldStruct<u8, Podr02_SPEC>;
892    impl Podr02 {
893        #[doc = "Low output"]
894        pub const _0: Self = Self::new(0);
895        #[doc = "High output"]
896        pub const _1: Self = Self::new(1);
897    }
898    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
899    pub struct Podr03_SPEC;
900    pub type Podr03 = crate::EnumBitfieldStruct<u8, Podr03_SPEC>;
901    impl Podr03 {
902        #[doc = "Low output"]
903        pub const _0: Self = Self::new(0);
904        #[doc = "High output"]
905        pub const _1: Self = Self::new(1);
906    }
907    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
908    pub struct Podr04_SPEC;
909    pub type Podr04 = crate::EnumBitfieldStruct<u8, Podr04_SPEC>;
910    impl Podr04 {
911        #[doc = "Low output"]
912        pub const _0: Self = Self::new(0);
913        #[doc = "High output"]
914        pub const _1: Self = Self::new(1);
915    }
916    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
917    pub struct Podr05_SPEC;
918    pub type Podr05 = crate::EnumBitfieldStruct<u8, Podr05_SPEC>;
919    impl Podr05 {
920        #[doc = "Low output"]
921        pub const _0: Self = Self::new(0);
922        #[doc = "High output"]
923        pub const _1: Self = Self::new(1);
924    }
925    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
926    pub struct Podr06_SPEC;
927    pub type Podr06 = crate::EnumBitfieldStruct<u8, Podr06_SPEC>;
928    impl Podr06 {
929        #[doc = "Low output"]
930        pub const _0: Self = Self::new(0);
931        #[doc = "High output"]
932        pub const _1: Self = Self::new(1);
933    }
934    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
935    pub struct Podr07_SPEC;
936    pub type Podr07 = crate::EnumBitfieldStruct<u8, Podr07_SPEC>;
937    impl Podr07 {
938        #[doc = "Low output"]
939        pub const _0: Self = Self::new(0);
940        #[doc = "High output"]
941        pub const _1: Self = Self::new(1);
942    }
943    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
944    pub struct Podr08_SPEC;
945    pub type Podr08 = crate::EnumBitfieldStruct<u8, Podr08_SPEC>;
946    impl Podr08 {
947        #[doc = "Low output"]
948        pub const _0: Self = Self::new(0);
949        #[doc = "High output"]
950        pub const _1: Self = Self::new(1);
951    }
952    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
953    pub struct Podr09_SPEC;
954    pub type Podr09 = crate::EnumBitfieldStruct<u8, Podr09_SPEC>;
955    impl Podr09 {
956        #[doc = "Low output"]
957        pub const _0: Self = Self::new(0);
958        #[doc = "High output"]
959        pub const _1: Self = Self::new(1);
960    }
961    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
962    pub struct Podr10_SPEC;
963    pub type Podr10 = crate::EnumBitfieldStruct<u8, Podr10_SPEC>;
964    impl Podr10 {
965        #[doc = "Low output"]
966        pub const _0: Self = Self::new(0);
967        #[doc = "High output"]
968        pub const _1: Self = Self::new(1);
969    }
970    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
971    pub struct Podr11_SPEC;
972    pub type Podr11 = crate::EnumBitfieldStruct<u8, Podr11_SPEC>;
973    impl Podr11 {
974        #[doc = "Low output"]
975        pub const _0: Self = Self::new(0);
976        #[doc = "High output"]
977        pub const _1: Self = Self::new(1);
978    }
979    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
980    pub struct Podr12_SPEC;
981    pub type Podr12 = crate::EnumBitfieldStruct<u8, Podr12_SPEC>;
982    impl Podr12 {
983        #[doc = "Low output"]
984        pub const _0: Self = Self::new(0);
985        #[doc = "High output"]
986        pub const _1: Self = Self::new(1);
987    }
988    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
989    pub struct Podr13_SPEC;
990    pub type Podr13 = crate::EnumBitfieldStruct<u8, Podr13_SPEC>;
991    impl Podr13 {
992        #[doc = "Low output"]
993        pub const _0: Self = Self::new(0);
994        #[doc = "High output"]
995        pub const _1: Self = Self::new(1);
996    }
997    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
998    pub struct Podr14_SPEC;
999    pub type Podr14 = crate::EnumBitfieldStruct<u8, Podr14_SPEC>;
1000    impl Podr14 {
1001        #[doc = "Low output"]
1002        pub const _0: Self = Self::new(0);
1003        #[doc = "High output"]
1004        pub const _1: Self = Self::new(1);
1005    }
1006    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1007    pub struct Podr15_SPEC;
1008    pub type Podr15 = crate::EnumBitfieldStruct<u8, Podr15_SPEC>;
1009    impl Podr15 {
1010        #[doc = "Low output"]
1011        pub const _0: Self = Self::new(0);
1012        #[doc = "High output"]
1013        pub const _1: Self = Self::new(1);
1014    }
1015}
1016#[doc(hidden)]
1017#[derive(Copy, Clone, Eq, PartialEq)]
1018pub struct Pdr_SPEC;
1019impl crate::sealed::RegSpec for Pdr_SPEC {
1020    type DataType = u16;
1021}
1022#[doc = "Port Control Register 1"]
1023pub type Pdr = crate::RegValueT<Pdr_SPEC>;
1024
1025impl Pdr {
1026    #[doc = "Pmn Direction"]
1027    #[inline(always)]
1028    pub fn pdr00(
1029        self,
1030    ) -> crate::common::RegisterField<0, 0x1, 1, 0, pdr::Pdr00, Pdr_SPEC, crate::common::RW> {
1031        crate::common::RegisterField::<0,0x1,1,0,pdr::Pdr00, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1032    }
1033    #[doc = "Pmn Direction"]
1034    #[inline(always)]
1035    pub fn pdr01(
1036        self,
1037    ) -> crate::common::RegisterField<1, 0x1, 1, 0, pdr::Pdr01, Pdr_SPEC, crate::common::RW> {
1038        crate::common::RegisterField::<1,0x1,1,0,pdr::Pdr01, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1039    }
1040    #[doc = "Pmn Direction"]
1041    #[inline(always)]
1042    pub fn pdr02(
1043        self,
1044    ) -> crate::common::RegisterField<2, 0x1, 1, 0, pdr::Pdr02, Pdr_SPEC, crate::common::RW> {
1045        crate::common::RegisterField::<2,0x1,1,0,pdr::Pdr02, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1046    }
1047    #[doc = "Pmn Direction"]
1048    #[inline(always)]
1049    pub fn pdr03(
1050        self,
1051    ) -> crate::common::RegisterField<3, 0x1, 1, 0, pdr::Pdr03, Pdr_SPEC, crate::common::RW> {
1052        crate::common::RegisterField::<3,0x1,1,0,pdr::Pdr03, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1053    }
1054    #[doc = "Pmn Direction"]
1055    #[inline(always)]
1056    pub fn pdr04(
1057        self,
1058    ) -> crate::common::RegisterField<4, 0x1, 1, 0, pdr::Pdr04, Pdr_SPEC, crate::common::RW> {
1059        crate::common::RegisterField::<4,0x1,1,0,pdr::Pdr04, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1060    }
1061    #[doc = "Pmn Direction"]
1062    #[inline(always)]
1063    pub fn pdr05(
1064        self,
1065    ) -> crate::common::RegisterField<5, 0x1, 1, 0, pdr::Pdr05, Pdr_SPEC, crate::common::RW> {
1066        crate::common::RegisterField::<5,0x1,1,0,pdr::Pdr05, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1067    }
1068    #[doc = "Pmn Direction"]
1069    #[inline(always)]
1070    pub fn pdr06(
1071        self,
1072    ) -> crate::common::RegisterField<6, 0x1, 1, 0, pdr::Pdr06, Pdr_SPEC, crate::common::RW> {
1073        crate::common::RegisterField::<6,0x1,1,0,pdr::Pdr06, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1074    }
1075    #[doc = "Pmn Direction"]
1076    #[inline(always)]
1077    pub fn pdr07(
1078        self,
1079    ) -> crate::common::RegisterField<7, 0x1, 1, 0, pdr::Pdr07, Pdr_SPEC, crate::common::RW> {
1080        crate::common::RegisterField::<7,0x1,1,0,pdr::Pdr07, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1081    }
1082    #[doc = "Pmn Direction"]
1083    #[inline(always)]
1084    pub fn pdr08(
1085        self,
1086    ) -> crate::common::RegisterField<8, 0x1, 1, 0, pdr::Pdr08, Pdr_SPEC, crate::common::RW> {
1087        crate::common::RegisterField::<8,0x1,1,0,pdr::Pdr08, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1088    }
1089    #[doc = "Pmn Direction"]
1090    #[inline(always)]
1091    pub fn pdr09(
1092        self,
1093    ) -> crate::common::RegisterField<9, 0x1, 1, 0, pdr::Pdr09, Pdr_SPEC, crate::common::RW> {
1094        crate::common::RegisterField::<9,0x1,1,0,pdr::Pdr09, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1095    }
1096    #[doc = "Pmn Direction"]
1097    #[inline(always)]
1098    pub fn pdr10(
1099        self,
1100    ) -> crate::common::RegisterField<10, 0x1, 1, 0, pdr::Pdr10, Pdr_SPEC, crate::common::RW> {
1101        crate::common::RegisterField::<10,0x1,1,0,pdr::Pdr10, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1102    }
1103    #[doc = "Pmn Direction"]
1104    #[inline(always)]
1105    pub fn pdr11(
1106        self,
1107    ) -> crate::common::RegisterField<11, 0x1, 1, 0, pdr::Pdr11, Pdr_SPEC, crate::common::RW> {
1108        crate::common::RegisterField::<11,0x1,1,0,pdr::Pdr11, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1109    }
1110    #[doc = "Pmn Direction"]
1111    #[inline(always)]
1112    pub fn pdr12(
1113        self,
1114    ) -> crate::common::RegisterField<12, 0x1, 1, 0, pdr::Pdr12, Pdr_SPEC, crate::common::RW> {
1115        crate::common::RegisterField::<12,0x1,1,0,pdr::Pdr12, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1116    }
1117    #[doc = "Pmn Direction"]
1118    #[inline(always)]
1119    pub fn pdr13(
1120        self,
1121    ) -> crate::common::RegisterField<13, 0x1, 1, 0, pdr::Pdr13, Pdr_SPEC, crate::common::RW> {
1122        crate::common::RegisterField::<13,0x1,1,0,pdr::Pdr13, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1123    }
1124    #[doc = "Pmn Direction"]
1125    #[inline(always)]
1126    pub fn pdr14(
1127        self,
1128    ) -> crate::common::RegisterField<14, 0x1, 1, 0, pdr::Pdr14, Pdr_SPEC, crate::common::RW> {
1129        crate::common::RegisterField::<14,0x1,1,0,pdr::Pdr14, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1130    }
1131    #[doc = "Pmn Direction"]
1132    #[inline(always)]
1133    pub fn pdr15(
1134        self,
1135    ) -> crate::common::RegisterField<15, 0x1, 1, 0, pdr::Pdr15, Pdr_SPEC, crate::common::RW> {
1136        crate::common::RegisterField::<15,0x1,1,0,pdr::Pdr15, Pdr_SPEC,crate::common::RW>::from_register(self,0)
1137    }
1138}
1139impl ::core::default::Default for Pdr {
1140    #[inline(always)]
1141    fn default() -> Pdr {
1142        <crate::RegValueT<Pdr_SPEC> as RegisterValue<_>>::new(0)
1143    }
1144}
1145pub mod pdr {
1146
1147    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1148    pub struct Pdr00_SPEC;
1149    pub type Pdr00 = crate::EnumBitfieldStruct<u8, Pdr00_SPEC>;
1150    impl Pdr00 {
1151        #[doc = "Input (functions as an input pin)"]
1152        pub const _0: Self = Self::new(0);
1153        #[doc = "Output (functions as an output pin)"]
1154        pub const _1: Self = Self::new(1);
1155    }
1156    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1157    pub struct Pdr01_SPEC;
1158    pub type Pdr01 = crate::EnumBitfieldStruct<u8, Pdr01_SPEC>;
1159    impl Pdr01 {
1160        #[doc = "Input (functions as an input pin)"]
1161        pub const _0: Self = Self::new(0);
1162        #[doc = "Output (functions as an output pin)"]
1163        pub const _1: Self = Self::new(1);
1164    }
1165    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1166    pub struct Pdr02_SPEC;
1167    pub type Pdr02 = crate::EnumBitfieldStruct<u8, Pdr02_SPEC>;
1168    impl Pdr02 {
1169        #[doc = "Input (functions as an input pin)"]
1170        pub const _0: Self = Self::new(0);
1171        #[doc = "Output (functions as an output pin)"]
1172        pub const _1: Self = Self::new(1);
1173    }
1174    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1175    pub struct Pdr03_SPEC;
1176    pub type Pdr03 = crate::EnumBitfieldStruct<u8, Pdr03_SPEC>;
1177    impl Pdr03 {
1178        #[doc = "Input (functions as an input pin)"]
1179        pub const _0: Self = Self::new(0);
1180        #[doc = "Output (functions as an output pin)"]
1181        pub const _1: Self = Self::new(1);
1182    }
1183    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1184    pub struct Pdr04_SPEC;
1185    pub type Pdr04 = crate::EnumBitfieldStruct<u8, Pdr04_SPEC>;
1186    impl Pdr04 {
1187        #[doc = "Input (functions as an input pin)"]
1188        pub const _0: Self = Self::new(0);
1189        #[doc = "Output (functions as an output pin)"]
1190        pub const _1: Self = Self::new(1);
1191    }
1192    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1193    pub struct Pdr05_SPEC;
1194    pub type Pdr05 = crate::EnumBitfieldStruct<u8, Pdr05_SPEC>;
1195    impl Pdr05 {
1196        #[doc = "Input (functions as an input pin)"]
1197        pub const _0: Self = Self::new(0);
1198        #[doc = "Output (functions as an output pin)"]
1199        pub const _1: Self = Self::new(1);
1200    }
1201    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1202    pub struct Pdr06_SPEC;
1203    pub type Pdr06 = crate::EnumBitfieldStruct<u8, Pdr06_SPEC>;
1204    impl Pdr06 {
1205        #[doc = "Input (functions as an input pin)"]
1206        pub const _0: Self = Self::new(0);
1207        #[doc = "Output (functions as an output pin)"]
1208        pub const _1: Self = Self::new(1);
1209    }
1210    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1211    pub struct Pdr07_SPEC;
1212    pub type Pdr07 = crate::EnumBitfieldStruct<u8, Pdr07_SPEC>;
1213    impl Pdr07 {
1214        #[doc = "Input (functions as an input pin)"]
1215        pub const _0: Self = Self::new(0);
1216        #[doc = "Output (functions as an output pin)"]
1217        pub const _1: Self = Self::new(1);
1218    }
1219    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1220    pub struct Pdr08_SPEC;
1221    pub type Pdr08 = crate::EnumBitfieldStruct<u8, Pdr08_SPEC>;
1222    impl Pdr08 {
1223        #[doc = "Input (functions as an input pin)"]
1224        pub const _0: Self = Self::new(0);
1225        #[doc = "Output (functions as an output pin)"]
1226        pub const _1: Self = Self::new(1);
1227    }
1228    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1229    pub struct Pdr09_SPEC;
1230    pub type Pdr09 = crate::EnumBitfieldStruct<u8, Pdr09_SPEC>;
1231    impl Pdr09 {
1232        #[doc = "Input (functions as an input pin)"]
1233        pub const _0: Self = Self::new(0);
1234        #[doc = "Output (functions as an output pin)"]
1235        pub const _1: Self = Self::new(1);
1236    }
1237    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1238    pub struct Pdr10_SPEC;
1239    pub type Pdr10 = crate::EnumBitfieldStruct<u8, Pdr10_SPEC>;
1240    impl Pdr10 {
1241        #[doc = "Input (functions as an input pin)"]
1242        pub const _0: Self = Self::new(0);
1243        #[doc = "Output (functions as an output pin)"]
1244        pub const _1: Self = Self::new(1);
1245    }
1246    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1247    pub struct Pdr11_SPEC;
1248    pub type Pdr11 = crate::EnumBitfieldStruct<u8, Pdr11_SPEC>;
1249    impl Pdr11 {
1250        #[doc = "Input (functions as an input pin)"]
1251        pub const _0: Self = Self::new(0);
1252        #[doc = "Output (functions as an output pin)"]
1253        pub const _1: Self = Self::new(1);
1254    }
1255    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1256    pub struct Pdr12_SPEC;
1257    pub type Pdr12 = crate::EnumBitfieldStruct<u8, Pdr12_SPEC>;
1258    impl Pdr12 {
1259        #[doc = "Input (functions as an input pin)"]
1260        pub const _0: Self = Self::new(0);
1261        #[doc = "Output (functions as an output pin)"]
1262        pub const _1: Self = Self::new(1);
1263    }
1264    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1265    pub struct Pdr13_SPEC;
1266    pub type Pdr13 = crate::EnumBitfieldStruct<u8, Pdr13_SPEC>;
1267    impl Pdr13 {
1268        #[doc = "Input (functions as an input pin)"]
1269        pub const _0: Self = Self::new(0);
1270        #[doc = "Output (functions as an output pin)"]
1271        pub const _1: Self = Self::new(1);
1272    }
1273    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1274    pub struct Pdr14_SPEC;
1275    pub type Pdr14 = crate::EnumBitfieldStruct<u8, Pdr14_SPEC>;
1276    impl Pdr14 {
1277        #[doc = "Input (functions as an input pin)"]
1278        pub const _0: Self = Self::new(0);
1279        #[doc = "Output (functions as an output pin)"]
1280        pub const _1: Self = Self::new(1);
1281    }
1282    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1283    pub struct Pdr15_SPEC;
1284    pub type Pdr15 = crate::EnumBitfieldStruct<u8, Pdr15_SPEC>;
1285    impl Pdr15 {
1286        #[doc = "Input (functions as an input pin)"]
1287        pub const _0: Self = Self::new(0);
1288        #[doc = "Output (functions as an output pin)"]
1289        pub const _1: Self = Self::new(1);
1290    }
1291}
1292#[doc(hidden)]
1293#[derive(Copy, Clone, Eq, PartialEq)]
1294pub struct Pcntr2_SPEC;
1295impl crate::sealed::RegSpec for Pcntr2_SPEC {
1296    type DataType = u32;
1297}
1298#[doc = "Port Control Register 2"]
1299pub type Pcntr2 = crate::RegValueT<Pcntr2_SPEC>;
1300
1301impl Pcntr2 {
1302    #[doc = "Pmn State"]
1303    #[inline(always)]
1304    pub fn pidr00(
1305        self,
1306    ) -> crate::common::RegisterField<0, 0x1, 1, 0, pcntr2::Pidr00, Pcntr2_SPEC, crate::common::R>
1307    {
1308        crate::common::RegisterField::<0,0x1,1,0,pcntr2::Pidr00, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1309    }
1310    #[doc = "Pmn State"]
1311    #[inline(always)]
1312    pub fn pidr01(
1313        self,
1314    ) -> crate::common::RegisterField<1, 0x1, 1, 0, pcntr2::Pidr01, Pcntr2_SPEC, crate::common::R>
1315    {
1316        crate::common::RegisterField::<1,0x1,1,0,pcntr2::Pidr01, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1317    }
1318    #[doc = "Pmn State"]
1319    #[inline(always)]
1320    pub fn pidr02(
1321        self,
1322    ) -> crate::common::RegisterField<2, 0x1, 1, 0, pcntr2::Pidr02, Pcntr2_SPEC, crate::common::R>
1323    {
1324        crate::common::RegisterField::<2,0x1,1,0,pcntr2::Pidr02, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1325    }
1326    #[doc = "Pmn State"]
1327    #[inline(always)]
1328    pub fn pidr03(
1329        self,
1330    ) -> crate::common::RegisterField<3, 0x1, 1, 0, pcntr2::Pidr03, Pcntr2_SPEC, crate::common::R>
1331    {
1332        crate::common::RegisterField::<3,0x1,1,0,pcntr2::Pidr03, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1333    }
1334    #[doc = "Pmn State"]
1335    #[inline(always)]
1336    pub fn pidr04(
1337        self,
1338    ) -> crate::common::RegisterField<4, 0x1, 1, 0, pcntr2::Pidr04, Pcntr2_SPEC, crate::common::R>
1339    {
1340        crate::common::RegisterField::<4,0x1,1,0,pcntr2::Pidr04, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1341    }
1342    #[doc = "Pmn State"]
1343    #[inline(always)]
1344    pub fn pidr05(
1345        self,
1346    ) -> crate::common::RegisterField<5, 0x1, 1, 0, pcntr2::Pidr05, Pcntr2_SPEC, crate::common::R>
1347    {
1348        crate::common::RegisterField::<5,0x1,1,0,pcntr2::Pidr05, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1349    }
1350    #[doc = "Pmn State"]
1351    #[inline(always)]
1352    pub fn pidr06(
1353        self,
1354    ) -> crate::common::RegisterField<6, 0x1, 1, 0, pcntr2::Pidr06, Pcntr2_SPEC, crate::common::R>
1355    {
1356        crate::common::RegisterField::<6,0x1,1,0,pcntr2::Pidr06, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1357    }
1358    #[doc = "Pmn State"]
1359    #[inline(always)]
1360    pub fn pidr07(
1361        self,
1362    ) -> crate::common::RegisterField<7, 0x1, 1, 0, pcntr2::Pidr07, Pcntr2_SPEC, crate::common::R>
1363    {
1364        crate::common::RegisterField::<7,0x1,1,0,pcntr2::Pidr07, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1365    }
1366    #[doc = "Pmn State"]
1367    #[inline(always)]
1368    pub fn pidr08(
1369        self,
1370    ) -> crate::common::RegisterField<8, 0x1, 1, 0, pcntr2::Pidr08, Pcntr2_SPEC, crate::common::R>
1371    {
1372        crate::common::RegisterField::<8,0x1,1,0,pcntr2::Pidr08, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1373    }
1374    #[doc = "Pmn State"]
1375    #[inline(always)]
1376    pub fn pidr09(
1377        self,
1378    ) -> crate::common::RegisterField<9, 0x1, 1, 0, pcntr2::Pidr09, Pcntr2_SPEC, crate::common::R>
1379    {
1380        crate::common::RegisterField::<9,0x1,1,0,pcntr2::Pidr09, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1381    }
1382    #[doc = "Pmn State"]
1383    #[inline(always)]
1384    pub fn pidr10(
1385        self,
1386    ) -> crate::common::RegisterField<10, 0x1, 1, 0, pcntr2::Pidr10, Pcntr2_SPEC, crate::common::R>
1387    {
1388        crate::common::RegisterField::<10,0x1,1,0,pcntr2::Pidr10, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1389    }
1390    #[doc = "Pmn State"]
1391    #[inline(always)]
1392    pub fn pidr11(
1393        self,
1394    ) -> crate::common::RegisterField<11, 0x1, 1, 0, pcntr2::Pidr11, Pcntr2_SPEC, crate::common::R>
1395    {
1396        crate::common::RegisterField::<11,0x1,1,0,pcntr2::Pidr11, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1397    }
1398    #[doc = "Pmn State"]
1399    #[inline(always)]
1400    pub fn pidr12(
1401        self,
1402    ) -> crate::common::RegisterField<12, 0x1, 1, 0, pcntr2::Pidr12, Pcntr2_SPEC, crate::common::R>
1403    {
1404        crate::common::RegisterField::<12,0x1,1,0,pcntr2::Pidr12, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1405    }
1406    #[doc = "Pmn State"]
1407    #[inline(always)]
1408    pub fn pidr13(
1409        self,
1410    ) -> crate::common::RegisterField<13, 0x1, 1, 0, pcntr2::Pidr13, Pcntr2_SPEC, crate::common::R>
1411    {
1412        crate::common::RegisterField::<13,0x1,1,0,pcntr2::Pidr13, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1413    }
1414    #[doc = "Pmn State"]
1415    #[inline(always)]
1416    pub fn pidr14(
1417        self,
1418    ) -> crate::common::RegisterField<14, 0x1, 1, 0, pcntr2::Pidr14, Pcntr2_SPEC, crate::common::R>
1419    {
1420        crate::common::RegisterField::<14,0x1,1,0,pcntr2::Pidr14, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1421    }
1422    #[doc = "Pmn State"]
1423    #[inline(always)]
1424    pub fn pidr15(
1425        self,
1426    ) -> crate::common::RegisterField<15, 0x1, 1, 0, pcntr2::Pidr15, Pcntr2_SPEC, crate::common::R>
1427    {
1428        crate::common::RegisterField::<15,0x1,1,0,pcntr2::Pidr15, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1429    }
1430    #[doc = "Port Event Input Data"]
1431    #[inline(always)]
1432    pub fn eidr00(
1433        self,
1434    ) -> crate::common::RegisterField<16, 0x1, 1, 0, pcntr2::Eidr00, Pcntr2_SPEC, crate::common::R>
1435    {
1436        crate::common::RegisterField::<16,0x1,1,0,pcntr2::Eidr00, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1437    }
1438    #[doc = "Port Event Input Data"]
1439    #[inline(always)]
1440    pub fn eidr01(
1441        self,
1442    ) -> crate::common::RegisterField<17, 0x1, 1, 0, pcntr2::Eidr01, Pcntr2_SPEC, crate::common::R>
1443    {
1444        crate::common::RegisterField::<17,0x1,1,0,pcntr2::Eidr01, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1445    }
1446    #[doc = "Port Event Input Data"]
1447    #[inline(always)]
1448    pub fn eidr02(
1449        self,
1450    ) -> crate::common::RegisterField<18, 0x1, 1, 0, pcntr2::Eidr02, Pcntr2_SPEC, crate::common::R>
1451    {
1452        crate::common::RegisterField::<18,0x1,1,0,pcntr2::Eidr02, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1453    }
1454    #[doc = "Port Event Input Data"]
1455    #[inline(always)]
1456    pub fn eidr03(
1457        self,
1458    ) -> crate::common::RegisterField<19, 0x1, 1, 0, pcntr2::Eidr03, Pcntr2_SPEC, crate::common::R>
1459    {
1460        crate::common::RegisterField::<19,0x1,1,0,pcntr2::Eidr03, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1461    }
1462    #[doc = "Port Event Input Data"]
1463    #[inline(always)]
1464    pub fn eidr04(
1465        self,
1466    ) -> crate::common::RegisterField<20, 0x1, 1, 0, pcntr2::Eidr04, Pcntr2_SPEC, crate::common::R>
1467    {
1468        crate::common::RegisterField::<20,0x1,1,0,pcntr2::Eidr04, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1469    }
1470    #[doc = "Port Event Input Data"]
1471    #[inline(always)]
1472    pub fn eidr05(
1473        self,
1474    ) -> crate::common::RegisterField<21, 0x1, 1, 0, pcntr2::Eidr05, Pcntr2_SPEC, crate::common::R>
1475    {
1476        crate::common::RegisterField::<21,0x1,1,0,pcntr2::Eidr05, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1477    }
1478    #[doc = "Port Event Input Data"]
1479    #[inline(always)]
1480    pub fn eidr06(
1481        self,
1482    ) -> crate::common::RegisterField<22, 0x1, 1, 0, pcntr2::Eidr06, Pcntr2_SPEC, crate::common::R>
1483    {
1484        crate::common::RegisterField::<22,0x1,1,0,pcntr2::Eidr06, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1485    }
1486    #[doc = "Port Event Input Data"]
1487    #[inline(always)]
1488    pub fn eidr07(
1489        self,
1490    ) -> crate::common::RegisterField<23, 0x1, 1, 0, pcntr2::Eidr07, Pcntr2_SPEC, crate::common::R>
1491    {
1492        crate::common::RegisterField::<23,0x1,1,0,pcntr2::Eidr07, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1493    }
1494    #[doc = "Port Event Input Data"]
1495    #[inline(always)]
1496    pub fn eidr08(
1497        self,
1498    ) -> crate::common::RegisterField<24, 0x1, 1, 0, pcntr2::Eidr08, Pcntr2_SPEC, crate::common::R>
1499    {
1500        crate::common::RegisterField::<24,0x1,1,0,pcntr2::Eidr08, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1501    }
1502    #[doc = "Port Event Input Data"]
1503    #[inline(always)]
1504    pub fn eidr09(
1505        self,
1506    ) -> crate::common::RegisterField<25, 0x1, 1, 0, pcntr2::Eidr09, Pcntr2_SPEC, crate::common::R>
1507    {
1508        crate::common::RegisterField::<25,0x1,1,0,pcntr2::Eidr09, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1509    }
1510    #[doc = "Port Event Input Data"]
1511    #[inline(always)]
1512    pub fn eidr10(
1513        self,
1514    ) -> crate::common::RegisterField<26, 0x1, 1, 0, pcntr2::Eidr10, Pcntr2_SPEC, crate::common::R>
1515    {
1516        crate::common::RegisterField::<26,0x1,1,0,pcntr2::Eidr10, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1517    }
1518    #[doc = "Port Event Input Data"]
1519    #[inline(always)]
1520    pub fn eidr11(
1521        self,
1522    ) -> crate::common::RegisterField<27, 0x1, 1, 0, pcntr2::Eidr11, Pcntr2_SPEC, crate::common::R>
1523    {
1524        crate::common::RegisterField::<27,0x1,1,0,pcntr2::Eidr11, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1525    }
1526    #[doc = "Port Event Input Data"]
1527    #[inline(always)]
1528    pub fn eidr12(
1529        self,
1530    ) -> crate::common::RegisterField<28, 0x1, 1, 0, pcntr2::Eidr12, Pcntr2_SPEC, crate::common::R>
1531    {
1532        crate::common::RegisterField::<28,0x1,1,0,pcntr2::Eidr12, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1533    }
1534    #[doc = "Port Event Input Data"]
1535    #[inline(always)]
1536    pub fn eidr13(
1537        self,
1538    ) -> crate::common::RegisterField<29, 0x1, 1, 0, pcntr2::Eidr13, Pcntr2_SPEC, crate::common::R>
1539    {
1540        crate::common::RegisterField::<29,0x1,1,0,pcntr2::Eidr13, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1541    }
1542    #[doc = "Port Event Input Data"]
1543    #[inline(always)]
1544    pub fn eidr14(
1545        self,
1546    ) -> crate::common::RegisterField<30, 0x1, 1, 0, pcntr2::Eidr14, Pcntr2_SPEC, crate::common::R>
1547    {
1548        crate::common::RegisterField::<30,0x1,1,0,pcntr2::Eidr14, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1549    }
1550    #[doc = "Port Event Input Data"]
1551    #[inline(always)]
1552    pub fn eidr15(
1553        self,
1554    ) -> crate::common::RegisterField<31, 0x1, 1, 0, pcntr2::Eidr15, Pcntr2_SPEC, crate::common::R>
1555    {
1556        crate::common::RegisterField::<31,0x1,1,0,pcntr2::Eidr15, Pcntr2_SPEC,crate::common::R>::from_register(self,0)
1557    }
1558}
1559impl ::core::default::Default for Pcntr2 {
1560    #[inline(always)]
1561    fn default() -> Pcntr2 {
1562        <crate::RegValueT<Pcntr2_SPEC> as RegisterValue<_>>::new(0)
1563    }
1564}
1565pub mod pcntr2 {
1566
1567    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1568    pub struct Pidr00_SPEC;
1569    pub type Pidr00 = crate::EnumBitfieldStruct<u8, Pidr00_SPEC>;
1570    impl Pidr00 {
1571        #[doc = "Low level"]
1572        pub const _0: Self = Self::new(0);
1573        #[doc = "High level"]
1574        pub const _1: Self = Self::new(1);
1575    }
1576    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1577    pub struct Pidr01_SPEC;
1578    pub type Pidr01 = crate::EnumBitfieldStruct<u8, Pidr01_SPEC>;
1579    impl Pidr01 {
1580        #[doc = "Low level"]
1581        pub const _0: Self = Self::new(0);
1582        #[doc = "High level"]
1583        pub const _1: Self = Self::new(1);
1584    }
1585    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1586    pub struct Pidr02_SPEC;
1587    pub type Pidr02 = crate::EnumBitfieldStruct<u8, Pidr02_SPEC>;
1588    impl Pidr02 {
1589        #[doc = "Low level"]
1590        pub const _0: Self = Self::new(0);
1591        #[doc = "High level"]
1592        pub const _1: Self = Self::new(1);
1593    }
1594    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1595    pub struct Pidr03_SPEC;
1596    pub type Pidr03 = crate::EnumBitfieldStruct<u8, Pidr03_SPEC>;
1597    impl Pidr03 {
1598        #[doc = "Low level"]
1599        pub const _0: Self = Self::new(0);
1600        #[doc = "High level"]
1601        pub const _1: Self = Self::new(1);
1602    }
1603    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1604    pub struct Pidr04_SPEC;
1605    pub type Pidr04 = crate::EnumBitfieldStruct<u8, Pidr04_SPEC>;
1606    impl Pidr04 {
1607        #[doc = "Low level"]
1608        pub const _0: Self = Self::new(0);
1609        #[doc = "High level"]
1610        pub const _1: Self = Self::new(1);
1611    }
1612    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1613    pub struct Pidr05_SPEC;
1614    pub type Pidr05 = crate::EnumBitfieldStruct<u8, Pidr05_SPEC>;
1615    impl Pidr05 {
1616        #[doc = "Low level"]
1617        pub const _0: Self = Self::new(0);
1618        #[doc = "High level"]
1619        pub const _1: Self = Self::new(1);
1620    }
1621    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1622    pub struct Pidr06_SPEC;
1623    pub type Pidr06 = crate::EnumBitfieldStruct<u8, Pidr06_SPEC>;
1624    impl Pidr06 {
1625        #[doc = "Low level"]
1626        pub const _0: Self = Self::new(0);
1627        #[doc = "High level"]
1628        pub const _1: Self = Self::new(1);
1629    }
1630    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1631    pub struct Pidr07_SPEC;
1632    pub type Pidr07 = crate::EnumBitfieldStruct<u8, Pidr07_SPEC>;
1633    impl Pidr07 {
1634        #[doc = "Low level"]
1635        pub const _0: Self = Self::new(0);
1636        #[doc = "High level"]
1637        pub const _1: Self = Self::new(1);
1638    }
1639    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1640    pub struct Pidr08_SPEC;
1641    pub type Pidr08 = crate::EnumBitfieldStruct<u8, Pidr08_SPEC>;
1642    impl Pidr08 {
1643        #[doc = "Low level"]
1644        pub const _0: Self = Self::new(0);
1645        #[doc = "High level"]
1646        pub const _1: Self = Self::new(1);
1647    }
1648    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1649    pub struct Pidr09_SPEC;
1650    pub type Pidr09 = crate::EnumBitfieldStruct<u8, Pidr09_SPEC>;
1651    impl Pidr09 {
1652        #[doc = "Low level"]
1653        pub const _0: Self = Self::new(0);
1654        #[doc = "High level"]
1655        pub const _1: Self = Self::new(1);
1656    }
1657    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1658    pub struct Pidr10_SPEC;
1659    pub type Pidr10 = crate::EnumBitfieldStruct<u8, Pidr10_SPEC>;
1660    impl Pidr10 {
1661        #[doc = "Low level"]
1662        pub const _0: Self = Self::new(0);
1663        #[doc = "High level"]
1664        pub const _1: Self = Self::new(1);
1665    }
1666    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1667    pub struct Pidr11_SPEC;
1668    pub type Pidr11 = crate::EnumBitfieldStruct<u8, Pidr11_SPEC>;
1669    impl Pidr11 {
1670        #[doc = "Low level"]
1671        pub const _0: Self = Self::new(0);
1672        #[doc = "High level"]
1673        pub const _1: Self = Self::new(1);
1674    }
1675    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1676    pub struct Pidr12_SPEC;
1677    pub type Pidr12 = crate::EnumBitfieldStruct<u8, Pidr12_SPEC>;
1678    impl Pidr12 {
1679        #[doc = "Low level"]
1680        pub const _0: Self = Self::new(0);
1681        #[doc = "High level"]
1682        pub const _1: Self = Self::new(1);
1683    }
1684    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1685    pub struct Pidr13_SPEC;
1686    pub type Pidr13 = crate::EnumBitfieldStruct<u8, Pidr13_SPEC>;
1687    impl Pidr13 {
1688        #[doc = "Low level"]
1689        pub const _0: Self = Self::new(0);
1690        #[doc = "High level"]
1691        pub const _1: Self = Self::new(1);
1692    }
1693    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1694    pub struct Pidr14_SPEC;
1695    pub type Pidr14 = crate::EnumBitfieldStruct<u8, Pidr14_SPEC>;
1696    impl Pidr14 {
1697        #[doc = "Low level"]
1698        pub const _0: Self = Self::new(0);
1699        #[doc = "High level"]
1700        pub const _1: Self = Self::new(1);
1701    }
1702    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1703    pub struct Pidr15_SPEC;
1704    pub type Pidr15 = crate::EnumBitfieldStruct<u8, Pidr15_SPEC>;
1705    impl Pidr15 {
1706        #[doc = "Low level"]
1707        pub const _0: Self = Self::new(0);
1708        #[doc = "High level"]
1709        pub const _1: Self = Self::new(1);
1710    }
1711    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1712    pub struct Eidr00_SPEC;
1713    pub type Eidr00 = crate::EnumBitfieldStruct<u8, Eidr00_SPEC>;
1714    impl Eidr00 {
1715        #[doc = "Low input"]
1716        pub const _0: Self = Self::new(0);
1717        #[doc = "High input"]
1718        pub const _1: Self = Self::new(1);
1719    }
1720    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1721    pub struct Eidr01_SPEC;
1722    pub type Eidr01 = crate::EnumBitfieldStruct<u8, Eidr01_SPEC>;
1723    impl Eidr01 {
1724        #[doc = "Low input"]
1725        pub const _0: Self = Self::new(0);
1726        #[doc = "High input"]
1727        pub const _1: Self = Self::new(1);
1728    }
1729    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1730    pub struct Eidr02_SPEC;
1731    pub type Eidr02 = crate::EnumBitfieldStruct<u8, Eidr02_SPEC>;
1732    impl Eidr02 {
1733        #[doc = "Low input"]
1734        pub const _0: Self = Self::new(0);
1735        #[doc = "High input"]
1736        pub const _1: Self = Self::new(1);
1737    }
1738    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1739    pub struct Eidr03_SPEC;
1740    pub type Eidr03 = crate::EnumBitfieldStruct<u8, Eidr03_SPEC>;
1741    impl Eidr03 {
1742        #[doc = "Low input"]
1743        pub const _0: Self = Self::new(0);
1744        #[doc = "High input"]
1745        pub const _1: Self = Self::new(1);
1746    }
1747    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1748    pub struct Eidr04_SPEC;
1749    pub type Eidr04 = crate::EnumBitfieldStruct<u8, Eidr04_SPEC>;
1750    impl Eidr04 {
1751        #[doc = "Low input"]
1752        pub const _0: Self = Self::new(0);
1753        #[doc = "High input"]
1754        pub const _1: Self = Self::new(1);
1755    }
1756    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1757    pub struct Eidr05_SPEC;
1758    pub type Eidr05 = crate::EnumBitfieldStruct<u8, Eidr05_SPEC>;
1759    impl Eidr05 {
1760        #[doc = "Low input"]
1761        pub const _0: Self = Self::new(0);
1762        #[doc = "High input"]
1763        pub const _1: Self = Self::new(1);
1764    }
1765    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1766    pub struct Eidr06_SPEC;
1767    pub type Eidr06 = crate::EnumBitfieldStruct<u8, Eidr06_SPEC>;
1768    impl Eidr06 {
1769        #[doc = "Low input"]
1770        pub const _0: Self = Self::new(0);
1771        #[doc = "High input"]
1772        pub const _1: Self = Self::new(1);
1773    }
1774    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1775    pub struct Eidr07_SPEC;
1776    pub type Eidr07 = crate::EnumBitfieldStruct<u8, Eidr07_SPEC>;
1777    impl Eidr07 {
1778        #[doc = "Low input"]
1779        pub const _0: Self = Self::new(0);
1780        #[doc = "High input"]
1781        pub const _1: Self = Self::new(1);
1782    }
1783    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1784    pub struct Eidr08_SPEC;
1785    pub type Eidr08 = crate::EnumBitfieldStruct<u8, Eidr08_SPEC>;
1786    impl Eidr08 {
1787        #[doc = "Low input"]
1788        pub const _0: Self = Self::new(0);
1789        #[doc = "High input"]
1790        pub const _1: Self = Self::new(1);
1791    }
1792    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1793    pub struct Eidr09_SPEC;
1794    pub type Eidr09 = crate::EnumBitfieldStruct<u8, Eidr09_SPEC>;
1795    impl Eidr09 {
1796        #[doc = "Low input"]
1797        pub const _0: Self = Self::new(0);
1798        #[doc = "High input"]
1799        pub const _1: Self = Self::new(1);
1800    }
1801    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1802    pub struct Eidr10_SPEC;
1803    pub type Eidr10 = crate::EnumBitfieldStruct<u8, Eidr10_SPEC>;
1804    impl Eidr10 {
1805        #[doc = "Low input"]
1806        pub const _0: Self = Self::new(0);
1807        #[doc = "High input"]
1808        pub const _1: Self = Self::new(1);
1809    }
1810    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1811    pub struct Eidr11_SPEC;
1812    pub type Eidr11 = crate::EnumBitfieldStruct<u8, Eidr11_SPEC>;
1813    impl Eidr11 {
1814        #[doc = "Low input"]
1815        pub const _0: Self = Self::new(0);
1816        #[doc = "High input"]
1817        pub const _1: Self = Self::new(1);
1818    }
1819    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1820    pub struct Eidr12_SPEC;
1821    pub type Eidr12 = crate::EnumBitfieldStruct<u8, Eidr12_SPEC>;
1822    impl Eidr12 {
1823        #[doc = "Low input"]
1824        pub const _0: Self = Self::new(0);
1825        #[doc = "High input"]
1826        pub const _1: Self = Self::new(1);
1827    }
1828    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1829    pub struct Eidr13_SPEC;
1830    pub type Eidr13 = crate::EnumBitfieldStruct<u8, Eidr13_SPEC>;
1831    impl Eidr13 {
1832        #[doc = "Low input"]
1833        pub const _0: Self = Self::new(0);
1834        #[doc = "High input"]
1835        pub const _1: Self = Self::new(1);
1836    }
1837    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1838    pub struct Eidr14_SPEC;
1839    pub type Eidr14 = crate::EnumBitfieldStruct<u8, Eidr14_SPEC>;
1840    impl Eidr14 {
1841        #[doc = "Low input"]
1842        pub const _0: Self = Self::new(0);
1843        #[doc = "High input"]
1844        pub const _1: Self = Self::new(1);
1845    }
1846    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1847    pub struct Eidr15_SPEC;
1848    pub type Eidr15 = crate::EnumBitfieldStruct<u8, Eidr15_SPEC>;
1849    impl Eidr15 {
1850        #[doc = "Low input"]
1851        pub const _0: Self = Self::new(0);
1852        #[doc = "High input"]
1853        pub const _1: Self = Self::new(1);
1854    }
1855}
1856#[doc(hidden)]
1857#[derive(Copy, Clone, Eq, PartialEq)]
1858pub struct Eidr_SPEC;
1859impl crate::sealed::RegSpec for Eidr_SPEC {
1860    type DataType = u16;
1861}
1862#[doc = "Port Control Register 2"]
1863pub type Eidr = crate::RegValueT<Eidr_SPEC>;
1864
1865impl Eidr {
1866    #[doc = "Port Event Input Data"]
1867    #[inline(always)]
1868    pub fn eidr00(
1869        self,
1870    ) -> crate::common::RegisterField<0, 0x1, 1, 0, eidr::Eidr00, Eidr_SPEC, crate::common::R> {
1871        crate::common::RegisterField::<0,0x1,1,0,eidr::Eidr00, Eidr_SPEC,crate::common::R>::from_register(self,0)
1872    }
1873    #[doc = "Port Event Input Data"]
1874    #[inline(always)]
1875    pub fn eidr01(
1876        self,
1877    ) -> crate::common::RegisterField<1, 0x1, 1, 0, eidr::Eidr01, Eidr_SPEC, crate::common::R> {
1878        crate::common::RegisterField::<1,0x1,1,0,eidr::Eidr01, Eidr_SPEC,crate::common::R>::from_register(self,0)
1879    }
1880    #[doc = "Port Event Input Data"]
1881    #[inline(always)]
1882    pub fn eidr02(
1883        self,
1884    ) -> crate::common::RegisterField<2, 0x1, 1, 0, eidr::Eidr02, Eidr_SPEC, crate::common::R> {
1885        crate::common::RegisterField::<2,0x1,1,0,eidr::Eidr02, Eidr_SPEC,crate::common::R>::from_register(self,0)
1886    }
1887    #[doc = "Port Event Input Data"]
1888    #[inline(always)]
1889    pub fn eidr03(
1890        self,
1891    ) -> crate::common::RegisterField<3, 0x1, 1, 0, eidr::Eidr03, Eidr_SPEC, crate::common::R> {
1892        crate::common::RegisterField::<3,0x1,1,0,eidr::Eidr03, Eidr_SPEC,crate::common::R>::from_register(self,0)
1893    }
1894    #[doc = "Port Event Input Data"]
1895    #[inline(always)]
1896    pub fn eidr04(
1897        self,
1898    ) -> crate::common::RegisterField<4, 0x1, 1, 0, eidr::Eidr04, Eidr_SPEC, crate::common::R> {
1899        crate::common::RegisterField::<4,0x1,1,0,eidr::Eidr04, Eidr_SPEC,crate::common::R>::from_register(self,0)
1900    }
1901    #[doc = "Port Event Input Data"]
1902    #[inline(always)]
1903    pub fn eidr05(
1904        self,
1905    ) -> crate::common::RegisterField<5, 0x1, 1, 0, eidr::Eidr05, Eidr_SPEC, crate::common::R> {
1906        crate::common::RegisterField::<5,0x1,1,0,eidr::Eidr05, Eidr_SPEC,crate::common::R>::from_register(self,0)
1907    }
1908    #[doc = "Port Event Input Data"]
1909    #[inline(always)]
1910    pub fn eidr06(
1911        self,
1912    ) -> crate::common::RegisterField<6, 0x1, 1, 0, eidr::Eidr06, Eidr_SPEC, crate::common::R> {
1913        crate::common::RegisterField::<6,0x1,1,0,eidr::Eidr06, Eidr_SPEC,crate::common::R>::from_register(self,0)
1914    }
1915    #[doc = "Port Event Input Data"]
1916    #[inline(always)]
1917    pub fn eidr07(
1918        self,
1919    ) -> crate::common::RegisterField<7, 0x1, 1, 0, eidr::Eidr07, Eidr_SPEC, crate::common::R> {
1920        crate::common::RegisterField::<7,0x1,1,0,eidr::Eidr07, Eidr_SPEC,crate::common::R>::from_register(self,0)
1921    }
1922    #[doc = "Port Event Input Data"]
1923    #[inline(always)]
1924    pub fn eidr08(
1925        self,
1926    ) -> crate::common::RegisterField<8, 0x1, 1, 0, eidr::Eidr08, Eidr_SPEC, crate::common::R> {
1927        crate::common::RegisterField::<8,0x1,1,0,eidr::Eidr08, Eidr_SPEC,crate::common::R>::from_register(self,0)
1928    }
1929    #[doc = "Port Event Input Data"]
1930    #[inline(always)]
1931    pub fn eidr09(
1932        self,
1933    ) -> crate::common::RegisterField<9, 0x1, 1, 0, eidr::Eidr09, Eidr_SPEC, crate::common::R> {
1934        crate::common::RegisterField::<9,0x1,1,0,eidr::Eidr09, Eidr_SPEC,crate::common::R>::from_register(self,0)
1935    }
1936    #[doc = "Port Event Input Data"]
1937    #[inline(always)]
1938    pub fn eidr10(
1939        self,
1940    ) -> crate::common::RegisterField<10, 0x1, 1, 0, eidr::Eidr10, Eidr_SPEC, crate::common::R>
1941    {
1942        crate::common::RegisterField::<10,0x1,1,0,eidr::Eidr10, Eidr_SPEC,crate::common::R>::from_register(self,0)
1943    }
1944    #[doc = "Port Event Input Data"]
1945    #[inline(always)]
1946    pub fn eidr11(
1947        self,
1948    ) -> crate::common::RegisterField<11, 0x1, 1, 0, eidr::Eidr11, Eidr_SPEC, crate::common::R>
1949    {
1950        crate::common::RegisterField::<11,0x1,1,0,eidr::Eidr11, Eidr_SPEC,crate::common::R>::from_register(self,0)
1951    }
1952    #[doc = "Port Event Input Data"]
1953    #[inline(always)]
1954    pub fn eidr12(
1955        self,
1956    ) -> crate::common::RegisterField<12, 0x1, 1, 0, eidr::Eidr12, Eidr_SPEC, crate::common::R>
1957    {
1958        crate::common::RegisterField::<12,0x1,1,0,eidr::Eidr12, Eidr_SPEC,crate::common::R>::from_register(self,0)
1959    }
1960    #[doc = "Port Event Input Data"]
1961    #[inline(always)]
1962    pub fn eidr13(
1963        self,
1964    ) -> crate::common::RegisterField<13, 0x1, 1, 0, eidr::Eidr13, Eidr_SPEC, crate::common::R>
1965    {
1966        crate::common::RegisterField::<13,0x1,1,0,eidr::Eidr13, Eidr_SPEC,crate::common::R>::from_register(self,0)
1967    }
1968    #[doc = "Port Event Input Data"]
1969    #[inline(always)]
1970    pub fn eidr14(
1971        self,
1972    ) -> crate::common::RegisterField<14, 0x1, 1, 0, eidr::Eidr14, Eidr_SPEC, crate::common::R>
1973    {
1974        crate::common::RegisterField::<14,0x1,1,0,eidr::Eidr14, Eidr_SPEC,crate::common::R>::from_register(self,0)
1975    }
1976    #[doc = "Port Event Input Data"]
1977    #[inline(always)]
1978    pub fn eidr15(
1979        self,
1980    ) -> crate::common::RegisterField<15, 0x1, 1, 0, eidr::Eidr15, Eidr_SPEC, crate::common::R>
1981    {
1982        crate::common::RegisterField::<15,0x1,1,0,eidr::Eidr15, Eidr_SPEC,crate::common::R>::from_register(self,0)
1983    }
1984}
1985impl ::core::default::Default for Eidr {
1986    #[inline(always)]
1987    fn default() -> Eidr {
1988        <crate::RegValueT<Eidr_SPEC> as RegisterValue<_>>::new(0)
1989    }
1990}
1991pub mod eidr {
1992
1993    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1994    pub struct Eidr00_SPEC;
1995    pub type Eidr00 = crate::EnumBitfieldStruct<u8, Eidr00_SPEC>;
1996    impl Eidr00 {
1997        #[doc = "Low input"]
1998        pub const _0: Self = Self::new(0);
1999        #[doc = "High input"]
2000        pub const _1: Self = Self::new(1);
2001    }
2002    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2003    pub struct Eidr01_SPEC;
2004    pub type Eidr01 = crate::EnumBitfieldStruct<u8, Eidr01_SPEC>;
2005    impl Eidr01 {
2006        #[doc = "Low input"]
2007        pub const _0: Self = Self::new(0);
2008        #[doc = "High input"]
2009        pub const _1: Self = Self::new(1);
2010    }
2011    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2012    pub struct Eidr02_SPEC;
2013    pub type Eidr02 = crate::EnumBitfieldStruct<u8, Eidr02_SPEC>;
2014    impl Eidr02 {
2015        #[doc = "Low input"]
2016        pub const _0: Self = Self::new(0);
2017        #[doc = "High input"]
2018        pub const _1: Self = Self::new(1);
2019    }
2020    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2021    pub struct Eidr03_SPEC;
2022    pub type Eidr03 = crate::EnumBitfieldStruct<u8, Eidr03_SPEC>;
2023    impl Eidr03 {
2024        #[doc = "Low input"]
2025        pub const _0: Self = Self::new(0);
2026        #[doc = "High input"]
2027        pub const _1: Self = Self::new(1);
2028    }
2029    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2030    pub struct Eidr04_SPEC;
2031    pub type Eidr04 = crate::EnumBitfieldStruct<u8, Eidr04_SPEC>;
2032    impl Eidr04 {
2033        #[doc = "Low input"]
2034        pub const _0: Self = Self::new(0);
2035        #[doc = "High input"]
2036        pub const _1: Self = Self::new(1);
2037    }
2038    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2039    pub struct Eidr05_SPEC;
2040    pub type Eidr05 = crate::EnumBitfieldStruct<u8, Eidr05_SPEC>;
2041    impl Eidr05 {
2042        #[doc = "Low input"]
2043        pub const _0: Self = Self::new(0);
2044        #[doc = "High input"]
2045        pub const _1: Self = Self::new(1);
2046    }
2047    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2048    pub struct Eidr06_SPEC;
2049    pub type Eidr06 = crate::EnumBitfieldStruct<u8, Eidr06_SPEC>;
2050    impl Eidr06 {
2051        #[doc = "Low input"]
2052        pub const _0: Self = Self::new(0);
2053        #[doc = "High input"]
2054        pub const _1: Self = Self::new(1);
2055    }
2056    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2057    pub struct Eidr07_SPEC;
2058    pub type Eidr07 = crate::EnumBitfieldStruct<u8, Eidr07_SPEC>;
2059    impl Eidr07 {
2060        #[doc = "Low input"]
2061        pub const _0: Self = Self::new(0);
2062        #[doc = "High input"]
2063        pub const _1: Self = Self::new(1);
2064    }
2065    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2066    pub struct Eidr08_SPEC;
2067    pub type Eidr08 = crate::EnumBitfieldStruct<u8, Eidr08_SPEC>;
2068    impl Eidr08 {
2069        #[doc = "Low input"]
2070        pub const _0: Self = Self::new(0);
2071        #[doc = "High input"]
2072        pub const _1: Self = Self::new(1);
2073    }
2074    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2075    pub struct Eidr09_SPEC;
2076    pub type Eidr09 = crate::EnumBitfieldStruct<u8, Eidr09_SPEC>;
2077    impl Eidr09 {
2078        #[doc = "Low input"]
2079        pub const _0: Self = Self::new(0);
2080        #[doc = "High input"]
2081        pub const _1: Self = Self::new(1);
2082    }
2083    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2084    pub struct Eidr10_SPEC;
2085    pub type Eidr10 = crate::EnumBitfieldStruct<u8, Eidr10_SPEC>;
2086    impl Eidr10 {
2087        #[doc = "Low input"]
2088        pub const _0: Self = Self::new(0);
2089        #[doc = "High input"]
2090        pub const _1: Self = Self::new(1);
2091    }
2092    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2093    pub struct Eidr11_SPEC;
2094    pub type Eidr11 = crate::EnumBitfieldStruct<u8, Eidr11_SPEC>;
2095    impl Eidr11 {
2096        #[doc = "Low input"]
2097        pub const _0: Self = Self::new(0);
2098        #[doc = "High input"]
2099        pub const _1: Self = Self::new(1);
2100    }
2101    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2102    pub struct Eidr12_SPEC;
2103    pub type Eidr12 = crate::EnumBitfieldStruct<u8, Eidr12_SPEC>;
2104    impl Eidr12 {
2105        #[doc = "Low input"]
2106        pub const _0: Self = Self::new(0);
2107        #[doc = "High input"]
2108        pub const _1: Self = Self::new(1);
2109    }
2110    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2111    pub struct Eidr13_SPEC;
2112    pub type Eidr13 = crate::EnumBitfieldStruct<u8, Eidr13_SPEC>;
2113    impl Eidr13 {
2114        #[doc = "Low input"]
2115        pub const _0: Self = Self::new(0);
2116        #[doc = "High input"]
2117        pub const _1: Self = Self::new(1);
2118    }
2119    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2120    pub struct Eidr14_SPEC;
2121    pub type Eidr14 = crate::EnumBitfieldStruct<u8, Eidr14_SPEC>;
2122    impl Eidr14 {
2123        #[doc = "Low input"]
2124        pub const _0: Self = Self::new(0);
2125        #[doc = "High input"]
2126        pub const _1: Self = Self::new(1);
2127    }
2128    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2129    pub struct Eidr15_SPEC;
2130    pub type Eidr15 = crate::EnumBitfieldStruct<u8, Eidr15_SPEC>;
2131    impl Eidr15 {
2132        #[doc = "Low input"]
2133        pub const _0: Self = Self::new(0);
2134        #[doc = "High input"]
2135        pub const _1: Self = Self::new(1);
2136    }
2137}
2138#[doc(hidden)]
2139#[derive(Copy, Clone, Eq, PartialEq)]
2140pub struct Pidr_SPEC;
2141impl crate::sealed::RegSpec for Pidr_SPEC {
2142    type DataType = u16;
2143}
2144#[doc = "Port Control Register 2"]
2145pub type Pidr = crate::RegValueT<Pidr_SPEC>;
2146
2147impl Pidr {
2148    #[doc = "Pmn State"]
2149    #[inline(always)]
2150    pub fn pidr00(
2151        self,
2152    ) -> crate::common::RegisterField<0, 0x1, 1, 0, pidr::Pidr00, Pidr_SPEC, crate::common::R> {
2153        crate::common::RegisterField::<0,0x1,1,0,pidr::Pidr00, Pidr_SPEC,crate::common::R>::from_register(self,0)
2154    }
2155    #[doc = "Pmn State"]
2156    #[inline(always)]
2157    pub fn pidr01(
2158        self,
2159    ) -> crate::common::RegisterField<1, 0x1, 1, 0, pidr::Pidr01, Pidr_SPEC, crate::common::R> {
2160        crate::common::RegisterField::<1,0x1,1,0,pidr::Pidr01, Pidr_SPEC,crate::common::R>::from_register(self,0)
2161    }
2162    #[doc = "Pmn State"]
2163    #[inline(always)]
2164    pub fn pidr02(
2165        self,
2166    ) -> crate::common::RegisterField<2, 0x1, 1, 0, pidr::Pidr02, Pidr_SPEC, crate::common::R> {
2167        crate::common::RegisterField::<2,0x1,1,0,pidr::Pidr02, Pidr_SPEC,crate::common::R>::from_register(self,0)
2168    }
2169    #[doc = "Pmn State"]
2170    #[inline(always)]
2171    pub fn pidr03(
2172        self,
2173    ) -> crate::common::RegisterField<3, 0x1, 1, 0, pidr::Pidr03, Pidr_SPEC, crate::common::R> {
2174        crate::common::RegisterField::<3,0x1,1,0,pidr::Pidr03, Pidr_SPEC,crate::common::R>::from_register(self,0)
2175    }
2176    #[doc = "Pmn State"]
2177    #[inline(always)]
2178    pub fn pidr04(
2179        self,
2180    ) -> crate::common::RegisterField<4, 0x1, 1, 0, pidr::Pidr04, Pidr_SPEC, crate::common::R> {
2181        crate::common::RegisterField::<4,0x1,1,0,pidr::Pidr04, Pidr_SPEC,crate::common::R>::from_register(self,0)
2182    }
2183    #[doc = "Pmn State"]
2184    #[inline(always)]
2185    pub fn pidr05(
2186        self,
2187    ) -> crate::common::RegisterField<5, 0x1, 1, 0, pidr::Pidr05, Pidr_SPEC, crate::common::R> {
2188        crate::common::RegisterField::<5,0x1,1,0,pidr::Pidr05, Pidr_SPEC,crate::common::R>::from_register(self,0)
2189    }
2190    #[doc = "Pmn State"]
2191    #[inline(always)]
2192    pub fn pidr06(
2193        self,
2194    ) -> crate::common::RegisterField<6, 0x1, 1, 0, pidr::Pidr06, Pidr_SPEC, crate::common::R> {
2195        crate::common::RegisterField::<6,0x1,1,0,pidr::Pidr06, Pidr_SPEC,crate::common::R>::from_register(self,0)
2196    }
2197    #[doc = "Pmn State"]
2198    #[inline(always)]
2199    pub fn pidr07(
2200        self,
2201    ) -> crate::common::RegisterField<7, 0x1, 1, 0, pidr::Pidr07, Pidr_SPEC, crate::common::R> {
2202        crate::common::RegisterField::<7,0x1,1,0,pidr::Pidr07, Pidr_SPEC,crate::common::R>::from_register(self,0)
2203    }
2204    #[doc = "Pmn State"]
2205    #[inline(always)]
2206    pub fn pidr08(
2207        self,
2208    ) -> crate::common::RegisterField<8, 0x1, 1, 0, pidr::Pidr08, Pidr_SPEC, crate::common::R> {
2209        crate::common::RegisterField::<8,0x1,1,0,pidr::Pidr08, Pidr_SPEC,crate::common::R>::from_register(self,0)
2210    }
2211    #[doc = "Pmn State"]
2212    #[inline(always)]
2213    pub fn pidr09(
2214        self,
2215    ) -> crate::common::RegisterField<9, 0x1, 1, 0, pidr::Pidr09, Pidr_SPEC, crate::common::R> {
2216        crate::common::RegisterField::<9,0x1,1,0,pidr::Pidr09, Pidr_SPEC,crate::common::R>::from_register(self,0)
2217    }
2218    #[doc = "Pmn State"]
2219    #[inline(always)]
2220    pub fn pidr10(
2221        self,
2222    ) -> crate::common::RegisterField<10, 0x1, 1, 0, pidr::Pidr10, Pidr_SPEC, crate::common::R>
2223    {
2224        crate::common::RegisterField::<10,0x1,1,0,pidr::Pidr10, Pidr_SPEC,crate::common::R>::from_register(self,0)
2225    }
2226    #[doc = "Pmn State"]
2227    #[inline(always)]
2228    pub fn pidr11(
2229        self,
2230    ) -> crate::common::RegisterField<11, 0x1, 1, 0, pidr::Pidr11, Pidr_SPEC, crate::common::R>
2231    {
2232        crate::common::RegisterField::<11,0x1,1,0,pidr::Pidr11, Pidr_SPEC,crate::common::R>::from_register(self,0)
2233    }
2234    #[doc = "Pmn State"]
2235    #[inline(always)]
2236    pub fn pidr12(
2237        self,
2238    ) -> crate::common::RegisterField<12, 0x1, 1, 0, pidr::Pidr12, Pidr_SPEC, crate::common::R>
2239    {
2240        crate::common::RegisterField::<12,0x1,1,0,pidr::Pidr12, Pidr_SPEC,crate::common::R>::from_register(self,0)
2241    }
2242    #[doc = "Pmn State"]
2243    #[inline(always)]
2244    pub fn pidr13(
2245        self,
2246    ) -> crate::common::RegisterField<13, 0x1, 1, 0, pidr::Pidr13, Pidr_SPEC, crate::common::R>
2247    {
2248        crate::common::RegisterField::<13,0x1,1,0,pidr::Pidr13, Pidr_SPEC,crate::common::R>::from_register(self,0)
2249    }
2250    #[doc = "Pmn State"]
2251    #[inline(always)]
2252    pub fn pidr14(
2253        self,
2254    ) -> crate::common::RegisterField<14, 0x1, 1, 0, pidr::Pidr14, Pidr_SPEC, crate::common::R>
2255    {
2256        crate::common::RegisterField::<14,0x1,1,0,pidr::Pidr14, Pidr_SPEC,crate::common::R>::from_register(self,0)
2257    }
2258    #[doc = "Pmn State"]
2259    #[inline(always)]
2260    pub fn pidr15(
2261        self,
2262    ) -> crate::common::RegisterField<15, 0x1, 1, 0, pidr::Pidr15, Pidr_SPEC, crate::common::R>
2263    {
2264        crate::common::RegisterField::<15,0x1,1,0,pidr::Pidr15, Pidr_SPEC,crate::common::R>::from_register(self,0)
2265    }
2266}
2267impl ::core::default::Default for Pidr {
2268    #[inline(always)]
2269    fn default() -> Pidr {
2270        <crate::RegValueT<Pidr_SPEC> as RegisterValue<_>>::new(0)
2271    }
2272}
2273pub mod pidr {
2274
2275    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2276    pub struct Pidr00_SPEC;
2277    pub type Pidr00 = crate::EnumBitfieldStruct<u8, Pidr00_SPEC>;
2278    impl Pidr00 {
2279        #[doc = "Low level"]
2280        pub const _0: Self = Self::new(0);
2281        #[doc = "High level"]
2282        pub const _1: Self = Self::new(1);
2283    }
2284    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2285    pub struct Pidr01_SPEC;
2286    pub type Pidr01 = crate::EnumBitfieldStruct<u8, Pidr01_SPEC>;
2287    impl Pidr01 {
2288        #[doc = "Low level"]
2289        pub const _0: Self = Self::new(0);
2290        #[doc = "High level"]
2291        pub const _1: Self = Self::new(1);
2292    }
2293    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2294    pub struct Pidr02_SPEC;
2295    pub type Pidr02 = crate::EnumBitfieldStruct<u8, Pidr02_SPEC>;
2296    impl Pidr02 {
2297        #[doc = "Low level"]
2298        pub const _0: Self = Self::new(0);
2299        #[doc = "High level"]
2300        pub const _1: Self = Self::new(1);
2301    }
2302    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2303    pub struct Pidr03_SPEC;
2304    pub type Pidr03 = crate::EnumBitfieldStruct<u8, Pidr03_SPEC>;
2305    impl Pidr03 {
2306        #[doc = "Low level"]
2307        pub const _0: Self = Self::new(0);
2308        #[doc = "High level"]
2309        pub const _1: Self = Self::new(1);
2310    }
2311    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2312    pub struct Pidr04_SPEC;
2313    pub type Pidr04 = crate::EnumBitfieldStruct<u8, Pidr04_SPEC>;
2314    impl Pidr04 {
2315        #[doc = "Low level"]
2316        pub const _0: Self = Self::new(0);
2317        #[doc = "High level"]
2318        pub const _1: Self = Self::new(1);
2319    }
2320    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2321    pub struct Pidr05_SPEC;
2322    pub type Pidr05 = crate::EnumBitfieldStruct<u8, Pidr05_SPEC>;
2323    impl Pidr05 {
2324        #[doc = "Low level"]
2325        pub const _0: Self = Self::new(0);
2326        #[doc = "High level"]
2327        pub const _1: Self = Self::new(1);
2328    }
2329    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2330    pub struct Pidr06_SPEC;
2331    pub type Pidr06 = crate::EnumBitfieldStruct<u8, Pidr06_SPEC>;
2332    impl Pidr06 {
2333        #[doc = "Low level"]
2334        pub const _0: Self = Self::new(0);
2335        #[doc = "High level"]
2336        pub const _1: Self = Self::new(1);
2337    }
2338    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2339    pub struct Pidr07_SPEC;
2340    pub type Pidr07 = crate::EnumBitfieldStruct<u8, Pidr07_SPEC>;
2341    impl Pidr07 {
2342        #[doc = "Low level"]
2343        pub const _0: Self = Self::new(0);
2344        #[doc = "High level"]
2345        pub const _1: Self = Self::new(1);
2346    }
2347    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2348    pub struct Pidr08_SPEC;
2349    pub type Pidr08 = crate::EnumBitfieldStruct<u8, Pidr08_SPEC>;
2350    impl Pidr08 {
2351        #[doc = "Low level"]
2352        pub const _0: Self = Self::new(0);
2353        #[doc = "High level"]
2354        pub const _1: Self = Self::new(1);
2355    }
2356    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2357    pub struct Pidr09_SPEC;
2358    pub type Pidr09 = crate::EnumBitfieldStruct<u8, Pidr09_SPEC>;
2359    impl Pidr09 {
2360        #[doc = "Low level"]
2361        pub const _0: Self = Self::new(0);
2362        #[doc = "High level"]
2363        pub const _1: Self = Self::new(1);
2364    }
2365    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2366    pub struct Pidr10_SPEC;
2367    pub type Pidr10 = crate::EnumBitfieldStruct<u8, Pidr10_SPEC>;
2368    impl Pidr10 {
2369        #[doc = "Low level"]
2370        pub const _0: Self = Self::new(0);
2371        #[doc = "High level"]
2372        pub const _1: Self = Self::new(1);
2373    }
2374    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2375    pub struct Pidr11_SPEC;
2376    pub type Pidr11 = crate::EnumBitfieldStruct<u8, Pidr11_SPEC>;
2377    impl Pidr11 {
2378        #[doc = "Low level"]
2379        pub const _0: Self = Self::new(0);
2380        #[doc = "High level"]
2381        pub const _1: Self = Self::new(1);
2382    }
2383    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2384    pub struct Pidr12_SPEC;
2385    pub type Pidr12 = crate::EnumBitfieldStruct<u8, Pidr12_SPEC>;
2386    impl Pidr12 {
2387        #[doc = "Low level"]
2388        pub const _0: Self = Self::new(0);
2389        #[doc = "High level"]
2390        pub const _1: Self = Self::new(1);
2391    }
2392    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2393    pub struct Pidr13_SPEC;
2394    pub type Pidr13 = crate::EnumBitfieldStruct<u8, Pidr13_SPEC>;
2395    impl Pidr13 {
2396        #[doc = "Low level"]
2397        pub const _0: Self = Self::new(0);
2398        #[doc = "High level"]
2399        pub const _1: Self = Self::new(1);
2400    }
2401    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2402    pub struct Pidr14_SPEC;
2403    pub type Pidr14 = crate::EnumBitfieldStruct<u8, Pidr14_SPEC>;
2404    impl Pidr14 {
2405        #[doc = "Low level"]
2406        pub const _0: Self = Self::new(0);
2407        #[doc = "High level"]
2408        pub const _1: Self = Self::new(1);
2409    }
2410    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2411    pub struct Pidr15_SPEC;
2412    pub type Pidr15 = crate::EnumBitfieldStruct<u8, Pidr15_SPEC>;
2413    impl Pidr15 {
2414        #[doc = "Low level"]
2415        pub const _0: Self = Self::new(0);
2416        #[doc = "High level"]
2417        pub const _1: Self = Self::new(1);
2418    }
2419}
2420#[doc(hidden)]
2421#[derive(Copy, Clone, Eq, PartialEq)]
2422pub struct Pcntr3_SPEC;
2423impl crate::sealed::RegSpec for Pcntr3_SPEC {
2424    type DataType = u32;
2425}
2426#[doc = "Port Control Register 3"]
2427pub type Pcntr3 = crate::RegValueT<Pcntr3_SPEC>;
2428
2429impl Pcntr3 {
2430    #[doc = "Pmn Output Set"]
2431    #[inline(always)]
2432    pub fn posr00(
2433        self,
2434    ) -> crate::common::RegisterField<0, 0x1, 1, 0, pcntr3::Posr00, Pcntr3_SPEC, crate::common::W>
2435    {
2436        crate::common::RegisterField::<0,0x1,1,0,pcntr3::Posr00, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2437    }
2438    #[doc = "Pmn Output Set"]
2439    #[inline(always)]
2440    pub fn posr01(
2441        self,
2442    ) -> crate::common::RegisterField<1, 0x1, 1, 0, pcntr3::Posr01, Pcntr3_SPEC, crate::common::W>
2443    {
2444        crate::common::RegisterField::<1,0x1,1,0,pcntr3::Posr01, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2445    }
2446    #[doc = "Pmn Output Set"]
2447    #[inline(always)]
2448    pub fn posr02(
2449        self,
2450    ) -> crate::common::RegisterField<2, 0x1, 1, 0, pcntr3::Posr02, Pcntr3_SPEC, crate::common::W>
2451    {
2452        crate::common::RegisterField::<2,0x1,1,0,pcntr3::Posr02, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2453    }
2454    #[doc = "Pmn Output Set"]
2455    #[inline(always)]
2456    pub fn posr03(
2457        self,
2458    ) -> crate::common::RegisterField<3, 0x1, 1, 0, pcntr3::Posr03, Pcntr3_SPEC, crate::common::W>
2459    {
2460        crate::common::RegisterField::<3,0x1,1,0,pcntr3::Posr03, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2461    }
2462    #[doc = "Pmn Output Set"]
2463    #[inline(always)]
2464    pub fn posr04(
2465        self,
2466    ) -> crate::common::RegisterField<4, 0x1, 1, 0, pcntr3::Posr04, Pcntr3_SPEC, crate::common::W>
2467    {
2468        crate::common::RegisterField::<4,0x1,1,0,pcntr3::Posr04, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2469    }
2470    #[doc = "Pmn Output Set"]
2471    #[inline(always)]
2472    pub fn posr05(
2473        self,
2474    ) -> crate::common::RegisterField<5, 0x1, 1, 0, pcntr3::Posr05, Pcntr3_SPEC, crate::common::W>
2475    {
2476        crate::common::RegisterField::<5,0x1,1,0,pcntr3::Posr05, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2477    }
2478    #[doc = "Pmn Output Set"]
2479    #[inline(always)]
2480    pub fn posr06(
2481        self,
2482    ) -> crate::common::RegisterField<6, 0x1, 1, 0, pcntr3::Posr06, Pcntr3_SPEC, crate::common::W>
2483    {
2484        crate::common::RegisterField::<6,0x1,1,0,pcntr3::Posr06, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2485    }
2486    #[doc = "Pmn Output Set"]
2487    #[inline(always)]
2488    pub fn posr07(
2489        self,
2490    ) -> crate::common::RegisterField<7, 0x1, 1, 0, pcntr3::Posr07, Pcntr3_SPEC, crate::common::W>
2491    {
2492        crate::common::RegisterField::<7,0x1,1,0,pcntr3::Posr07, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2493    }
2494    #[doc = "Pmn Output Set"]
2495    #[inline(always)]
2496    pub fn posr08(
2497        self,
2498    ) -> crate::common::RegisterField<8, 0x1, 1, 0, pcntr3::Posr08, Pcntr3_SPEC, crate::common::W>
2499    {
2500        crate::common::RegisterField::<8,0x1,1,0,pcntr3::Posr08, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2501    }
2502    #[doc = "Pmn Output Set"]
2503    #[inline(always)]
2504    pub fn posr09(
2505        self,
2506    ) -> crate::common::RegisterField<9, 0x1, 1, 0, pcntr3::Posr09, Pcntr3_SPEC, crate::common::W>
2507    {
2508        crate::common::RegisterField::<9,0x1,1,0,pcntr3::Posr09, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2509    }
2510    #[doc = "Pmn Output Set"]
2511    #[inline(always)]
2512    pub fn posr10(
2513        self,
2514    ) -> crate::common::RegisterField<10, 0x1, 1, 0, pcntr3::Posr10, Pcntr3_SPEC, crate::common::W>
2515    {
2516        crate::common::RegisterField::<10,0x1,1,0,pcntr3::Posr10, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2517    }
2518    #[doc = "Pmn Output Set"]
2519    #[inline(always)]
2520    pub fn posr11(
2521        self,
2522    ) -> crate::common::RegisterField<11, 0x1, 1, 0, pcntr3::Posr11, Pcntr3_SPEC, crate::common::W>
2523    {
2524        crate::common::RegisterField::<11,0x1,1,0,pcntr3::Posr11, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2525    }
2526    #[doc = "Pmn Output Set"]
2527    #[inline(always)]
2528    pub fn posr12(
2529        self,
2530    ) -> crate::common::RegisterField<12, 0x1, 1, 0, pcntr3::Posr12, Pcntr3_SPEC, crate::common::W>
2531    {
2532        crate::common::RegisterField::<12,0x1,1,0,pcntr3::Posr12, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2533    }
2534    #[doc = "Pmn Output Set"]
2535    #[inline(always)]
2536    pub fn posr13(
2537        self,
2538    ) -> crate::common::RegisterField<13, 0x1, 1, 0, pcntr3::Posr13, Pcntr3_SPEC, crate::common::W>
2539    {
2540        crate::common::RegisterField::<13,0x1,1,0,pcntr3::Posr13, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2541    }
2542    #[doc = "Pmn Output Set"]
2543    #[inline(always)]
2544    pub fn posr14(
2545        self,
2546    ) -> crate::common::RegisterField<14, 0x1, 1, 0, pcntr3::Posr14, Pcntr3_SPEC, crate::common::W>
2547    {
2548        crate::common::RegisterField::<14,0x1,1,0,pcntr3::Posr14, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2549    }
2550    #[doc = "Pmn Output Set"]
2551    #[inline(always)]
2552    pub fn posr15(
2553        self,
2554    ) -> crate::common::RegisterField<15, 0x1, 1, 0, pcntr3::Posr15, Pcntr3_SPEC, crate::common::W>
2555    {
2556        crate::common::RegisterField::<15,0x1,1,0,pcntr3::Posr15, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2557    }
2558    #[doc = "Pmn Output Reset"]
2559    #[inline(always)]
2560    pub fn porr00(
2561        self,
2562    ) -> crate::common::RegisterField<16, 0x1, 1, 0, pcntr3::Porr00, Pcntr3_SPEC, crate::common::W>
2563    {
2564        crate::common::RegisterField::<16,0x1,1,0,pcntr3::Porr00, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2565    }
2566    #[doc = "Pmn Output Reset"]
2567    #[inline(always)]
2568    pub fn porr01(
2569        self,
2570    ) -> crate::common::RegisterField<17, 0x1, 1, 0, pcntr3::Porr01, Pcntr3_SPEC, crate::common::W>
2571    {
2572        crate::common::RegisterField::<17,0x1,1,0,pcntr3::Porr01, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2573    }
2574    #[doc = "Pmn Output Reset"]
2575    #[inline(always)]
2576    pub fn porr02(
2577        self,
2578    ) -> crate::common::RegisterField<18, 0x1, 1, 0, pcntr3::Porr02, Pcntr3_SPEC, crate::common::W>
2579    {
2580        crate::common::RegisterField::<18,0x1,1,0,pcntr3::Porr02, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2581    }
2582    #[doc = "Pmn Output Reset"]
2583    #[inline(always)]
2584    pub fn porr03(
2585        self,
2586    ) -> crate::common::RegisterField<19, 0x1, 1, 0, pcntr3::Porr03, Pcntr3_SPEC, crate::common::W>
2587    {
2588        crate::common::RegisterField::<19,0x1,1,0,pcntr3::Porr03, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2589    }
2590    #[doc = "Pmn Output Reset"]
2591    #[inline(always)]
2592    pub fn porr04(
2593        self,
2594    ) -> crate::common::RegisterField<20, 0x1, 1, 0, pcntr3::Porr04, Pcntr3_SPEC, crate::common::W>
2595    {
2596        crate::common::RegisterField::<20,0x1,1,0,pcntr3::Porr04, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2597    }
2598    #[doc = "Pmn Output Reset"]
2599    #[inline(always)]
2600    pub fn porr05(
2601        self,
2602    ) -> crate::common::RegisterField<21, 0x1, 1, 0, pcntr3::Porr05, Pcntr3_SPEC, crate::common::W>
2603    {
2604        crate::common::RegisterField::<21,0x1,1,0,pcntr3::Porr05, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2605    }
2606    #[doc = "Pmn Output Reset"]
2607    #[inline(always)]
2608    pub fn porr06(
2609        self,
2610    ) -> crate::common::RegisterField<22, 0x1, 1, 0, pcntr3::Porr06, Pcntr3_SPEC, crate::common::W>
2611    {
2612        crate::common::RegisterField::<22,0x1,1,0,pcntr3::Porr06, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2613    }
2614    #[doc = "Pmn Output Reset"]
2615    #[inline(always)]
2616    pub fn porr07(
2617        self,
2618    ) -> crate::common::RegisterField<23, 0x1, 1, 0, pcntr3::Porr07, Pcntr3_SPEC, crate::common::W>
2619    {
2620        crate::common::RegisterField::<23,0x1,1,0,pcntr3::Porr07, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2621    }
2622    #[doc = "Pmn Output Reset"]
2623    #[inline(always)]
2624    pub fn porr08(
2625        self,
2626    ) -> crate::common::RegisterField<24, 0x1, 1, 0, pcntr3::Porr08, Pcntr3_SPEC, crate::common::W>
2627    {
2628        crate::common::RegisterField::<24,0x1,1,0,pcntr3::Porr08, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2629    }
2630    #[doc = "Pmn Output Reset"]
2631    #[inline(always)]
2632    pub fn porr09(
2633        self,
2634    ) -> crate::common::RegisterField<25, 0x1, 1, 0, pcntr3::Porr09, Pcntr3_SPEC, crate::common::W>
2635    {
2636        crate::common::RegisterField::<25,0x1,1,0,pcntr3::Porr09, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2637    }
2638    #[doc = "Pmn Output Reset"]
2639    #[inline(always)]
2640    pub fn porr10(
2641        self,
2642    ) -> crate::common::RegisterField<26, 0x1, 1, 0, pcntr3::Porr10, Pcntr3_SPEC, crate::common::W>
2643    {
2644        crate::common::RegisterField::<26,0x1,1,0,pcntr3::Porr10, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2645    }
2646    #[doc = "Pmn Output Reset"]
2647    #[inline(always)]
2648    pub fn porr11(
2649        self,
2650    ) -> crate::common::RegisterField<27, 0x1, 1, 0, pcntr3::Porr11, Pcntr3_SPEC, crate::common::W>
2651    {
2652        crate::common::RegisterField::<27,0x1,1,0,pcntr3::Porr11, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2653    }
2654    #[doc = "Pmn Output Reset"]
2655    #[inline(always)]
2656    pub fn porr12(
2657        self,
2658    ) -> crate::common::RegisterField<28, 0x1, 1, 0, pcntr3::Porr12, Pcntr3_SPEC, crate::common::W>
2659    {
2660        crate::common::RegisterField::<28,0x1,1,0,pcntr3::Porr12, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2661    }
2662    #[doc = "Pmn Output Reset"]
2663    #[inline(always)]
2664    pub fn porr13(
2665        self,
2666    ) -> crate::common::RegisterField<29, 0x1, 1, 0, pcntr3::Porr13, Pcntr3_SPEC, crate::common::W>
2667    {
2668        crate::common::RegisterField::<29,0x1,1,0,pcntr3::Porr13, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2669    }
2670    #[doc = "Pmn Output Reset"]
2671    #[inline(always)]
2672    pub fn porr14(
2673        self,
2674    ) -> crate::common::RegisterField<30, 0x1, 1, 0, pcntr3::Porr14, Pcntr3_SPEC, crate::common::W>
2675    {
2676        crate::common::RegisterField::<30,0x1,1,0,pcntr3::Porr14, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2677    }
2678    #[doc = "Pmn Output Reset"]
2679    #[inline(always)]
2680    pub fn porr15(
2681        self,
2682    ) -> crate::common::RegisterField<31, 0x1, 1, 0, pcntr3::Porr15, Pcntr3_SPEC, crate::common::W>
2683    {
2684        crate::common::RegisterField::<31,0x1,1,0,pcntr3::Porr15, Pcntr3_SPEC,crate::common::W>::from_register(self,0)
2685    }
2686}
2687impl ::core::default::Default for Pcntr3 {
2688    #[inline(always)]
2689    fn default() -> Pcntr3 {
2690        <crate::RegValueT<Pcntr3_SPEC> as RegisterValue<_>>::new(0)
2691    }
2692}
2693pub mod pcntr3 {
2694
2695    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2696    pub struct Posr00_SPEC;
2697    pub type Posr00 = crate::EnumBitfieldStruct<u8, Posr00_SPEC>;
2698    impl Posr00 {
2699        #[doc = "No effect on output"]
2700        pub const _0: Self = Self::new(0);
2701        #[doc = "High output"]
2702        pub const _1: Self = Self::new(1);
2703    }
2704    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2705    pub struct Posr01_SPEC;
2706    pub type Posr01 = crate::EnumBitfieldStruct<u8, Posr01_SPEC>;
2707    impl Posr01 {
2708        #[doc = "No effect on output"]
2709        pub const _0: Self = Self::new(0);
2710        #[doc = "High output"]
2711        pub const _1: Self = Self::new(1);
2712    }
2713    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2714    pub struct Posr02_SPEC;
2715    pub type Posr02 = crate::EnumBitfieldStruct<u8, Posr02_SPEC>;
2716    impl Posr02 {
2717        #[doc = "No effect on output"]
2718        pub const _0: Self = Self::new(0);
2719        #[doc = "High output"]
2720        pub const _1: Self = Self::new(1);
2721    }
2722    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2723    pub struct Posr03_SPEC;
2724    pub type Posr03 = crate::EnumBitfieldStruct<u8, Posr03_SPEC>;
2725    impl Posr03 {
2726        #[doc = "No effect on output"]
2727        pub const _0: Self = Self::new(0);
2728        #[doc = "High output"]
2729        pub const _1: Self = Self::new(1);
2730    }
2731    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2732    pub struct Posr04_SPEC;
2733    pub type Posr04 = crate::EnumBitfieldStruct<u8, Posr04_SPEC>;
2734    impl Posr04 {
2735        #[doc = "No effect on output"]
2736        pub const _0: Self = Self::new(0);
2737        #[doc = "High output"]
2738        pub const _1: Self = Self::new(1);
2739    }
2740    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2741    pub struct Posr05_SPEC;
2742    pub type Posr05 = crate::EnumBitfieldStruct<u8, Posr05_SPEC>;
2743    impl Posr05 {
2744        #[doc = "No effect on output"]
2745        pub const _0: Self = Self::new(0);
2746        #[doc = "High output"]
2747        pub const _1: Self = Self::new(1);
2748    }
2749    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2750    pub struct Posr06_SPEC;
2751    pub type Posr06 = crate::EnumBitfieldStruct<u8, Posr06_SPEC>;
2752    impl Posr06 {
2753        #[doc = "No effect on output"]
2754        pub const _0: Self = Self::new(0);
2755        #[doc = "High output"]
2756        pub const _1: Self = Self::new(1);
2757    }
2758    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2759    pub struct Posr07_SPEC;
2760    pub type Posr07 = crate::EnumBitfieldStruct<u8, Posr07_SPEC>;
2761    impl Posr07 {
2762        #[doc = "No effect on output"]
2763        pub const _0: Self = Self::new(0);
2764        #[doc = "High output"]
2765        pub const _1: Self = Self::new(1);
2766    }
2767    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2768    pub struct Posr08_SPEC;
2769    pub type Posr08 = crate::EnumBitfieldStruct<u8, Posr08_SPEC>;
2770    impl Posr08 {
2771        #[doc = "No effect on output"]
2772        pub const _0: Self = Self::new(0);
2773        #[doc = "High output"]
2774        pub const _1: Self = Self::new(1);
2775    }
2776    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2777    pub struct Posr09_SPEC;
2778    pub type Posr09 = crate::EnumBitfieldStruct<u8, Posr09_SPEC>;
2779    impl Posr09 {
2780        #[doc = "No effect on output"]
2781        pub const _0: Self = Self::new(0);
2782        #[doc = "High output"]
2783        pub const _1: Self = Self::new(1);
2784    }
2785    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2786    pub struct Posr10_SPEC;
2787    pub type Posr10 = crate::EnumBitfieldStruct<u8, Posr10_SPEC>;
2788    impl Posr10 {
2789        #[doc = "No effect on output"]
2790        pub const _0: Self = Self::new(0);
2791        #[doc = "High output"]
2792        pub const _1: Self = Self::new(1);
2793    }
2794    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2795    pub struct Posr11_SPEC;
2796    pub type Posr11 = crate::EnumBitfieldStruct<u8, Posr11_SPEC>;
2797    impl Posr11 {
2798        #[doc = "No effect on output"]
2799        pub const _0: Self = Self::new(0);
2800        #[doc = "High output"]
2801        pub const _1: Self = Self::new(1);
2802    }
2803    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2804    pub struct Posr12_SPEC;
2805    pub type Posr12 = crate::EnumBitfieldStruct<u8, Posr12_SPEC>;
2806    impl Posr12 {
2807        #[doc = "No effect on output"]
2808        pub const _0: Self = Self::new(0);
2809        #[doc = "High output"]
2810        pub const _1: Self = Self::new(1);
2811    }
2812    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2813    pub struct Posr13_SPEC;
2814    pub type Posr13 = crate::EnumBitfieldStruct<u8, Posr13_SPEC>;
2815    impl Posr13 {
2816        #[doc = "No effect on output"]
2817        pub const _0: Self = Self::new(0);
2818        #[doc = "High output"]
2819        pub const _1: Self = Self::new(1);
2820    }
2821    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2822    pub struct Posr14_SPEC;
2823    pub type Posr14 = crate::EnumBitfieldStruct<u8, Posr14_SPEC>;
2824    impl Posr14 {
2825        #[doc = "No effect on output"]
2826        pub const _0: Self = Self::new(0);
2827        #[doc = "High output"]
2828        pub const _1: Self = Self::new(1);
2829    }
2830    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2831    pub struct Posr15_SPEC;
2832    pub type Posr15 = crate::EnumBitfieldStruct<u8, Posr15_SPEC>;
2833    impl Posr15 {
2834        #[doc = "No effect on output"]
2835        pub const _0: Self = Self::new(0);
2836        #[doc = "High output"]
2837        pub const _1: Self = Self::new(1);
2838    }
2839    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2840    pub struct Porr00_SPEC;
2841    pub type Porr00 = crate::EnumBitfieldStruct<u8, Porr00_SPEC>;
2842    impl Porr00 {
2843        #[doc = "No effect on output"]
2844        pub const _0: Self = Self::new(0);
2845        #[doc = "Low output"]
2846        pub const _1: Self = Self::new(1);
2847    }
2848    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2849    pub struct Porr01_SPEC;
2850    pub type Porr01 = crate::EnumBitfieldStruct<u8, Porr01_SPEC>;
2851    impl Porr01 {
2852        #[doc = "No effect on output"]
2853        pub const _0: Self = Self::new(0);
2854        #[doc = "Low output"]
2855        pub const _1: Self = Self::new(1);
2856    }
2857    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2858    pub struct Porr02_SPEC;
2859    pub type Porr02 = crate::EnumBitfieldStruct<u8, Porr02_SPEC>;
2860    impl Porr02 {
2861        #[doc = "No effect on output"]
2862        pub const _0: Self = Self::new(0);
2863        #[doc = "Low output"]
2864        pub const _1: Self = Self::new(1);
2865    }
2866    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2867    pub struct Porr03_SPEC;
2868    pub type Porr03 = crate::EnumBitfieldStruct<u8, Porr03_SPEC>;
2869    impl Porr03 {
2870        #[doc = "No effect on output"]
2871        pub const _0: Self = Self::new(0);
2872        #[doc = "Low output"]
2873        pub const _1: Self = Self::new(1);
2874    }
2875    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2876    pub struct Porr04_SPEC;
2877    pub type Porr04 = crate::EnumBitfieldStruct<u8, Porr04_SPEC>;
2878    impl Porr04 {
2879        #[doc = "No effect on output"]
2880        pub const _0: Self = Self::new(0);
2881        #[doc = "Low output"]
2882        pub const _1: Self = Self::new(1);
2883    }
2884    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2885    pub struct Porr05_SPEC;
2886    pub type Porr05 = crate::EnumBitfieldStruct<u8, Porr05_SPEC>;
2887    impl Porr05 {
2888        #[doc = "No effect on output"]
2889        pub const _0: Self = Self::new(0);
2890        #[doc = "Low output"]
2891        pub const _1: Self = Self::new(1);
2892    }
2893    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2894    pub struct Porr06_SPEC;
2895    pub type Porr06 = crate::EnumBitfieldStruct<u8, Porr06_SPEC>;
2896    impl Porr06 {
2897        #[doc = "No effect on output"]
2898        pub const _0: Self = Self::new(0);
2899        #[doc = "Low output"]
2900        pub const _1: Self = Self::new(1);
2901    }
2902    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2903    pub struct Porr07_SPEC;
2904    pub type Porr07 = crate::EnumBitfieldStruct<u8, Porr07_SPEC>;
2905    impl Porr07 {
2906        #[doc = "No effect on output"]
2907        pub const _0: Self = Self::new(0);
2908        #[doc = "Low output"]
2909        pub const _1: Self = Self::new(1);
2910    }
2911    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2912    pub struct Porr08_SPEC;
2913    pub type Porr08 = crate::EnumBitfieldStruct<u8, Porr08_SPEC>;
2914    impl Porr08 {
2915        #[doc = "No effect on output"]
2916        pub const _0: Self = Self::new(0);
2917        #[doc = "Low output"]
2918        pub const _1: Self = Self::new(1);
2919    }
2920    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2921    pub struct Porr09_SPEC;
2922    pub type Porr09 = crate::EnumBitfieldStruct<u8, Porr09_SPEC>;
2923    impl Porr09 {
2924        #[doc = "No effect on output"]
2925        pub const _0: Self = Self::new(0);
2926        #[doc = "Low output"]
2927        pub const _1: Self = Self::new(1);
2928    }
2929    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2930    pub struct Porr10_SPEC;
2931    pub type Porr10 = crate::EnumBitfieldStruct<u8, Porr10_SPEC>;
2932    impl Porr10 {
2933        #[doc = "No effect on output"]
2934        pub const _0: Self = Self::new(0);
2935        #[doc = "Low output"]
2936        pub const _1: Self = Self::new(1);
2937    }
2938    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2939    pub struct Porr11_SPEC;
2940    pub type Porr11 = crate::EnumBitfieldStruct<u8, Porr11_SPEC>;
2941    impl Porr11 {
2942        #[doc = "No effect on output"]
2943        pub const _0: Self = Self::new(0);
2944        #[doc = "Low output"]
2945        pub const _1: Self = Self::new(1);
2946    }
2947    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2948    pub struct Porr12_SPEC;
2949    pub type Porr12 = crate::EnumBitfieldStruct<u8, Porr12_SPEC>;
2950    impl Porr12 {
2951        #[doc = "No effect on output"]
2952        pub const _0: Self = Self::new(0);
2953        #[doc = "Low output"]
2954        pub const _1: Self = Self::new(1);
2955    }
2956    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2957    pub struct Porr13_SPEC;
2958    pub type Porr13 = crate::EnumBitfieldStruct<u8, Porr13_SPEC>;
2959    impl Porr13 {
2960        #[doc = "No effect on output"]
2961        pub const _0: Self = Self::new(0);
2962        #[doc = "Low output"]
2963        pub const _1: Self = Self::new(1);
2964    }
2965    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2966    pub struct Porr14_SPEC;
2967    pub type Porr14 = crate::EnumBitfieldStruct<u8, Porr14_SPEC>;
2968    impl Porr14 {
2969        #[doc = "No effect on output"]
2970        pub const _0: Self = Self::new(0);
2971        #[doc = "Low output"]
2972        pub const _1: Self = Self::new(1);
2973    }
2974    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2975    pub struct Porr15_SPEC;
2976    pub type Porr15 = crate::EnumBitfieldStruct<u8, Porr15_SPEC>;
2977    impl Porr15 {
2978        #[doc = "No effect on output"]
2979        pub const _0: Self = Self::new(0);
2980        #[doc = "Low output"]
2981        pub const _1: Self = Self::new(1);
2982    }
2983}
2984#[doc(hidden)]
2985#[derive(Copy, Clone, Eq, PartialEq)]
2986pub struct Porr_SPEC;
2987impl crate::sealed::RegSpec for Porr_SPEC {
2988    type DataType = u16;
2989}
2990#[doc = "Port Control Register 3"]
2991pub type Porr = crate::RegValueT<Porr_SPEC>;
2992
2993impl Porr {
2994    #[doc = "Pmn Output Reset"]
2995    #[inline(always)]
2996    pub fn porr00(
2997        self,
2998    ) -> crate::common::RegisterField<0, 0x1, 1, 0, porr::Porr00, Porr_SPEC, crate::common::W> {
2999        crate::common::RegisterField::<0,0x1,1,0,porr::Porr00, Porr_SPEC,crate::common::W>::from_register(self,0)
3000    }
3001    #[doc = "Pmn Output Reset"]
3002    #[inline(always)]
3003    pub fn porr01(
3004        self,
3005    ) -> crate::common::RegisterField<1, 0x1, 1, 0, porr::Porr01, Porr_SPEC, crate::common::W> {
3006        crate::common::RegisterField::<1,0x1,1,0,porr::Porr01, Porr_SPEC,crate::common::W>::from_register(self,0)
3007    }
3008    #[doc = "Pmn Output Reset"]
3009    #[inline(always)]
3010    pub fn porr02(
3011        self,
3012    ) -> crate::common::RegisterField<2, 0x1, 1, 0, porr::Porr02, Porr_SPEC, crate::common::W> {
3013        crate::common::RegisterField::<2,0x1,1,0,porr::Porr02, Porr_SPEC,crate::common::W>::from_register(self,0)
3014    }
3015    #[doc = "Pmn Output Reset"]
3016    #[inline(always)]
3017    pub fn porr03(
3018        self,
3019    ) -> crate::common::RegisterField<3, 0x1, 1, 0, porr::Porr03, Porr_SPEC, crate::common::W> {
3020        crate::common::RegisterField::<3,0x1,1,0,porr::Porr03, Porr_SPEC,crate::common::W>::from_register(self,0)
3021    }
3022    #[doc = "Pmn Output Reset"]
3023    #[inline(always)]
3024    pub fn porr04(
3025        self,
3026    ) -> crate::common::RegisterField<4, 0x1, 1, 0, porr::Porr04, Porr_SPEC, crate::common::W> {
3027        crate::common::RegisterField::<4,0x1,1,0,porr::Porr04, Porr_SPEC,crate::common::W>::from_register(self,0)
3028    }
3029    #[doc = "Pmn Output Reset"]
3030    #[inline(always)]
3031    pub fn porr05(
3032        self,
3033    ) -> crate::common::RegisterField<5, 0x1, 1, 0, porr::Porr05, Porr_SPEC, crate::common::W> {
3034        crate::common::RegisterField::<5,0x1,1,0,porr::Porr05, Porr_SPEC,crate::common::W>::from_register(self,0)
3035    }
3036    #[doc = "Pmn Output Reset"]
3037    #[inline(always)]
3038    pub fn porr06(
3039        self,
3040    ) -> crate::common::RegisterField<6, 0x1, 1, 0, porr::Porr06, Porr_SPEC, crate::common::W> {
3041        crate::common::RegisterField::<6,0x1,1,0,porr::Porr06, Porr_SPEC,crate::common::W>::from_register(self,0)
3042    }
3043    #[doc = "Pmn Output Reset"]
3044    #[inline(always)]
3045    pub fn porr07(
3046        self,
3047    ) -> crate::common::RegisterField<7, 0x1, 1, 0, porr::Porr07, Porr_SPEC, crate::common::W> {
3048        crate::common::RegisterField::<7,0x1,1,0,porr::Porr07, Porr_SPEC,crate::common::W>::from_register(self,0)
3049    }
3050    #[doc = "Pmn Output Reset"]
3051    #[inline(always)]
3052    pub fn porr08(
3053        self,
3054    ) -> crate::common::RegisterField<8, 0x1, 1, 0, porr::Porr08, Porr_SPEC, crate::common::W> {
3055        crate::common::RegisterField::<8,0x1,1,0,porr::Porr08, Porr_SPEC,crate::common::W>::from_register(self,0)
3056    }
3057    #[doc = "Pmn Output Reset"]
3058    #[inline(always)]
3059    pub fn porr09(
3060        self,
3061    ) -> crate::common::RegisterField<9, 0x1, 1, 0, porr::Porr09, Porr_SPEC, crate::common::W> {
3062        crate::common::RegisterField::<9,0x1,1,0,porr::Porr09, Porr_SPEC,crate::common::W>::from_register(self,0)
3063    }
3064    #[doc = "Pmn Output Reset"]
3065    #[inline(always)]
3066    pub fn porr10(
3067        self,
3068    ) -> crate::common::RegisterField<10, 0x1, 1, 0, porr::Porr10, Porr_SPEC, crate::common::W>
3069    {
3070        crate::common::RegisterField::<10,0x1,1,0,porr::Porr10, Porr_SPEC,crate::common::W>::from_register(self,0)
3071    }
3072    #[doc = "Pmn Output Reset"]
3073    #[inline(always)]
3074    pub fn porr11(
3075        self,
3076    ) -> crate::common::RegisterField<11, 0x1, 1, 0, porr::Porr11, Porr_SPEC, crate::common::W>
3077    {
3078        crate::common::RegisterField::<11,0x1,1,0,porr::Porr11, Porr_SPEC,crate::common::W>::from_register(self,0)
3079    }
3080    #[doc = "Pmn Output Reset"]
3081    #[inline(always)]
3082    pub fn porr12(
3083        self,
3084    ) -> crate::common::RegisterField<12, 0x1, 1, 0, porr::Porr12, Porr_SPEC, crate::common::W>
3085    {
3086        crate::common::RegisterField::<12,0x1,1,0,porr::Porr12, Porr_SPEC,crate::common::W>::from_register(self,0)
3087    }
3088    #[doc = "Pmn Output Reset"]
3089    #[inline(always)]
3090    pub fn porr13(
3091        self,
3092    ) -> crate::common::RegisterField<13, 0x1, 1, 0, porr::Porr13, Porr_SPEC, crate::common::W>
3093    {
3094        crate::common::RegisterField::<13,0x1,1,0,porr::Porr13, Porr_SPEC,crate::common::W>::from_register(self,0)
3095    }
3096    #[doc = "Pmn Output Reset"]
3097    #[inline(always)]
3098    pub fn porr14(
3099        self,
3100    ) -> crate::common::RegisterField<14, 0x1, 1, 0, porr::Porr14, Porr_SPEC, crate::common::W>
3101    {
3102        crate::common::RegisterField::<14,0x1,1,0,porr::Porr14, Porr_SPEC,crate::common::W>::from_register(self,0)
3103    }
3104    #[doc = "Pmn Output Reset"]
3105    #[inline(always)]
3106    pub fn porr15(
3107        self,
3108    ) -> crate::common::RegisterField<15, 0x1, 1, 0, porr::Porr15, Porr_SPEC, crate::common::W>
3109    {
3110        crate::common::RegisterField::<15,0x1,1,0,porr::Porr15, Porr_SPEC,crate::common::W>::from_register(self,0)
3111    }
3112}
3113impl ::core::default::Default for Porr {
3114    #[inline(always)]
3115    fn default() -> Porr {
3116        <crate::RegValueT<Porr_SPEC> as RegisterValue<_>>::new(0)
3117    }
3118}
3119pub mod porr {
3120
3121    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3122    pub struct Porr00_SPEC;
3123    pub type Porr00 = crate::EnumBitfieldStruct<u8, Porr00_SPEC>;
3124    impl Porr00 {
3125        #[doc = "No effect on output"]
3126        pub const _0: Self = Self::new(0);
3127        #[doc = "Low output"]
3128        pub const _1: Self = Self::new(1);
3129    }
3130    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3131    pub struct Porr01_SPEC;
3132    pub type Porr01 = crate::EnumBitfieldStruct<u8, Porr01_SPEC>;
3133    impl Porr01 {
3134        #[doc = "No effect on output"]
3135        pub const _0: Self = Self::new(0);
3136        #[doc = "Low output"]
3137        pub const _1: Self = Self::new(1);
3138    }
3139    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3140    pub struct Porr02_SPEC;
3141    pub type Porr02 = crate::EnumBitfieldStruct<u8, Porr02_SPEC>;
3142    impl Porr02 {
3143        #[doc = "No effect on output"]
3144        pub const _0: Self = Self::new(0);
3145        #[doc = "Low output"]
3146        pub const _1: Self = Self::new(1);
3147    }
3148    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3149    pub struct Porr03_SPEC;
3150    pub type Porr03 = crate::EnumBitfieldStruct<u8, Porr03_SPEC>;
3151    impl Porr03 {
3152        #[doc = "No effect on output"]
3153        pub const _0: Self = Self::new(0);
3154        #[doc = "Low output"]
3155        pub const _1: Self = Self::new(1);
3156    }
3157    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3158    pub struct Porr04_SPEC;
3159    pub type Porr04 = crate::EnumBitfieldStruct<u8, Porr04_SPEC>;
3160    impl Porr04 {
3161        #[doc = "No effect on output"]
3162        pub const _0: Self = Self::new(0);
3163        #[doc = "Low output"]
3164        pub const _1: Self = Self::new(1);
3165    }
3166    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3167    pub struct Porr05_SPEC;
3168    pub type Porr05 = crate::EnumBitfieldStruct<u8, Porr05_SPEC>;
3169    impl Porr05 {
3170        #[doc = "No effect on output"]
3171        pub const _0: Self = Self::new(0);
3172        #[doc = "Low output"]
3173        pub const _1: Self = Self::new(1);
3174    }
3175    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3176    pub struct Porr06_SPEC;
3177    pub type Porr06 = crate::EnumBitfieldStruct<u8, Porr06_SPEC>;
3178    impl Porr06 {
3179        #[doc = "No effect on output"]
3180        pub const _0: Self = Self::new(0);
3181        #[doc = "Low output"]
3182        pub const _1: Self = Self::new(1);
3183    }
3184    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3185    pub struct Porr07_SPEC;
3186    pub type Porr07 = crate::EnumBitfieldStruct<u8, Porr07_SPEC>;
3187    impl Porr07 {
3188        #[doc = "No effect on output"]
3189        pub const _0: Self = Self::new(0);
3190        #[doc = "Low output"]
3191        pub const _1: Self = Self::new(1);
3192    }
3193    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3194    pub struct Porr08_SPEC;
3195    pub type Porr08 = crate::EnumBitfieldStruct<u8, Porr08_SPEC>;
3196    impl Porr08 {
3197        #[doc = "No effect on output"]
3198        pub const _0: Self = Self::new(0);
3199        #[doc = "Low output"]
3200        pub const _1: Self = Self::new(1);
3201    }
3202    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3203    pub struct Porr09_SPEC;
3204    pub type Porr09 = crate::EnumBitfieldStruct<u8, Porr09_SPEC>;
3205    impl Porr09 {
3206        #[doc = "No effect on output"]
3207        pub const _0: Self = Self::new(0);
3208        #[doc = "Low output"]
3209        pub const _1: Self = Self::new(1);
3210    }
3211    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3212    pub struct Porr10_SPEC;
3213    pub type Porr10 = crate::EnumBitfieldStruct<u8, Porr10_SPEC>;
3214    impl Porr10 {
3215        #[doc = "No effect on output"]
3216        pub const _0: Self = Self::new(0);
3217        #[doc = "Low output"]
3218        pub const _1: Self = Self::new(1);
3219    }
3220    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3221    pub struct Porr11_SPEC;
3222    pub type Porr11 = crate::EnumBitfieldStruct<u8, Porr11_SPEC>;
3223    impl Porr11 {
3224        #[doc = "No effect on output"]
3225        pub const _0: Self = Self::new(0);
3226        #[doc = "Low output"]
3227        pub const _1: Self = Self::new(1);
3228    }
3229    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3230    pub struct Porr12_SPEC;
3231    pub type Porr12 = crate::EnumBitfieldStruct<u8, Porr12_SPEC>;
3232    impl Porr12 {
3233        #[doc = "No effect on output"]
3234        pub const _0: Self = Self::new(0);
3235        #[doc = "Low output"]
3236        pub const _1: Self = Self::new(1);
3237    }
3238    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3239    pub struct Porr13_SPEC;
3240    pub type Porr13 = crate::EnumBitfieldStruct<u8, Porr13_SPEC>;
3241    impl Porr13 {
3242        #[doc = "No effect on output"]
3243        pub const _0: Self = Self::new(0);
3244        #[doc = "Low output"]
3245        pub const _1: Self = Self::new(1);
3246    }
3247    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3248    pub struct Porr14_SPEC;
3249    pub type Porr14 = crate::EnumBitfieldStruct<u8, Porr14_SPEC>;
3250    impl Porr14 {
3251        #[doc = "No effect on output"]
3252        pub const _0: Self = Self::new(0);
3253        #[doc = "Low output"]
3254        pub const _1: Self = Self::new(1);
3255    }
3256    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3257    pub struct Porr15_SPEC;
3258    pub type Porr15 = crate::EnumBitfieldStruct<u8, Porr15_SPEC>;
3259    impl Porr15 {
3260        #[doc = "No effect on output"]
3261        pub const _0: Self = Self::new(0);
3262        #[doc = "Low output"]
3263        pub const _1: Self = Self::new(1);
3264    }
3265}
3266#[doc(hidden)]
3267#[derive(Copy, Clone, Eq, PartialEq)]
3268pub struct Posr_SPEC;
3269impl crate::sealed::RegSpec for Posr_SPEC {
3270    type DataType = u16;
3271}
3272#[doc = "Port Control Register 3"]
3273pub type Posr = crate::RegValueT<Posr_SPEC>;
3274
3275impl Posr {
3276    #[doc = "Pmn Output Set"]
3277    #[inline(always)]
3278    pub fn posr00(
3279        self,
3280    ) -> crate::common::RegisterField<0, 0x1, 1, 0, posr::Posr00, Posr_SPEC, crate::common::W> {
3281        crate::common::RegisterField::<0,0x1,1,0,posr::Posr00, Posr_SPEC,crate::common::W>::from_register(self,0)
3282    }
3283    #[doc = "Pmn Output Set"]
3284    #[inline(always)]
3285    pub fn posr01(
3286        self,
3287    ) -> crate::common::RegisterField<1, 0x1, 1, 0, posr::Posr01, Posr_SPEC, crate::common::W> {
3288        crate::common::RegisterField::<1,0x1,1,0,posr::Posr01, Posr_SPEC,crate::common::W>::from_register(self,0)
3289    }
3290    #[doc = "Pmn Output Set"]
3291    #[inline(always)]
3292    pub fn posr02(
3293        self,
3294    ) -> crate::common::RegisterField<2, 0x1, 1, 0, posr::Posr02, Posr_SPEC, crate::common::W> {
3295        crate::common::RegisterField::<2,0x1,1,0,posr::Posr02, Posr_SPEC,crate::common::W>::from_register(self,0)
3296    }
3297    #[doc = "Pmn Output Set"]
3298    #[inline(always)]
3299    pub fn posr03(
3300        self,
3301    ) -> crate::common::RegisterField<3, 0x1, 1, 0, posr::Posr03, Posr_SPEC, crate::common::W> {
3302        crate::common::RegisterField::<3,0x1,1,0,posr::Posr03, Posr_SPEC,crate::common::W>::from_register(self,0)
3303    }
3304    #[doc = "Pmn Output Set"]
3305    #[inline(always)]
3306    pub fn posr04(
3307        self,
3308    ) -> crate::common::RegisterField<4, 0x1, 1, 0, posr::Posr04, Posr_SPEC, crate::common::W> {
3309        crate::common::RegisterField::<4,0x1,1,0,posr::Posr04, Posr_SPEC,crate::common::W>::from_register(self,0)
3310    }
3311    #[doc = "Pmn Output Set"]
3312    #[inline(always)]
3313    pub fn posr05(
3314        self,
3315    ) -> crate::common::RegisterField<5, 0x1, 1, 0, posr::Posr05, Posr_SPEC, crate::common::W> {
3316        crate::common::RegisterField::<5,0x1,1,0,posr::Posr05, Posr_SPEC,crate::common::W>::from_register(self,0)
3317    }
3318    #[doc = "Pmn Output Set"]
3319    #[inline(always)]
3320    pub fn posr06(
3321        self,
3322    ) -> crate::common::RegisterField<6, 0x1, 1, 0, posr::Posr06, Posr_SPEC, crate::common::W> {
3323        crate::common::RegisterField::<6,0x1,1,0,posr::Posr06, Posr_SPEC,crate::common::W>::from_register(self,0)
3324    }
3325    #[doc = "Pmn Output Set"]
3326    #[inline(always)]
3327    pub fn posr07(
3328        self,
3329    ) -> crate::common::RegisterField<7, 0x1, 1, 0, posr::Posr07, Posr_SPEC, crate::common::W> {
3330        crate::common::RegisterField::<7,0x1,1,0,posr::Posr07, Posr_SPEC,crate::common::W>::from_register(self,0)
3331    }
3332    #[doc = "Pmn Output Set"]
3333    #[inline(always)]
3334    pub fn posr08(
3335        self,
3336    ) -> crate::common::RegisterField<8, 0x1, 1, 0, posr::Posr08, Posr_SPEC, crate::common::W> {
3337        crate::common::RegisterField::<8,0x1,1,0,posr::Posr08, Posr_SPEC,crate::common::W>::from_register(self,0)
3338    }
3339    #[doc = "Pmn Output Set"]
3340    #[inline(always)]
3341    pub fn posr09(
3342        self,
3343    ) -> crate::common::RegisterField<9, 0x1, 1, 0, posr::Posr09, Posr_SPEC, crate::common::W> {
3344        crate::common::RegisterField::<9,0x1,1,0,posr::Posr09, Posr_SPEC,crate::common::W>::from_register(self,0)
3345    }
3346    #[doc = "Pmn Output Set"]
3347    #[inline(always)]
3348    pub fn posr10(
3349        self,
3350    ) -> crate::common::RegisterField<10, 0x1, 1, 0, posr::Posr10, Posr_SPEC, crate::common::W>
3351    {
3352        crate::common::RegisterField::<10,0x1,1,0,posr::Posr10, Posr_SPEC,crate::common::W>::from_register(self,0)
3353    }
3354    #[doc = "Pmn Output Set"]
3355    #[inline(always)]
3356    pub fn posr11(
3357        self,
3358    ) -> crate::common::RegisterField<11, 0x1, 1, 0, posr::Posr11, Posr_SPEC, crate::common::W>
3359    {
3360        crate::common::RegisterField::<11,0x1,1,0,posr::Posr11, Posr_SPEC,crate::common::W>::from_register(self,0)
3361    }
3362    #[doc = "Pmn Output Set"]
3363    #[inline(always)]
3364    pub fn posr12(
3365        self,
3366    ) -> crate::common::RegisterField<12, 0x1, 1, 0, posr::Posr12, Posr_SPEC, crate::common::W>
3367    {
3368        crate::common::RegisterField::<12,0x1,1,0,posr::Posr12, Posr_SPEC,crate::common::W>::from_register(self,0)
3369    }
3370    #[doc = "Pmn Output Set"]
3371    #[inline(always)]
3372    pub fn posr13(
3373        self,
3374    ) -> crate::common::RegisterField<13, 0x1, 1, 0, posr::Posr13, Posr_SPEC, crate::common::W>
3375    {
3376        crate::common::RegisterField::<13,0x1,1,0,posr::Posr13, Posr_SPEC,crate::common::W>::from_register(self,0)
3377    }
3378    #[doc = "Pmn Output Set"]
3379    #[inline(always)]
3380    pub fn posr14(
3381        self,
3382    ) -> crate::common::RegisterField<14, 0x1, 1, 0, posr::Posr14, Posr_SPEC, crate::common::W>
3383    {
3384        crate::common::RegisterField::<14,0x1,1,0,posr::Posr14, Posr_SPEC,crate::common::W>::from_register(self,0)
3385    }
3386    #[doc = "Pmn Output Set"]
3387    #[inline(always)]
3388    pub fn posr15(
3389        self,
3390    ) -> crate::common::RegisterField<15, 0x1, 1, 0, posr::Posr15, Posr_SPEC, crate::common::W>
3391    {
3392        crate::common::RegisterField::<15,0x1,1,0,posr::Posr15, Posr_SPEC,crate::common::W>::from_register(self,0)
3393    }
3394}
3395impl ::core::default::Default for Posr {
3396    #[inline(always)]
3397    fn default() -> Posr {
3398        <crate::RegValueT<Posr_SPEC> as RegisterValue<_>>::new(0)
3399    }
3400}
3401pub mod posr {
3402
3403    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3404    pub struct Posr00_SPEC;
3405    pub type Posr00 = crate::EnumBitfieldStruct<u8, Posr00_SPEC>;
3406    impl Posr00 {
3407        #[doc = "No effect on output"]
3408        pub const _0: Self = Self::new(0);
3409        #[doc = "High output"]
3410        pub const _1: Self = Self::new(1);
3411    }
3412    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3413    pub struct Posr01_SPEC;
3414    pub type Posr01 = crate::EnumBitfieldStruct<u8, Posr01_SPEC>;
3415    impl Posr01 {
3416        #[doc = "No effect on output"]
3417        pub const _0: Self = Self::new(0);
3418        #[doc = "High output"]
3419        pub const _1: Self = Self::new(1);
3420    }
3421    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3422    pub struct Posr02_SPEC;
3423    pub type Posr02 = crate::EnumBitfieldStruct<u8, Posr02_SPEC>;
3424    impl Posr02 {
3425        #[doc = "No effect on output"]
3426        pub const _0: Self = Self::new(0);
3427        #[doc = "High output"]
3428        pub const _1: Self = Self::new(1);
3429    }
3430    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3431    pub struct Posr03_SPEC;
3432    pub type Posr03 = crate::EnumBitfieldStruct<u8, Posr03_SPEC>;
3433    impl Posr03 {
3434        #[doc = "No effect on output"]
3435        pub const _0: Self = Self::new(0);
3436        #[doc = "High output"]
3437        pub const _1: Self = Self::new(1);
3438    }
3439    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3440    pub struct Posr04_SPEC;
3441    pub type Posr04 = crate::EnumBitfieldStruct<u8, Posr04_SPEC>;
3442    impl Posr04 {
3443        #[doc = "No effect on output"]
3444        pub const _0: Self = Self::new(0);
3445        #[doc = "High output"]
3446        pub const _1: Self = Self::new(1);
3447    }
3448    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3449    pub struct Posr05_SPEC;
3450    pub type Posr05 = crate::EnumBitfieldStruct<u8, Posr05_SPEC>;
3451    impl Posr05 {
3452        #[doc = "No effect on output"]
3453        pub const _0: Self = Self::new(0);
3454        #[doc = "High output"]
3455        pub const _1: Self = Self::new(1);
3456    }
3457    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3458    pub struct Posr06_SPEC;
3459    pub type Posr06 = crate::EnumBitfieldStruct<u8, Posr06_SPEC>;
3460    impl Posr06 {
3461        #[doc = "No effect on output"]
3462        pub const _0: Self = Self::new(0);
3463        #[doc = "High output"]
3464        pub const _1: Self = Self::new(1);
3465    }
3466    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3467    pub struct Posr07_SPEC;
3468    pub type Posr07 = crate::EnumBitfieldStruct<u8, Posr07_SPEC>;
3469    impl Posr07 {
3470        #[doc = "No effect on output"]
3471        pub const _0: Self = Self::new(0);
3472        #[doc = "High output"]
3473        pub const _1: Self = Self::new(1);
3474    }
3475    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3476    pub struct Posr08_SPEC;
3477    pub type Posr08 = crate::EnumBitfieldStruct<u8, Posr08_SPEC>;
3478    impl Posr08 {
3479        #[doc = "No effect on output"]
3480        pub const _0: Self = Self::new(0);
3481        #[doc = "High output"]
3482        pub const _1: Self = Self::new(1);
3483    }
3484    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3485    pub struct Posr09_SPEC;
3486    pub type Posr09 = crate::EnumBitfieldStruct<u8, Posr09_SPEC>;
3487    impl Posr09 {
3488        #[doc = "No effect on output"]
3489        pub const _0: Self = Self::new(0);
3490        #[doc = "High output"]
3491        pub const _1: Self = Self::new(1);
3492    }
3493    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3494    pub struct Posr10_SPEC;
3495    pub type Posr10 = crate::EnumBitfieldStruct<u8, Posr10_SPEC>;
3496    impl Posr10 {
3497        #[doc = "No effect on output"]
3498        pub const _0: Self = Self::new(0);
3499        #[doc = "High output"]
3500        pub const _1: Self = Self::new(1);
3501    }
3502    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3503    pub struct Posr11_SPEC;
3504    pub type Posr11 = crate::EnumBitfieldStruct<u8, Posr11_SPEC>;
3505    impl Posr11 {
3506        #[doc = "No effect on output"]
3507        pub const _0: Self = Self::new(0);
3508        #[doc = "High output"]
3509        pub const _1: Self = Self::new(1);
3510    }
3511    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3512    pub struct Posr12_SPEC;
3513    pub type Posr12 = crate::EnumBitfieldStruct<u8, Posr12_SPEC>;
3514    impl Posr12 {
3515        #[doc = "No effect on output"]
3516        pub const _0: Self = Self::new(0);
3517        #[doc = "High output"]
3518        pub const _1: Self = Self::new(1);
3519    }
3520    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3521    pub struct Posr13_SPEC;
3522    pub type Posr13 = crate::EnumBitfieldStruct<u8, Posr13_SPEC>;
3523    impl Posr13 {
3524        #[doc = "No effect on output"]
3525        pub const _0: Self = Self::new(0);
3526        #[doc = "High output"]
3527        pub const _1: Self = Self::new(1);
3528    }
3529    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3530    pub struct Posr14_SPEC;
3531    pub type Posr14 = crate::EnumBitfieldStruct<u8, Posr14_SPEC>;
3532    impl Posr14 {
3533        #[doc = "No effect on output"]
3534        pub const _0: Self = Self::new(0);
3535        #[doc = "High output"]
3536        pub const _1: Self = Self::new(1);
3537    }
3538    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3539    pub struct Posr15_SPEC;
3540    pub type Posr15 = crate::EnumBitfieldStruct<u8, Posr15_SPEC>;
3541    impl Posr15 {
3542        #[doc = "No effect on output"]
3543        pub const _0: Self = Self::new(0);
3544        #[doc = "High output"]
3545        pub const _1: Self = Self::new(1);
3546    }
3547}
3548#[doc(hidden)]
3549#[derive(Copy, Clone, Eq, PartialEq)]
3550pub struct Pcntr4_SPEC;
3551impl crate::sealed::RegSpec for Pcntr4_SPEC {
3552    type DataType = u32;
3553}
3554#[doc = "Port Control Register 4"]
3555pub type Pcntr4 = crate::RegValueT<Pcntr4_SPEC>;
3556
3557impl Pcntr4 {
3558    #[doc = "Pmn Event Output Set"]
3559    #[inline(always)]
3560    pub fn eosr00(
3561        self,
3562    ) -> crate::common::RegisterField<0, 0x1, 1, 0, pcntr4::Eosr00, Pcntr4_SPEC, crate::common::RW>
3563    {
3564        crate::common::RegisterField::<0,0x1,1,0,pcntr4::Eosr00, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3565    }
3566    #[doc = "Pmn Event Output Set"]
3567    #[inline(always)]
3568    pub fn eosr01(
3569        self,
3570    ) -> crate::common::RegisterField<1, 0x1, 1, 0, pcntr4::Eosr01, Pcntr4_SPEC, crate::common::RW>
3571    {
3572        crate::common::RegisterField::<1,0x1,1,0,pcntr4::Eosr01, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3573    }
3574    #[doc = "Pmn Event Output Set"]
3575    #[inline(always)]
3576    pub fn eosr02(
3577        self,
3578    ) -> crate::common::RegisterField<2, 0x1, 1, 0, pcntr4::Eosr02, Pcntr4_SPEC, crate::common::RW>
3579    {
3580        crate::common::RegisterField::<2,0x1,1,0,pcntr4::Eosr02, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3581    }
3582    #[doc = "Pmn Event Output Set"]
3583    #[inline(always)]
3584    pub fn eosr03(
3585        self,
3586    ) -> crate::common::RegisterField<3, 0x1, 1, 0, pcntr4::Eosr03, Pcntr4_SPEC, crate::common::RW>
3587    {
3588        crate::common::RegisterField::<3,0x1,1,0,pcntr4::Eosr03, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3589    }
3590    #[doc = "Pmn Event Output Set"]
3591    #[inline(always)]
3592    pub fn eosr04(
3593        self,
3594    ) -> crate::common::RegisterField<4, 0x1, 1, 0, pcntr4::Eosr04, Pcntr4_SPEC, crate::common::RW>
3595    {
3596        crate::common::RegisterField::<4,0x1,1,0,pcntr4::Eosr04, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3597    }
3598    #[doc = "Pmn Event Output Set"]
3599    #[inline(always)]
3600    pub fn eosr05(
3601        self,
3602    ) -> crate::common::RegisterField<5, 0x1, 1, 0, pcntr4::Eosr05, Pcntr4_SPEC, crate::common::RW>
3603    {
3604        crate::common::RegisterField::<5,0x1,1,0,pcntr4::Eosr05, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3605    }
3606    #[doc = "Pmn Event Output Set"]
3607    #[inline(always)]
3608    pub fn eosr06(
3609        self,
3610    ) -> crate::common::RegisterField<6, 0x1, 1, 0, pcntr4::Eosr06, Pcntr4_SPEC, crate::common::RW>
3611    {
3612        crate::common::RegisterField::<6,0x1,1,0,pcntr4::Eosr06, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3613    }
3614    #[doc = "Pmn Event Output Set"]
3615    #[inline(always)]
3616    pub fn eosr07(
3617        self,
3618    ) -> crate::common::RegisterField<7, 0x1, 1, 0, pcntr4::Eosr07, Pcntr4_SPEC, crate::common::RW>
3619    {
3620        crate::common::RegisterField::<7,0x1,1,0,pcntr4::Eosr07, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3621    }
3622    #[doc = "Pmn Event Output Set"]
3623    #[inline(always)]
3624    pub fn eosr08(
3625        self,
3626    ) -> crate::common::RegisterField<8, 0x1, 1, 0, pcntr4::Eosr08, Pcntr4_SPEC, crate::common::RW>
3627    {
3628        crate::common::RegisterField::<8,0x1,1,0,pcntr4::Eosr08, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3629    }
3630    #[doc = "Pmn Event Output Set"]
3631    #[inline(always)]
3632    pub fn eosr09(
3633        self,
3634    ) -> crate::common::RegisterField<9, 0x1, 1, 0, pcntr4::Eosr09, Pcntr4_SPEC, crate::common::RW>
3635    {
3636        crate::common::RegisterField::<9,0x1,1,0,pcntr4::Eosr09, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3637    }
3638    #[doc = "Pmn Event Output Set"]
3639    #[inline(always)]
3640    pub fn eosr10(
3641        self,
3642    ) -> crate::common::RegisterField<10, 0x1, 1, 0, pcntr4::Eosr10, Pcntr4_SPEC, crate::common::RW>
3643    {
3644        crate::common::RegisterField::<10,0x1,1,0,pcntr4::Eosr10, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3645    }
3646    #[doc = "Pmn Event Output Set"]
3647    #[inline(always)]
3648    pub fn eosr11(
3649        self,
3650    ) -> crate::common::RegisterField<11, 0x1, 1, 0, pcntr4::Eosr11, Pcntr4_SPEC, crate::common::RW>
3651    {
3652        crate::common::RegisterField::<11,0x1,1,0,pcntr4::Eosr11, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3653    }
3654    #[doc = "Pmn Event Output Set"]
3655    #[inline(always)]
3656    pub fn eosr12(
3657        self,
3658    ) -> crate::common::RegisterField<12, 0x1, 1, 0, pcntr4::Eosr12, Pcntr4_SPEC, crate::common::RW>
3659    {
3660        crate::common::RegisterField::<12,0x1,1,0,pcntr4::Eosr12, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3661    }
3662    #[doc = "Pmn Event Output Set"]
3663    #[inline(always)]
3664    pub fn eosr13(
3665        self,
3666    ) -> crate::common::RegisterField<13, 0x1, 1, 0, pcntr4::Eosr13, Pcntr4_SPEC, crate::common::RW>
3667    {
3668        crate::common::RegisterField::<13,0x1,1,0,pcntr4::Eosr13, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3669    }
3670    #[doc = "Pmn Event Output Set"]
3671    #[inline(always)]
3672    pub fn eosr14(
3673        self,
3674    ) -> crate::common::RegisterField<14, 0x1, 1, 0, pcntr4::Eosr14, Pcntr4_SPEC, crate::common::RW>
3675    {
3676        crate::common::RegisterField::<14,0x1,1,0,pcntr4::Eosr14, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3677    }
3678    #[doc = "Pmn Event Output Set"]
3679    #[inline(always)]
3680    pub fn eosr15(
3681        self,
3682    ) -> crate::common::RegisterField<15, 0x1, 1, 0, pcntr4::Eosr15, Pcntr4_SPEC, crate::common::RW>
3683    {
3684        crate::common::RegisterField::<15,0x1,1,0,pcntr4::Eosr15, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3685    }
3686    #[doc = "Pmn Event Output Reset"]
3687    #[inline(always)]
3688    pub fn eorr00(
3689        self,
3690    ) -> crate::common::RegisterField<16, 0x1, 1, 0, pcntr4::Eorr00, Pcntr4_SPEC, crate::common::RW>
3691    {
3692        crate::common::RegisterField::<16,0x1,1,0,pcntr4::Eorr00, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3693    }
3694    #[doc = "Pmn Event Output Reset"]
3695    #[inline(always)]
3696    pub fn eorr01(
3697        self,
3698    ) -> crate::common::RegisterField<17, 0x1, 1, 0, pcntr4::Eorr01, Pcntr4_SPEC, crate::common::RW>
3699    {
3700        crate::common::RegisterField::<17,0x1,1,0,pcntr4::Eorr01, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3701    }
3702    #[doc = "Pmn Event Output Reset"]
3703    #[inline(always)]
3704    pub fn eorr02(
3705        self,
3706    ) -> crate::common::RegisterField<18, 0x1, 1, 0, pcntr4::Eorr02, Pcntr4_SPEC, crate::common::RW>
3707    {
3708        crate::common::RegisterField::<18,0x1,1,0,pcntr4::Eorr02, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3709    }
3710    #[doc = "Pmn Event Output Reset"]
3711    #[inline(always)]
3712    pub fn eorr03(
3713        self,
3714    ) -> crate::common::RegisterField<19, 0x1, 1, 0, pcntr4::Eorr03, Pcntr4_SPEC, crate::common::RW>
3715    {
3716        crate::common::RegisterField::<19,0x1,1,0,pcntr4::Eorr03, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3717    }
3718    #[doc = "Pmn Event Output Reset"]
3719    #[inline(always)]
3720    pub fn eorr04(
3721        self,
3722    ) -> crate::common::RegisterField<20, 0x1, 1, 0, pcntr4::Eorr04, Pcntr4_SPEC, crate::common::RW>
3723    {
3724        crate::common::RegisterField::<20,0x1,1,0,pcntr4::Eorr04, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3725    }
3726    #[doc = "Pmn Event Output Reset"]
3727    #[inline(always)]
3728    pub fn eorr05(
3729        self,
3730    ) -> crate::common::RegisterField<21, 0x1, 1, 0, pcntr4::Eorr05, Pcntr4_SPEC, crate::common::RW>
3731    {
3732        crate::common::RegisterField::<21,0x1,1,0,pcntr4::Eorr05, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3733    }
3734    #[doc = "Pmn Event Output Reset"]
3735    #[inline(always)]
3736    pub fn eorr06(
3737        self,
3738    ) -> crate::common::RegisterField<22, 0x1, 1, 0, pcntr4::Eorr06, Pcntr4_SPEC, crate::common::RW>
3739    {
3740        crate::common::RegisterField::<22,0x1,1,0,pcntr4::Eorr06, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3741    }
3742    #[doc = "Pmn Event Output Reset"]
3743    #[inline(always)]
3744    pub fn eorr07(
3745        self,
3746    ) -> crate::common::RegisterField<23, 0x1, 1, 0, pcntr4::Eorr07, Pcntr4_SPEC, crate::common::RW>
3747    {
3748        crate::common::RegisterField::<23,0x1,1,0,pcntr4::Eorr07, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3749    }
3750    #[doc = "Pmn Event Output Reset"]
3751    #[inline(always)]
3752    pub fn eorr08(
3753        self,
3754    ) -> crate::common::RegisterField<24, 0x1, 1, 0, pcntr4::Eorr08, Pcntr4_SPEC, crate::common::RW>
3755    {
3756        crate::common::RegisterField::<24,0x1,1,0,pcntr4::Eorr08, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3757    }
3758    #[doc = "Pmn Event Output Reset"]
3759    #[inline(always)]
3760    pub fn eorr09(
3761        self,
3762    ) -> crate::common::RegisterField<25, 0x1, 1, 0, pcntr4::Eorr09, Pcntr4_SPEC, crate::common::RW>
3763    {
3764        crate::common::RegisterField::<25,0x1,1,0,pcntr4::Eorr09, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3765    }
3766    #[doc = "Pmn Event Output Reset"]
3767    #[inline(always)]
3768    pub fn eorr10(
3769        self,
3770    ) -> crate::common::RegisterField<26, 0x1, 1, 0, pcntr4::Eorr10, Pcntr4_SPEC, crate::common::RW>
3771    {
3772        crate::common::RegisterField::<26,0x1,1,0,pcntr4::Eorr10, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3773    }
3774    #[doc = "Pmn Event Output Reset"]
3775    #[inline(always)]
3776    pub fn eorr11(
3777        self,
3778    ) -> crate::common::RegisterField<27, 0x1, 1, 0, pcntr4::Eorr11, Pcntr4_SPEC, crate::common::RW>
3779    {
3780        crate::common::RegisterField::<27,0x1,1,0,pcntr4::Eorr11, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3781    }
3782    #[doc = "Pmn Event Output Reset"]
3783    #[inline(always)]
3784    pub fn eorr12(
3785        self,
3786    ) -> crate::common::RegisterField<28, 0x1, 1, 0, pcntr4::Eorr12, Pcntr4_SPEC, crate::common::RW>
3787    {
3788        crate::common::RegisterField::<28,0x1,1,0,pcntr4::Eorr12, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3789    }
3790    #[doc = "Pmn Event Output Reset"]
3791    #[inline(always)]
3792    pub fn eorr13(
3793        self,
3794    ) -> crate::common::RegisterField<29, 0x1, 1, 0, pcntr4::Eorr13, Pcntr4_SPEC, crate::common::RW>
3795    {
3796        crate::common::RegisterField::<29,0x1,1,0,pcntr4::Eorr13, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3797    }
3798    #[doc = "Pmn Event Output Reset"]
3799    #[inline(always)]
3800    pub fn eorr14(
3801        self,
3802    ) -> crate::common::RegisterField<30, 0x1, 1, 0, pcntr4::Eorr14, Pcntr4_SPEC, crate::common::RW>
3803    {
3804        crate::common::RegisterField::<30,0x1,1,0,pcntr4::Eorr14, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3805    }
3806    #[doc = "Pmn Event Output Reset"]
3807    #[inline(always)]
3808    pub fn eorr15(
3809        self,
3810    ) -> crate::common::RegisterField<31, 0x1, 1, 0, pcntr4::Eorr15, Pcntr4_SPEC, crate::common::RW>
3811    {
3812        crate::common::RegisterField::<31,0x1,1,0,pcntr4::Eorr15, Pcntr4_SPEC,crate::common::RW>::from_register(self,0)
3813    }
3814}
3815impl ::core::default::Default for Pcntr4 {
3816    #[inline(always)]
3817    fn default() -> Pcntr4 {
3818        <crate::RegValueT<Pcntr4_SPEC> as RegisterValue<_>>::new(0)
3819    }
3820}
3821pub mod pcntr4 {
3822
3823    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3824    pub struct Eosr00_SPEC;
3825    pub type Eosr00 = crate::EnumBitfieldStruct<u8, Eosr00_SPEC>;
3826    impl Eosr00 {
3827        #[doc = "No effect on output"]
3828        pub const _0: Self = Self::new(0);
3829        #[doc = "High output"]
3830        pub const _1: Self = Self::new(1);
3831    }
3832    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3833    pub struct Eosr01_SPEC;
3834    pub type Eosr01 = crate::EnumBitfieldStruct<u8, Eosr01_SPEC>;
3835    impl Eosr01 {
3836        #[doc = "No effect on output"]
3837        pub const _0: Self = Self::new(0);
3838        #[doc = "High output"]
3839        pub const _1: Self = Self::new(1);
3840    }
3841    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3842    pub struct Eosr02_SPEC;
3843    pub type Eosr02 = crate::EnumBitfieldStruct<u8, Eosr02_SPEC>;
3844    impl Eosr02 {
3845        #[doc = "No effect on output"]
3846        pub const _0: Self = Self::new(0);
3847        #[doc = "High output"]
3848        pub const _1: Self = Self::new(1);
3849    }
3850    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3851    pub struct Eosr03_SPEC;
3852    pub type Eosr03 = crate::EnumBitfieldStruct<u8, Eosr03_SPEC>;
3853    impl Eosr03 {
3854        #[doc = "No effect on output"]
3855        pub const _0: Self = Self::new(0);
3856        #[doc = "High output"]
3857        pub const _1: Self = Self::new(1);
3858    }
3859    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3860    pub struct Eosr04_SPEC;
3861    pub type Eosr04 = crate::EnumBitfieldStruct<u8, Eosr04_SPEC>;
3862    impl Eosr04 {
3863        #[doc = "No effect on output"]
3864        pub const _0: Self = Self::new(0);
3865        #[doc = "High output"]
3866        pub const _1: Self = Self::new(1);
3867    }
3868    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3869    pub struct Eosr05_SPEC;
3870    pub type Eosr05 = crate::EnumBitfieldStruct<u8, Eosr05_SPEC>;
3871    impl Eosr05 {
3872        #[doc = "No effect on output"]
3873        pub const _0: Self = Self::new(0);
3874        #[doc = "High output"]
3875        pub const _1: Self = Self::new(1);
3876    }
3877    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3878    pub struct Eosr06_SPEC;
3879    pub type Eosr06 = crate::EnumBitfieldStruct<u8, Eosr06_SPEC>;
3880    impl Eosr06 {
3881        #[doc = "No effect on output"]
3882        pub const _0: Self = Self::new(0);
3883        #[doc = "High output"]
3884        pub const _1: Self = Self::new(1);
3885    }
3886    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3887    pub struct Eosr07_SPEC;
3888    pub type Eosr07 = crate::EnumBitfieldStruct<u8, Eosr07_SPEC>;
3889    impl Eosr07 {
3890        #[doc = "No effect on output"]
3891        pub const _0: Self = Self::new(0);
3892        #[doc = "High output"]
3893        pub const _1: Self = Self::new(1);
3894    }
3895    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3896    pub struct Eosr08_SPEC;
3897    pub type Eosr08 = crate::EnumBitfieldStruct<u8, Eosr08_SPEC>;
3898    impl Eosr08 {
3899        #[doc = "No effect on output"]
3900        pub const _0: Self = Self::new(0);
3901        #[doc = "High output"]
3902        pub const _1: Self = Self::new(1);
3903    }
3904    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3905    pub struct Eosr09_SPEC;
3906    pub type Eosr09 = crate::EnumBitfieldStruct<u8, Eosr09_SPEC>;
3907    impl Eosr09 {
3908        #[doc = "No effect on output"]
3909        pub const _0: Self = Self::new(0);
3910        #[doc = "High output"]
3911        pub const _1: Self = Self::new(1);
3912    }
3913    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3914    pub struct Eosr10_SPEC;
3915    pub type Eosr10 = crate::EnumBitfieldStruct<u8, Eosr10_SPEC>;
3916    impl Eosr10 {
3917        #[doc = "No effect on output"]
3918        pub const _0: Self = Self::new(0);
3919        #[doc = "High output"]
3920        pub const _1: Self = Self::new(1);
3921    }
3922    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3923    pub struct Eosr11_SPEC;
3924    pub type Eosr11 = crate::EnumBitfieldStruct<u8, Eosr11_SPEC>;
3925    impl Eosr11 {
3926        #[doc = "No effect on output"]
3927        pub const _0: Self = Self::new(0);
3928        #[doc = "High output"]
3929        pub const _1: Self = Self::new(1);
3930    }
3931    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3932    pub struct Eosr12_SPEC;
3933    pub type Eosr12 = crate::EnumBitfieldStruct<u8, Eosr12_SPEC>;
3934    impl Eosr12 {
3935        #[doc = "No effect on output"]
3936        pub const _0: Self = Self::new(0);
3937        #[doc = "High output"]
3938        pub const _1: Self = Self::new(1);
3939    }
3940    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3941    pub struct Eosr13_SPEC;
3942    pub type Eosr13 = crate::EnumBitfieldStruct<u8, Eosr13_SPEC>;
3943    impl Eosr13 {
3944        #[doc = "No effect on output"]
3945        pub const _0: Self = Self::new(0);
3946        #[doc = "High output"]
3947        pub const _1: Self = Self::new(1);
3948    }
3949    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3950    pub struct Eosr14_SPEC;
3951    pub type Eosr14 = crate::EnumBitfieldStruct<u8, Eosr14_SPEC>;
3952    impl Eosr14 {
3953        #[doc = "No effect on output"]
3954        pub const _0: Self = Self::new(0);
3955        #[doc = "High output"]
3956        pub const _1: Self = Self::new(1);
3957    }
3958    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3959    pub struct Eosr15_SPEC;
3960    pub type Eosr15 = crate::EnumBitfieldStruct<u8, Eosr15_SPEC>;
3961    impl Eosr15 {
3962        #[doc = "No effect on output"]
3963        pub const _0: Self = Self::new(0);
3964        #[doc = "High output"]
3965        pub const _1: Self = Self::new(1);
3966    }
3967    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3968    pub struct Eorr00_SPEC;
3969    pub type Eorr00 = crate::EnumBitfieldStruct<u8, Eorr00_SPEC>;
3970    impl Eorr00 {
3971        #[doc = "No effect on output"]
3972        pub const _0: Self = Self::new(0);
3973        #[doc = "Low output"]
3974        pub const _1: Self = Self::new(1);
3975    }
3976    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3977    pub struct Eorr01_SPEC;
3978    pub type Eorr01 = crate::EnumBitfieldStruct<u8, Eorr01_SPEC>;
3979    impl Eorr01 {
3980        #[doc = "No effect on output"]
3981        pub const _0: Self = Self::new(0);
3982        #[doc = "Low output"]
3983        pub const _1: Self = Self::new(1);
3984    }
3985    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3986    pub struct Eorr02_SPEC;
3987    pub type Eorr02 = crate::EnumBitfieldStruct<u8, Eorr02_SPEC>;
3988    impl Eorr02 {
3989        #[doc = "No effect on output"]
3990        pub const _0: Self = Self::new(0);
3991        #[doc = "Low output"]
3992        pub const _1: Self = Self::new(1);
3993    }
3994    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3995    pub struct Eorr03_SPEC;
3996    pub type Eorr03 = crate::EnumBitfieldStruct<u8, Eorr03_SPEC>;
3997    impl Eorr03 {
3998        #[doc = "No effect on output"]
3999        pub const _0: Self = Self::new(0);
4000        #[doc = "Low output"]
4001        pub const _1: Self = Self::new(1);
4002    }
4003    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4004    pub struct Eorr04_SPEC;
4005    pub type Eorr04 = crate::EnumBitfieldStruct<u8, Eorr04_SPEC>;
4006    impl Eorr04 {
4007        #[doc = "No effect on output"]
4008        pub const _0: Self = Self::new(0);
4009        #[doc = "Low output"]
4010        pub const _1: Self = Self::new(1);
4011    }
4012    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4013    pub struct Eorr05_SPEC;
4014    pub type Eorr05 = crate::EnumBitfieldStruct<u8, Eorr05_SPEC>;
4015    impl Eorr05 {
4016        #[doc = "No effect on output"]
4017        pub const _0: Self = Self::new(0);
4018        #[doc = "Low output"]
4019        pub const _1: Self = Self::new(1);
4020    }
4021    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4022    pub struct Eorr06_SPEC;
4023    pub type Eorr06 = crate::EnumBitfieldStruct<u8, Eorr06_SPEC>;
4024    impl Eorr06 {
4025        #[doc = "No effect on output"]
4026        pub const _0: Self = Self::new(0);
4027        #[doc = "Low output"]
4028        pub const _1: Self = Self::new(1);
4029    }
4030    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4031    pub struct Eorr07_SPEC;
4032    pub type Eorr07 = crate::EnumBitfieldStruct<u8, Eorr07_SPEC>;
4033    impl Eorr07 {
4034        #[doc = "No effect on output"]
4035        pub const _0: Self = Self::new(0);
4036        #[doc = "Low output"]
4037        pub const _1: Self = Self::new(1);
4038    }
4039    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4040    pub struct Eorr08_SPEC;
4041    pub type Eorr08 = crate::EnumBitfieldStruct<u8, Eorr08_SPEC>;
4042    impl Eorr08 {
4043        #[doc = "No effect on output"]
4044        pub const _0: Self = Self::new(0);
4045        #[doc = "Low output"]
4046        pub const _1: Self = Self::new(1);
4047    }
4048    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4049    pub struct Eorr09_SPEC;
4050    pub type Eorr09 = crate::EnumBitfieldStruct<u8, Eorr09_SPEC>;
4051    impl Eorr09 {
4052        #[doc = "No effect on output"]
4053        pub const _0: Self = Self::new(0);
4054        #[doc = "Low output"]
4055        pub const _1: Self = Self::new(1);
4056    }
4057    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4058    pub struct Eorr10_SPEC;
4059    pub type Eorr10 = crate::EnumBitfieldStruct<u8, Eorr10_SPEC>;
4060    impl Eorr10 {
4061        #[doc = "No effect on output"]
4062        pub const _0: Self = Self::new(0);
4063        #[doc = "Low output"]
4064        pub const _1: Self = Self::new(1);
4065    }
4066    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4067    pub struct Eorr11_SPEC;
4068    pub type Eorr11 = crate::EnumBitfieldStruct<u8, Eorr11_SPEC>;
4069    impl Eorr11 {
4070        #[doc = "No effect on output"]
4071        pub const _0: Self = Self::new(0);
4072        #[doc = "Low output"]
4073        pub const _1: Self = Self::new(1);
4074    }
4075    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4076    pub struct Eorr12_SPEC;
4077    pub type Eorr12 = crate::EnumBitfieldStruct<u8, Eorr12_SPEC>;
4078    impl Eorr12 {
4079        #[doc = "No effect on output"]
4080        pub const _0: Self = Self::new(0);
4081        #[doc = "Low output"]
4082        pub const _1: Self = Self::new(1);
4083    }
4084    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4085    pub struct Eorr13_SPEC;
4086    pub type Eorr13 = crate::EnumBitfieldStruct<u8, Eorr13_SPEC>;
4087    impl Eorr13 {
4088        #[doc = "No effect on output"]
4089        pub const _0: Self = Self::new(0);
4090        #[doc = "Low output"]
4091        pub const _1: Self = Self::new(1);
4092    }
4093    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4094    pub struct Eorr14_SPEC;
4095    pub type Eorr14 = crate::EnumBitfieldStruct<u8, Eorr14_SPEC>;
4096    impl Eorr14 {
4097        #[doc = "No effect on output"]
4098        pub const _0: Self = Self::new(0);
4099        #[doc = "Low output"]
4100        pub const _1: Self = Self::new(1);
4101    }
4102    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4103    pub struct Eorr15_SPEC;
4104    pub type Eorr15 = crate::EnumBitfieldStruct<u8, Eorr15_SPEC>;
4105    impl Eorr15 {
4106        #[doc = "No effect on output"]
4107        pub const _0: Self = Self::new(0);
4108        #[doc = "Low output"]
4109        pub const _1: Self = Self::new(1);
4110    }
4111}
4112#[doc(hidden)]
4113#[derive(Copy, Clone, Eq, PartialEq)]
4114pub struct Eorr_SPEC;
4115impl crate::sealed::RegSpec for Eorr_SPEC {
4116    type DataType = u16;
4117}
4118#[doc = "Port Control Register 4"]
4119pub type Eorr = crate::RegValueT<Eorr_SPEC>;
4120
4121impl Eorr {
4122    #[doc = "Pmn Event Output Reset"]
4123    #[inline(always)]
4124    pub fn eorr00(
4125        self,
4126    ) -> crate::common::RegisterField<0, 0x1, 1, 0, eorr::Eorr00, Eorr_SPEC, crate::common::RW>
4127    {
4128        crate::common::RegisterField::<0,0x1,1,0,eorr::Eorr00, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4129    }
4130    #[doc = "Pmn Event Output Reset"]
4131    #[inline(always)]
4132    pub fn eorr01(
4133        self,
4134    ) -> crate::common::RegisterField<1, 0x1, 1, 0, eorr::Eorr01, Eorr_SPEC, crate::common::RW>
4135    {
4136        crate::common::RegisterField::<1,0x1,1,0,eorr::Eorr01, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4137    }
4138    #[doc = "Pmn Event Output Reset"]
4139    #[inline(always)]
4140    pub fn eorr02(
4141        self,
4142    ) -> crate::common::RegisterField<2, 0x1, 1, 0, eorr::Eorr02, Eorr_SPEC, crate::common::RW>
4143    {
4144        crate::common::RegisterField::<2,0x1,1,0,eorr::Eorr02, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4145    }
4146    #[doc = "Pmn Event Output Reset"]
4147    #[inline(always)]
4148    pub fn eorr03(
4149        self,
4150    ) -> crate::common::RegisterField<3, 0x1, 1, 0, eorr::Eorr03, Eorr_SPEC, crate::common::RW>
4151    {
4152        crate::common::RegisterField::<3,0x1,1,0,eorr::Eorr03, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4153    }
4154    #[doc = "Pmn Event Output Reset"]
4155    #[inline(always)]
4156    pub fn eorr04(
4157        self,
4158    ) -> crate::common::RegisterField<4, 0x1, 1, 0, eorr::Eorr04, Eorr_SPEC, crate::common::RW>
4159    {
4160        crate::common::RegisterField::<4,0x1,1,0,eorr::Eorr04, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4161    }
4162    #[doc = "Pmn Event Output Reset"]
4163    #[inline(always)]
4164    pub fn eorr05(
4165        self,
4166    ) -> crate::common::RegisterField<5, 0x1, 1, 0, eorr::Eorr05, Eorr_SPEC, crate::common::RW>
4167    {
4168        crate::common::RegisterField::<5,0x1,1,0,eorr::Eorr05, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4169    }
4170    #[doc = "Pmn Event Output Reset"]
4171    #[inline(always)]
4172    pub fn eorr06(
4173        self,
4174    ) -> crate::common::RegisterField<6, 0x1, 1, 0, eorr::Eorr06, Eorr_SPEC, crate::common::RW>
4175    {
4176        crate::common::RegisterField::<6,0x1,1,0,eorr::Eorr06, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4177    }
4178    #[doc = "Pmn Event Output Reset"]
4179    #[inline(always)]
4180    pub fn eorr07(
4181        self,
4182    ) -> crate::common::RegisterField<7, 0x1, 1, 0, eorr::Eorr07, Eorr_SPEC, crate::common::RW>
4183    {
4184        crate::common::RegisterField::<7,0x1,1,0,eorr::Eorr07, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4185    }
4186    #[doc = "Pmn Event Output Reset"]
4187    #[inline(always)]
4188    pub fn eorr08(
4189        self,
4190    ) -> crate::common::RegisterField<8, 0x1, 1, 0, eorr::Eorr08, Eorr_SPEC, crate::common::RW>
4191    {
4192        crate::common::RegisterField::<8,0x1,1,0,eorr::Eorr08, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4193    }
4194    #[doc = "Pmn Event Output Reset"]
4195    #[inline(always)]
4196    pub fn eorr09(
4197        self,
4198    ) -> crate::common::RegisterField<9, 0x1, 1, 0, eorr::Eorr09, Eorr_SPEC, crate::common::RW>
4199    {
4200        crate::common::RegisterField::<9,0x1,1,0,eorr::Eorr09, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4201    }
4202    #[doc = "Pmn Event Output Reset"]
4203    #[inline(always)]
4204    pub fn eorr10(
4205        self,
4206    ) -> crate::common::RegisterField<10, 0x1, 1, 0, eorr::Eorr10, Eorr_SPEC, crate::common::RW>
4207    {
4208        crate::common::RegisterField::<10,0x1,1,0,eorr::Eorr10, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4209    }
4210    #[doc = "Pmn Event Output Reset"]
4211    #[inline(always)]
4212    pub fn eorr11(
4213        self,
4214    ) -> crate::common::RegisterField<11, 0x1, 1, 0, eorr::Eorr11, Eorr_SPEC, crate::common::RW>
4215    {
4216        crate::common::RegisterField::<11,0x1,1,0,eorr::Eorr11, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4217    }
4218    #[doc = "Pmn Event Output Reset"]
4219    #[inline(always)]
4220    pub fn eorr12(
4221        self,
4222    ) -> crate::common::RegisterField<12, 0x1, 1, 0, eorr::Eorr12, Eorr_SPEC, crate::common::RW>
4223    {
4224        crate::common::RegisterField::<12,0x1,1,0,eorr::Eorr12, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4225    }
4226    #[doc = "Pmn Event Output Reset"]
4227    #[inline(always)]
4228    pub fn eorr13(
4229        self,
4230    ) -> crate::common::RegisterField<13, 0x1, 1, 0, eorr::Eorr13, Eorr_SPEC, crate::common::RW>
4231    {
4232        crate::common::RegisterField::<13,0x1,1,0,eorr::Eorr13, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4233    }
4234    #[doc = "Pmn Event Output Reset"]
4235    #[inline(always)]
4236    pub fn eorr14(
4237        self,
4238    ) -> crate::common::RegisterField<14, 0x1, 1, 0, eorr::Eorr14, Eorr_SPEC, crate::common::RW>
4239    {
4240        crate::common::RegisterField::<14,0x1,1,0,eorr::Eorr14, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4241    }
4242    #[doc = "Pmn Event Output Reset"]
4243    #[inline(always)]
4244    pub fn eorr15(
4245        self,
4246    ) -> crate::common::RegisterField<15, 0x1, 1, 0, eorr::Eorr15, Eorr_SPEC, crate::common::RW>
4247    {
4248        crate::common::RegisterField::<15,0x1,1,0,eorr::Eorr15, Eorr_SPEC,crate::common::RW>::from_register(self,0)
4249    }
4250}
4251impl ::core::default::Default for Eorr {
4252    #[inline(always)]
4253    fn default() -> Eorr {
4254        <crate::RegValueT<Eorr_SPEC> as RegisterValue<_>>::new(0)
4255    }
4256}
4257pub mod eorr {
4258
4259    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4260    pub struct Eorr00_SPEC;
4261    pub type Eorr00 = crate::EnumBitfieldStruct<u8, Eorr00_SPEC>;
4262    impl Eorr00 {
4263        #[doc = "No effect on output"]
4264        pub const _0: Self = Self::new(0);
4265        #[doc = "Low output"]
4266        pub const _1: Self = Self::new(1);
4267    }
4268    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4269    pub struct Eorr01_SPEC;
4270    pub type Eorr01 = crate::EnumBitfieldStruct<u8, Eorr01_SPEC>;
4271    impl Eorr01 {
4272        #[doc = "No effect on output"]
4273        pub const _0: Self = Self::new(0);
4274        #[doc = "Low output"]
4275        pub const _1: Self = Self::new(1);
4276    }
4277    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4278    pub struct Eorr02_SPEC;
4279    pub type Eorr02 = crate::EnumBitfieldStruct<u8, Eorr02_SPEC>;
4280    impl Eorr02 {
4281        #[doc = "No effect on output"]
4282        pub const _0: Self = Self::new(0);
4283        #[doc = "Low output"]
4284        pub const _1: Self = Self::new(1);
4285    }
4286    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4287    pub struct Eorr03_SPEC;
4288    pub type Eorr03 = crate::EnumBitfieldStruct<u8, Eorr03_SPEC>;
4289    impl Eorr03 {
4290        #[doc = "No effect on output"]
4291        pub const _0: Self = Self::new(0);
4292        #[doc = "Low output"]
4293        pub const _1: Self = Self::new(1);
4294    }
4295    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4296    pub struct Eorr04_SPEC;
4297    pub type Eorr04 = crate::EnumBitfieldStruct<u8, Eorr04_SPEC>;
4298    impl Eorr04 {
4299        #[doc = "No effect on output"]
4300        pub const _0: Self = Self::new(0);
4301        #[doc = "Low output"]
4302        pub const _1: Self = Self::new(1);
4303    }
4304    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4305    pub struct Eorr05_SPEC;
4306    pub type Eorr05 = crate::EnumBitfieldStruct<u8, Eorr05_SPEC>;
4307    impl Eorr05 {
4308        #[doc = "No effect on output"]
4309        pub const _0: Self = Self::new(0);
4310        #[doc = "Low output"]
4311        pub const _1: Self = Self::new(1);
4312    }
4313    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4314    pub struct Eorr06_SPEC;
4315    pub type Eorr06 = crate::EnumBitfieldStruct<u8, Eorr06_SPEC>;
4316    impl Eorr06 {
4317        #[doc = "No effect on output"]
4318        pub const _0: Self = Self::new(0);
4319        #[doc = "Low output"]
4320        pub const _1: Self = Self::new(1);
4321    }
4322    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4323    pub struct Eorr07_SPEC;
4324    pub type Eorr07 = crate::EnumBitfieldStruct<u8, Eorr07_SPEC>;
4325    impl Eorr07 {
4326        #[doc = "No effect on output"]
4327        pub const _0: Self = Self::new(0);
4328        #[doc = "Low output"]
4329        pub const _1: Self = Self::new(1);
4330    }
4331    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4332    pub struct Eorr08_SPEC;
4333    pub type Eorr08 = crate::EnumBitfieldStruct<u8, Eorr08_SPEC>;
4334    impl Eorr08 {
4335        #[doc = "No effect on output"]
4336        pub const _0: Self = Self::new(0);
4337        #[doc = "Low output"]
4338        pub const _1: Self = Self::new(1);
4339    }
4340    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4341    pub struct Eorr09_SPEC;
4342    pub type Eorr09 = crate::EnumBitfieldStruct<u8, Eorr09_SPEC>;
4343    impl Eorr09 {
4344        #[doc = "No effect on output"]
4345        pub const _0: Self = Self::new(0);
4346        #[doc = "Low output"]
4347        pub const _1: Self = Self::new(1);
4348    }
4349    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4350    pub struct Eorr10_SPEC;
4351    pub type Eorr10 = crate::EnumBitfieldStruct<u8, Eorr10_SPEC>;
4352    impl Eorr10 {
4353        #[doc = "No effect on output"]
4354        pub const _0: Self = Self::new(0);
4355        #[doc = "Low output"]
4356        pub const _1: Self = Self::new(1);
4357    }
4358    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4359    pub struct Eorr11_SPEC;
4360    pub type Eorr11 = crate::EnumBitfieldStruct<u8, Eorr11_SPEC>;
4361    impl Eorr11 {
4362        #[doc = "No effect on output"]
4363        pub const _0: Self = Self::new(0);
4364        #[doc = "Low output"]
4365        pub const _1: Self = Self::new(1);
4366    }
4367    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4368    pub struct Eorr12_SPEC;
4369    pub type Eorr12 = crate::EnumBitfieldStruct<u8, Eorr12_SPEC>;
4370    impl Eorr12 {
4371        #[doc = "No effect on output"]
4372        pub const _0: Self = Self::new(0);
4373        #[doc = "Low output"]
4374        pub const _1: Self = Self::new(1);
4375    }
4376    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4377    pub struct Eorr13_SPEC;
4378    pub type Eorr13 = crate::EnumBitfieldStruct<u8, Eorr13_SPEC>;
4379    impl Eorr13 {
4380        #[doc = "No effect on output"]
4381        pub const _0: Self = Self::new(0);
4382        #[doc = "Low output"]
4383        pub const _1: Self = Self::new(1);
4384    }
4385    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4386    pub struct Eorr14_SPEC;
4387    pub type Eorr14 = crate::EnumBitfieldStruct<u8, Eorr14_SPEC>;
4388    impl Eorr14 {
4389        #[doc = "No effect on output"]
4390        pub const _0: Self = Self::new(0);
4391        #[doc = "Low output"]
4392        pub const _1: Self = Self::new(1);
4393    }
4394    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4395    pub struct Eorr15_SPEC;
4396    pub type Eorr15 = crate::EnumBitfieldStruct<u8, Eorr15_SPEC>;
4397    impl Eorr15 {
4398        #[doc = "No effect on output"]
4399        pub const _0: Self = Self::new(0);
4400        #[doc = "Low output"]
4401        pub const _1: Self = Self::new(1);
4402    }
4403}
4404#[doc(hidden)]
4405#[derive(Copy, Clone, Eq, PartialEq)]
4406pub struct Eosr_SPEC;
4407impl crate::sealed::RegSpec for Eosr_SPEC {
4408    type DataType = u16;
4409}
4410#[doc = "Port Control Register 4"]
4411pub type Eosr = crate::RegValueT<Eosr_SPEC>;
4412
4413impl Eosr {
4414    #[doc = "Pmn Event Output Set"]
4415    #[inline(always)]
4416    pub fn eosr00(
4417        self,
4418    ) -> crate::common::RegisterField<0, 0x1, 1, 0, eosr::Eosr00, Eosr_SPEC, crate::common::RW>
4419    {
4420        crate::common::RegisterField::<0,0x1,1,0,eosr::Eosr00, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4421    }
4422    #[doc = "Pmn Event Output Set"]
4423    #[inline(always)]
4424    pub fn eosr01(
4425        self,
4426    ) -> crate::common::RegisterField<1, 0x1, 1, 0, eosr::Eosr01, Eosr_SPEC, crate::common::RW>
4427    {
4428        crate::common::RegisterField::<1,0x1,1,0,eosr::Eosr01, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4429    }
4430    #[doc = "Pmn Event Output Set"]
4431    #[inline(always)]
4432    pub fn eosr02(
4433        self,
4434    ) -> crate::common::RegisterField<2, 0x1, 1, 0, eosr::Eosr02, Eosr_SPEC, crate::common::RW>
4435    {
4436        crate::common::RegisterField::<2,0x1,1,0,eosr::Eosr02, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4437    }
4438    #[doc = "Pmn Event Output Set"]
4439    #[inline(always)]
4440    pub fn eosr03(
4441        self,
4442    ) -> crate::common::RegisterField<3, 0x1, 1, 0, eosr::Eosr03, Eosr_SPEC, crate::common::RW>
4443    {
4444        crate::common::RegisterField::<3,0x1,1,0,eosr::Eosr03, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4445    }
4446    #[doc = "Pmn Event Output Set"]
4447    #[inline(always)]
4448    pub fn eosr04(
4449        self,
4450    ) -> crate::common::RegisterField<4, 0x1, 1, 0, eosr::Eosr04, Eosr_SPEC, crate::common::RW>
4451    {
4452        crate::common::RegisterField::<4,0x1,1,0,eosr::Eosr04, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4453    }
4454    #[doc = "Pmn Event Output Set"]
4455    #[inline(always)]
4456    pub fn eosr05(
4457        self,
4458    ) -> crate::common::RegisterField<5, 0x1, 1, 0, eosr::Eosr05, Eosr_SPEC, crate::common::RW>
4459    {
4460        crate::common::RegisterField::<5,0x1,1,0,eosr::Eosr05, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4461    }
4462    #[doc = "Pmn Event Output Set"]
4463    #[inline(always)]
4464    pub fn eosr06(
4465        self,
4466    ) -> crate::common::RegisterField<6, 0x1, 1, 0, eosr::Eosr06, Eosr_SPEC, crate::common::RW>
4467    {
4468        crate::common::RegisterField::<6,0x1,1,0,eosr::Eosr06, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4469    }
4470    #[doc = "Pmn Event Output Set"]
4471    #[inline(always)]
4472    pub fn eosr07(
4473        self,
4474    ) -> crate::common::RegisterField<7, 0x1, 1, 0, eosr::Eosr07, Eosr_SPEC, crate::common::RW>
4475    {
4476        crate::common::RegisterField::<7,0x1,1,0,eosr::Eosr07, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4477    }
4478    #[doc = "Pmn Event Output Set"]
4479    #[inline(always)]
4480    pub fn eosr08(
4481        self,
4482    ) -> crate::common::RegisterField<8, 0x1, 1, 0, eosr::Eosr08, Eosr_SPEC, crate::common::RW>
4483    {
4484        crate::common::RegisterField::<8,0x1,1,0,eosr::Eosr08, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4485    }
4486    #[doc = "Pmn Event Output Set"]
4487    #[inline(always)]
4488    pub fn eosr09(
4489        self,
4490    ) -> crate::common::RegisterField<9, 0x1, 1, 0, eosr::Eosr09, Eosr_SPEC, crate::common::RW>
4491    {
4492        crate::common::RegisterField::<9,0x1,1,0,eosr::Eosr09, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4493    }
4494    #[doc = "Pmn Event Output Set"]
4495    #[inline(always)]
4496    pub fn eosr10(
4497        self,
4498    ) -> crate::common::RegisterField<10, 0x1, 1, 0, eosr::Eosr10, Eosr_SPEC, crate::common::RW>
4499    {
4500        crate::common::RegisterField::<10,0x1,1,0,eosr::Eosr10, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4501    }
4502    #[doc = "Pmn Event Output Set"]
4503    #[inline(always)]
4504    pub fn eosr11(
4505        self,
4506    ) -> crate::common::RegisterField<11, 0x1, 1, 0, eosr::Eosr11, Eosr_SPEC, crate::common::RW>
4507    {
4508        crate::common::RegisterField::<11,0x1,1,0,eosr::Eosr11, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4509    }
4510    #[doc = "Pmn Event Output Set"]
4511    #[inline(always)]
4512    pub fn eosr12(
4513        self,
4514    ) -> crate::common::RegisterField<12, 0x1, 1, 0, eosr::Eosr12, Eosr_SPEC, crate::common::RW>
4515    {
4516        crate::common::RegisterField::<12,0x1,1,0,eosr::Eosr12, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4517    }
4518    #[doc = "Pmn Event Output Set"]
4519    #[inline(always)]
4520    pub fn eosr13(
4521        self,
4522    ) -> crate::common::RegisterField<13, 0x1, 1, 0, eosr::Eosr13, Eosr_SPEC, crate::common::RW>
4523    {
4524        crate::common::RegisterField::<13,0x1,1,0,eosr::Eosr13, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4525    }
4526    #[doc = "Pmn Event Output Set"]
4527    #[inline(always)]
4528    pub fn eosr14(
4529        self,
4530    ) -> crate::common::RegisterField<14, 0x1, 1, 0, eosr::Eosr14, Eosr_SPEC, crate::common::RW>
4531    {
4532        crate::common::RegisterField::<14,0x1,1,0,eosr::Eosr14, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4533    }
4534    #[doc = "Pmn Event Output Set"]
4535    #[inline(always)]
4536    pub fn eosr15(
4537        self,
4538    ) -> crate::common::RegisterField<15, 0x1, 1, 0, eosr::Eosr15, Eosr_SPEC, crate::common::RW>
4539    {
4540        crate::common::RegisterField::<15,0x1,1,0,eosr::Eosr15, Eosr_SPEC,crate::common::RW>::from_register(self,0)
4541    }
4542}
4543impl ::core::default::Default for Eosr {
4544    #[inline(always)]
4545    fn default() -> Eosr {
4546        <crate::RegValueT<Eosr_SPEC> as RegisterValue<_>>::new(0)
4547    }
4548}
4549pub mod eosr {
4550
4551    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4552    pub struct Eosr00_SPEC;
4553    pub type Eosr00 = crate::EnumBitfieldStruct<u8, Eosr00_SPEC>;
4554    impl Eosr00 {
4555        #[doc = "No effect on output"]
4556        pub const _0: Self = Self::new(0);
4557        #[doc = "High output"]
4558        pub const _1: Self = Self::new(1);
4559    }
4560    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4561    pub struct Eosr01_SPEC;
4562    pub type Eosr01 = crate::EnumBitfieldStruct<u8, Eosr01_SPEC>;
4563    impl Eosr01 {
4564        #[doc = "No effect on output"]
4565        pub const _0: Self = Self::new(0);
4566        #[doc = "High output"]
4567        pub const _1: Self = Self::new(1);
4568    }
4569    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4570    pub struct Eosr02_SPEC;
4571    pub type Eosr02 = crate::EnumBitfieldStruct<u8, Eosr02_SPEC>;
4572    impl Eosr02 {
4573        #[doc = "No effect on output"]
4574        pub const _0: Self = Self::new(0);
4575        #[doc = "High output"]
4576        pub const _1: Self = Self::new(1);
4577    }
4578    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4579    pub struct Eosr03_SPEC;
4580    pub type Eosr03 = crate::EnumBitfieldStruct<u8, Eosr03_SPEC>;
4581    impl Eosr03 {
4582        #[doc = "No effect on output"]
4583        pub const _0: Self = Self::new(0);
4584        #[doc = "High output"]
4585        pub const _1: Self = Self::new(1);
4586    }
4587    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4588    pub struct Eosr04_SPEC;
4589    pub type Eosr04 = crate::EnumBitfieldStruct<u8, Eosr04_SPEC>;
4590    impl Eosr04 {
4591        #[doc = "No effect on output"]
4592        pub const _0: Self = Self::new(0);
4593        #[doc = "High output"]
4594        pub const _1: Self = Self::new(1);
4595    }
4596    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4597    pub struct Eosr05_SPEC;
4598    pub type Eosr05 = crate::EnumBitfieldStruct<u8, Eosr05_SPEC>;
4599    impl Eosr05 {
4600        #[doc = "No effect on output"]
4601        pub const _0: Self = Self::new(0);
4602        #[doc = "High output"]
4603        pub const _1: Self = Self::new(1);
4604    }
4605    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4606    pub struct Eosr06_SPEC;
4607    pub type Eosr06 = crate::EnumBitfieldStruct<u8, Eosr06_SPEC>;
4608    impl Eosr06 {
4609        #[doc = "No effect on output"]
4610        pub const _0: Self = Self::new(0);
4611        #[doc = "High output"]
4612        pub const _1: Self = Self::new(1);
4613    }
4614    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4615    pub struct Eosr07_SPEC;
4616    pub type Eosr07 = crate::EnumBitfieldStruct<u8, Eosr07_SPEC>;
4617    impl Eosr07 {
4618        #[doc = "No effect on output"]
4619        pub const _0: Self = Self::new(0);
4620        #[doc = "High output"]
4621        pub const _1: Self = Self::new(1);
4622    }
4623    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4624    pub struct Eosr08_SPEC;
4625    pub type Eosr08 = crate::EnumBitfieldStruct<u8, Eosr08_SPEC>;
4626    impl Eosr08 {
4627        #[doc = "No effect on output"]
4628        pub const _0: Self = Self::new(0);
4629        #[doc = "High output"]
4630        pub const _1: Self = Self::new(1);
4631    }
4632    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4633    pub struct Eosr09_SPEC;
4634    pub type Eosr09 = crate::EnumBitfieldStruct<u8, Eosr09_SPEC>;
4635    impl Eosr09 {
4636        #[doc = "No effect on output"]
4637        pub const _0: Self = Self::new(0);
4638        #[doc = "High output"]
4639        pub const _1: Self = Self::new(1);
4640    }
4641    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4642    pub struct Eosr10_SPEC;
4643    pub type Eosr10 = crate::EnumBitfieldStruct<u8, Eosr10_SPEC>;
4644    impl Eosr10 {
4645        #[doc = "No effect on output"]
4646        pub const _0: Self = Self::new(0);
4647        #[doc = "High output"]
4648        pub const _1: Self = Self::new(1);
4649    }
4650    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4651    pub struct Eosr11_SPEC;
4652    pub type Eosr11 = crate::EnumBitfieldStruct<u8, Eosr11_SPEC>;
4653    impl Eosr11 {
4654        #[doc = "No effect on output"]
4655        pub const _0: Self = Self::new(0);
4656        #[doc = "High output"]
4657        pub const _1: Self = Self::new(1);
4658    }
4659    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4660    pub struct Eosr12_SPEC;
4661    pub type Eosr12 = crate::EnumBitfieldStruct<u8, Eosr12_SPEC>;
4662    impl Eosr12 {
4663        #[doc = "No effect on output"]
4664        pub const _0: Self = Self::new(0);
4665        #[doc = "High output"]
4666        pub const _1: Self = Self::new(1);
4667    }
4668    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4669    pub struct Eosr13_SPEC;
4670    pub type Eosr13 = crate::EnumBitfieldStruct<u8, Eosr13_SPEC>;
4671    impl Eosr13 {
4672        #[doc = "No effect on output"]
4673        pub const _0: Self = Self::new(0);
4674        #[doc = "High output"]
4675        pub const _1: Self = Self::new(1);
4676    }
4677    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4678    pub struct Eosr14_SPEC;
4679    pub type Eosr14 = crate::EnumBitfieldStruct<u8, Eosr14_SPEC>;
4680    impl Eosr14 {
4681        #[doc = "No effect on output"]
4682        pub const _0: Self = Self::new(0);
4683        #[doc = "High output"]
4684        pub const _1: Self = Self::new(1);
4685    }
4686    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4687    pub struct Eosr15_SPEC;
4688    pub type Eosr15 = crate::EnumBitfieldStruct<u8, Eosr15_SPEC>;
4689    impl Eosr15 {
4690        #[doc = "No effect on output"]
4691        pub const _0: Self = Self::new(0);
4692        #[doc = "High output"]
4693        pub const _1: Self = Self::new(1);
4694    }
4695}