ra8e2_pac/
pfs.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.00.01, with svd2pac 0.6.0 on Thu, 24 Jul 2025 04:54:26 +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 Function Control Register"]
28unsafe impl ::core::marker::Send for super::Pfs {}
29unsafe impl ::core::marker::Sync for super::Pfs {}
30impl super::Pfs {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "Port 00%s Pin Function Select Register"]
38    #[inline(always)]
39    pub const fn p00pfs(
40        &self,
41    ) -> &'static crate::common::ClusterRegisterArray<
42        crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW>,
43        10,
44        0x4,
45    > {
46        unsafe {
47            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x0usize))
48        }
49    }
50    #[inline(always)]
51    pub const fn p000pfs(
52        &self,
53    ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
54        unsafe {
55            crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
56                self._svd2pac_as_ptr().add(0x0usize),
57            )
58        }
59    }
60    #[inline(always)]
61    pub const fn p001pfs(
62        &self,
63    ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
64        unsafe {
65            crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
66                self._svd2pac_as_ptr().add(0x4usize),
67            )
68        }
69    }
70    #[inline(always)]
71    pub const fn p002pfs(
72        &self,
73    ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
74        unsafe {
75            crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
76                self._svd2pac_as_ptr().add(0x8usize),
77            )
78        }
79    }
80    #[inline(always)]
81    pub const fn p003pfs(
82        &self,
83    ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
84        unsafe {
85            crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
86                self._svd2pac_as_ptr().add(0xcusize),
87            )
88        }
89    }
90    #[inline(always)]
91    pub const fn p004pfs(
92        &self,
93    ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
94        unsafe {
95            crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
96                self._svd2pac_as_ptr().add(0x10usize),
97            )
98        }
99    }
100    #[inline(always)]
101    pub const fn p005pfs(
102        &self,
103    ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
104        unsafe {
105            crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
106                self._svd2pac_as_ptr().add(0x14usize),
107            )
108        }
109    }
110    #[inline(always)]
111    pub const fn p006pfs(
112        &self,
113    ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
114        unsafe {
115            crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
116                self._svd2pac_as_ptr().add(0x18usize),
117            )
118        }
119    }
120    #[inline(always)]
121    pub const fn p007pfs(
122        &self,
123    ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
124        unsafe {
125            crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
126                self._svd2pac_as_ptr().add(0x1cusize),
127            )
128        }
129    }
130    #[inline(always)]
131    pub const fn p008pfs(
132        &self,
133    ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
134        unsafe {
135            crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
136                self._svd2pac_as_ptr().add(0x20usize),
137            )
138        }
139    }
140    #[inline(always)]
141    pub const fn p009pfs(
142        &self,
143    ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
144        unsafe {
145            crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
146                self._svd2pac_as_ptr().add(0x24usize),
147            )
148        }
149    }
150
151    #[doc = "Port 00%s Pin Function Select Register"]
152    #[inline(always)]
153    pub const fn p00pfs_ha(
154        &self,
155    ) -> &'static crate::common::ClusterRegisterArray<
156        crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW>,
157        10,
158        0x4,
159    > {
160        unsafe {
161            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x0usize))
162        }
163    }
164    #[inline(always)]
165    pub const fn p000pfs_ha(
166        &self,
167    ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
168        unsafe {
169            crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
170                self._svd2pac_as_ptr().add(0x0usize),
171            )
172        }
173    }
174    #[inline(always)]
175    pub const fn p001pfs_ha(
176        &self,
177    ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
178        unsafe {
179            crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
180                self._svd2pac_as_ptr().add(0x4usize),
181            )
182        }
183    }
184    #[inline(always)]
185    pub const fn p002pfs_ha(
186        &self,
187    ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
188        unsafe {
189            crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
190                self._svd2pac_as_ptr().add(0x8usize),
191            )
192        }
193    }
194    #[inline(always)]
195    pub const fn p003pfs_ha(
196        &self,
197    ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
198        unsafe {
199            crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
200                self._svd2pac_as_ptr().add(0xcusize),
201            )
202        }
203    }
204    #[inline(always)]
205    pub const fn p004pfs_ha(
206        &self,
207    ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
208        unsafe {
209            crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
210                self._svd2pac_as_ptr().add(0x10usize),
211            )
212        }
213    }
214    #[inline(always)]
215    pub const fn p005pfs_ha(
216        &self,
217    ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
218        unsafe {
219            crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
220                self._svd2pac_as_ptr().add(0x14usize),
221            )
222        }
223    }
224    #[inline(always)]
225    pub const fn p006pfs_ha(
226        &self,
227    ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
228        unsafe {
229            crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
230                self._svd2pac_as_ptr().add(0x18usize),
231            )
232        }
233    }
234    #[inline(always)]
235    pub const fn p007pfs_ha(
236        &self,
237    ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
238        unsafe {
239            crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
240                self._svd2pac_as_ptr().add(0x1cusize),
241            )
242        }
243    }
244    #[inline(always)]
245    pub const fn p008pfs_ha(
246        &self,
247    ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
248        unsafe {
249            crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
250                self._svd2pac_as_ptr().add(0x20usize),
251            )
252        }
253    }
254    #[inline(always)]
255    pub const fn p009pfs_ha(
256        &self,
257    ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
258        unsafe {
259            crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
260                self._svd2pac_as_ptr().add(0x24usize),
261            )
262        }
263    }
264
265    #[doc = "Port 00%s Pin Function Select Register"]
266    #[inline(always)]
267    pub const fn p00pfs_by(
268        &self,
269    ) -> &'static crate::common::ClusterRegisterArray<
270        crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW>,
271        10,
272        0x4,
273    > {
274        unsafe {
275            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x0usize))
276        }
277    }
278    #[inline(always)]
279    pub const fn p000pfs_by(
280        &self,
281    ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
282        unsafe {
283            crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
284                self._svd2pac_as_ptr().add(0x0usize),
285            )
286        }
287    }
288    #[inline(always)]
289    pub const fn p001pfs_by(
290        &self,
291    ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
292        unsafe {
293            crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
294                self._svd2pac_as_ptr().add(0x4usize),
295            )
296        }
297    }
298    #[inline(always)]
299    pub const fn p002pfs_by(
300        &self,
301    ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
302        unsafe {
303            crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
304                self._svd2pac_as_ptr().add(0x8usize),
305            )
306        }
307    }
308    #[inline(always)]
309    pub const fn p003pfs_by(
310        &self,
311    ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
312        unsafe {
313            crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
314                self._svd2pac_as_ptr().add(0xcusize),
315            )
316        }
317    }
318    #[inline(always)]
319    pub const fn p004pfs_by(
320        &self,
321    ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
322        unsafe {
323            crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
324                self._svd2pac_as_ptr().add(0x10usize),
325            )
326        }
327    }
328    #[inline(always)]
329    pub const fn p005pfs_by(
330        &self,
331    ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
332        unsafe {
333            crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
334                self._svd2pac_as_ptr().add(0x14usize),
335            )
336        }
337    }
338    #[inline(always)]
339    pub const fn p006pfs_by(
340        &self,
341    ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
342        unsafe {
343            crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
344                self._svd2pac_as_ptr().add(0x18usize),
345            )
346        }
347    }
348    #[inline(always)]
349    pub const fn p007pfs_by(
350        &self,
351    ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
352        unsafe {
353            crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
354                self._svd2pac_as_ptr().add(0x1cusize),
355            )
356        }
357    }
358    #[inline(always)]
359    pub const fn p008pfs_by(
360        &self,
361    ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
362        unsafe {
363            crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
364                self._svd2pac_as_ptr().add(0x20usize),
365            )
366        }
367    }
368    #[inline(always)]
369    pub const fn p009pfs_by(
370        &self,
371    ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
372        unsafe {
373            crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
374                self._svd2pac_as_ptr().add(0x24usize),
375            )
376        }
377    }
378
379    #[doc = "Port 0%s Pin Function Select Register"]
380    #[inline(always)]
381    pub const fn p0pfs(
382        &self,
383    ) -> &'static crate::common::ClusterRegisterArray<
384        crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW>,
385        2,
386        0x4,
387    > {
388        unsafe {
389            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x38usize))
390        }
391    }
392    #[inline(always)]
393    pub const fn p014pfs(
394        &self,
395    ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
396        unsafe {
397            crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
398                self._svd2pac_as_ptr().add(0x38usize),
399            )
400        }
401    }
402    #[inline(always)]
403    pub const fn p015pfs(
404        &self,
405    ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
406        unsafe {
407            crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
408                self._svd2pac_as_ptr().add(0x3cusize),
409            )
410        }
411    }
412
413    #[doc = "Port 0%s Pin Function Select Register"]
414    #[inline(always)]
415    pub const fn p0pfs_ha(
416        &self,
417    ) -> &'static crate::common::ClusterRegisterArray<
418        crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW>,
419        2,
420        0x4,
421    > {
422        unsafe {
423            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x38usize))
424        }
425    }
426    #[inline(always)]
427    pub const fn p014pfs_ha(
428        &self,
429    ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
430        unsafe {
431            crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
432                self._svd2pac_as_ptr().add(0x38usize),
433            )
434        }
435    }
436    #[inline(always)]
437    pub const fn p015pfs_ha(
438        &self,
439    ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
440        unsafe {
441            crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
442                self._svd2pac_as_ptr().add(0x3cusize),
443            )
444        }
445    }
446
447    #[doc = "Port 0%s Pin Function Select Register"]
448    #[inline(always)]
449    pub const fn p0pfs_by(
450        &self,
451    ) -> &'static crate::common::ClusterRegisterArray<
452        crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW>,
453        2,
454        0x4,
455    > {
456        unsafe {
457            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x38usize))
458        }
459    }
460    #[inline(always)]
461    pub const fn p014pfs_by(
462        &self,
463    ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
464        unsafe {
465            crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
466                self._svd2pac_as_ptr().add(0x38usize),
467            )
468        }
469    }
470    #[inline(always)]
471    pub const fn p015pfs_by(
472        &self,
473    ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
474        unsafe {
475            crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
476                self._svd2pac_as_ptr().add(0x3cusize),
477            )
478        }
479    }
480
481    #[doc = "Port 10%s Pin Function Select Register"]
482    #[inline(always)]
483    pub const fn p10pfs(
484        &self,
485    ) -> &'static crate::common::ClusterRegisterArray<
486        crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW>,
487        8,
488        0x4,
489    > {
490        unsafe {
491            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x40usize))
492        }
493    }
494    #[inline(always)]
495    pub const fn p100pfs(
496        &self,
497    ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
498        unsafe {
499            crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
500                self._svd2pac_as_ptr().add(0x40usize),
501            )
502        }
503    }
504    #[inline(always)]
505    pub const fn p101pfs(
506        &self,
507    ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
508        unsafe {
509            crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
510                self._svd2pac_as_ptr().add(0x44usize),
511            )
512        }
513    }
514    #[inline(always)]
515    pub const fn p102pfs(
516        &self,
517    ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
518        unsafe {
519            crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
520                self._svd2pac_as_ptr().add(0x48usize),
521            )
522        }
523    }
524    #[inline(always)]
525    pub const fn p103pfs(
526        &self,
527    ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
528        unsafe {
529            crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
530                self._svd2pac_as_ptr().add(0x4cusize),
531            )
532        }
533    }
534    #[inline(always)]
535    pub const fn p104pfs(
536        &self,
537    ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
538        unsafe {
539            crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
540                self._svd2pac_as_ptr().add(0x50usize),
541            )
542        }
543    }
544    #[inline(always)]
545    pub const fn p105pfs(
546        &self,
547    ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
548        unsafe {
549            crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
550                self._svd2pac_as_ptr().add(0x54usize),
551            )
552        }
553    }
554    #[inline(always)]
555    pub const fn p106pfs(
556        &self,
557    ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
558        unsafe {
559            crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
560                self._svd2pac_as_ptr().add(0x58usize),
561            )
562        }
563    }
564    #[inline(always)]
565    pub const fn p107pfs(
566        &self,
567    ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
568        unsafe {
569            crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
570                self._svd2pac_as_ptr().add(0x5cusize),
571            )
572        }
573    }
574
575    #[doc = "Port 10%s Pin Function Select Register"]
576    #[inline(always)]
577    pub const fn p10pfs_ha(
578        &self,
579    ) -> &'static crate::common::ClusterRegisterArray<
580        crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW>,
581        8,
582        0x4,
583    > {
584        unsafe {
585            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x40usize))
586        }
587    }
588    #[inline(always)]
589    pub const fn p100pfs_ha(
590        &self,
591    ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
592        unsafe {
593            crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
594                self._svd2pac_as_ptr().add(0x40usize),
595            )
596        }
597    }
598    #[inline(always)]
599    pub const fn p101pfs_ha(
600        &self,
601    ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
602        unsafe {
603            crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
604                self._svd2pac_as_ptr().add(0x44usize),
605            )
606        }
607    }
608    #[inline(always)]
609    pub const fn p102pfs_ha(
610        &self,
611    ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
612        unsafe {
613            crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
614                self._svd2pac_as_ptr().add(0x48usize),
615            )
616        }
617    }
618    #[inline(always)]
619    pub const fn p103pfs_ha(
620        &self,
621    ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
622        unsafe {
623            crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
624                self._svd2pac_as_ptr().add(0x4cusize),
625            )
626        }
627    }
628    #[inline(always)]
629    pub const fn p104pfs_ha(
630        &self,
631    ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
632        unsafe {
633            crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
634                self._svd2pac_as_ptr().add(0x50usize),
635            )
636        }
637    }
638    #[inline(always)]
639    pub const fn p105pfs_ha(
640        &self,
641    ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
642        unsafe {
643            crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
644                self._svd2pac_as_ptr().add(0x54usize),
645            )
646        }
647    }
648    #[inline(always)]
649    pub const fn p106pfs_ha(
650        &self,
651    ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
652        unsafe {
653            crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
654                self._svd2pac_as_ptr().add(0x58usize),
655            )
656        }
657    }
658    #[inline(always)]
659    pub const fn p107pfs_ha(
660        &self,
661    ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
662        unsafe {
663            crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
664                self._svd2pac_as_ptr().add(0x5cusize),
665            )
666        }
667    }
668
669    #[doc = "Port 10%s Pin Function Select Register"]
670    #[inline(always)]
671    pub const fn p10pfs_by(
672        &self,
673    ) -> &'static crate::common::ClusterRegisterArray<
674        crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW>,
675        8,
676        0x4,
677    > {
678        unsafe {
679            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x40usize))
680        }
681    }
682    #[inline(always)]
683    pub const fn p100pfs_by(
684        &self,
685    ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
686        unsafe {
687            crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
688                self._svd2pac_as_ptr().add(0x40usize),
689            )
690        }
691    }
692    #[inline(always)]
693    pub const fn p101pfs_by(
694        &self,
695    ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
696        unsafe {
697            crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
698                self._svd2pac_as_ptr().add(0x44usize),
699            )
700        }
701    }
702    #[inline(always)]
703    pub const fn p102pfs_by(
704        &self,
705    ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
706        unsafe {
707            crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
708                self._svd2pac_as_ptr().add(0x48usize),
709            )
710        }
711    }
712    #[inline(always)]
713    pub const fn p103pfs_by(
714        &self,
715    ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
716        unsafe {
717            crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
718                self._svd2pac_as_ptr().add(0x4cusize),
719            )
720        }
721    }
722    #[inline(always)]
723    pub const fn p104pfs_by(
724        &self,
725    ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
726        unsafe {
727            crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
728                self._svd2pac_as_ptr().add(0x50usize),
729            )
730        }
731    }
732    #[inline(always)]
733    pub const fn p105pfs_by(
734        &self,
735    ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
736        unsafe {
737            crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
738                self._svd2pac_as_ptr().add(0x54usize),
739            )
740        }
741    }
742    #[inline(always)]
743    pub const fn p106pfs_by(
744        &self,
745    ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
746        unsafe {
747            crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
748                self._svd2pac_as_ptr().add(0x58usize),
749            )
750        }
751    }
752    #[inline(always)]
753    pub const fn p107pfs_by(
754        &self,
755    ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
756        unsafe {
757            crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
758                self._svd2pac_as_ptr().add(0x5cusize),
759            )
760        }
761    }
762
763    #[doc = "Port 1%s Pin Function Select Register"]
764    #[inline(always)]
765    pub const fn p1pfs(
766        &self,
767    ) -> &'static crate::common::ClusterRegisterArray<
768        crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW>,
769        4,
770        0x4,
771    > {
772        unsafe {
773            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x70usize))
774        }
775    }
776    #[inline(always)]
777    pub const fn p112pfs(
778        &self,
779    ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
780        unsafe {
781            crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
782                self._svd2pac_as_ptr().add(0x70usize),
783            )
784        }
785    }
786    #[inline(always)]
787    pub const fn p113pfs(
788        &self,
789    ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
790        unsafe {
791            crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
792                self._svd2pac_as_ptr().add(0x74usize),
793            )
794        }
795    }
796    #[inline(always)]
797    pub const fn p114pfs(
798        &self,
799    ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
800        unsafe {
801            crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
802                self._svd2pac_as_ptr().add(0x78usize),
803            )
804        }
805    }
806    #[inline(always)]
807    pub const fn p115pfs(
808        &self,
809    ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
810        unsafe {
811            crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
812                self._svd2pac_as_ptr().add(0x7cusize),
813            )
814        }
815    }
816
817    #[doc = "Port 1%s Pin Function Select Register"]
818    #[inline(always)]
819    pub const fn p1pfs_ha(
820        &self,
821    ) -> &'static crate::common::ClusterRegisterArray<
822        crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW>,
823        4,
824        0x4,
825    > {
826        unsafe {
827            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x70usize))
828        }
829    }
830    #[inline(always)]
831    pub const fn p112pfs_ha(
832        &self,
833    ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
834        unsafe {
835            crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
836                self._svd2pac_as_ptr().add(0x70usize),
837            )
838        }
839    }
840    #[inline(always)]
841    pub const fn p113pfs_ha(
842        &self,
843    ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
844        unsafe {
845            crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
846                self._svd2pac_as_ptr().add(0x74usize),
847            )
848        }
849    }
850    #[inline(always)]
851    pub const fn p114pfs_ha(
852        &self,
853    ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
854        unsafe {
855            crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
856                self._svd2pac_as_ptr().add(0x78usize),
857            )
858        }
859    }
860    #[inline(always)]
861    pub const fn p115pfs_ha(
862        &self,
863    ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
864        unsafe {
865            crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
866                self._svd2pac_as_ptr().add(0x7cusize),
867            )
868        }
869    }
870
871    #[doc = "Port 1%s Pin Function Select Register"]
872    #[inline(always)]
873    pub const fn p1pfs_by(
874        &self,
875    ) -> &'static crate::common::ClusterRegisterArray<
876        crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW>,
877        4,
878        0x4,
879    > {
880        unsafe {
881            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x70usize))
882        }
883    }
884    #[inline(always)]
885    pub const fn p112pfs_by(
886        &self,
887    ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
888        unsafe {
889            crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
890                self._svd2pac_as_ptr().add(0x70usize),
891            )
892        }
893    }
894    #[inline(always)]
895    pub const fn p113pfs_by(
896        &self,
897    ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
898        unsafe {
899            crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
900                self._svd2pac_as_ptr().add(0x74usize),
901            )
902        }
903    }
904    #[inline(always)]
905    pub const fn p114pfs_by(
906        &self,
907    ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
908        unsafe {
909            crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
910                self._svd2pac_as_ptr().add(0x78usize),
911            )
912        }
913    }
914    #[inline(always)]
915    pub const fn p115pfs_by(
916        &self,
917    ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
918        unsafe {
919            crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
920                self._svd2pac_as_ptr().add(0x7cusize),
921            )
922        }
923    }
924
925    #[doc = "Port 200 Pin Function Select Register"]
926    #[inline(always)]
927    pub const fn p200pfs(
928        &self,
929    ) -> &'static crate::common::Reg<self::P200Pfs_SPEC, crate::common::RW> {
930        unsafe {
931            crate::common::Reg::<self::P200Pfs_SPEC, crate::common::RW>::from_ptr(
932                self._svd2pac_as_ptr().add(128usize),
933            )
934        }
935    }
936
937    #[doc = "Port 200 Pin Function Select Register"]
938    #[inline(always)]
939    pub const fn p200pfs_ha(
940        &self,
941    ) -> &'static crate::common::Reg<self::P200PfsHa_SPEC, crate::common::RW> {
942        unsafe {
943            crate::common::Reg::<self::P200PfsHa_SPEC, crate::common::RW>::from_ptr(
944                self._svd2pac_as_ptr().add(128usize),
945            )
946        }
947    }
948
949    #[doc = "Port 200 Pin Function Select Register"]
950    #[inline(always)]
951    pub const fn p200pfs_by(
952        &self,
953    ) -> &'static crate::common::Reg<self::P200PfsBy_SPEC, crate::common::RW> {
954        unsafe {
955            crate::common::Reg::<self::P200PfsBy_SPEC, crate::common::RW>::from_ptr(
956                self._svd2pac_as_ptr().add(128usize),
957            )
958        }
959    }
960
961    #[doc = "Port 201 Pin Function Select Register"]
962    #[inline(always)]
963    pub const fn p201pfs(
964        &self,
965    ) -> &'static crate::common::Reg<self::P201Pfs_SPEC, crate::common::RW> {
966        unsafe {
967            crate::common::Reg::<self::P201Pfs_SPEC, crate::common::RW>::from_ptr(
968                self._svd2pac_as_ptr().add(132usize),
969            )
970        }
971    }
972
973    #[doc = "Port 201 Pin Function Select Register"]
974    #[inline(always)]
975    pub const fn p201pfs_ha(
976        &self,
977    ) -> &'static crate::common::Reg<self::P201PfsHa_SPEC, crate::common::RW> {
978        unsafe {
979            crate::common::Reg::<self::P201PfsHa_SPEC, crate::common::RW>::from_ptr(
980                self._svd2pac_as_ptr().add(132usize),
981            )
982        }
983    }
984
985    #[doc = "Port 201 Pin Function Select Register"]
986    #[inline(always)]
987    pub const fn p201pfs_by(
988        &self,
989    ) -> &'static crate::common::Reg<self::P201PfsBy_SPEC, crate::common::RW> {
990        unsafe {
991            crate::common::Reg::<self::P201PfsBy_SPEC, crate::common::RW>::from_ptr(
992                self._svd2pac_as_ptr().add(132usize),
993            )
994        }
995    }
996
997    #[doc = "Port 20%s Pin Function Select Register"]
998    #[inline(always)]
999    pub const fn p20pfs(
1000        &self,
1001    ) -> &'static crate::common::ClusterRegisterArray<
1002        crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW>,
1003        6,
1004        0x4,
1005    > {
1006        unsafe {
1007            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x88usize))
1008        }
1009    }
1010    #[inline(always)]
1011    pub const fn p202pfs(
1012        &self,
1013    ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1014        unsafe {
1015            crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1016                self._svd2pac_as_ptr().add(0x88usize),
1017            )
1018        }
1019    }
1020    #[inline(always)]
1021    pub const fn p203pfs(
1022        &self,
1023    ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1024        unsafe {
1025            crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1026                self._svd2pac_as_ptr().add(0x8cusize),
1027            )
1028        }
1029    }
1030    #[inline(always)]
1031    pub const fn p204pfs(
1032        &self,
1033    ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1034        unsafe {
1035            crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1036                self._svd2pac_as_ptr().add(0x90usize),
1037            )
1038        }
1039    }
1040    #[inline(always)]
1041    pub const fn p205pfs(
1042        &self,
1043    ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1044        unsafe {
1045            crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1046                self._svd2pac_as_ptr().add(0x94usize),
1047            )
1048        }
1049    }
1050    #[inline(always)]
1051    pub const fn p206pfs(
1052        &self,
1053    ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1054        unsafe {
1055            crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1056                self._svd2pac_as_ptr().add(0x98usize),
1057            )
1058        }
1059    }
1060    #[inline(always)]
1061    pub const fn p207pfs(
1062        &self,
1063    ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1064        unsafe {
1065            crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1066                self._svd2pac_as_ptr().add(0x9cusize),
1067            )
1068        }
1069    }
1070
1071    #[doc = "Port 20%s Pin Function Select Register"]
1072    #[inline(always)]
1073    pub const fn p20pfs_ha(
1074        &self,
1075    ) -> &'static crate::common::ClusterRegisterArray<
1076        crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW>,
1077        6,
1078        0x4,
1079    > {
1080        unsafe {
1081            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x88usize))
1082        }
1083    }
1084    #[inline(always)]
1085    pub const fn p202pfs_ha(
1086        &self,
1087    ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1088        unsafe {
1089            crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1090                self._svd2pac_as_ptr().add(0x88usize),
1091            )
1092        }
1093    }
1094    #[inline(always)]
1095    pub const fn p203pfs_ha(
1096        &self,
1097    ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1098        unsafe {
1099            crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1100                self._svd2pac_as_ptr().add(0x8cusize),
1101            )
1102        }
1103    }
1104    #[inline(always)]
1105    pub const fn p204pfs_ha(
1106        &self,
1107    ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1108        unsafe {
1109            crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1110                self._svd2pac_as_ptr().add(0x90usize),
1111            )
1112        }
1113    }
1114    #[inline(always)]
1115    pub const fn p205pfs_ha(
1116        &self,
1117    ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1118        unsafe {
1119            crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1120                self._svd2pac_as_ptr().add(0x94usize),
1121            )
1122        }
1123    }
1124    #[inline(always)]
1125    pub const fn p206pfs_ha(
1126        &self,
1127    ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1128        unsafe {
1129            crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1130                self._svd2pac_as_ptr().add(0x98usize),
1131            )
1132        }
1133    }
1134    #[inline(always)]
1135    pub const fn p207pfs_ha(
1136        &self,
1137    ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1138        unsafe {
1139            crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1140                self._svd2pac_as_ptr().add(0x9cusize),
1141            )
1142        }
1143    }
1144
1145    #[doc = "Port 20%s Pin Function Select Register"]
1146    #[inline(always)]
1147    pub const fn p20pfs_by(
1148        &self,
1149    ) -> &'static crate::common::ClusterRegisterArray<
1150        crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW>,
1151        6,
1152        0x4,
1153    > {
1154        unsafe {
1155            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x88usize))
1156        }
1157    }
1158    #[inline(always)]
1159    pub const fn p202pfs_by(
1160        &self,
1161    ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1162        unsafe {
1163            crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1164                self._svd2pac_as_ptr().add(0x88usize),
1165            )
1166        }
1167    }
1168    #[inline(always)]
1169    pub const fn p203pfs_by(
1170        &self,
1171    ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1172        unsafe {
1173            crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1174                self._svd2pac_as_ptr().add(0x8cusize),
1175            )
1176        }
1177    }
1178    #[inline(always)]
1179    pub const fn p204pfs_by(
1180        &self,
1181    ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1182        unsafe {
1183            crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1184                self._svd2pac_as_ptr().add(0x90usize),
1185            )
1186        }
1187    }
1188    #[inline(always)]
1189    pub const fn p205pfs_by(
1190        &self,
1191    ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1192        unsafe {
1193            crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1194                self._svd2pac_as_ptr().add(0x94usize),
1195            )
1196        }
1197    }
1198    #[inline(always)]
1199    pub const fn p206pfs_by(
1200        &self,
1201    ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1202        unsafe {
1203            crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1204                self._svd2pac_as_ptr().add(0x98usize),
1205            )
1206        }
1207    }
1208    #[inline(always)]
1209    pub const fn p207pfs_by(
1210        &self,
1211    ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1212        unsafe {
1213            crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1214                self._svd2pac_as_ptr().add(0x9cusize),
1215            )
1216        }
1217    }
1218
1219    #[doc = "Port 208 Pin Function Select Register"]
1220    #[inline(always)]
1221    pub const fn p208pfs(
1222        &self,
1223    ) -> &'static crate::common::Reg<self::P208Pfs_SPEC, crate::common::RW> {
1224        unsafe {
1225            crate::common::Reg::<self::P208Pfs_SPEC, crate::common::RW>::from_ptr(
1226                self._svd2pac_as_ptr().add(160usize),
1227            )
1228        }
1229    }
1230
1231    #[doc = "Port 208 Pin Function Select Register"]
1232    #[inline(always)]
1233    pub const fn p208pfs_ha(
1234        &self,
1235    ) -> &'static crate::common::Reg<self::P208PfsHa_SPEC, crate::common::RW> {
1236        unsafe {
1237            crate::common::Reg::<self::P208PfsHa_SPEC, crate::common::RW>::from_ptr(
1238                self._svd2pac_as_ptr().add(160usize),
1239            )
1240        }
1241    }
1242
1243    #[doc = "Port 208 Pin Function Select Register"]
1244    #[inline(always)]
1245    pub const fn p208pfs_by(
1246        &self,
1247    ) -> &'static crate::common::Reg<self::P208PfsBy_SPEC, crate::common::RW> {
1248        unsafe {
1249            crate::common::Reg::<self::P208PfsBy_SPEC, crate::common::RW>::from_ptr(
1250                self._svd2pac_as_ptr().add(160usize),
1251            )
1252        }
1253    }
1254
1255    #[doc = "Port 209 Pin Function Select Register"]
1256    #[inline(always)]
1257    pub const fn p209pfs(
1258        &self,
1259    ) -> &'static crate::common::Reg<self::P209Pfs_SPEC, crate::common::RW> {
1260        unsafe {
1261            crate::common::Reg::<self::P209Pfs_SPEC, crate::common::RW>::from_ptr(
1262                self._svd2pac_as_ptr().add(164usize),
1263            )
1264        }
1265    }
1266
1267    #[doc = "Port 209 Pin Function Select Register"]
1268    #[inline(always)]
1269    pub const fn p209pfs_ha(
1270        &self,
1271    ) -> &'static crate::common::Reg<self::P209PfsHa_SPEC, crate::common::RW> {
1272        unsafe {
1273            crate::common::Reg::<self::P209PfsHa_SPEC, crate::common::RW>::from_ptr(
1274                self._svd2pac_as_ptr().add(164usize),
1275            )
1276        }
1277    }
1278
1279    #[doc = "Port 209 Pin Function Select Register"]
1280    #[inline(always)]
1281    pub const fn p209pfs_by(
1282        &self,
1283    ) -> &'static crate::common::Reg<self::P209PfsBy_SPEC, crate::common::RW> {
1284        unsafe {
1285            crate::common::Reg::<self::P209PfsBy_SPEC, crate::common::RW>::from_ptr(
1286                self._svd2pac_as_ptr().add(164usize),
1287            )
1288        }
1289    }
1290
1291    #[doc = "Port 210 Pin Function Select Register"]
1292    #[inline(always)]
1293    pub const fn p210pfs(
1294        &self,
1295    ) -> &'static crate::common::Reg<self::P210Pfs_SPEC, crate::common::RW> {
1296        unsafe {
1297            crate::common::Reg::<self::P210Pfs_SPEC, crate::common::RW>::from_ptr(
1298                self._svd2pac_as_ptr().add(168usize),
1299            )
1300        }
1301    }
1302
1303    #[doc = "Port 210 Pin Function Select Register"]
1304    #[inline(always)]
1305    pub const fn p210pfs_ha(
1306        &self,
1307    ) -> &'static crate::common::Reg<self::P210PfsHa_SPEC, crate::common::RW> {
1308        unsafe {
1309            crate::common::Reg::<self::P210PfsHa_SPEC, crate::common::RW>::from_ptr(
1310                self._svd2pac_as_ptr().add(168usize),
1311            )
1312        }
1313    }
1314
1315    #[doc = "Port 210 Pin Function Select Register"]
1316    #[inline(always)]
1317    pub const fn p210pfs_by(
1318        &self,
1319    ) -> &'static crate::common::Reg<self::P210PfsBy_SPEC, crate::common::RW> {
1320        unsafe {
1321            crate::common::Reg::<self::P210PfsBy_SPEC, crate::common::RW>::from_ptr(
1322                self._svd2pac_as_ptr().add(168usize),
1323            )
1324        }
1325    }
1326
1327    #[doc = "Port 211 Pin Function Select Register"]
1328    #[inline(always)]
1329    pub const fn p211pfs(
1330        &self,
1331    ) -> &'static crate::common::Reg<self::P211Pfs_SPEC, crate::common::RW> {
1332        unsafe {
1333            crate::common::Reg::<self::P211Pfs_SPEC, crate::common::RW>::from_ptr(
1334                self._svd2pac_as_ptr().add(172usize),
1335            )
1336        }
1337    }
1338
1339    #[doc = "Port 211 Pin Function Select Register"]
1340    #[inline(always)]
1341    pub const fn p211pfs_ha(
1342        &self,
1343    ) -> &'static crate::common::Reg<self::P211PfsHa_SPEC, crate::common::RW> {
1344        unsafe {
1345            crate::common::Reg::<self::P211PfsHa_SPEC, crate::common::RW>::from_ptr(
1346                self._svd2pac_as_ptr().add(172usize),
1347            )
1348        }
1349    }
1350
1351    #[doc = "Port 211 Pin Function Select Register"]
1352    #[inline(always)]
1353    pub const fn p211pfs_by(
1354        &self,
1355    ) -> &'static crate::common::Reg<self::P211PfsBy_SPEC, crate::common::RW> {
1356        unsafe {
1357            crate::common::Reg::<self::P211PfsBy_SPEC, crate::common::RW>::from_ptr(
1358                self._svd2pac_as_ptr().add(172usize),
1359            )
1360        }
1361    }
1362
1363    #[doc = "Port 2%s Pin Function Select Register"]
1364    #[inline(always)]
1365    pub const fn p2pfs(
1366        &self,
1367    ) -> &'static crate::common::ClusterRegisterArray<
1368        crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW>,
1369        2,
1370        0x4,
1371    > {
1372        unsafe {
1373            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xb0usize))
1374        }
1375    }
1376    #[inline(always)]
1377    pub const fn p212pfs(
1378        &self,
1379    ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1380        unsafe {
1381            crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1382                self._svd2pac_as_ptr().add(0xb0usize),
1383            )
1384        }
1385    }
1386    #[inline(always)]
1387    pub const fn p213pfs(
1388        &self,
1389    ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1390        unsafe {
1391            crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1392                self._svd2pac_as_ptr().add(0xb4usize),
1393            )
1394        }
1395    }
1396
1397    #[doc = "Port 2%s Pin Function Select Register"]
1398    #[inline(always)]
1399    pub const fn p2pfs_ha(
1400        &self,
1401    ) -> &'static crate::common::ClusterRegisterArray<
1402        crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW>,
1403        2,
1404        0x4,
1405    > {
1406        unsafe {
1407            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xb0usize))
1408        }
1409    }
1410    #[inline(always)]
1411    pub const fn p212pfs_ha(
1412        &self,
1413    ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1414        unsafe {
1415            crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1416                self._svd2pac_as_ptr().add(0xb0usize),
1417            )
1418        }
1419    }
1420    #[inline(always)]
1421    pub const fn p213pfs_ha(
1422        &self,
1423    ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1424        unsafe {
1425            crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1426                self._svd2pac_as_ptr().add(0xb4usize),
1427            )
1428        }
1429    }
1430
1431    #[doc = "Port 2%s Pin Function Select Register"]
1432    #[inline(always)]
1433    pub const fn p2pfs_by(
1434        &self,
1435    ) -> &'static crate::common::ClusterRegisterArray<
1436        crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW>,
1437        2,
1438        0x4,
1439    > {
1440        unsafe {
1441            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xb0usize))
1442        }
1443    }
1444    #[inline(always)]
1445    pub const fn p212pfs_by(
1446        &self,
1447    ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1448        unsafe {
1449            crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1450                self._svd2pac_as_ptr().add(0xb0usize),
1451            )
1452        }
1453    }
1454    #[inline(always)]
1455    pub const fn p213pfs_by(
1456        &self,
1457    ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1458        unsafe {
1459            crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1460                self._svd2pac_as_ptr().add(0xb4usize),
1461            )
1462        }
1463    }
1464
1465    #[doc = "Port 30%s Pin Function Select Register"]
1466    #[inline(always)]
1467    pub const fn p30pfs(
1468        &self,
1469    ) -> &'static crate::common::ClusterRegisterArray<
1470        crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW>,
1471        10,
1472        0x4,
1473    > {
1474        unsafe {
1475            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc0usize))
1476        }
1477    }
1478    #[inline(always)]
1479    pub const fn p300pfs(
1480        &self,
1481    ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1482        unsafe {
1483            crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1484                self._svd2pac_as_ptr().add(0xc0usize),
1485            )
1486        }
1487    }
1488    #[inline(always)]
1489    pub const fn p301pfs(
1490        &self,
1491    ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1492        unsafe {
1493            crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1494                self._svd2pac_as_ptr().add(0xc4usize),
1495            )
1496        }
1497    }
1498    #[inline(always)]
1499    pub const fn p302pfs(
1500        &self,
1501    ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1502        unsafe {
1503            crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1504                self._svd2pac_as_ptr().add(0xc8usize),
1505            )
1506        }
1507    }
1508    #[inline(always)]
1509    pub const fn p303pfs(
1510        &self,
1511    ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1512        unsafe {
1513            crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1514                self._svd2pac_as_ptr().add(0xccusize),
1515            )
1516        }
1517    }
1518    #[inline(always)]
1519    pub const fn p304pfs(
1520        &self,
1521    ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1522        unsafe {
1523            crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1524                self._svd2pac_as_ptr().add(0xd0usize),
1525            )
1526        }
1527    }
1528    #[inline(always)]
1529    pub const fn p305pfs(
1530        &self,
1531    ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1532        unsafe {
1533            crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1534                self._svd2pac_as_ptr().add(0xd4usize),
1535            )
1536        }
1537    }
1538    #[inline(always)]
1539    pub const fn p306pfs(
1540        &self,
1541    ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1542        unsafe {
1543            crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1544                self._svd2pac_as_ptr().add(0xd8usize),
1545            )
1546        }
1547    }
1548    #[inline(always)]
1549    pub const fn p307pfs(
1550        &self,
1551    ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1552        unsafe {
1553            crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1554                self._svd2pac_as_ptr().add(0xdcusize),
1555            )
1556        }
1557    }
1558    #[inline(always)]
1559    pub const fn p308pfs(
1560        &self,
1561    ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1562        unsafe {
1563            crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1564                self._svd2pac_as_ptr().add(0xe0usize),
1565            )
1566        }
1567    }
1568    #[inline(always)]
1569    pub const fn p309pfs(
1570        &self,
1571    ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1572        unsafe {
1573            crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1574                self._svd2pac_as_ptr().add(0xe4usize),
1575            )
1576        }
1577    }
1578
1579    #[doc = "Port 30%s Pin Function Select Register"]
1580    #[inline(always)]
1581    pub const fn p30pfs_ha(
1582        &self,
1583    ) -> &'static crate::common::ClusterRegisterArray<
1584        crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW>,
1585        10,
1586        0x4,
1587    > {
1588        unsafe {
1589            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc0usize))
1590        }
1591    }
1592    #[inline(always)]
1593    pub const fn p300pfs_ha(
1594        &self,
1595    ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1596        unsafe {
1597            crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1598                self._svd2pac_as_ptr().add(0xc0usize),
1599            )
1600        }
1601    }
1602    #[inline(always)]
1603    pub const fn p301pfs_ha(
1604        &self,
1605    ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1606        unsafe {
1607            crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1608                self._svd2pac_as_ptr().add(0xc4usize),
1609            )
1610        }
1611    }
1612    #[inline(always)]
1613    pub const fn p302pfs_ha(
1614        &self,
1615    ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1616        unsafe {
1617            crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1618                self._svd2pac_as_ptr().add(0xc8usize),
1619            )
1620        }
1621    }
1622    #[inline(always)]
1623    pub const fn p303pfs_ha(
1624        &self,
1625    ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1626        unsafe {
1627            crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1628                self._svd2pac_as_ptr().add(0xccusize),
1629            )
1630        }
1631    }
1632    #[inline(always)]
1633    pub const fn p304pfs_ha(
1634        &self,
1635    ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1636        unsafe {
1637            crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1638                self._svd2pac_as_ptr().add(0xd0usize),
1639            )
1640        }
1641    }
1642    #[inline(always)]
1643    pub const fn p305pfs_ha(
1644        &self,
1645    ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1646        unsafe {
1647            crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1648                self._svd2pac_as_ptr().add(0xd4usize),
1649            )
1650        }
1651    }
1652    #[inline(always)]
1653    pub const fn p306pfs_ha(
1654        &self,
1655    ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1656        unsafe {
1657            crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1658                self._svd2pac_as_ptr().add(0xd8usize),
1659            )
1660        }
1661    }
1662    #[inline(always)]
1663    pub const fn p307pfs_ha(
1664        &self,
1665    ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1666        unsafe {
1667            crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1668                self._svd2pac_as_ptr().add(0xdcusize),
1669            )
1670        }
1671    }
1672    #[inline(always)]
1673    pub const fn p308pfs_ha(
1674        &self,
1675    ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1676        unsafe {
1677            crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1678                self._svd2pac_as_ptr().add(0xe0usize),
1679            )
1680        }
1681    }
1682    #[inline(always)]
1683    pub const fn p309pfs_ha(
1684        &self,
1685    ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1686        unsafe {
1687            crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1688                self._svd2pac_as_ptr().add(0xe4usize),
1689            )
1690        }
1691    }
1692
1693    #[doc = "Port 30%s Pin Function Select Register"]
1694    #[inline(always)]
1695    pub const fn p30pfs_by(
1696        &self,
1697    ) -> &'static crate::common::ClusterRegisterArray<
1698        crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW>,
1699        10,
1700        0x4,
1701    > {
1702        unsafe {
1703            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc0usize))
1704        }
1705    }
1706    #[inline(always)]
1707    pub const fn p300pfs_by(
1708        &self,
1709    ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1710        unsafe {
1711            crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1712                self._svd2pac_as_ptr().add(0xc0usize),
1713            )
1714        }
1715    }
1716    #[inline(always)]
1717    pub const fn p301pfs_by(
1718        &self,
1719    ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1720        unsafe {
1721            crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1722                self._svd2pac_as_ptr().add(0xc4usize),
1723            )
1724        }
1725    }
1726    #[inline(always)]
1727    pub const fn p302pfs_by(
1728        &self,
1729    ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1730        unsafe {
1731            crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1732                self._svd2pac_as_ptr().add(0xc8usize),
1733            )
1734        }
1735    }
1736    #[inline(always)]
1737    pub const fn p303pfs_by(
1738        &self,
1739    ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1740        unsafe {
1741            crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1742                self._svd2pac_as_ptr().add(0xccusize),
1743            )
1744        }
1745    }
1746    #[inline(always)]
1747    pub const fn p304pfs_by(
1748        &self,
1749    ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1750        unsafe {
1751            crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1752                self._svd2pac_as_ptr().add(0xd0usize),
1753            )
1754        }
1755    }
1756    #[inline(always)]
1757    pub const fn p305pfs_by(
1758        &self,
1759    ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1760        unsafe {
1761            crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1762                self._svd2pac_as_ptr().add(0xd4usize),
1763            )
1764        }
1765    }
1766    #[inline(always)]
1767    pub const fn p306pfs_by(
1768        &self,
1769    ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1770        unsafe {
1771            crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1772                self._svd2pac_as_ptr().add(0xd8usize),
1773            )
1774        }
1775    }
1776    #[inline(always)]
1777    pub const fn p307pfs_by(
1778        &self,
1779    ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1780        unsafe {
1781            crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1782                self._svd2pac_as_ptr().add(0xdcusize),
1783            )
1784        }
1785    }
1786    #[inline(always)]
1787    pub const fn p308pfs_by(
1788        &self,
1789    ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1790        unsafe {
1791            crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1792                self._svd2pac_as_ptr().add(0xe0usize),
1793            )
1794        }
1795    }
1796    #[inline(always)]
1797    pub const fn p309pfs_by(
1798        &self,
1799    ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1800        unsafe {
1801            crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1802                self._svd2pac_as_ptr().add(0xe4usize),
1803            )
1804        }
1805    }
1806
1807    #[doc = "Port 3%s Pin Function Select Register"]
1808    #[inline(always)]
1809    pub const fn p3pfs(
1810        &self,
1811    ) -> &'static crate::common::ClusterRegisterArray<
1812        crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW>,
1813        6,
1814        0x4,
1815    > {
1816        unsafe {
1817            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xe8usize))
1818        }
1819    }
1820    #[inline(always)]
1821    pub const fn p310pfs(
1822        &self,
1823    ) -> &'static crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW> {
1824        unsafe {
1825            crate::common::Reg::<self::P3Pfs_SPEC, crate::common::RW>::from_ptr(
1826                self._svd2pac_as_ptr().add(0xe8usize),
1827            )
1828        }
1829    }
1830    #[inline(always)]
1831    pub const fn p311pfs(
1832        &self,
1833    ) -> &'static crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW> {
1834        unsafe {
1835            crate::common::Reg::<self::P3Pfs_SPEC, crate::common::RW>::from_ptr(
1836                self._svd2pac_as_ptr().add(0xecusize),
1837            )
1838        }
1839    }
1840    #[inline(always)]
1841    pub const fn p312pfs(
1842        &self,
1843    ) -> &'static crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW> {
1844        unsafe {
1845            crate::common::Reg::<self::P3Pfs_SPEC, crate::common::RW>::from_ptr(
1846                self._svd2pac_as_ptr().add(0xf0usize),
1847            )
1848        }
1849    }
1850    #[inline(always)]
1851    pub const fn p313pfs(
1852        &self,
1853    ) -> &'static crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW> {
1854        unsafe {
1855            crate::common::Reg::<self::P3Pfs_SPEC, crate::common::RW>::from_ptr(
1856                self._svd2pac_as_ptr().add(0xf4usize),
1857            )
1858        }
1859    }
1860    #[inline(always)]
1861    pub const fn p314pfs(
1862        &self,
1863    ) -> &'static crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW> {
1864        unsafe {
1865            crate::common::Reg::<self::P3Pfs_SPEC, crate::common::RW>::from_ptr(
1866                self._svd2pac_as_ptr().add(0xf8usize),
1867            )
1868        }
1869    }
1870    #[inline(always)]
1871    pub const fn p315pfs(
1872        &self,
1873    ) -> &'static crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW> {
1874        unsafe {
1875            crate::common::Reg::<self::P3Pfs_SPEC, crate::common::RW>::from_ptr(
1876                self._svd2pac_as_ptr().add(0xfcusize),
1877            )
1878        }
1879    }
1880
1881    #[doc = "Port 3%s Pin Function Select Register"]
1882    #[inline(always)]
1883    pub const fn p3pfs_ha(
1884        &self,
1885    ) -> &'static crate::common::ClusterRegisterArray<
1886        crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW>,
1887        6,
1888        0x4,
1889    > {
1890        unsafe {
1891            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xe8usize))
1892        }
1893    }
1894    #[inline(always)]
1895    pub const fn p310pfs_ha(
1896        &self,
1897    ) -> &'static crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW> {
1898        unsafe {
1899            crate::common::Reg::<self::P3PfsHa_SPEC, crate::common::RW>::from_ptr(
1900                self._svd2pac_as_ptr().add(0xe8usize),
1901            )
1902        }
1903    }
1904    #[inline(always)]
1905    pub const fn p311pfs_ha(
1906        &self,
1907    ) -> &'static crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW> {
1908        unsafe {
1909            crate::common::Reg::<self::P3PfsHa_SPEC, crate::common::RW>::from_ptr(
1910                self._svd2pac_as_ptr().add(0xecusize),
1911            )
1912        }
1913    }
1914    #[inline(always)]
1915    pub const fn p312pfs_ha(
1916        &self,
1917    ) -> &'static crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW> {
1918        unsafe {
1919            crate::common::Reg::<self::P3PfsHa_SPEC, crate::common::RW>::from_ptr(
1920                self._svd2pac_as_ptr().add(0xf0usize),
1921            )
1922        }
1923    }
1924    #[inline(always)]
1925    pub const fn p313pfs_ha(
1926        &self,
1927    ) -> &'static crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW> {
1928        unsafe {
1929            crate::common::Reg::<self::P3PfsHa_SPEC, crate::common::RW>::from_ptr(
1930                self._svd2pac_as_ptr().add(0xf4usize),
1931            )
1932        }
1933    }
1934    #[inline(always)]
1935    pub const fn p314pfs_ha(
1936        &self,
1937    ) -> &'static crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW> {
1938        unsafe {
1939            crate::common::Reg::<self::P3PfsHa_SPEC, crate::common::RW>::from_ptr(
1940                self._svd2pac_as_ptr().add(0xf8usize),
1941            )
1942        }
1943    }
1944    #[inline(always)]
1945    pub const fn p315pfs_ha(
1946        &self,
1947    ) -> &'static crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW> {
1948        unsafe {
1949            crate::common::Reg::<self::P3PfsHa_SPEC, crate::common::RW>::from_ptr(
1950                self._svd2pac_as_ptr().add(0xfcusize),
1951            )
1952        }
1953    }
1954
1955    #[doc = "Port 3%s Pin Function Select Register"]
1956    #[inline(always)]
1957    pub const fn p3pfs_by(
1958        &self,
1959    ) -> &'static crate::common::ClusterRegisterArray<
1960        crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW>,
1961        6,
1962        0x4,
1963    > {
1964        unsafe {
1965            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xe8usize))
1966        }
1967    }
1968    #[inline(always)]
1969    pub const fn p310pfs_by(
1970        &self,
1971    ) -> &'static crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW> {
1972        unsafe {
1973            crate::common::Reg::<self::P3PfsBy_SPEC, crate::common::RW>::from_ptr(
1974                self._svd2pac_as_ptr().add(0xe8usize),
1975            )
1976        }
1977    }
1978    #[inline(always)]
1979    pub const fn p311pfs_by(
1980        &self,
1981    ) -> &'static crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW> {
1982        unsafe {
1983            crate::common::Reg::<self::P3PfsBy_SPEC, crate::common::RW>::from_ptr(
1984                self._svd2pac_as_ptr().add(0xecusize),
1985            )
1986        }
1987    }
1988    #[inline(always)]
1989    pub const fn p312pfs_by(
1990        &self,
1991    ) -> &'static crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW> {
1992        unsafe {
1993            crate::common::Reg::<self::P3PfsBy_SPEC, crate::common::RW>::from_ptr(
1994                self._svd2pac_as_ptr().add(0xf0usize),
1995            )
1996        }
1997    }
1998    #[inline(always)]
1999    pub const fn p313pfs_by(
2000        &self,
2001    ) -> &'static crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW> {
2002        unsafe {
2003            crate::common::Reg::<self::P3PfsBy_SPEC, crate::common::RW>::from_ptr(
2004                self._svd2pac_as_ptr().add(0xf4usize),
2005            )
2006        }
2007    }
2008    #[inline(always)]
2009    pub const fn p314pfs_by(
2010        &self,
2011    ) -> &'static crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW> {
2012        unsafe {
2013            crate::common::Reg::<self::P3PfsBy_SPEC, crate::common::RW>::from_ptr(
2014                self._svd2pac_as_ptr().add(0xf8usize),
2015            )
2016        }
2017    }
2018    #[inline(always)]
2019    pub const fn p315pfs_by(
2020        &self,
2021    ) -> &'static crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW> {
2022        unsafe {
2023            crate::common::Reg::<self::P3PfsBy_SPEC, crate::common::RW>::from_ptr(
2024                self._svd2pac_as_ptr().add(0xfcusize),
2025            )
2026        }
2027    }
2028
2029    #[doc = "Port 40%s Pin Function Select Register"]
2030    #[inline(always)]
2031    pub const fn p40pfs(
2032        &self,
2033    ) -> &'static crate::common::ClusterRegisterArray<
2034        crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW>,
2035        10,
2036        0x4,
2037    > {
2038        unsafe {
2039            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x100usize))
2040        }
2041    }
2042    #[inline(always)]
2043    pub const fn p400pfs(
2044        &self,
2045    ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2046        unsafe {
2047            crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2048                self._svd2pac_as_ptr().add(0x100usize),
2049            )
2050        }
2051    }
2052    #[inline(always)]
2053    pub const fn p401pfs(
2054        &self,
2055    ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2056        unsafe {
2057            crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2058                self._svd2pac_as_ptr().add(0x104usize),
2059            )
2060        }
2061    }
2062    #[inline(always)]
2063    pub const fn p402pfs(
2064        &self,
2065    ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2066        unsafe {
2067            crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2068                self._svd2pac_as_ptr().add(0x108usize),
2069            )
2070        }
2071    }
2072    #[inline(always)]
2073    pub const fn p403pfs(
2074        &self,
2075    ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2076        unsafe {
2077            crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2078                self._svd2pac_as_ptr().add(0x10cusize),
2079            )
2080        }
2081    }
2082    #[inline(always)]
2083    pub const fn p404pfs(
2084        &self,
2085    ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2086        unsafe {
2087            crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2088                self._svd2pac_as_ptr().add(0x110usize),
2089            )
2090        }
2091    }
2092    #[inline(always)]
2093    pub const fn p405pfs(
2094        &self,
2095    ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2096        unsafe {
2097            crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2098                self._svd2pac_as_ptr().add(0x114usize),
2099            )
2100        }
2101    }
2102    #[inline(always)]
2103    pub const fn p406pfs(
2104        &self,
2105    ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2106        unsafe {
2107            crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2108                self._svd2pac_as_ptr().add(0x118usize),
2109            )
2110        }
2111    }
2112    #[inline(always)]
2113    pub const fn p407pfs(
2114        &self,
2115    ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2116        unsafe {
2117            crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2118                self._svd2pac_as_ptr().add(0x11cusize),
2119            )
2120        }
2121    }
2122    #[inline(always)]
2123    pub const fn p408pfs(
2124        &self,
2125    ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2126        unsafe {
2127            crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2128                self._svd2pac_as_ptr().add(0x120usize),
2129            )
2130        }
2131    }
2132    #[inline(always)]
2133    pub const fn p409pfs(
2134        &self,
2135    ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2136        unsafe {
2137            crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2138                self._svd2pac_as_ptr().add(0x124usize),
2139            )
2140        }
2141    }
2142
2143    #[doc = "Port 40%s Pin Function Select Register"]
2144    #[inline(always)]
2145    pub const fn p40pfs_ha(
2146        &self,
2147    ) -> &'static crate::common::ClusterRegisterArray<
2148        crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW>,
2149        10,
2150        0x4,
2151    > {
2152        unsafe {
2153            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x100usize))
2154        }
2155    }
2156    #[inline(always)]
2157    pub const fn p400pfs_ha(
2158        &self,
2159    ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2160        unsafe {
2161            crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2162                self._svd2pac_as_ptr().add(0x100usize),
2163            )
2164        }
2165    }
2166    #[inline(always)]
2167    pub const fn p401pfs_ha(
2168        &self,
2169    ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2170        unsafe {
2171            crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2172                self._svd2pac_as_ptr().add(0x104usize),
2173            )
2174        }
2175    }
2176    #[inline(always)]
2177    pub const fn p402pfs_ha(
2178        &self,
2179    ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2180        unsafe {
2181            crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2182                self._svd2pac_as_ptr().add(0x108usize),
2183            )
2184        }
2185    }
2186    #[inline(always)]
2187    pub const fn p403pfs_ha(
2188        &self,
2189    ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2190        unsafe {
2191            crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2192                self._svd2pac_as_ptr().add(0x10cusize),
2193            )
2194        }
2195    }
2196    #[inline(always)]
2197    pub const fn p404pfs_ha(
2198        &self,
2199    ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2200        unsafe {
2201            crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2202                self._svd2pac_as_ptr().add(0x110usize),
2203            )
2204        }
2205    }
2206    #[inline(always)]
2207    pub const fn p405pfs_ha(
2208        &self,
2209    ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2210        unsafe {
2211            crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2212                self._svd2pac_as_ptr().add(0x114usize),
2213            )
2214        }
2215    }
2216    #[inline(always)]
2217    pub const fn p406pfs_ha(
2218        &self,
2219    ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2220        unsafe {
2221            crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2222                self._svd2pac_as_ptr().add(0x118usize),
2223            )
2224        }
2225    }
2226    #[inline(always)]
2227    pub const fn p407pfs_ha(
2228        &self,
2229    ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2230        unsafe {
2231            crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2232                self._svd2pac_as_ptr().add(0x11cusize),
2233            )
2234        }
2235    }
2236    #[inline(always)]
2237    pub const fn p408pfs_ha(
2238        &self,
2239    ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2240        unsafe {
2241            crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2242                self._svd2pac_as_ptr().add(0x120usize),
2243            )
2244        }
2245    }
2246    #[inline(always)]
2247    pub const fn p409pfs_ha(
2248        &self,
2249    ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2250        unsafe {
2251            crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2252                self._svd2pac_as_ptr().add(0x124usize),
2253            )
2254        }
2255    }
2256
2257    #[doc = "Port 40%s Pin Function Select Register"]
2258    #[inline(always)]
2259    pub const fn p40pfs_by(
2260        &self,
2261    ) -> &'static crate::common::ClusterRegisterArray<
2262        crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW>,
2263        10,
2264        0x4,
2265    > {
2266        unsafe {
2267            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x100usize))
2268        }
2269    }
2270    #[inline(always)]
2271    pub const fn p400pfs_by(
2272        &self,
2273    ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2274        unsafe {
2275            crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2276                self._svd2pac_as_ptr().add(0x100usize),
2277            )
2278        }
2279    }
2280    #[inline(always)]
2281    pub const fn p401pfs_by(
2282        &self,
2283    ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2284        unsafe {
2285            crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2286                self._svd2pac_as_ptr().add(0x104usize),
2287            )
2288        }
2289    }
2290    #[inline(always)]
2291    pub const fn p402pfs_by(
2292        &self,
2293    ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2294        unsafe {
2295            crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2296                self._svd2pac_as_ptr().add(0x108usize),
2297            )
2298        }
2299    }
2300    #[inline(always)]
2301    pub const fn p403pfs_by(
2302        &self,
2303    ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2304        unsafe {
2305            crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2306                self._svd2pac_as_ptr().add(0x10cusize),
2307            )
2308        }
2309    }
2310    #[inline(always)]
2311    pub const fn p404pfs_by(
2312        &self,
2313    ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2314        unsafe {
2315            crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2316                self._svd2pac_as_ptr().add(0x110usize),
2317            )
2318        }
2319    }
2320    #[inline(always)]
2321    pub const fn p405pfs_by(
2322        &self,
2323    ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2324        unsafe {
2325            crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2326                self._svd2pac_as_ptr().add(0x114usize),
2327            )
2328        }
2329    }
2330    #[inline(always)]
2331    pub const fn p406pfs_by(
2332        &self,
2333    ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2334        unsafe {
2335            crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2336                self._svd2pac_as_ptr().add(0x118usize),
2337            )
2338        }
2339    }
2340    #[inline(always)]
2341    pub const fn p407pfs_by(
2342        &self,
2343    ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2344        unsafe {
2345            crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2346                self._svd2pac_as_ptr().add(0x11cusize),
2347            )
2348        }
2349    }
2350    #[inline(always)]
2351    pub const fn p408pfs_by(
2352        &self,
2353    ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2354        unsafe {
2355            crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2356                self._svd2pac_as_ptr().add(0x120usize),
2357            )
2358        }
2359    }
2360    #[inline(always)]
2361    pub const fn p409pfs_by(
2362        &self,
2363    ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2364        unsafe {
2365            crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2366                self._svd2pac_as_ptr().add(0x124usize),
2367            )
2368        }
2369    }
2370
2371    #[doc = "Port 4%s Pin Function Select Register"]
2372    #[inline(always)]
2373    pub const fn p4pfs(
2374        &self,
2375    ) -> &'static crate::common::ClusterRegisterArray<
2376        crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW>,
2377        6,
2378        0x4,
2379    > {
2380        unsafe {
2381            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x128usize))
2382        }
2383    }
2384    #[inline(always)]
2385    pub const fn p410pfs(
2386        &self,
2387    ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2388        unsafe {
2389            crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2390                self._svd2pac_as_ptr().add(0x128usize),
2391            )
2392        }
2393    }
2394    #[inline(always)]
2395    pub const fn p411pfs(
2396        &self,
2397    ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2398        unsafe {
2399            crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2400                self._svd2pac_as_ptr().add(0x12cusize),
2401            )
2402        }
2403    }
2404    #[inline(always)]
2405    pub const fn p412pfs(
2406        &self,
2407    ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2408        unsafe {
2409            crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2410                self._svd2pac_as_ptr().add(0x130usize),
2411            )
2412        }
2413    }
2414    #[inline(always)]
2415    pub const fn p413pfs(
2416        &self,
2417    ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2418        unsafe {
2419            crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2420                self._svd2pac_as_ptr().add(0x134usize),
2421            )
2422        }
2423    }
2424    #[inline(always)]
2425    pub const fn p414pfs(
2426        &self,
2427    ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2428        unsafe {
2429            crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2430                self._svd2pac_as_ptr().add(0x138usize),
2431            )
2432        }
2433    }
2434    #[inline(always)]
2435    pub const fn p415pfs(
2436        &self,
2437    ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2438        unsafe {
2439            crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2440                self._svd2pac_as_ptr().add(0x13cusize),
2441            )
2442        }
2443    }
2444
2445    #[doc = "Port 4%s Pin Function Select Register"]
2446    #[inline(always)]
2447    pub const fn p4pfs_ha(
2448        &self,
2449    ) -> &'static crate::common::ClusterRegisterArray<
2450        crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW>,
2451        6,
2452        0x4,
2453    > {
2454        unsafe {
2455            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x128usize))
2456        }
2457    }
2458    #[inline(always)]
2459    pub const fn p410pfs_ha(
2460        &self,
2461    ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2462        unsafe {
2463            crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2464                self._svd2pac_as_ptr().add(0x128usize),
2465            )
2466        }
2467    }
2468    #[inline(always)]
2469    pub const fn p411pfs_ha(
2470        &self,
2471    ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2472        unsafe {
2473            crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2474                self._svd2pac_as_ptr().add(0x12cusize),
2475            )
2476        }
2477    }
2478    #[inline(always)]
2479    pub const fn p412pfs_ha(
2480        &self,
2481    ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2482        unsafe {
2483            crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2484                self._svd2pac_as_ptr().add(0x130usize),
2485            )
2486        }
2487    }
2488    #[inline(always)]
2489    pub const fn p413pfs_ha(
2490        &self,
2491    ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2492        unsafe {
2493            crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2494                self._svd2pac_as_ptr().add(0x134usize),
2495            )
2496        }
2497    }
2498    #[inline(always)]
2499    pub const fn p414pfs_ha(
2500        &self,
2501    ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2502        unsafe {
2503            crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2504                self._svd2pac_as_ptr().add(0x138usize),
2505            )
2506        }
2507    }
2508    #[inline(always)]
2509    pub const fn p415pfs_ha(
2510        &self,
2511    ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2512        unsafe {
2513            crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2514                self._svd2pac_as_ptr().add(0x13cusize),
2515            )
2516        }
2517    }
2518
2519    #[doc = "Port 4%s Pin Function Select Register"]
2520    #[inline(always)]
2521    pub const fn p4pfs_by(
2522        &self,
2523    ) -> &'static crate::common::ClusterRegisterArray<
2524        crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW>,
2525        6,
2526        0x4,
2527    > {
2528        unsafe {
2529            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x128usize))
2530        }
2531    }
2532    #[inline(always)]
2533    pub const fn p410pfs_by(
2534        &self,
2535    ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2536        unsafe {
2537            crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2538                self._svd2pac_as_ptr().add(0x128usize),
2539            )
2540        }
2541    }
2542    #[inline(always)]
2543    pub const fn p411pfs_by(
2544        &self,
2545    ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2546        unsafe {
2547            crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2548                self._svd2pac_as_ptr().add(0x12cusize),
2549            )
2550        }
2551    }
2552    #[inline(always)]
2553    pub const fn p412pfs_by(
2554        &self,
2555    ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2556        unsafe {
2557            crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2558                self._svd2pac_as_ptr().add(0x130usize),
2559            )
2560        }
2561    }
2562    #[inline(always)]
2563    pub const fn p413pfs_by(
2564        &self,
2565    ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2566        unsafe {
2567            crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2568                self._svd2pac_as_ptr().add(0x134usize),
2569            )
2570        }
2571    }
2572    #[inline(always)]
2573    pub const fn p414pfs_by(
2574        &self,
2575    ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2576        unsafe {
2577            crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2578                self._svd2pac_as_ptr().add(0x138usize),
2579            )
2580        }
2581    }
2582    #[inline(always)]
2583    pub const fn p415pfs_by(
2584        &self,
2585    ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2586        unsafe {
2587            crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2588                self._svd2pac_as_ptr().add(0x13cusize),
2589            )
2590        }
2591    }
2592
2593    #[doc = "Port 50%s Pin Function Select Register"]
2594    #[inline(always)]
2595    pub const fn p50pfs(
2596        &self,
2597    ) -> &'static crate::common::ClusterRegisterArray<
2598        crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW>,
2599        10,
2600        0x4,
2601    > {
2602        unsafe {
2603            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x140usize))
2604        }
2605    }
2606    #[inline(always)]
2607    pub const fn p500pfs(
2608        &self,
2609    ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2610        unsafe {
2611            crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2612                self._svd2pac_as_ptr().add(0x140usize),
2613            )
2614        }
2615    }
2616    #[inline(always)]
2617    pub const fn p501pfs(
2618        &self,
2619    ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2620        unsafe {
2621            crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2622                self._svd2pac_as_ptr().add(0x144usize),
2623            )
2624        }
2625    }
2626    #[inline(always)]
2627    pub const fn p502pfs(
2628        &self,
2629    ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2630        unsafe {
2631            crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2632                self._svd2pac_as_ptr().add(0x148usize),
2633            )
2634        }
2635    }
2636    #[inline(always)]
2637    pub const fn p503pfs(
2638        &self,
2639    ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2640        unsafe {
2641            crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2642                self._svd2pac_as_ptr().add(0x14cusize),
2643            )
2644        }
2645    }
2646    #[inline(always)]
2647    pub const fn p504pfs(
2648        &self,
2649    ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2650        unsafe {
2651            crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2652                self._svd2pac_as_ptr().add(0x150usize),
2653            )
2654        }
2655    }
2656    #[inline(always)]
2657    pub const fn p505pfs(
2658        &self,
2659    ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2660        unsafe {
2661            crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2662                self._svd2pac_as_ptr().add(0x154usize),
2663            )
2664        }
2665    }
2666    #[inline(always)]
2667    pub const fn p506pfs(
2668        &self,
2669    ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2670        unsafe {
2671            crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2672                self._svd2pac_as_ptr().add(0x158usize),
2673            )
2674        }
2675    }
2676    #[inline(always)]
2677    pub const fn p507pfs(
2678        &self,
2679    ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2680        unsafe {
2681            crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2682                self._svd2pac_as_ptr().add(0x15cusize),
2683            )
2684        }
2685    }
2686    #[inline(always)]
2687    pub const fn p508pfs(
2688        &self,
2689    ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2690        unsafe {
2691            crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2692                self._svd2pac_as_ptr().add(0x160usize),
2693            )
2694        }
2695    }
2696    #[inline(always)]
2697    pub const fn p509pfs(
2698        &self,
2699    ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2700        unsafe {
2701            crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2702                self._svd2pac_as_ptr().add(0x164usize),
2703            )
2704        }
2705    }
2706
2707    #[doc = "Port 50%s Pin Function Select Register"]
2708    #[inline(always)]
2709    pub const fn p50pfs_ha(
2710        &self,
2711    ) -> &'static crate::common::ClusterRegisterArray<
2712        crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW>,
2713        10,
2714        0x4,
2715    > {
2716        unsafe {
2717            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x140usize))
2718        }
2719    }
2720    #[inline(always)]
2721    pub const fn p500pfs_ha(
2722        &self,
2723    ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2724        unsafe {
2725            crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2726                self._svd2pac_as_ptr().add(0x140usize),
2727            )
2728        }
2729    }
2730    #[inline(always)]
2731    pub const fn p501pfs_ha(
2732        &self,
2733    ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2734        unsafe {
2735            crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2736                self._svd2pac_as_ptr().add(0x144usize),
2737            )
2738        }
2739    }
2740    #[inline(always)]
2741    pub const fn p502pfs_ha(
2742        &self,
2743    ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2744        unsafe {
2745            crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2746                self._svd2pac_as_ptr().add(0x148usize),
2747            )
2748        }
2749    }
2750    #[inline(always)]
2751    pub const fn p503pfs_ha(
2752        &self,
2753    ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2754        unsafe {
2755            crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2756                self._svd2pac_as_ptr().add(0x14cusize),
2757            )
2758        }
2759    }
2760    #[inline(always)]
2761    pub const fn p504pfs_ha(
2762        &self,
2763    ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2764        unsafe {
2765            crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2766                self._svd2pac_as_ptr().add(0x150usize),
2767            )
2768        }
2769    }
2770    #[inline(always)]
2771    pub const fn p505pfs_ha(
2772        &self,
2773    ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2774        unsafe {
2775            crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2776                self._svd2pac_as_ptr().add(0x154usize),
2777            )
2778        }
2779    }
2780    #[inline(always)]
2781    pub const fn p506pfs_ha(
2782        &self,
2783    ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2784        unsafe {
2785            crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2786                self._svd2pac_as_ptr().add(0x158usize),
2787            )
2788        }
2789    }
2790    #[inline(always)]
2791    pub const fn p507pfs_ha(
2792        &self,
2793    ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2794        unsafe {
2795            crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2796                self._svd2pac_as_ptr().add(0x15cusize),
2797            )
2798        }
2799    }
2800    #[inline(always)]
2801    pub const fn p508pfs_ha(
2802        &self,
2803    ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2804        unsafe {
2805            crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2806                self._svd2pac_as_ptr().add(0x160usize),
2807            )
2808        }
2809    }
2810    #[inline(always)]
2811    pub const fn p509pfs_ha(
2812        &self,
2813    ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2814        unsafe {
2815            crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2816                self._svd2pac_as_ptr().add(0x164usize),
2817            )
2818        }
2819    }
2820
2821    #[doc = "Port 50%s Pin Function Select Register"]
2822    #[inline(always)]
2823    pub const fn p50pfs_by(
2824        &self,
2825    ) -> &'static crate::common::ClusterRegisterArray<
2826        crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW>,
2827        10,
2828        0x4,
2829    > {
2830        unsafe {
2831            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x140usize))
2832        }
2833    }
2834    #[inline(always)]
2835    pub const fn p500pfs_by(
2836        &self,
2837    ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2838        unsafe {
2839            crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2840                self._svd2pac_as_ptr().add(0x140usize),
2841            )
2842        }
2843    }
2844    #[inline(always)]
2845    pub const fn p501pfs_by(
2846        &self,
2847    ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2848        unsafe {
2849            crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2850                self._svd2pac_as_ptr().add(0x144usize),
2851            )
2852        }
2853    }
2854    #[inline(always)]
2855    pub const fn p502pfs_by(
2856        &self,
2857    ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2858        unsafe {
2859            crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2860                self._svd2pac_as_ptr().add(0x148usize),
2861            )
2862        }
2863    }
2864    #[inline(always)]
2865    pub const fn p503pfs_by(
2866        &self,
2867    ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2868        unsafe {
2869            crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2870                self._svd2pac_as_ptr().add(0x14cusize),
2871            )
2872        }
2873    }
2874    #[inline(always)]
2875    pub const fn p504pfs_by(
2876        &self,
2877    ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2878        unsafe {
2879            crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2880                self._svd2pac_as_ptr().add(0x150usize),
2881            )
2882        }
2883    }
2884    #[inline(always)]
2885    pub const fn p505pfs_by(
2886        &self,
2887    ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2888        unsafe {
2889            crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2890                self._svd2pac_as_ptr().add(0x154usize),
2891            )
2892        }
2893    }
2894    #[inline(always)]
2895    pub const fn p506pfs_by(
2896        &self,
2897    ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2898        unsafe {
2899            crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2900                self._svd2pac_as_ptr().add(0x158usize),
2901            )
2902        }
2903    }
2904    #[inline(always)]
2905    pub const fn p507pfs_by(
2906        &self,
2907    ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2908        unsafe {
2909            crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2910                self._svd2pac_as_ptr().add(0x15cusize),
2911            )
2912        }
2913    }
2914    #[inline(always)]
2915    pub const fn p508pfs_by(
2916        &self,
2917    ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2918        unsafe {
2919            crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2920                self._svd2pac_as_ptr().add(0x160usize),
2921            )
2922        }
2923    }
2924    #[inline(always)]
2925    pub const fn p509pfs_by(
2926        &self,
2927    ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2928        unsafe {
2929            crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2930                self._svd2pac_as_ptr().add(0x164usize),
2931            )
2932        }
2933    }
2934
2935    #[doc = "Port 5%s Pin Function Select Register"]
2936    #[inline(always)]
2937    pub const fn p5pfs(
2938        &self,
2939    ) -> &'static crate::common::ClusterRegisterArray<
2940        crate::common::Reg<self::P5Pfs_SPEC, crate::common::RW>,
2941        6,
2942        0x4,
2943    > {
2944        unsafe {
2945            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x168usize))
2946        }
2947    }
2948    #[inline(always)]
2949    pub const fn p510pfs(
2950        &self,
2951    ) -> &'static crate::common::Reg<self::P5Pfs_SPEC, crate::common::RW> {
2952        unsafe {
2953            crate::common::Reg::<self::P5Pfs_SPEC, crate::common::RW>::from_ptr(
2954                self._svd2pac_as_ptr().add(0x168usize),
2955            )
2956        }
2957    }
2958    #[inline(always)]
2959    pub const fn p511pfs(
2960        &self,
2961    ) -> &'static crate::common::Reg<self::P5Pfs_SPEC, crate::common::RW> {
2962        unsafe {
2963            crate::common::Reg::<self::P5Pfs_SPEC, crate::common::RW>::from_ptr(
2964                self._svd2pac_as_ptr().add(0x16cusize),
2965            )
2966        }
2967    }
2968    #[inline(always)]
2969    pub const fn p512pfs(
2970        &self,
2971    ) -> &'static crate::common::Reg<self::P5Pfs_SPEC, crate::common::RW> {
2972        unsafe {
2973            crate::common::Reg::<self::P5Pfs_SPEC, crate::common::RW>::from_ptr(
2974                self._svd2pac_as_ptr().add(0x170usize),
2975            )
2976        }
2977    }
2978    #[inline(always)]
2979    pub const fn p513pfs(
2980        &self,
2981    ) -> &'static crate::common::Reg<self::P5Pfs_SPEC, crate::common::RW> {
2982        unsafe {
2983            crate::common::Reg::<self::P5Pfs_SPEC, crate::common::RW>::from_ptr(
2984                self._svd2pac_as_ptr().add(0x174usize),
2985            )
2986        }
2987    }
2988    #[inline(always)]
2989    pub const fn p514pfs(
2990        &self,
2991    ) -> &'static crate::common::Reg<self::P5Pfs_SPEC, crate::common::RW> {
2992        unsafe {
2993            crate::common::Reg::<self::P5Pfs_SPEC, crate::common::RW>::from_ptr(
2994                self._svd2pac_as_ptr().add(0x178usize),
2995            )
2996        }
2997    }
2998    #[inline(always)]
2999    pub const fn p515pfs(
3000        &self,
3001    ) -> &'static crate::common::Reg<self::P5Pfs_SPEC, crate::common::RW> {
3002        unsafe {
3003            crate::common::Reg::<self::P5Pfs_SPEC, crate::common::RW>::from_ptr(
3004                self._svd2pac_as_ptr().add(0x17cusize),
3005            )
3006        }
3007    }
3008
3009    #[doc = "Port 5%s Pin Function Select Register"]
3010    #[inline(always)]
3011    pub const fn p5pfs_ha(
3012        &self,
3013    ) -> &'static crate::common::ClusterRegisterArray<
3014        crate::common::Reg<self::P5PfsHa_SPEC, crate::common::RW>,
3015        6,
3016        0x4,
3017    > {
3018        unsafe {
3019            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x168usize))
3020        }
3021    }
3022    #[inline(always)]
3023    pub const fn p510pfs_ha(
3024        &self,
3025    ) -> &'static crate::common::Reg<self::P5PfsHa_SPEC, crate::common::RW> {
3026        unsafe {
3027            crate::common::Reg::<self::P5PfsHa_SPEC, crate::common::RW>::from_ptr(
3028                self._svd2pac_as_ptr().add(0x168usize),
3029            )
3030        }
3031    }
3032    #[inline(always)]
3033    pub const fn p511pfs_ha(
3034        &self,
3035    ) -> &'static crate::common::Reg<self::P5PfsHa_SPEC, crate::common::RW> {
3036        unsafe {
3037            crate::common::Reg::<self::P5PfsHa_SPEC, crate::common::RW>::from_ptr(
3038                self._svd2pac_as_ptr().add(0x16cusize),
3039            )
3040        }
3041    }
3042    #[inline(always)]
3043    pub const fn p512pfs_ha(
3044        &self,
3045    ) -> &'static crate::common::Reg<self::P5PfsHa_SPEC, crate::common::RW> {
3046        unsafe {
3047            crate::common::Reg::<self::P5PfsHa_SPEC, crate::common::RW>::from_ptr(
3048                self._svd2pac_as_ptr().add(0x170usize),
3049            )
3050        }
3051    }
3052    #[inline(always)]
3053    pub const fn p513pfs_ha(
3054        &self,
3055    ) -> &'static crate::common::Reg<self::P5PfsHa_SPEC, crate::common::RW> {
3056        unsafe {
3057            crate::common::Reg::<self::P5PfsHa_SPEC, crate::common::RW>::from_ptr(
3058                self._svd2pac_as_ptr().add(0x174usize),
3059            )
3060        }
3061    }
3062    #[inline(always)]
3063    pub const fn p514pfs_ha(
3064        &self,
3065    ) -> &'static crate::common::Reg<self::P5PfsHa_SPEC, crate::common::RW> {
3066        unsafe {
3067            crate::common::Reg::<self::P5PfsHa_SPEC, crate::common::RW>::from_ptr(
3068                self._svd2pac_as_ptr().add(0x178usize),
3069            )
3070        }
3071    }
3072    #[inline(always)]
3073    pub const fn p515pfs_ha(
3074        &self,
3075    ) -> &'static crate::common::Reg<self::P5PfsHa_SPEC, crate::common::RW> {
3076        unsafe {
3077            crate::common::Reg::<self::P5PfsHa_SPEC, crate::common::RW>::from_ptr(
3078                self._svd2pac_as_ptr().add(0x17cusize),
3079            )
3080        }
3081    }
3082
3083    #[doc = "Port 5%s Pin Function Select Register"]
3084    #[inline(always)]
3085    pub const fn p5pfs_by(
3086        &self,
3087    ) -> &'static crate::common::ClusterRegisterArray<
3088        crate::common::Reg<self::P5PfsBy_SPEC, crate::common::RW>,
3089        6,
3090        0x4,
3091    > {
3092        unsafe {
3093            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x168usize))
3094        }
3095    }
3096    #[inline(always)]
3097    pub const fn p510pfs_by(
3098        &self,
3099    ) -> &'static crate::common::Reg<self::P5PfsBy_SPEC, crate::common::RW> {
3100        unsafe {
3101            crate::common::Reg::<self::P5PfsBy_SPEC, crate::common::RW>::from_ptr(
3102                self._svd2pac_as_ptr().add(0x168usize),
3103            )
3104        }
3105    }
3106    #[inline(always)]
3107    pub const fn p511pfs_by(
3108        &self,
3109    ) -> &'static crate::common::Reg<self::P5PfsBy_SPEC, crate::common::RW> {
3110        unsafe {
3111            crate::common::Reg::<self::P5PfsBy_SPEC, crate::common::RW>::from_ptr(
3112                self._svd2pac_as_ptr().add(0x16cusize),
3113            )
3114        }
3115    }
3116    #[inline(always)]
3117    pub const fn p512pfs_by(
3118        &self,
3119    ) -> &'static crate::common::Reg<self::P5PfsBy_SPEC, crate::common::RW> {
3120        unsafe {
3121            crate::common::Reg::<self::P5PfsBy_SPEC, crate::common::RW>::from_ptr(
3122                self._svd2pac_as_ptr().add(0x170usize),
3123            )
3124        }
3125    }
3126    #[inline(always)]
3127    pub const fn p513pfs_by(
3128        &self,
3129    ) -> &'static crate::common::Reg<self::P5PfsBy_SPEC, crate::common::RW> {
3130        unsafe {
3131            crate::common::Reg::<self::P5PfsBy_SPEC, crate::common::RW>::from_ptr(
3132                self._svd2pac_as_ptr().add(0x174usize),
3133            )
3134        }
3135    }
3136    #[inline(always)]
3137    pub const fn p514pfs_by(
3138        &self,
3139    ) -> &'static crate::common::Reg<self::P5PfsBy_SPEC, crate::common::RW> {
3140        unsafe {
3141            crate::common::Reg::<self::P5PfsBy_SPEC, crate::common::RW>::from_ptr(
3142                self._svd2pac_as_ptr().add(0x178usize),
3143            )
3144        }
3145    }
3146    #[inline(always)]
3147    pub const fn p515pfs_by(
3148        &self,
3149    ) -> &'static crate::common::Reg<self::P5PfsBy_SPEC, crate::common::RW> {
3150        unsafe {
3151            crate::common::Reg::<self::P5PfsBy_SPEC, crate::common::RW>::from_ptr(
3152                self._svd2pac_as_ptr().add(0x17cusize),
3153            )
3154        }
3155    }
3156
3157    #[doc = "Port 60%s Pin Function Select Register"]
3158    #[inline(always)]
3159    pub const fn p60pfs(
3160        &self,
3161    ) -> &'static crate::common::ClusterRegisterArray<
3162        crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW>,
3163        10,
3164        0x4,
3165    > {
3166        unsafe {
3167            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x180usize))
3168        }
3169    }
3170    #[inline(always)]
3171    pub const fn p600pfs(
3172        &self,
3173    ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
3174        unsafe {
3175            crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
3176                self._svd2pac_as_ptr().add(0x180usize),
3177            )
3178        }
3179    }
3180    #[inline(always)]
3181    pub const fn p601pfs(
3182        &self,
3183    ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
3184        unsafe {
3185            crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
3186                self._svd2pac_as_ptr().add(0x184usize),
3187            )
3188        }
3189    }
3190    #[inline(always)]
3191    pub const fn p602pfs(
3192        &self,
3193    ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
3194        unsafe {
3195            crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
3196                self._svd2pac_as_ptr().add(0x188usize),
3197            )
3198        }
3199    }
3200    #[inline(always)]
3201    pub const fn p603pfs(
3202        &self,
3203    ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
3204        unsafe {
3205            crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
3206                self._svd2pac_as_ptr().add(0x18cusize),
3207            )
3208        }
3209    }
3210    #[inline(always)]
3211    pub const fn p604pfs(
3212        &self,
3213    ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
3214        unsafe {
3215            crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
3216                self._svd2pac_as_ptr().add(0x190usize),
3217            )
3218        }
3219    }
3220    #[inline(always)]
3221    pub const fn p605pfs(
3222        &self,
3223    ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
3224        unsafe {
3225            crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
3226                self._svd2pac_as_ptr().add(0x194usize),
3227            )
3228        }
3229    }
3230    #[inline(always)]
3231    pub const fn p606pfs(
3232        &self,
3233    ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
3234        unsafe {
3235            crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
3236                self._svd2pac_as_ptr().add(0x198usize),
3237            )
3238        }
3239    }
3240    #[inline(always)]
3241    pub const fn p607pfs(
3242        &self,
3243    ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
3244        unsafe {
3245            crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
3246                self._svd2pac_as_ptr().add(0x19cusize),
3247            )
3248        }
3249    }
3250    #[inline(always)]
3251    pub const fn p608pfs(
3252        &self,
3253    ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
3254        unsafe {
3255            crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
3256                self._svd2pac_as_ptr().add(0x1a0usize),
3257            )
3258        }
3259    }
3260    #[inline(always)]
3261    pub const fn p609pfs(
3262        &self,
3263    ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
3264        unsafe {
3265            crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
3266                self._svd2pac_as_ptr().add(0x1a4usize),
3267            )
3268        }
3269    }
3270
3271    #[doc = "Port 60%s Pin Function Select Register"]
3272    #[inline(always)]
3273    pub const fn p60pfs_ha(
3274        &self,
3275    ) -> &'static crate::common::ClusterRegisterArray<
3276        crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW>,
3277        10,
3278        0x4,
3279    > {
3280        unsafe {
3281            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x180usize))
3282        }
3283    }
3284    #[inline(always)]
3285    pub const fn p600pfs_ha(
3286        &self,
3287    ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
3288        unsafe {
3289            crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
3290                self._svd2pac_as_ptr().add(0x180usize),
3291            )
3292        }
3293    }
3294    #[inline(always)]
3295    pub const fn p601pfs_ha(
3296        &self,
3297    ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
3298        unsafe {
3299            crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
3300                self._svd2pac_as_ptr().add(0x184usize),
3301            )
3302        }
3303    }
3304    #[inline(always)]
3305    pub const fn p602pfs_ha(
3306        &self,
3307    ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
3308        unsafe {
3309            crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
3310                self._svd2pac_as_ptr().add(0x188usize),
3311            )
3312        }
3313    }
3314    #[inline(always)]
3315    pub const fn p603pfs_ha(
3316        &self,
3317    ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
3318        unsafe {
3319            crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
3320                self._svd2pac_as_ptr().add(0x18cusize),
3321            )
3322        }
3323    }
3324    #[inline(always)]
3325    pub const fn p604pfs_ha(
3326        &self,
3327    ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
3328        unsafe {
3329            crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
3330                self._svd2pac_as_ptr().add(0x190usize),
3331            )
3332        }
3333    }
3334    #[inline(always)]
3335    pub const fn p605pfs_ha(
3336        &self,
3337    ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
3338        unsafe {
3339            crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
3340                self._svd2pac_as_ptr().add(0x194usize),
3341            )
3342        }
3343    }
3344    #[inline(always)]
3345    pub const fn p606pfs_ha(
3346        &self,
3347    ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
3348        unsafe {
3349            crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
3350                self._svd2pac_as_ptr().add(0x198usize),
3351            )
3352        }
3353    }
3354    #[inline(always)]
3355    pub const fn p607pfs_ha(
3356        &self,
3357    ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
3358        unsafe {
3359            crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
3360                self._svd2pac_as_ptr().add(0x19cusize),
3361            )
3362        }
3363    }
3364    #[inline(always)]
3365    pub const fn p608pfs_ha(
3366        &self,
3367    ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
3368        unsafe {
3369            crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
3370                self._svd2pac_as_ptr().add(0x1a0usize),
3371            )
3372        }
3373    }
3374    #[inline(always)]
3375    pub const fn p609pfs_ha(
3376        &self,
3377    ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
3378        unsafe {
3379            crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
3380                self._svd2pac_as_ptr().add(0x1a4usize),
3381            )
3382        }
3383    }
3384
3385    #[doc = "Port 60%s Pin Function Select Register"]
3386    #[inline(always)]
3387    pub const fn p60pfs_by(
3388        &self,
3389    ) -> &'static crate::common::ClusterRegisterArray<
3390        crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW>,
3391        10,
3392        0x4,
3393    > {
3394        unsafe {
3395            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x180usize))
3396        }
3397    }
3398    #[inline(always)]
3399    pub const fn p600pfs_by(
3400        &self,
3401    ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
3402        unsafe {
3403            crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
3404                self._svd2pac_as_ptr().add(0x180usize),
3405            )
3406        }
3407    }
3408    #[inline(always)]
3409    pub const fn p601pfs_by(
3410        &self,
3411    ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
3412        unsafe {
3413            crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
3414                self._svd2pac_as_ptr().add(0x184usize),
3415            )
3416        }
3417    }
3418    #[inline(always)]
3419    pub const fn p602pfs_by(
3420        &self,
3421    ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
3422        unsafe {
3423            crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
3424                self._svd2pac_as_ptr().add(0x188usize),
3425            )
3426        }
3427    }
3428    #[inline(always)]
3429    pub const fn p603pfs_by(
3430        &self,
3431    ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
3432        unsafe {
3433            crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
3434                self._svd2pac_as_ptr().add(0x18cusize),
3435            )
3436        }
3437    }
3438    #[inline(always)]
3439    pub const fn p604pfs_by(
3440        &self,
3441    ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
3442        unsafe {
3443            crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
3444                self._svd2pac_as_ptr().add(0x190usize),
3445            )
3446        }
3447    }
3448    #[inline(always)]
3449    pub const fn p605pfs_by(
3450        &self,
3451    ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
3452        unsafe {
3453            crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
3454                self._svd2pac_as_ptr().add(0x194usize),
3455            )
3456        }
3457    }
3458    #[inline(always)]
3459    pub const fn p606pfs_by(
3460        &self,
3461    ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
3462        unsafe {
3463            crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
3464                self._svd2pac_as_ptr().add(0x198usize),
3465            )
3466        }
3467    }
3468    #[inline(always)]
3469    pub const fn p607pfs_by(
3470        &self,
3471    ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
3472        unsafe {
3473            crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
3474                self._svd2pac_as_ptr().add(0x19cusize),
3475            )
3476        }
3477    }
3478    #[inline(always)]
3479    pub const fn p608pfs_by(
3480        &self,
3481    ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
3482        unsafe {
3483            crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
3484                self._svd2pac_as_ptr().add(0x1a0usize),
3485            )
3486        }
3487    }
3488    #[inline(always)]
3489    pub const fn p609pfs_by(
3490        &self,
3491    ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
3492        unsafe {
3493            crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
3494                self._svd2pac_as_ptr().add(0x1a4usize),
3495            )
3496        }
3497    }
3498
3499    #[doc = "Port 6%s Pin Function Select Register"]
3500    #[inline(always)]
3501    pub const fn p6pfs(
3502        &self,
3503    ) -> &'static crate::common::ClusterRegisterArray<
3504        crate::common::Reg<self::P6Pfs_SPEC, crate::common::RW>,
3505        6,
3506        0x4,
3507    > {
3508        unsafe {
3509            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a8usize))
3510        }
3511    }
3512    #[inline(always)]
3513    pub const fn p610pfs(
3514        &self,
3515    ) -> &'static crate::common::Reg<self::P6Pfs_SPEC, crate::common::RW> {
3516        unsafe {
3517            crate::common::Reg::<self::P6Pfs_SPEC, crate::common::RW>::from_ptr(
3518                self._svd2pac_as_ptr().add(0x1a8usize),
3519            )
3520        }
3521    }
3522    #[inline(always)]
3523    pub const fn p611pfs(
3524        &self,
3525    ) -> &'static crate::common::Reg<self::P6Pfs_SPEC, crate::common::RW> {
3526        unsafe {
3527            crate::common::Reg::<self::P6Pfs_SPEC, crate::common::RW>::from_ptr(
3528                self._svd2pac_as_ptr().add(0x1acusize),
3529            )
3530        }
3531    }
3532    #[inline(always)]
3533    pub const fn p612pfs(
3534        &self,
3535    ) -> &'static crate::common::Reg<self::P6Pfs_SPEC, crate::common::RW> {
3536        unsafe {
3537            crate::common::Reg::<self::P6Pfs_SPEC, crate::common::RW>::from_ptr(
3538                self._svd2pac_as_ptr().add(0x1b0usize),
3539            )
3540        }
3541    }
3542    #[inline(always)]
3543    pub const fn p613pfs(
3544        &self,
3545    ) -> &'static crate::common::Reg<self::P6Pfs_SPEC, crate::common::RW> {
3546        unsafe {
3547            crate::common::Reg::<self::P6Pfs_SPEC, crate::common::RW>::from_ptr(
3548                self._svd2pac_as_ptr().add(0x1b4usize),
3549            )
3550        }
3551    }
3552    #[inline(always)]
3553    pub const fn p614pfs(
3554        &self,
3555    ) -> &'static crate::common::Reg<self::P6Pfs_SPEC, crate::common::RW> {
3556        unsafe {
3557            crate::common::Reg::<self::P6Pfs_SPEC, crate::common::RW>::from_ptr(
3558                self._svd2pac_as_ptr().add(0x1b8usize),
3559            )
3560        }
3561    }
3562    #[inline(always)]
3563    pub const fn p615pfs(
3564        &self,
3565    ) -> &'static crate::common::Reg<self::P6Pfs_SPEC, crate::common::RW> {
3566        unsafe {
3567            crate::common::Reg::<self::P6Pfs_SPEC, crate::common::RW>::from_ptr(
3568                self._svd2pac_as_ptr().add(0x1bcusize),
3569            )
3570        }
3571    }
3572
3573    #[doc = "Port 6%s Pin Function Select Register"]
3574    #[inline(always)]
3575    pub const fn p6pfs_ha(
3576        &self,
3577    ) -> &'static crate::common::ClusterRegisterArray<
3578        crate::common::Reg<self::P6PfsHa_SPEC, crate::common::RW>,
3579        6,
3580        0x4,
3581    > {
3582        unsafe {
3583            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a8usize))
3584        }
3585    }
3586    #[inline(always)]
3587    pub const fn p610pfs_ha(
3588        &self,
3589    ) -> &'static crate::common::Reg<self::P6PfsHa_SPEC, crate::common::RW> {
3590        unsafe {
3591            crate::common::Reg::<self::P6PfsHa_SPEC, crate::common::RW>::from_ptr(
3592                self._svd2pac_as_ptr().add(0x1a8usize),
3593            )
3594        }
3595    }
3596    #[inline(always)]
3597    pub const fn p611pfs_ha(
3598        &self,
3599    ) -> &'static crate::common::Reg<self::P6PfsHa_SPEC, crate::common::RW> {
3600        unsafe {
3601            crate::common::Reg::<self::P6PfsHa_SPEC, crate::common::RW>::from_ptr(
3602                self._svd2pac_as_ptr().add(0x1acusize),
3603            )
3604        }
3605    }
3606    #[inline(always)]
3607    pub const fn p612pfs_ha(
3608        &self,
3609    ) -> &'static crate::common::Reg<self::P6PfsHa_SPEC, crate::common::RW> {
3610        unsafe {
3611            crate::common::Reg::<self::P6PfsHa_SPEC, crate::common::RW>::from_ptr(
3612                self._svd2pac_as_ptr().add(0x1b0usize),
3613            )
3614        }
3615    }
3616    #[inline(always)]
3617    pub const fn p613pfs_ha(
3618        &self,
3619    ) -> &'static crate::common::Reg<self::P6PfsHa_SPEC, crate::common::RW> {
3620        unsafe {
3621            crate::common::Reg::<self::P6PfsHa_SPEC, crate::common::RW>::from_ptr(
3622                self._svd2pac_as_ptr().add(0x1b4usize),
3623            )
3624        }
3625    }
3626    #[inline(always)]
3627    pub const fn p614pfs_ha(
3628        &self,
3629    ) -> &'static crate::common::Reg<self::P6PfsHa_SPEC, crate::common::RW> {
3630        unsafe {
3631            crate::common::Reg::<self::P6PfsHa_SPEC, crate::common::RW>::from_ptr(
3632                self._svd2pac_as_ptr().add(0x1b8usize),
3633            )
3634        }
3635    }
3636    #[inline(always)]
3637    pub const fn p615pfs_ha(
3638        &self,
3639    ) -> &'static crate::common::Reg<self::P6PfsHa_SPEC, crate::common::RW> {
3640        unsafe {
3641            crate::common::Reg::<self::P6PfsHa_SPEC, crate::common::RW>::from_ptr(
3642                self._svd2pac_as_ptr().add(0x1bcusize),
3643            )
3644        }
3645    }
3646
3647    #[doc = "Port 6%s Pin Function Select Register"]
3648    #[inline(always)]
3649    pub const fn p6pfs_by(
3650        &self,
3651    ) -> &'static crate::common::ClusterRegisterArray<
3652        crate::common::Reg<self::P6PfsBy_SPEC, crate::common::RW>,
3653        6,
3654        0x4,
3655    > {
3656        unsafe {
3657            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a8usize))
3658        }
3659    }
3660    #[inline(always)]
3661    pub const fn p610pfs_by(
3662        &self,
3663    ) -> &'static crate::common::Reg<self::P6PfsBy_SPEC, crate::common::RW> {
3664        unsafe {
3665            crate::common::Reg::<self::P6PfsBy_SPEC, crate::common::RW>::from_ptr(
3666                self._svd2pac_as_ptr().add(0x1a8usize),
3667            )
3668        }
3669    }
3670    #[inline(always)]
3671    pub const fn p611pfs_by(
3672        &self,
3673    ) -> &'static crate::common::Reg<self::P6PfsBy_SPEC, crate::common::RW> {
3674        unsafe {
3675            crate::common::Reg::<self::P6PfsBy_SPEC, crate::common::RW>::from_ptr(
3676                self._svd2pac_as_ptr().add(0x1acusize),
3677            )
3678        }
3679    }
3680    #[inline(always)]
3681    pub const fn p612pfs_by(
3682        &self,
3683    ) -> &'static crate::common::Reg<self::P6PfsBy_SPEC, crate::common::RW> {
3684        unsafe {
3685            crate::common::Reg::<self::P6PfsBy_SPEC, crate::common::RW>::from_ptr(
3686                self._svd2pac_as_ptr().add(0x1b0usize),
3687            )
3688        }
3689    }
3690    #[inline(always)]
3691    pub const fn p613pfs_by(
3692        &self,
3693    ) -> &'static crate::common::Reg<self::P6PfsBy_SPEC, crate::common::RW> {
3694        unsafe {
3695            crate::common::Reg::<self::P6PfsBy_SPEC, crate::common::RW>::from_ptr(
3696                self._svd2pac_as_ptr().add(0x1b4usize),
3697            )
3698        }
3699    }
3700    #[inline(always)]
3701    pub const fn p614pfs_by(
3702        &self,
3703    ) -> &'static crate::common::Reg<self::P6PfsBy_SPEC, crate::common::RW> {
3704        unsafe {
3705            crate::common::Reg::<self::P6PfsBy_SPEC, crate::common::RW>::from_ptr(
3706                self._svd2pac_as_ptr().add(0x1b8usize),
3707            )
3708        }
3709    }
3710    #[inline(always)]
3711    pub const fn p615pfs_by(
3712        &self,
3713    ) -> &'static crate::common::Reg<self::P6PfsBy_SPEC, crate::common::RW> {
3714        unsafe {
3715            crate::common::Reg::<self::P6PfsBy_SPEC, crate::common::RW>::from_ptr(
3716                self._svd2pac_as_ptr().add(0x1bcusize),
3717            )
3718        }
3719    }
3720
3721    #[doc = "Port 70%s Pin Function Select Register"]
3722    #[inline(always)]
3723    pub const fn p70pfs(
3724        &self,
3725    ) -> &'static crate::common::ClusterRegisterArray<
3726        crate::common::Reg<self::P70Pfs_SPEC, crate::common::RW>,
3727        10,
3728        0x4,
3729    > {
3730        unsafe {
3731            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1c0usize))
3732        }
3733    }
3734    #[inline(always)]
3735    pub const fn p700pfs(
3736        &self,
3737    ) -> &'static crate::common::Reg<self::P70Pfs_SPEC, crate::common::RW> {
3738        unsafe {
3739            crate::common::Reg::<self::P70Pfs_SPEC, crate::common::RW>::from_ptr(
3740                self._svd2pac_as_ptr().add(0x1c0usize),
3741            )
3742        }
3743    }
3744    #[inline(always)]
3745    pub const fn p701pfs(
3746        &self,
3747    ) -> &'static crate::common::Reg<self::P70Pfs_SPEC, crate::common::RW> {
3748        unsafe {
3749            crate::common::Reg::<self::P70Pfs_SPEC, crate::common::RW>::from_ptr(
3750                self._svd2pac_as_ptr().add(0x1c4usize),
3751            )
3752        }
3753    }
3754    #[inline(always)]
3755    pub const fn p702pfs(
3756        &self,
3757    ) -> &'static crate::common::Reg<self::P70Pfs_SPEC, crate::common::RW> {
3758        unsafe {
3759            crate::common::Reg::<self::P70Pfs_SPEC, crate::common::RW>::from_ptr(
3760                self._svd2pac_as_ptr().add(0x1c8usize),
3761            )
3762        }
3763    }
3764    #[inline(always)]
3765    pub const fn p703pfs(
3766        &self,
3767    ) -> &'static crate::common::Reg<self::P70Pfs_SPEC, crate::common::RW> {
3768        unsafe {
3769            crate::common::Reg::<self::P70Pfs_SPEC, crate::common::RW>::from_ptr(
3770                self._svd2pac_as_ptr().add(0x1ccusize),
3771            )
3772        }
3773    }
3774    #[inline(always)]
3775    pub const fn p704pfs(
3776        &self,
3777    ) -> &'static crate::common::Reg<self::P70Pfs_SPEC, crate::common::RW> {
3778        unsafe {
3779            crate::common::Reg::<self::P70Pfs_SPEC, crate::common::RW>::from_ptr(
3780                self._svd2pac_as_ptr().add(0x1d0usize),
3781            )
3782        }
3783    }
3784    #[inline(always)]
3785    pub const fn p705pfs(
3786        &self,
3787    ) -> &'static crate::common::Reg<self::P70Pfs_SPEC, crate::common::RW> {
3788        unsafe {
3789            crate::common::Reg::<self::P70Pfs_SPEC, crate::common::RW>::from_ptr(
3790                self._svd2pac_as_ptr().add(0x1d4usize),
3791            )
3792        }
3793    }
3794    #[inline(always)]
3795    pub const fn p706pfs(
3796        &self,
3797    ) -> &'static crate::common::Reg<self::P70Pfs_SPEC, crate::common::RW> {
3798        unsafe {
3799            crate::common::Reg::<self::P70Pfs_SPEC, crate::common::RW>::from_ptr(
3800                self._svd2pac_as_ptr().add(0x1d8usize),
3801            )
3802        }
3803    }
3804    #[inline(always)]
3805    pub const fn p707pfs(
3806        &self,
3807    ) -> &'static crate::common::Reg<self::P70Pfs_SPEC, crate::common::RW> {
3808        unsafe {
3809            crate::common::Reg::<self::P70Pfs_SPEC, crate::common::RW>::from_ptr(
3810                self._svd2pac_as_ptr().add(0x1dcusize),
3811            )
3812        }
3813    }
3814    #[inline(always)]
3815    pub const fn p708pfs(
3816        &self,
3817    ) -> &'static crate::common::Reg<self::P70Pfs_SPEC, crate::common::RW> {
3818        unsafe {
3819            crate::common::Reg::<self::P70Pfs_SPEC, crate::common::RW>::from_ptr(
3820                self._svd2pac_as_ptr().add(0x1e0usize),
3821            )
3822        }
3823    }
3824    #[inline(always)]
3825    pub const fn p709pfs(
3826        &self,
3827    ) -> &'static crate::common::Reg<self::P70Pfs_SPEC, crate::common::RW> {
3828        unsafe {
3829            crate::common::Reg::<self::P70Pfs_SPEC, crate::common::RW>::from_ptr(
3830                self._svd2pac_as_ptr().add(0x1e4usize),
3831            )
3832        }
3833    }
3834
3835    #[doc = "Port 70%s Pin Function Select Register"]
3836    #[inline(always)]
3837    pub const fn p70pfs_ha(
3838        &self,
3839    ) -> &'static crate::common::ClusterRegisterArray<
3840        crate::common::Reg<self::P70PfsHa_SPEC, crate::common::RW>,
3841        10,
3842        0x4,
3843    > {
3844        unsafe {
3845            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1c0usize))
3846        }
3847    }
3848    #[inline(always)]
3849    pub const fn p700pfs_ha(
3850        &self,
3851    ) -> &'static crate::common::Reg<self::P70PfsHa_SPEC, crate::common::RW> {
3852        unsafe {
3853            crate::common::Reg::<self::P70PfsHa_SPEC, crate::common::RW>::from_ptr(
3854                self._svd2pac_as_ptr().add(0x1c0usize),
3855            )
3856        }
3857    }
3858    #[inline(always)]
3859    pub const fn p701pfs_ha(
3860        &self,
3861    ) -> &'static crate::common::Reg<self::P70PfsHa_SPEC, crate::common::RW> {
3862        unsafe {
3863            crate::common::Reg::<self::P70PfsHa_SPEC, crate::common::RW>::from_ptr(
3864                self._svd2pac_as_ptr().add(0x1c4usize),
3865            )
3866        }
3867    }
3868    #[inline(always)]
3869    pub const fn p702pfs_ha(
3870        &self,
3871    ) -> &'static crate::common::Reg<self::P70PfsHa_SPEC, crate::common::RW> {
3872        unsafe {
3873            crate::common::Reg::<self::P70PfsHa_SPEC, crate::common::RW>::from_ptr(
3874                self._svd2pac_as_ptr().add(0x1c8usize),
3875            )
3876        }
3877    }
3878    #[inline(always)]
3879    pub const fn p703pfs_ha(
3880        &self,
3881    ) -> &'static crate::common::Reg<self::P70PfsHa_SPEC, crate::common::RW> {
3882        unsafe {
3883            crate::common::Reg::<self::P70PfsHa_SPEC, crate::common::RW>::from_ptr(
3884                self._svd2pac_as_ptr().add(0x1ccusize),
3885            )
3886        }
3887    }
3888    #[inline(always)]
3889    pub const fn p704pfs_ha(
3890        &self,
3891    ) -> &'static crate::common::Reg<self::P70PfsHa_SPEC, crate::common::RW> {
3892        unsafe {
3893            crate::common::Reg::<self::P70PfsHa_SPEC, crate::common::RW>::from_ptr(
3894                self._svd2pac_as_ptr().add(0x1d0usize),
3895            )
3896        }
3897    }
3898    #[inline(always)]
3899    pub const fn p705pfs_ha(
3900        &self,
3901    ) -> &'static crate::common::Reg<self::P70PfsHa_SPEC, crate::common::RW> {
3902        unsafe {
3903            crate::common::Reg::<self::P70PfsHa_SPEC, crate::common::RW>::from_ptr(
3904                self._svd2pac_as_ptr().add(0x1d4usize),
3905            )
3906        }
3907    }
3908    #[inline(always)]
3909    pub const fn p706pfs_ha(
3910        &self,
3911    ) -> &'static crate::common::Reg<self::P70PfsHa_SPEC, crate::common::RW> {
3912        unsafe {
3913            crate::common::Reg::<self::P70PfsHa_SPEC, crate::common::RW>::from_ptr(
3914                self._svd2pac_as_ptr().add(0x1d8usize),
3915            )
3916        }
3917    }
3918    #[inline(always)]
3919    pub const fn p707pfs_ha(
3920        &self,
3921    ) -> &'static crate::common::Reg<self::P70PfsHa_SPEC, crate::common::RW> {
3922        unsafe {
3923            crate::common::Reg::<self::P70PfsHa_SPEC, crate::common::RW>::from_ptr(
3924                self._svd2pac_as_ptr().add(0x1dcusize),
3925            )
3926        }
3927    }
3928    #[inline(always)]
3929    pub const fn p708pfs_ha(
3930        &self,
3931    ) -> &'static crate::common::Reg<self::P70PfsHa_SPEC, crate::common::RW> {
3932        unsafe {
3933            crate::common::Reg::<self::P70PfsHa_SPEC, crate::common::RW>::from_ptr(
3934                self._svd2pac_as_ptr().add(0x1e0usize),
3935            )
3936        }
3937    }
3938    #[inline(always)]
3939    pub const fn p709pfs_ha(
3940        &self,
3941    ) -> &'static crate::common::Reg<self::P70PfsHa_SPEC, crate::common::RW> {
3942        unsafe {
3943            crate::common::Reg::<self::P70PfsHa_SPEC, crate::common::RW>::from_ptr(
3944                self._svd2pac_as_ptr().add(0x1e4usize),
3945            )
3946        }
3947    }
3948
3949    #[doc = "Port 70%s Pin Function Select Register"]
3950    #[inline(always)]
3951    pub const fn p70pfs_by(
3952        &self,
3953    ) -> &'static crate::common::ClusterRegisterArray<
3954        crate::common::Reg<self::P70PfsBy_SPEC, crate::common::RW>,
3955        10,
3956        0x4,
3957    > {
3958        unsafe {
3959            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1c0usize))
3960        }
3961    }
3962    #[inline(always)]
3963    pub const fn p700pfs_by(
3964        &self,
3965    ) -> &'static crate::common::Reg<self::P70PfsBy_SPEC, crate::common::RW> {
3966        unsafe {
3967            crate::common::Reg::<self::P70PfsBy_SPEC, crate::common::RW>::from_ptr(
3968                self._svd2pac_as_ptr().add(0x1c0usize),
3969            )
3970        }
3971    }
3972    #[inline(always)]
3973    pub const fn p701pfs_by(
3974        &self,
3975    ) -> &'static crate::common::Reg<self::P70PfsBy_SPEC, crate::common::RW> {
3976        unsafe {
3977            crate::common::Reg::<self::P70PfsBy_SPEC, crate::common::RW>::from_ptr(
3978                self._svd2pac_as_ptr().add(0x1c4usize),
3979            )
3980        }
3981    }
3982    #[inline(always)]
3983    pub const fn p702pfs_by(
3984        &self,
3985    ) -> &'static crate::common::Reg<self::P70PfsBy_SPEC, crate::common::RW> {
3986        unsafe {
3987            crate::common::Reg::<self::P70PfsBy_SPEC, crate::common::RW>::from_ptr(
3988                self._svd2pac_as_ptr().add(0x1c8usize),
3989            )
3990        }
3991    }
3992    #[inline(always)]
3993    pub const fn p703pfs_by(
3994        &self,
3995    ) -> &'static crate::common::Reg<self::P70PfsBy_SPEC, crate::common::RW> {
3996        unsafe {
3997            crate::common::Reg::<self::P70PfsBy_SPEC, crate::common::RW>::from_ptr(
3998                self._svd2pac_as_ptr().add(0x1ccusize),
3999            )
4000        }
4001    }
4002    #[inline(always)]
4003    pub const fn p704pfs_by(
4004        &self,
4005    ) -> &'static crate::common::Reg<self::P70PfsBy_SPEC, crate::common::RW> {
4006        unsafe {
4007            crate::common::Reg::<self::P70PfsBy_SPEC, crate::common::RW>::from_ptr(
4008                self._svd2pac_as_ptr().add(0x1d0usize),
4009            )
4010        }
4011    }
4012    #[inline(always)]
4013    pub const fn p705pfs_by(
4014        &self,
4015    ) -> &'static crate::common::Reg<self::P70PfsBy_SPEC, crate::common::RW> {
4016        unsafe {
4017            crate::common::Reg::<self::P70PfsBy_SPEC, crate::common::RW>::from_ptr(
4018                self._svd2pac_as_ptr().add(0x1d4usize),
4019            )
4020        }
4021    }
4022    #[inline(always)]
4023    pub const fn p706pfs_by(
4024        &self,
4025    ) -> &'static crate::common::Reg<self::P70PfsBy_SPEC, crate::common::RW> {
4026        unsafe {
4027            crate::common::Reg::<self::P70PfsBy_SPEC, crate::common::RW>::from_ptr(
4028                self._svd2pac_as_ptr().add(0x1d8usize),
4029            )
4030        }
4031    }
4032    #[inline(always)]
4033    pub const fn p707pfs_by(
4034        &self,
4035    ) -> &'static crate::common::Reg<self::P70PfsBy_SPEC, crate::common::RW> {
4036        unsafe {
4037            crate::common::Reg::<self::P70PfsBy_SPEC, crate::common::RW>::from_ptr(
4038                self._svd2pac_as_ptr().add(0x1dcusize),
4039            )
4040        }
4041    }
4042    #[inline(always)]
4043    pub const fn p708pfs_by(
4044        &self,
4045    ) -> &'static crate::common::Reg<self::P70PfsBy_SPEC, crate::common::RW> {
4046        unsafe {
4047            crate::common::Reg::<self::P70PfsBy_SPEC, crate::common::RW>::from_ptr(
4048                self._svd2pac_as_ptr().add(0x1e0usize),
4049            )
4050        }
4051    }
4052    #[inline(always)]
4053    pub const fn p709pfs_by(
4054        &self,
4055    ) -> &'static crate::common::Reg<self::P70PfsBy_SPEC, crate::common::RW> {
4056        unsafe {
4057            crate::common::Reg::<self::P70PfsBy_SPEC, crate::common::RW>::from_ptr(
4058                self._svd2pac_as_ptr().add(0x1e4usize),
4059            )
4060        }
4061    }
4062
4063    #[doc = "Port 7%s Pin Function Select Register"]
4064    #[inline(always)]
4065    pub const fn p7pfs(
4066        &self,
4067    ) -> &'static crate::common::ClusterRegisterArray<
4068        crate::common::Reg<self::P7Pfs_SPEC, crate::common::RW>,
4069        6,
4070        0x4,
4071    > {
4072        unsafe {
4073            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1e8usize))
4074        }
4075    }
4076    #[inline(always)]
4077    pub const fn p710pfs(
4078        &self,
4079    ) -> &'static crate::common::Reg<self::P7Pfs_SPEC, crate::common::RW> {
4080        unsafe {
4081            crate::common::Reg::<self::P7Pfs_SPEC, crate::common::RW>::from_ptr(
4082                self._svd2pac_as_ptr().add(0x1e8usize),
4083            )
4084        }
4085    }
4086    #[inline(always)]
4087    pub const fn p711pfs(
4088        &self,
4089    ) -> &'static crate::common::Reg<self::P7Pfs_SPEC, crate::common::RW> {
4090        unsafe {
4091            crate::common::Reg::<self::P7Pfs_SPEC, crate::common::RW>::from_ptr(
4092                self._svd2pac_as_ptr().add(0x1ecusize),
4093            )
4094        }
4095    }
4096    #[inline(always)]
4097    pub const fn p712pfs(
4098        &self,
4099    ) -> &'static crate::common::Reg<self::P7Pfs_SPEC, crate::common::RW> {
4100        unsafe {
4101            crate::common::Reg::<self::P7Pfs_SPEC, crate::common::RW>::from_ptr(
4102                self._svd2pac_as_ptr().add(0x1f0usize),
4103            )
4104        }
4105    }
4106    #[inline(always)]
4107    pub const fn p713pfs(
4108        &self,
4109    ) -> &'static crate::common::Reg<self::P7Pfs_SPEC, crate::common::RW> {
4110        unsafe {
4111            crate::common::Reg::<self::P7Pfs_SPEC, crate::common::RW>::from_ptr(
4112                self._svd2pac_as_ptr().add(0x1f4usize),
4113            )
4114        }
4115    }
4116    #[inline(always)]
4117    pub const fn p714pfs(
4118        &self,
4119    ) -> &'static crate::common::Reg<self::P7Pfs_SPEC, crate::common::RW> {
4120        unsafe {
4121            crate::common::Reg::<self::P7Pfs_SPEC, crate::common::RW>::from_ptr(
4122                self._svd2pac_as_ptr().add(0x1f8usize),
4123            )
4124        }
4125    }
4126    #[inline(always)]
4127    pub const fn p715pfs(
4128        &self,
4129    ) -> &'static crate::common::Reg<self::P7Pfs_SPEC, crate::common::RW> {
4130        unsafe {
4131            crate::common::Reg::<self::P7Pfs_SPEC, crate::common::RW>::from_ptr(
4132                self._svd2pac_as_ptr().add(0x1fcusize),
4133            )
4134        }
4135    }
4136
4137    #[doc = "Port 7%s Pin Function Select Register"]
4138    #[inline(always)]
4139    pub const fn p7pfs_ha(
4140        &self,
4141    ) -> &'static crate::common::ClusterRegisterArray<
4142        crate::common::Reg<self::P7PfsHa_SPEC, crate::common::RW>,
4143        6,
4144        0x4,
4145    > {
4146        unsafe {
4147            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1e8usize))
4148        }
4149    }
4150    #[inline(always)]
4151    pub const fn p710pfs_ha(
4152        &self,
4153    ) -> &'static crate::common::Reg<self::P7PfsHa_SPEC, crate::common::RW> {
4154        unsafe {
4155            crate::common::Reg::<self::P7PfsHa_SPEC, crate::common::RW>::from_ptr(
4156                self._svd2pac_as_ptr().add(0x1e8usize),
4157            )
4158        }
4159    }
4160    #[inline(always)]
4161    pub const fn p711pfs_ha(
4162        &self,
4163    ) -> &'static crate::common::Reg<self::P7PfsHa_SPEC, crate::common::RW> {
4164        unsafe {
4165            crate::common::Reg::<self::P7PfsHa_SPEC, crate::common::RW>::from_ptr(
4166                self._svd2pac_as_ptr().add(0x1ecusize),
4167            )
4168        }
4169    }
4170    #[inline(always)]
4171    pub const fn p712pfs_ha(
4172        &self,
4173    ) -> &'static crate::common::Reg<self::P7PfsHa_SPEC, crate::common::RW> {
4174        unsafe {
4175            crate::common::Reg::<self::P7PfsHa_SPEC, crate::common::RW>::from_ptr(
4176                self._svd2pac_as_ptr().add(0x1f0usize),
4177            )
4178        }
4179    }
4180    #[inline(always)]
4181    pub const fn p713pfs_ha(
4182        &self,
4183    ) -> &'static crate::common::Reg<self::P7PfsHa_SPEC, crate::common::RW> {
4184        unsafe {
4185            crate::common::Reg::<self::P7PfsHa_SPEC, crate::common::RW>::from_ptr(
4186                self._svd2pac_as_ptr().add(0x1f4usize),
4187            )
4188        }
4189    }
4190    #[inline(always)]
4191    pub const fn p714pfs_ha(
4192        &self,
4193    ) -> &'static crate::common::Reg<self::P7PfsHa_SPEC, crate::common::RW> {
4194        unsafe {
4195            crate::common::Reg::<self::P7PfsHa_SPEC, crate::common::RW>::from_ptr(
4196                self._svd2pac_as_ptr().add(0x1f8usize),
4197            )
4198        }
4199    }
4200    #[inline(always)]
4201    pub const fn p715pfs_ha(
4202        &self,
4203    ) -> &'static crate::common::Reg<self::P7PfsHa_SPEC, crate::common::RW> {
4204        unsafe {
4205            crate::common::Reg::<self::P7PfsHa_SPEC, crate::common::RW>::from_ptr(
4206                self._svd2pac_as_ptr().add(0x1fcusize),
4207            )
4208        }
4209    }
4210
4211    #[doc = "Port 7%s Pin Function Select Register"]
4212    #[inline(always)]
4213    pub const fn p7pfs_by(
4214        &self,
4215    ) -> &'static crate::common::ClusterRegisterArray<
4216        crate::common::Reg<self::P7PfsBy_SPEC, crate::common::RW>,
4217        6,
4218        0x4,
4219    > {
4220        unsafe {
4221            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1e8usize))
4222        }
4223    }
4224    #[inline(always)]
4225    pub const fn p710pfs_by(
4226        &self,
4227    ) -> &'static crate::common::Reg<self::P7PfsBy_SPEC, crate::common::RW> {
4228        unsafe {
4229            crate::common::Reg::<self::P7PfsBy_SPEC, crate::common::RW>::from_ptr(
4230                self._svd2pac_as_ptr().add(0x1e8usize),
4231            )
4232        }
4233    }
4234    #[inline(always)]
4235    pub const fn p711pfs_by(
4236        &self,
4237    ) -> &'static crate::common::Reg<self::P7PfsBy_SPEC, crate::common::RW> {
4238        unsafe {
4239            crate::common::Reg::<self::P7PfsBy_SPEC, crate::common::RW>::from_ptr(
4240                self._svd2pac_as_ptr().add(0x1ecusize),
4241            )
4242        }
4243    }
4244    #[inline(always)]
4245    pub const fn p712pfs_by(
4246        &self,
4247    ) -> &'static crate::common::Reg<self::P7PfsBy_SPEC, crate::common::RW> {
4248        unsafe {
4249            crate::common::Reg::<self::P7PfsBy_SPEC, crate::common::RW>::from_ptr(
4250                self._svd2pac_as_ptr().add(0x1f0usize),
4251            )
4252        }
4253    }
4254    #[inline(always)]
4255    pub const fn p713pfs_by(
4256        &self,
4257    ) -> &'static crate::common::Reg<self::P7PfsBy_SPEC, crate::common::RW> {
4258        unsafe {
4259            crate::common::Reg::<self::P7PfsBy_SPEC, crate::common::RW>::from_ptr(
4260                self._svd2pac_as_ptr().add(0x1f4usize),
4261            )
4262        }
4263    }
4264    #[inline(always)]
4265    pub const fn p714pfs_by(
4266        &self,
4267    ) -> &'static crate::common::Reg<self::P7PfsBy_SPEC, crate::common::RW> {
4268        unsafe {
4269            crate::common::Reg::<self::P7PfsBy_SPEC, crate::common::RW>::from_ptr(
4270                self._svd2pac_as_ptr().add(0x1f8usize),
4271            )
4272        }
4273    }
4274    #[inline(always)]
4275    pub const fn p715pfs_by(
4276        &self,
4277    ) -> &'static crate::common::Reg<self::P7PfsBy_SPEC, crate::common::RW> {
4278        unsafe {
4279            crate::common::Reg::<self::P7PfsBy_SPEC, crate::common::RW>::from_ptr(
4280                self._svd2pac_as_ptr().add(0x1fcusize),
4281            )
4282        }
4283    }
4284
4285    #[doc = "Port 80%s Pin Function Select Register"]
4286    #[inline(always)]
4287    pub const fn p80pfs(
4288        &self,
4289    ) -> &'static crate::common::ClusterRegisterArray<
4290        crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW>,
4291        10,
4292        0x4,
4293    > {
4294        unsafe {
4295            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x200usize))
4296        }
4297    }
4298    #[inline(always)]
4299    pub const fn p800pfs(
4300        &self,
4301    ) -> &'static crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW> {
4302        unsafe {
4303            crate::common::Reg::<self::P80Pfs_SPEC, crate::common::RW>::from_ptr(
4304                self._svd2pac_as_ptr().add(0x200usize),
4305            )
4306        }
4307    }
4308    #[inline(always)]
4309    pub const fn p801pfs(
4310        &self,
4311    ) -> &'static crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW> {
4312        unsafe {
4313            crate::common::Reg::<self::P80Pfs_SPEC, crate::common::RW>::from_ptr(
4314                self._svd2pac_as_ptr().add(0x204usize),
4315            )
4316        }
4317    }
4318    #[inline(always)]
4319    pub const fn p802pfs(
4320        &self,
4321    ) -> &'static crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW> {
4322        unsafe {
4323            crate::common::Reg::<self::P80Pfs_SPEC, crate::common::RW>::from_ptr(
4324                self._svd2pac_as_ptr().add(0x208usize),
4325            )
4326        }
4327    }
4328    #[inline(always)]
4329    pub const fn p803pfs(
4330        &self,
4331    ) -> &'static crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW> {
4332        unsafe {
4333            crate::common::Reg::<self::P80Pfs_SPEC, crate::common::RW>::from_ptr(
4334                self._svd2pac_as_ptr().add(0x20cusize),
4335            )
4336        }
4337    }
4338    #[inline(always)]
4339    pub const fn p804pfs(
4340        &self,
4341    ) -> &'static crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW> {
4342        unsafe {
4343            crate::common::Reg::<self::P80Pfs_SPEC, crate::common::RW>::from_ptr(
4344                self._svd2pac_as_ptr().add(0x210usize),
4345            )
4346        }
4347    }
4348    #[inline(always)]
4349    pub const fn p805pfs(
4350        &self,
4351    ) -> &'static crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW> {
4352        unsafe {
4353            crate::common::Reg::<self::P80Pfs_SPEC, crate::common::RW>::from_ptr(
4354                self._svd2pac_as_ptr().add(0x214usize),
4355            )
4356        }
4357    }
4358    #[inline(always)]
4359    pub const fn p806pfs(
4360        &self,
4361    ) -> &'static crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW> {
4362        unsafe {
4363            crate::common::Reg::<self::P80Pfs_SPEC, crate::common::RW>::from_ptr(
4364                self._svd2pac_as_ptr().add(0x218usize),
4365            )
4366        }
4367    }
4368    #[inline(always)]
4369    pub const fn p807pfs(
4370        &self,
4371    ) -> &'static crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW> {
4372        unsafe {
4373            crate::common::Reg::<self::P80Pfs_SPEC, crate::common::RW>::from_ptr(
4374                self._svd2pac_as_ptr().add(0x21cusize),
4375            )
4376        }
4377    }
4378    #[inline(always)]
4379    pub const fn p808pfs(
4380        &self,
4381    ) -> &'static crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW> {
4382        unsafe {
4383            crate::common::Reg::<self::P80Pfs_SPEC, crate::common::RW>::from_ptr(
4384                self._svd2pac_as_ptr().add(0x220usize),
4385            )
4386        }
4387    }
4388    #[inline(always)]
4389    pub const fn p809pfs(
4390        &self,
4391    ) -> &'static crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW> {
4392        unsafe {
4393            crate::common::Reg::<self::P80Pfs_SPEC, crate::common::RW>::from_ptr(
4394                self._svd2pac_as_ptr().add(0x224usize),
4395            )
4396        }
4397    }
4398
4399    #[doc = "Port 80%s Pin Function Select Register"]
4400    #[inline(always)]
4401    pub const fn p80pfs_ha(
4402        &self,
4403    ) -> &'static crate::common::ClusterRegisterArray<
4404        crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW>,
4405        10,
4406        0x4,
4407    > {
4408        unsafe {
4409            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x200usize))
4410        }
4411    }
4412    #[inline(always)]
4413    pub const fn p800pfs_ha(
4414        &self,
4415    ) -> &'static crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW> {
4416        unsafe {
4417            crate::common::Reg::<self::P80PfsHa_SPEC, crate::common::RW>::from_ptr(
4418                self._svd2pac_as_ptr().add(0x200usize),
4419            )
4420        }
4421    }
4422    #[inline(always)]
4423    pub const fn p801pfs_ha(
4424        &self,
4425    ) -> &'static crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW> {
4426        unsafe {
4427            crate::common::Reg::<self::P80PfsHa_SPEC, crate::common::RW>::from_ptr(
4428                self._svd2pac_as_ptr().add(0x204usize),
4429            )
4430        }
4431    }
4432    #[inline(always)]
4433    pub const fn p802pfs_ha(
4434        &self,
4435    ) -> &'static crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW> {
4436        unsafe {
4437            crate::common::Reg::<self::P80PfsHa_SPEC, crate::common::RW>::from_ptr(
4438                self._svd2pac_as_ptr().add(0x208usize),
4439            )
4440        }
4441    }
4442    #[inline(always)]
4443    pub const fn p803pfs_ha(
4444        &self,
4445    ) -> &'static crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW> {
4446        unsafe {
4447            crate::common::Reg::<self::P80PfsHa_SPEC, crate::common::RW>::from_ptr(
4448                self._svd2pac_as_ptr().add(0x20cusize),
4449            )
4450        }
4451    }
4452    #[inline(always)]
4453    pub const fn p804pfs_ha(
4454        &self,
4455    ) -> &'static crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW> {
4456        unsafe {
4457            crate::common::Reg::<self::P80PfsHa_SPEC, crate::common::RW>::from_ptr(
4458                self._svd2pac_as_ptr().add(0x210usize),
4459            )
4460        }
4461    }
4462    #[inline(always)]
4463    pub const fn p805pfs_ha(
4464        &self,
4465    ) -> &'static crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW> {
4466        unsafe {
4467            crate::common::Reg::<self::P80PfsHa_SPEC, crate::common::RW>::from_ptr(
4468                self._svd2pac_as_ptr().add(0x214usize),
4469            )
4470        }
4471    }
4472    #[inline(always)]
4473    pub const fn p806pfs_ha(
4474        &self,
4475    ) -> &'static crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW> {
4476        unsafe {
4477            crate::common::Reg::<self::P80PfsHa_SPEC, crate::common::RW>::from_ptr(
4478                self._svd2pac_as_ptr().add(0x218usize),
4479            )
4480        }
4481    }
4482    #[inline(always)]
4483    pub const fn p807pfs_ha(
4484        &self,
4485    ) -> &'static crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW> {
4486        unsafe {
4487            crate::common::Reg::<self::P80PfsHa_SPEC, crate::common::RW>::from_ptr(
4488                self._svd2pac_as_ptr().add(0x21cusize),
4489            )
4490        }
4491    }
4492    #[inline(always)]
4493    pub const fn p808pfs_ha(
4494        &self,
4495    ) -> &'static crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW> {
4496        unsafe {
4497            crate::common::Reg::<self::P80PfsHa_SPEC, crate::common::RW>::from_ptr(
4498                self._svd2pac_as_ptr().add(0x220usize),
4499            )
4500        }
4501    }
4502    #[inline(always)]
4503    pub const fn p809pfs_ha(
4504        &self,
4505    ) -> &'static crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW> {
4506        unsafe {
4507            crate::common::Reg::<self::P80PfsHa_SPEC, crate::common::RW>::from_ptr(
4508                self._svd2pac_as_ptr().add(0x224usize),
4509            )
4510        }
4511    }
4512
4513    #[doc = "Port 80%s Pin Function Select Register"]
4514    #[inline(always)]
4515    pub const fn p80pfs_by(
4516        &self,
4517    ) -> &'static crate::common::ClusterRegisterArray<
4518        crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW>,
4519        10,
4520        0x4,
4521    > {
4522        unsafe {
4523            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x200usize))
4524        }
4525    }
4526    #[inline(always)]
4527    pub const fn p800pfs_by(
4528        &self,
4529    ) -> &'static crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW> {
4530        unsafe {
4531            crate::common::Reg::<self::P80PfsBy_SPEC, crate::common::RW>::from_ptr(
4532                self._svd2pac_as_ptr().add(0x200usize),
4533            )
4534        }
4535    }
4536    #[inline(always)]
4537    pub const fn p801pfs_by(
4538        &self,
4539    ) -> &'static crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW> {
4540        unsafe {
4541            crate::common::Reg::<self::P80PfsBy_SPEC, crate::common::RW>::from_ptr(
4542                self._svd2pac_as_ptr().add(0x204usize),
4543            )
4544        }
4545    }
4546    #[inline(always)]
4547    pub const fn p802pfs_by(
4548        &self,
4549    ) -> &'static crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW> {
4550        unsafe {
4551            crate::common::Reg::<self::P80PfsBy_SPEC, crate::common::RW>::from_ptr(
4552                self._svd2pac_as_ptr().add(0x208usize),
4553            )
4554        }
4555    }
4556    #[inline(always)]
4557    pub const fn p803pfs_by(
4558        &self,
4559    ) -> &'static crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW> {
4560        unsafe {
4561            crate::common::Reg::<self::P80PfsBy_SPEC, crate::common::RW>::from_ptr(
4562                self._svd2pac_as_ptr().add(0x20cusize),
4563            )
4564        }
4565    }
4566    #[inline(always)]
4567    pub const fn p804pfs_by(
4568        &self,
4569    ) -> &'static crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW> {
4570        unsafe {
4571            crate::common::Reg::<self::P80PfsBy_SPEC, crate::common::RW>::from_ptr(
4572                self._svd2pac_as_ptr().add(0x210usize),
4573            )
4574        }
4575    }
4576    #[inline(always)]
4577    pub const fn p805pfs_by(
4578        &self,
4579    ) -> &'static crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW> {
4580        unsafe {
4581            crate::common::Reg::<self::P80PfsBy_SPEC, crate::common::RW>::from_ptr(
4582                self._svd2pac_as_ptr().add(0x214usize),
4583            )
4584        }
4585    }
4586    #[inline(always)]
4587    pub const fn p806pfs_by(
4588        &self,
4589    ) -> &'static crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW> {
4590        unsafe {
4591            crate::common::Reg::<self::P80PfsBy_SPEC, crate::common::RW>::from_ptr(
4592                self._svd2pac_as_ptr().add(0x218usize),
4593            )
4594        }
4595    }
4596    #[inline(always)]
4597    pub const fn p807pfs_by(
4598        &self,
4599    ) -> &'static crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW> {
4600        unsafe {
4601            crate::common::Reg::<self::P80PfsBy_SPEC, crate::common::RW>::from_ptr(
4602                self._svd2pac_as_ptr().add(0x21cusize),
4603            )
4604        }
4605    }
4606    #[inline(always)]
4607    pub const fn p808pfs_by(
4608        &self,
4609    ) -> &'static crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW> {
4610        unsafe {
4611            crate::common::Reg::<self::P80PfsBy_SPEC, crate::common::RW>::from_ptr(
4612                self._svd2pac_as_ptr().add(0x220usize),
4613            )
4614        }
4615    }
4616    #[inline(always)]
4617    pub const fn p809pfs_by(
4618        &self,
4619    ) -> &'static crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW> {
4620        unsafe {
4621            crate::common::Reg::<self::P80PfsBy_SPEC, crate::common::RW>::from_ptr(
4622                self._svd2pac_as_ptr().add(0x224usize),
4623            )
4624        }
4625    }
4626
4627    #[doc = "Port 8%s Pin Function Select Register"]
4628    #[inline(always)]
4629    pub const fn p8pfs(
4630        &self,
4631    ) -> &'static crate::common::ClusterRegisterArray<
4632        crate::common::Reg<self::P8Pfs_SPEC, crate::common::RW>,
4633        2,
4634        0x4,
4635    > {
4636        unsafe {
4637            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x238usize))
4638        }
4639    }
4640    #[inline(always)]
4641    pub const fn p814pfs(
4642        &self,
4643    ) -> &'static crate::common::Reg<self::P8Pfs_SPEC, crate::common::RW> {
4644        unsafe {
4645            crate::common::Reg::<self::P8Pfs_SPEC, crate::common::RW>::from_ptr(
4646                self._svd2pac_as_ptr().add(0x238usize),
4647            )
4648        }
4649    }
4650    #[inline(always)]
4651    pub const fn p815pfs(
4652        &self,
4653    ) -> &'static crate::common::Reg<self::P8Pfs_SPEC, crate::common::RW> {
4654        unsafe {
4655            crate::common::Reg::<self::P8Pfs_SPEC, crate::common::RW>::from_ptr(
4656                self._svd2pac_as_ptr().add(0x23cusize),
4657            )
4658        }
4659    }
4660
4661    #[doc = "Port 8%s Pin Function Select Register"]
4662    #[inline(always)]
4663    pub const fn p8pfs_ha(
4664        &self,
4665    ) -> &'static crate::common::ClusterRegisterArray<
4666        crate::common::Reg<self::P8PfsHa_SPEC, crate::common::RW>,
4667        2,
4668        0x4,
4669    > {
4670        unsafe {
4671            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x238usize))
4672        }
4673    }
4674    #[inline(always)]
4675    pub const fn p814pfs_ha(
4676        &self,
4677    ) -> &'static crate::common::Reg<self::P8PfsHa_SPEC, crate::common::RW> {
4678        unsafe {
4679            crate::common::Reg::<self::P8PfsHa_SPEC, crate::common::RW>::from_ptr(
4680                self._svd2pac_as_ptr().add(0x238usize),
4681            )
4682        }
4683    }
4684    #[inline(always)]
4685    pub const fn p815pfs_ha(
4686        &self,
4687    ) -> &'static crate::common::Reg<self::P8PfsHa_SPEC, crate::common::RW> {
4688        unsafe {
4689            crate::common::Reg::<self::P8PfsHa_SPEC, crate::common::RW>::from_ptr(
4690                self._svd2pac_as_ptr().add(0x23cusize),
4691            )
4692        }
4693    }
4694
4695    #[doc = "Port 8%s Pin Function Select Register"]
4696    #[inline(always)]
4697    pub const fn p8pfs_by(
4698        &self,
4699    ) -> &'static crate::common::ClusterRegisterArray<
4700        crate::common::Reg<self::P8PfsBy_SPEC, crate::common::RW>,
4701        2,
4702        0x4,
4703    > {
4704        unsafe {
4705            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x238usize))
4706        }
4707    }
4708    #[inline(always)]
4709    pub const fn p814pfs_by(
4710        &self,
4711    ) -> &'static crate::common::Reg<self::P8PfsBy_SPEC, crate::common::RW> {
4712        unsafe {
4713            crate::common::Reg::<self::P8PfsBy_SPEC, crate::common::RW>::from_ptr(
4714                self._svd2pac_as_ptr().add(0x238usize),
4715            )
4716        }
4717    }
4718    #[inline(always)]
4719    pub const fn p815pfs_by(
4720        &self,
4721    ) -> &'static crate::common::Reg<self::P8PfsBy_SPEC, crate::common::RW> {
4722        unsafe {
4723            crate::common::Reg::<self::P8PfsBy_SPEC, crate::common::RW>::from_ptr(
4724                self._svd2pac_as_ptr().add(0x23cusize),
4725            )
4726        }
4727    }
4728
4729    #[doc = "Port 90%s Pin Function Select Register"]
4730    #[inline(always)]
4731    pub const fn p90pfs(
4732        &self,
4733    ) -> &'static crate::common::ClusterRegisterArray<
4734        crate::common::Reg<self::P90Pfs_SPEC, crate::common::RW>,
4735        10,
4736        0x4,
4737    > {
4738        unsafe {
4739            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x240usize))
4740        }
4741    }
4742    #[inline(always)]
4743    pub const fn p900pfs(
4744        &self,
4745    ) -> &'static crate::common::Reg<self::P90Pfs_SPEC, crate::common::RW> {
4746        unsafe {
4747            crate::common::Reg::<self::P90Pfs_SPEC, crate::common::RW>::from_ptr(
4748                self._svd2pac_as_ptr().add(0x240usize),
4749            )
4750        }
4751    }
4752    #[inline(always)]
4753    pub const fn p901pfs(
4754        &self,
4755    ) -> &'static crate::common::Reg<self::P90Pfs_SPEC, crate::common::RW> {
4756        unsafe {
4757            crate::common::Reg::<self::P90Pfs_SPEC, crate::common::RW>::from_ptr(
4758                self._svd2pac_as_ptr().add(0x244usize),
4759            )
4760        }
4761    }
4762    #[inline(always)]
4763    pub const fn p902pfs(
4764        &self,
4765    ) -> &'static crate::common::Reg<self::P90Pfs_SPEC, crate::common::RW> {
4766        unsafe {
4767            crate::common::Reg::<self::P90Pfs_SPEC, crate::common::RW>::from_ptr(
4768                self._svd2pac_as_ptr().add(0x248usize),
4769            )
4770        }
4771    }
4772    #[inline(always)]
4773    pub const fn p903pfs(
4774        &self,
4775    ) -> &'static crate::common::Reg<self::P90Pfs_SPEC, crate::common::RW> {
4776        unsafe {
4777            crate::common::Reg::<self::P90Pfs_SPEC, crate::common::RW>::from_ptr(
4778                self._svd2pac_as_ptr().add(0x24cusize),
4779            )
4780        }
4781    }
4782    #[inline(always)]
4783    pub const fn p904pfs(
4784        &self,
4785    ) -> &'static crate::common::Reg<self::P90Pfs_SPEC, crate::common::RW> {
4786        unsafe {
4787            crate::common::Reg::<self::P90Pfs_SPEC, crate::common::RW>::from_ptr(
4788                self._svd2pac_as_ptr().add(0x250usize),
4789            )
4790        }
4791    }
4792    #[inline(always)]
4793    pub const fn p905pfs(
4794        &self,
4795    ) -> &'static crate::common::Reg<self::P90Pfs_SPEC, crate::common::RW> {
4796        unsafe {
4797            crate::common::Reg::<self::P90Pfs_SPEC, crate::common::RW>::from_ptr(
4798                self._svd2pac_as_ptr().add(0x254usize),
4799            )
4800        }
4801    }
4802    #[inline(always)]
4803    pub const fn p906pfs(
4804        &self,
4805    ) -> &'static crate::common::Reg<self::P90Pfs_SPEC, crate::common::RW> {
4806        unsafe {
4807            crate::common::Reg::<self::P90Pfs_SPEC, crate::common::RW>::from_ptr(
4808                self._svd2pac_as_ptr().add(0x258usize),
4809            )
4810        }
4811    }
4812    #[inline(always)]
4813    pub const fn p907pfs(
4814        &self,
4815    ) -> &'static crate::common::Reg<self::P90Pfs_SPEC, crate::common::RW> {
4816        unsafe {
4817            crate::common::Reg::<self::P90Pfs_SPEC, crate::common::RW>::from_ptr(
4818                self._svd2pac_as_ptr().add(0x25cusize),
4819            )
4820        }
4821    }
4822    #[inline(always)]
4823    pub const fn p908pfs(
4824        &self,
4825    ) -> &'static crate::common::Reg<self::P90Pfs_SPEC, crate::common::RW> {
4826        unsafe {
4827            crate::common::Reg::<self::P90Pfs_SPEC, crate::common::RW>::from_ptr(
4828                self._svd2pac_as_ptr().add(0x260usize),
4829            )
4830        }
4831    }
4832    #[inline(always)]
4833    pub const fn p909pfs(
4834        &self,
4835    ) -> &'static crate::common::Reg<self::P90Pfs_SPEC, crate::common::RW> {
4836        unsafe {
4837            crate::common::Reg::<self::P90Pfs_SPEC, crate::common::RW>::from_ptr(
4838                self._svd2pac_as_ptr().add(0x264usize),
4839            )
4840        }
4841    }
4842
4843    #[doc = "Port 90%s Pin Function Select Register"]
4844    #[inline(always)]
4845    pub const fn p90pfs_ha(
4846        &self,
4847    ) -> &'static crate::common::ClusterRegisterArray<
4848        crate::common::Reg<self::P90PfsHa_SPEC, crate::common::RW>,
4849        10,
4850        0x4,
4851    > {
4852        unsafe {
4853            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x240usize))
4854        }
4855    }
4856    #[inline(always)]
4857    pub const fn p900pfs_ha(
4858        &self,
4859    ) -> &'static crate::common::Reg<self::P90PfsHa_SPEC, crate::common::RW> {
4860        unsafe {
4861            crate::common::Reg::<self::P90PfsHa_SPEC, crate::common::RW>::from_ptr(
4862                self._svd2pac_as_ptr().add(0x240usize),
4863            )
4864        }
4865    }
4866    #[inline(always)]
4867    pub const fn p901pfs_ha(
4868        &self,
4869    ) -> &'static crate::common::Reg<self::P90PfsHa_SPEC, crate::common::RW> {
4870        unsafe {
4871            crate::common::Reg::<self::P90PfsHa_SPEC, crate::common::RW>::from_ptr(
4872                self._svd2pac_as_ptr().add(0x244usize),
4873            )
4874        }
4875    }
4876    #[inline(always)]
4877    pub const fn p902pfs_ha(
4878        &self,
4879    ) -> &'static crate::common::Reg<self::P90PfsHa_SPEC, crate::common::RW> {
4880        unsafe {
4881            crate::common::Reg::<self::P90PfsHa_SPEC, crate::common::RW>::from_ptr(
4882                self._svd2pac_as_ptr().add(0x248usize),
4883            )
4884        }
4885    }
4886    #[inline(always)]
4887    pub const fn p903pfs_ha(
4888        &self,
4889    ) -> &'static crate::common::Reg<self::P90PfsHa_SPEC, crate::common::RW> {
4890        unsafe {
4891            crate::common::Reg::<self::P90PfsHa_SPEC, crate::common::RW>::from_ptr(
4892                self._svd2pac_as_ptr().add(0x24cusize),
4893            )
4894        }
4895    }
4896    #[inline(always)]
4897    pub const fn p904pfs_ha(
4898        &self,
4899    ) -> &'static crate::common::Reg<self::P90PfsHa_SPEC, crate::common::RW> {
4900        unsafe {
4901            crate::common::Reg::<self::P90PfsHa_SPEC, crate::common::RW>::from_ptr(
4902                self._svd2pac_as_ptr().add(0x250usize),
4903            )
4904        }
4905    }
4906    #[inline(always)]
4907    pub const fn p905pfs_ha(
4908        &self,
4909    ) -> &'static crate::common::Reg<self::P90PfsHa_SPEC, crate::common::RW> {
4910        unsafe {
4911            crate::common::Reg::<self::P90PfsHa_SPEC, crate::common::RW>::from_ptr(
4912                self._svd2pac_as_ptr().add(0x254usize),
4913            )
4914        }
4915    }
4916    #[inline(always)]
4917    pub const fn p906pfs_ha(
4918        &self,
4919    ) -> &'static crate::common::Reg<self::P90PfsHa_SPEC, crate::common::RW> {
4920        unsafe {
4921            crate::common::Reg::<self::P90PfsHa_SPEC, crate::common::RW>::from_ptr(
4922                self._svd2pac_as_ptr().add(0x258usize),
4923            )
4924        }
4925    }
4926    #[inline(always)]
4927    pub const fn p907pfs_ha(
4928        &self,
4929    ) -> &'static crate::common::Reg<self::P90PfsHa_SPEC, crate::common::RW> {
4930        unsafe {
4931            crate::common::Reg::<self::P90PfsHa_SPEC, crate::common::RW>::from_ptr(
4932                self._svd2pac_as_ptr().add(0x25cusize),
4933            )
4934        }
4935    }
4936    #[inline(always)]
4937    pub const fn p908pfs_ha(
4938        &self,
4939    ) -> &'static crate::common::Reg<self::P90PfsHa_SPEC, crate::common::RW> {
4940        unsafe {
4941            crate::common::Reg::<self::P90PfsHa_SPEC, crate::common::RW>::from_ptr(
4942                self._svd2pac_as_ptr().add(0x260usize),
4943            )
4944        }
4945    }
4946    #[inline(always)]
4947    pub const fn p909pfs_ha(
4948        &self,
4949    ) -> &'static crate::common::Reg<self::P90PfsHa_SPEC, crate::common::RW> {
4950        unsafe {
4951            crate::common::Reg::<self::P90PfsHa_SPEC, crate::common::RW>::from_ptr(
4952                self._svd2pac_as_ptr().add(0x264usize),
4953            )
4954        }
4955    }
4956
4957    #[doc = "Port 90%s Pin Function Select Register"]
4958    #[inline(always)]
4959    pub const fn p90pfs_by(
4960        &self,
4961    ) -> &'static crate::common::ClusterRegisterArray<
4962        crate::common::Reg<self::P90PfsBy_SPEC, crate::common::RW>,
4963        10,
4964        0x4,
4965    > {
4966        unsafe {
4967            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x240usize))
4968        }
4969    }
4970    #[inline(always)]
4971    pub const fn p900pfs_by(
4972        &self,
4973    ) -> &'static crate::common::Reg<self::P90PfsBy_SPEC, crate::common::RW> {
4974        unsafe {
4975            crate::common::Reg::<self::P90PfsBy_SPEC, crate::common::RW>::from_ptr(
4976                self._svd2pac_as_ptr().add(0x240usize),
4977            )
4978        }
4979    }
4980    #[inline(always)]
4981    pub const fn p901pfs_by(
4982        &self,
4983    ) -> &'static crate::common::Reg<self::P90PfsBy_SPEC, crate::common::RW> {
4984        unsafe {
4985            crate::common::Reg::<self::P90PfsBy_SPEC, crate::common::RW>::from_ptr(
4986                self._svd2pac_as_ptr().add(0x244usize),
4987            )
4988        }
4989    }
4990    #[inline(always)]
4991    pub const fn p902pfs_by(
4992        &self,
4993    ) -> &'static crate::common::Reg<self::P90PfsBy_SPEC, crate::common::RW> {
4994        unsafe {
4995            crate::common::Reg::<self::P90PfsBy_SPEC, crate::common::RW>::from_ptr(
4996                self._svd2pac_as_ptr().add(0x248usize),
4997            )
4998        }
4999    }
5000    #[inline(always)]
5001    pub const fn p903pfs_by(
5002        &self,
5003    ) -> &'static crate::common::Reg<self::P90PfsBy_SPEC, crate::common::RW> {
5004        unsafe {
5005            crate::common::Reg::<self::P90PfsBy_SPEC, crate::common::RW>::from_ptr(
5006                self._svd2pac_as_ptr().add(0x24cusize),
5007            )
5008        }
5009    }
5010    #[inline(always)]
5011    pub const fn p904pfs_by(
5012        &self,
5013    ) -> &'static crate::common::Reg<self::P90PfsBy_SPEC, crate::common::RW> {
5014        unsafe {
5015            crate::common::Reg::<self::P90PfsBy_SPEC, crate::common::RW>::from_ptr(
5016                self._svd2pac_as_ptr().add(0x250usize),
5017            )
5018        }
5019    }
5020    #[inline(always)]
5021    pub const fn p905pfs_by(
5022        &self,
5023    ) -> &'static crate::common::Reg<self::P90PfsBy_SPEC, crate::common::RW> {
5024        unsafe {
5025            crate::common::Reg::<self::P90PfsBy_SPEC, crate::common::RW>::from_ptr(
5026                self._svd2pac_as_ptr().add(0x254usize),
5027            )
5028        }
5029    }
5030    #[inline(always)]
5031    pub const fn p906pfs_by(
5032        &self,
5033    ) -> &'static crate::common::Reg<self::P90PfsBy_SPEC, crate::common::RW> {
5034        unsafe {
5035            crate::common::Reg::<self::P90PfsBy_SPEC, crate::common::RW>::from_ptr(
5036                self._svd2pac_as_ptr().add(0x258usize),
5037            )
5038        }
5039    }
5040    #[inline(always)]
5041    pub const fn p907pfs_by(
5042        &self,
5043    ) -> &'static crate::common::Reg<self::P90PfsBy_SPEC, crate::common::RW> {
5044        unsafe {
5045            crate::common::Reg::<self::P90PfsBy_SPEC, crate::common::RW>::from_ptr(
5046                self._svd2pac_as_ptr().add(0x25cusize),
5047            )
5048        }
5049    }
5050    #[inline(always)]
5051    pub const fn p908pfs_by(
5052        &self,
5053    ) -> &'static crate::common::Reg<self::P90PfsBy_SPEC, crate::common::RW> {
5054        unsafe {
5055            crate::common::Reg::<self::P90PfsBy_SPEC, crate::common::RW>::from_ptr(
5056                self._svd2pac_as_ptr().add(0x260usize),
5057            )
5058        }
5059    }
5060    #[inline(always)]
5061    pub const fn p909pfs_by(
5062        &self,
5063    ) -> &'static crate::common::Reg<self::P90PfsBy_SPEC, crate::common::RW> {
5064        unsafe {
5065            crate::common::Reg::<self::P90PfsBy_SPEC, crate::common::RW>::from_ptr(
5066                self._svd2pac_as_ptr().add(0x264usize),
5067            )
5068        }
5069    }
5070
5071    #[doc = "Port 9%s Pin Function Select Register"]
5072    #[inline(always)]
5073    pub const fn p9pfs(
5074        &self,
5075    ) -> &'static crate::common::ClusterRegisterArray<
5076        crate::common::Reg<self::P9Pfs_SPEC, crate::common::RW>,
5077        6,
5078        0x4,
5079    > {
5080        unsafe {
5081            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x268usize))
5082        }
5083    }
5084    #[inline(always)]
5085    pub const fn p910pfs(
5086        &self,
5087    ) -> &'static crate::common::Reg<self::P9Pfs_SPEC, crate::common::RW> {
5088        unsafe {
5089            crate::common::Reg::<self::P9Pfs_SPEC, crate::common::RW>::from_ptr(
5090                self._svd2pac_as_ptr().add(0x268usize),
5091            )
5092        }
5093    }
5094    #[inline(always)]
5095    pub const fn p911pfs(
5096        &self,
5097    ) -> &'static crate::common::Reg<self::P9Pfs_SPEC, crate::common::RW> {
5098        unsafe {
5099            crate::common::Reg::<self::P9Pfs_SPEC, crate::common::RW>::from_ptr(
5100                self._svd2pac_as_ptr().add(0x26cusize),
5101            )
5102        }
5103    }
5104    #[inline(always)]
5105    pub const fn p912pfs(
5106        &self,
5107    ) -> &'static crate::common::Reg<self::P9Pfs_SPEC, crate::common::RW> {
5108        unsafe {
5109            crate::common::Reg::<self::P9Pfs_SPEC, crate::common::RW>::from_ptr(
5110                self._svd2pac_as_ptr().add(0x270usize),
5111            )
5112        }
5113    }
5114    #[inline(always)]
5115    pub const fn p913pfs(
5116        &self,
5117    ) -> &'static crate::common::Reg<self::P9Pfs_SPEC, crate::common::RW> {
5118        unsafe {
5119            crate::common::Reg::<self::P9Pfs_SPEC, crate::common::RW>::from_ptr(
5120                self._svd2pac_as_ptr().add(0x274usize),
5121            )
5122        }
5123    }
5124    #[inline(always)]
5125    pub const fn p914pfs(
5126        &self,
5127    ) -> &'static crate::common::Reg<self::P9Pfs_SPEC, crate::common::RW> {
5128        unsafe {
5129            crate::common::Reg::<self::P9Pfs_SPEC, crate::common::RW>::from_ptr(
5130                self._svd2pac_as_ptr().add(0x278usize),
5131            )
5132        }
5133    }
5134    #[inline(always)]
5135    pub const fn p915pfs(
5136        &self,
5137    ) -> &'static crate::common::Reg<self::P9Pfs_SPEC, crate::common::RW> {
5138        unsafe {
5139            crate::common::Reg::<self::P9Pfs_SPEC, crate::common::RW>::from_ptr(
5140                self._svd2pac_as_ptr().add(0x27cusize),
5141            )
5142        }
5143    }
5144
5145    #[doc = "Port 9%s Pin Function Select Register"]
5146    #[inline(always)]
5147    pub const fn p9pfs_ha(
5148        &self,
5149    ) -> &'static crate::common::ClusterRegisterArray<
5150        crate::common::Reg<self::P9PfsHa_SPEC, crate::common::RW>,
5151        6,
5152        0x4,
5153    > {
5154        unsafe {
5155            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x268usize))
5156        }
5157    }
5158    #[inline(always)]
5159    pub const fn p910pfs_ha(
5160        &self,
5161    ) -> &'static crate::common::Reg<self::P9PfsHa_SPEC, crate::common::RW> {
5162        unsafe {
5163            crate::common::Reg::<self::P9PfsHa_SPEC, crate::common::RW>::from_ptr(
5164                self._svd2pac_as_ptr().add(0x268usize),
5165            )
5166        }
5167    }
5168    #[inline(always)]
5169    pub const fn p911pfs_ha(
5170        &self,
5171    ) -> &'static crate::common::Reg<self::P9PfsHa_SPEC, crate::common::RW> {
5172        unsafe {
5173            crate::common::Reg::<self::P9PfsHa_SPEC, crate::common::RW>::from_ptr(
5174                self._svd2pac_as_ptr().add(0x26cusize),
5175            )
5176        }
5177    }
5178    #[inline(always)]
5179    pub const fn p912pfs_ha(
5180        &self,
5181    ) -> &'static crate::common::Reg<self::P9PfsHa_SPEC, crate::common::RW> {
5182        unsafe {
5183            crate::common::Reg::<self::P9PfsHa_SPEC, crate::common::RW>::from_ptr(
5184                self._svd2pac_as_ptr().add(0x270usize),
5185            )
5186        }
5187    }
5188    #[inline(always)]
5189    pub const fn p913pfs_ha(
5190        &self,
5191    ) -> &'static crate::common::Reg<self::P9PfsHa_SPEC, crate::common::RW> {
5192        unsafe {
5193            crate::common::Reg::<self::P9PfsHa_SPEC, crate::common::RW>::from_ptr(
5194                self._svd2pac_as_ptr().add(0x274usize),
5195            )
5196        }
5197    }
5198    #[inline(always)]
5199    pub const fn p914pfs_ha(
5200        &self,
5201    ) -> &'static crate::common::Reg<self::P9PfsHa_SPEC, crate::common::RW> {
5202        unsafe {
5203            crate::common::Reg::<self::P9PfsHa_SPEC, crate::common::RW>::from_ptr(
5204                self._svd2pac_as_ptr().add(0x278usize),
5205            )
5206        }
5207    }
5208    #[inline(always)]
5209    pub const fn p915pfs_ha(
5210        &self,
5211    ) -> &'static crate::common::Reg<self::P9PfsHa_SPEC, crate::common::RW> {
5212        unsafe {
5213            crate::common::Reg::<self::P9PfsHa_SPEC, crate::common::RW>::from_ptr(
5214                self._svd2pac_as_ptr().add(0x27cusize),
5215            )
5216        }
5217    }
5218
5219    #[doc = "Port 9%s Pin Function Select Register"]
5220    #[inline(always)]
5221    pub const fn p9pfs_by(
5222        &self,
5223    ) -> &'static crate::common::ClusterRegisterArray<
5224        crate::common::Reg<self::P9PfsBy_SPEC, crate::common::RW>,
5225        6,
5226        0x4,
5227    > {
5228        unsafe {
5229            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x268usize))
5230        }
5231    }
5232    #[inline(always)]
5233    pub const fn p910pfs_by(
5234        &self,
5235    ) -> &'static crate::common::Reg<self::P9PfsBy_SPEC, crate::common::RW> {
5236        unsafe {
5237            crate::common::Reg::<self::P9PfsBy_SPEC, crate::common::RW>::from_ptr(
5238                self._svd2pac_as_ptr().add(0x268usize),
5239            )
5240        }
5241    }
5242    #[inline(always)]
5243    pub const fn p911pfs_by(
5244        &self,
5245    ) -> &'static crate::common::Reg<self::P9PfsBy_SPEC, crate::common::RW> {
5246        unsafe {
5247            crate::common::Reg::<self::P9PfsBy_SPEC, crate::common::RW>::from_ptr(
5248                self._svd2pac_as_ptr().add(0x26cusize),
5249            )
5250        }
5251    }
5252    #[inline(always)]
5253    pub const fn p912pfs_by(
5254        &self,
5255    ) -> &'static crate::common::Reg<self::P9PfsBy_SPEC, crate::common::RW> {
5256        unsafe {
5257            crate::common::Reg::<self::P9PfsBy_SPEC, crate::common::RW>::from_ptr(
5258                self._svd2pac_as_ptr().add(0x270usize),
5259            )
5260        }
5261    }
5262    #[inline(always)]
5263    pub const fn p913pfs_by(
5264        &self,
5265    ) -> &'static crate::common::Reg<self::P9PfsBy_SPEC, crate::common::RW> {
5266        unsafe {
5267            crate::common::Reg::<self::P9PfsBy_SPEC, crate::common::RW>::from_ptr(
5268                self._svd2pac_as_ptr().add(0x274usize),
5269            )
5270        }
5271    }
5272    #[inline(always)]
5273    pub const fn p914pfs_by(
5274        &self,
5275    ) -> &'static crate::common::Reg<self::P9PfsBy_SPEC, crate::common::RW> {
5276        unsafe {
5277            crate::common::Reg::<self::P9PfsBy_SPEC, crate::common::RW>::from_ptr(
5278                self._svd2pac_as_ptr().add(0x278usize),
5279            )
5280        }
5281    }
5282    #[inline(always)]
5283    pub const fn p915pfs_by(
5284        &self,
5285    ) -> &'static crate::common::Reg<self::P9PfsBy_SPEC, crate::common::RW> {
5286        unsafe {
5287            crate::common::Reg::<self::P9PfsBy_SPEC, crate::common::RW>::from_ptr(
5288                self._svd2pac_as_ptr().add(0x27cusize),
5289            )
5290        }
5291    }
5292
5293    #[doc = "Port A0%s Pin Function Select Register"]
5294    #[inline(always)]
5295    pub const fn pa0pfs(
5296        &self,
5297    ) -> &'static crate::common::ClusterRegisterArray<
5298        crate::common::Reg<self::Pa0Pfs_SPEC, crate::common::RW>,
5299        10,
5300        0x4,
5301    > {
5302        unsafe {
5303            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x280usize))
5304        }
5305    }
5306    #[inline(always)]
5307    pub const fn pa00pfs(
5308        &self,
5309    ) -> &'static crate::common::Reg<self::Pa0Pfs_SPEC, crate::common::RW> {
5310        unsafe {
5311            crate::common::Reg::<self::Pa0Pfs_SPEC, crate::common::RW>::from_ptr(
5312                self._svd2pac_as_ptr().add(0x280usize),
5313            )
5314        }
5315    }
5316    #[inline(always)]
5317    pub const fn pa01pfs(
5318        &self,
5319    ) -> &'static crate::common::Reg<self::Pa0Pfs_SPEC, crate::common::RW> {
5320        unsafe {
5321            crate::common::Reg::<self::Pa0Pfs_SPEC, crate::common::RW>::from_ptr(
5322                self._svd2pac_as_ptr().add(0x284usize),
5323            )
5324        }
5325    }
5326    #[inline(always)]
5327    pub const fn pa02pfs(
5328        &self,
5329    ) -> &'static crate::common::Reg<self::Pa0Pfs_SPEC, crate::common::RW> {
5330        unsafe {
5331            crate::common::Reg::<self::Pa0Pfs_SPEC, crate::common::RW>::from_ptr(
5332                self._svd2pac_as_ptr().add(0x288usize),
5333            )
5334        }
5335    }
5336    #[inline(always)]
5337    pub const fn pa03pfs(
5338        &self,
5339    ) -> &'static crate::common::Reg<self::Pa0Pfs_SPEC, crate::common::RW> {
5340        unsafe {
5341            crate::common::Reg::<self::Pa0Pfs_SPEC, crate::common::RW>::from_ptr(
5342                self._svd2pac_as_ptr().add(0x28cusize),
5343            )
5344        }
5345    }
5346    #[inline(always)]
5347    pub const fn pa04pfs(
5348        &self,
5349    ) -> &'static crate::common::Reg<self::Pa0Pfs_SPEC, crate::common::RW> {
5350        unsafe {
5351            crate::common::Reg::<self::Pa0Pfs_SPEC, crate::common::RW>::from_ptr(
5352                self._svd2pac_as_ptr().add(0x290usize),
5353            )
5354        }
5355    }
5356    #[inline(always)]
5357    pub const fn pa05pfs(
5358        &self,
5359    ) -> &'static crate::common::Reg<self::Pa0Pfs_SPEC, crate::common::RW> {
5360        unsafe {
5361            crate::common::Reg::<self::Pa0Pfs_SPEC, crate::common::RW>::from_ptr(
5362                self._svd2pac_as_ptr().add(0x294usize),
5363            )
5364        }
5365    }
5366    #[inline(always)]
5367    pub const fn pa06pfs(
5368        &self,
5369    ) -> &'static crate::common::Reg<self::Pa0Pfs_SPEC, crate::common::RW> {
5370        unsafe {
5371            crate::common::Reg::<self::Pa0Pfs_SPEC, crate::common::RW>::from_ptr(
5372                self._svd2pac_as_ptr().add(0x298usize),
5373            )
5374        }
5375    }
5376    #[inline(always)]
5377    pub const fn pa07pfs(
5378        &self,
5379    ) -> &'static crate::common::Reg<self::Pa0Pfs_SPEC, crate::common::RW> {
5380        unsafe {
5381            crate::common::Reg::<self::Pa0Pfs_SPEC, crate::common::RW>::from_ptr(
5382                self._svd2pac_as_ptr().add(0x29cusize),
5383            )
5384        }
5385    }
5386    #[inline(always)]
5387    pub const fn pa08pfs(
5388        &self,
5389    ) -> &'static crate::common::Reg<self::Pa0Pfs_SPEC, crate::common::RW> {
5390        unsafe {
5391            crate::common::Reg::<self::Pa0Pfs_SPEC, crate::common::RW>::from_ptr(
5392                self._svd2pac_as_ptr().add(0x2a0usize),
5393            )
5394        }
5395    }
5396    #[inline(always)]
5397    pub const fn pa09pfs(
5398        &self,
5399    ) -> &'static crate::common::Reg<self::Pa0Pfs_SPEC, crate::common::RW> {
5400        unsafe {
5401            crate::common::Reg::<self::Pa0Pfs_SPEC, crate::common::RW>::from_ptr(
5402                self._svd2pac_as_ptr().add(0x2a4usize),
5403            )
5404        }
5405    }
5406
5407    #[doc = "Port A0%s Pin Function Select Register"]
5408    #[inline(always)]
5409    pub const fn pa0pfs_ha(
5410        &self,
5411    ) -> &'static crate::common::ClusterRegisterArray<
5412        crate::common::Reg<self::Pa0PfsHa_SPEC, crate::common::RW>,
5413        10,
5414        0x4,
5415    > {
5416        unsafe {
5417            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x280usize))
5418        }
5419    }
5420    #[inline(always)]
5421    pub const fn pa00pfs_ha(
5422        &self,
5423    ) -> &'static crate::common::Reg<self::Pa0PfsHa_SPEC, crate::common::RW> {
5424        unsafe {
5425            crate::common::Reg::<self::Pa0PfsHa_SPEC, crate::common::RW>::from_ptr(
5426                self._svd2pac_as_ptr().add(0x280usize),
5427            )
5428        }
5429    }
5430    #[inline(always)]
5431    pub const fn pa01pfs_ha(
5432        &self,
5433    ) -> &'static crate::common::Reg<self::Pa0PfsHa_SPEC, crate::common::RW> {
5434        unsafe {
5435            crate::common::Reg::<self::Pa0PfsHa_SPEC, crate::common::RW>::from_ptr(
5436                self._svd2pac_as_ptr().add(0x284usize),
5437            )
5438        }
5439    }
5440    #[inline(always)]
5441    pub const fn pa02pfs_ha(
5442        &self,
5443    ) -> &'static crate::common::Reg<self::Pa0PfsHa_SPEC, crate::common::RW> {
5444        unsafe {
5445            crate::common::Reg::<self::Pa0PfsHa_SPEC, crate::common::RW>::from_ptr(
5446                self._svd2pac_as_ptr().add(0x288usize),
5447            )
5448        }
5449    }
5450    #[inline(always)]
5451    pub const fn pa03pfs_ha(
5452        &self,
5453    ) -> &'static crate::common::Reg<self::Pa0PfsHa_SPEC, crate::common::RW> {
5454        unsafe {
5455            crate::common::Reg::<self::Pa0PfsHa_SPEC, crate::common::RW>::from_ptr(
5456                self._svd2pac_as_ptr().add(0x28cusize),
5457            )
5458        }
5459    }
5460    #[inline(always)]
5461    pub const fn pa04pfs_ha(
5462        &self,
5463    ) -> &'static crate::common::Reg<self::Pa0PfsHa_SPEC, crate::common::RW> {
5464        unsafe {
5465            crate::common::Reg::<self::Pa0PfsHa_SPEC, crate::common::RW>::from_ptr(
5466                self._svd2pac_as_ptr().add(0x290usize),
5467            )
5468        }
5469    }
5470    #[inline(always)]
5471    pub const fn pa05pfs_ha(
5472        &self,
5473    ) -> &'static crate::common::Reg<self::Pa0PfsHa_SPEC, crate::common::RW> {
5474        unsafe {
5475            crate::common::Reg::<self::Pa0PfsHa_SPEC, crate::common::RW>::from_ptr(
5476                self._svd2pac_as_ptr().add(0x294usize),
5477            )
5478        }
5479    }
5480    #[inline(always)]
5481    pub const fn pa06pfs_ha(
5482        &self,
5483    ) -> &'static crate::common::Reg<self::Pa0PfsHa_SPEC, crate::common::RW> {
5484        unsafe {
5485            crate::common::Reg::<self::Pa0PfsHa_SPEC, crate::common::RW>::from_ptr(
5486                self._svd2pac_as_ptr().add(0x298usize),
5487            )
5488        }
5489    }
5490    #[inline(always)]
5491    pub const fn pa07pfs_ha(
5492        &self,
5493    ) -> &'static crate::common::Reg<self::Pa0PfsHa_SPEC, crate::common::RW> {
5494        unsafe {
5495            crate::common::Reg::<self::Pa0PfsHa_SPEC, crate::common::RW>::from_ptr(
5496                self._svd2pac_as_ptr().add(0x29cusize),
5497            )
5498        }
5499    }
5500    #[inline(always)]
5501    pub const fn pa08pfs_ha(
5502        &self,
5503    ) -> &'static crate::common::Reg<self::Pa0PfsHa_SPEC, crate::common::RW> {
5504        unsafe {
5505            crate::common::Reg::<self::Pa0PfsHa_SPEC, crate::common::RW>::from_ptr(
5506                self._svd2pac_as_ptr().add(0x2a0usize),
5507            )
5508        }
5509    }
5510    #[inline(always)]
5511    pub const fn pa09pfs_ha(
5512        &self,
5513    ) -> &'static crate::common::Reg<self::Pa0PfsHa_SPEC, crate::common::RW> {
5514        unsafe {
5515            crate::common::Reg::<self::Pa0PfsHa_SPEC, crate::common::RW>::from_ptr(
5516                self._svd2pac_as_ptr().add(0x2a4usize),
5517            )
5518        }
5519    }
5520
5521    #[doc = "Port A0%s Pin Function Select Register"]
5522    #[inline(always)]
5523    pub const fn pa0pfs_by(
5524        &self,
5525    ) -> &'static crate::common::ClusterRegisterArray<
5526        crate::common::Reg<self::Pa0PfsBy_SPEC, crate::common::RW>,
5527        10,
5528        0x4,
5529    > {
5530        unsafe {
5531            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x280usize))
5532        }
5533    }
5534    #[inline(always)]
5535    pub const fn pa00pfs_by(
5536        &self,
5537    ) -> &'static crate::common::Reg<self::Pa0PfsBy_SPEC, crate::common::RW> {
5538        unsafe {
5539            crate::common::Reg::<self::Pa0PfsBy_SPEC, crate::common::RW>::from_ptr(
5540                self._svd2pac_as_ptr().add(0x280usize),
5541            )
5542        }
5543    }
5544    #[inline(always)]
5545    pub const fn pa01pfs_by(
5546        &self,
5547    ) -> &'static crate::common::Reg<self::Pa0PfsBy_SPEC, crate::common::RW> {
5548        unsafe {
5549            crate::common::Reg::<self::Pa0PfsBy_SPEC, crate::common::RW>::from_ptr(
5550                self._svd2pac_as_ptr().add(0x284usize),
5551            )
5552        }
5553    }
5554    #[inline(always)]
5555    pub const fn pa02pfs_by(
5556        &self,
5557    ) -> &'static crate::common::Reg<self::Pa0PfsBy_SPEC, crate::common::RW> {
5558        unsafe {
5559            crate::common::Reg::<self::Pa0PfsBy_SPEC, crate::common::RW>::from_ptr(
5560                self._svd2pac_as_ptr().add(0x288usize),
5561            )
5562        }
5563    }
5564    #[inline(always)]
5565    pub const fn pa03pfs_by(
5566        &self,
5567    ) -> &'static crate::common::Reg<self::Pa0PfsBy_SPEC, crate::common::RW> {
5568        unsafe {
5569            crate::common::Reg::<self::Pa0PfsBy_SPEC, crate::common::RW>::from_ptr(
5570                self._svd2pac_as_ptr().add(0x28cusize),
5571            )
5572        }
5573    }
5574    #[inline(always)]
5575    pub const fn pa04pfs_by(
5576        &self,
5577    ) -> &'static crate::common::Reg<self::Pa0PfsBy_SPEC, crate::common::RW> {
5578        unsafe {
5579            crate::common::Reg::<self::Pa0PfsBy_SPEC, crate::common::RW>::from_ptr(
5580                self._svd2pac_as_ptr().add(0x290usize),
5581            )
5582        }
5583    }
5584    #[inline(always)]
5585    pub const fn pa05pfs_by(
5586        &self,
5587    ) -> &'static crate::common::Reg<self::Pa0PfsBy_SPEC, crate::common::RW> {
5588        unsafe {
5589            crate::common::Reg::<self::Pa0PfsBy_SPEC, crate::common::RW>::from_ptr(
5590                self._svd2pac_as_ptr().add(0x294usize),
5591            )
5592        }
5593    }
5594    #[inline(always)]
5595    pub const fn pa06pfs_by(
5596        &self,
5597    ) -> &'static crate::common::Reg<self::Pa0PfsBy_SPEC, crate::common::RW> {
5598        unsafe {
5599            crate::common::Reg::<self::Pa0PfsBy_SPEC, crate::common::RW>::from_ptr(
5600                self._svd2pac_as_ptr().add(0x298usize),
5601            )
5602        }
5603    }
5604    #[inline(always)]
5605    pub const fn pa07pfs_by(
5606        &self,
5607    ) -> &'static crate::common::Reg<self::Pa0PfsBy_SPEC, crate::common::RW> {
5608        unsafe {
5609            crate::common::Reg::<self::Pa0PfsBy_SPEC, crate::common::RW>::from_ptr(
5610                self._svd2pac_as_ptr().add(0x29cusize),
5611            )
5612        }
5613    }
5614    #[inline(always)]
5615    pub const fn pa08pfs_by(
5616        &self,
5617    ) -> &'static crate::common::Reg<self::Pa0PfsBy_SPEC, crate::common::RW> {
5618        unsafe {
5619            crate::common::Reg::<self::Pa0PfsBy_SPEC, crate::common::RW>::from_ptr(
5620                self._svd2pac_as_ptr().add(0x2a0usize),
5621            )
5622        }
5623    }
5624    #[inline(always)]
5625    pub const fn pa09pfs_by(
5626        &self,
5627    ) -> &'static crate::common::Reg<self::Pa0PfsBy_SPEC, crate::common::RW> {
5628        unsafe {
5629            crate::common::Reg::<self::Pa0PfsBy_SPEC, crate::common::RW>::from_ptr(
5630                self._svd2pac_as_ptr().add(0x2a4usize),
5631            )
5632        }
5633    }
5634
5635    #[doc = "Port An Pin Function Select Register"]
5636    #[inline(always)]
5637    pub const fn papfs(
5638        &self,
5639    ) -> &'static crate::common::ClusterRegisterArray<
5640        crate::common::Reg<self::Papfs_SPEC, crate::common::RW>,
5641        6,
5642        0x4,
5643    > {
5644        unsafe {
5645            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x2a8usize))
5646        }
5647    }
5648    #[inline(always)]
5649    pub const fn pa10pfs(
5650        &self,
5651    ) -> &'static crate::common::Reg<self::Papfs_SPEC, crate::common::RW> {
5652        unsafe {
5653            crate::common::Reg::<self::Papfs_SPEC, crate::common::RW>::from_ptr(
5654                self._svd2pac_as_ptr().add(0x2a8usize),
5655            )
5656        }
5657    }
5658    #[inline(always)]
5659    pub const fn pa11pfs(
5660        &self,
5661    ) -> &'static crate::common::Reg<self::Papfs_SPEC, crate::common::RW> {
5662        unsafe {
5663            crate::common::Reg::<self::Papfs_SPEC, crate::common::RW>::from_ptr(
5664                self._svd2pac_as_ptr().add(0x2acusize),
5665            )
5666        }
5667    }
5668    #[inline(always)]
5669    pub const fn pa12pfs(
5670        &self,
5671    ) -> &'static crate::common::Reg<self::Papfs_SPEC, crate::common::RW> {
5672        unsafe {
5673            crate::common::Reg::<self::Papfs_SPEC, crate::common::RW>::from_ptr(
5674                self._svd2pac_as_ptr().add(0x2b0usize),
5675            )
5676        }
5677    }
5678    #[inline(always)]
5679    pub const fn pa13pfs(
5680        &self,
5681    ) -> &'static crate::common::Reg<self::Papfs_SPEC, crate::common::RW> {
5682        unsafe {
5683            crate::common::Reg::<self::Papfs_SPEC, crate::common::RW>::from_ptr(
5684                self._svd2pac_as_ptr().add(0x2b4usize),
5685            )
5686        }
5687    }
5688    #[inline(always)]
5689    pub const fn pa14pfs(
5690        &self,
5691    ) -> &'static crate::common::Reg<self::Papfs_SPEC, crate::common::RW> {
5692        unsafe {
5693            crate::common::Reg::<self::Papfs_SPEC, crate::common::RW>::from_ptr(
5694                self._svd2pac_as_ptr().add(0x2b8usize),
5695            )
5696        }
5697    }
5698    #[inline(always)]
5699    pub const fn pa15pfs(
5700        &self,
5701    ) -> &'static crate::common::Reg<self::Papfs_SPEC, crate::common::RW> {
5702        unsafe {
5703            crate::common::Reg::<self::Papfs_SPEC, crate::common::RW>::from_ptr(
5704                self._svd2pac_as_ptr().add(0x2bcusize),
5705            )
5706        }
5707    }
5708
5709    #[doc = "Port An Pin Function Select Register"]
5710    #[inline(always)]
5711    pub const fn papfs_ha(
5712        &self,
5713    ) -> &'static crate::common::ClusterRegisterArray<
5714        crate::common::Reg<self::PapfsHa_SPEC, crate::common::RW>,
5715        6,
5716        0x4,
5717    > {
5718        unsafe {
5719            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x2a8usize))
5720        }
5721    }
5722    #[inline(always)]
5723    pub const fn pa10pfs_ha(
5724        &self,
5725    ) -> &'static crate::common::Reg<self::PapfsHa_SPEC, crate::common::RW> {
5726        unsafe {
5727            crate::common::Reg::<self::PapfsHa_SPEC, crate::common::RW>::from_ptr(
5728                self._svd2pac_as_ptr().add(0x2a8usize),
5729            )
5730        }
5731    }
5732    #[inline(always)]
5733    pub const fn pa11pfs_ha(
5734        &self,
5735    ) -> &'static crate::common::Reg<self::PapfsHa_SPEC, crate::common::RW> {
5736        unsafe {
5737            crate::common::Reg::<self::PapfsHa_SPEC, crate::common::RW>::from_ptr(
5738                self._svd2pac_as_ptr().add(0x2acusize),
5739            )
5740        }
5741    }
5742    #[inline(always)]
5743    pub const fn pa12pfs_ha(
5744        &self,
5745    ) -> &'static crate::common::Reg<self::PapfsHa_SPEC, crate::common::RW> {
5746        unsafe {
5747            crate::common::Reg::<self::PapfsHa_SPEC, crate::common::RW>::from_ptr(
5748                self._svd2pac_as_ptr().add(0x2b0usize),
5749            )
5750        }
5751    }
5752    #[inline(always)]
5753    pub const fn pa13pfs_ha(
5754        &self,
5755    ) -> &'static crate::common::Reg<self::PapfsHa_SPEC, crate::common::RW> {
5756        unsafe {
5757            crate::common::Reg::<self::PapfsHa_SPEC, crate::common::RW>::from_ptr(
5758                self._svd2pac_as_ptr().add(0x2b4usize),
5759            )
5760        }
5761    }
5762    #[inline(always)]
5763    pub const fn pa14pfs_ha(
5764        &self,
5765    ) -> &'static crate::common::Reg<self::PapfsHa_SPEC, crate::common::RW> {
5766        unsafe {
5767            crate::common::Reg::<self::PapfsHa_SPEC, crate::common::RW>::from_ptr(
5768                self._svd2pac_as_ptr().add(0x2b8usize),
5769            )
5770        }
5771    }
5772    #[inline(always)]
5773    pub const fn pa15pfs_ha(
5774        &self,
5775    ) -> &'static crate::common::Reg<self::PapfsHa_SPEC, crate::common::RW> {
5776        unsafe {
5777            crate::common::Reg::<self::PapfsHa_SPEC, crate::common::RW>::from_ptr(
5778                self._svd2pac_as_ptr().add(0x2bcusize),
5779            )
5780        }
5781    }
5782
5783    #[doc = "Port An Pin Function Select Register"]
5784    #[inline(always)]
5785    pub const fn papfs_by(
5786        &self,
5787    ) -> &'static crate::common::ClusterRegisterArray<
5788        crate::common::Reg<self::PapfsBy_SPEC, crate::common::RW>,
5789        6,
5790        0x4,
5791    > {
5792        unsafe {
5793            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x2a8usize))
5794        }
5795    }
5796    #[inline(always)]
5797    pub const fn pa10pfs_by(
5798        &self,
5799    ) -> &'static crate::common::Reg<self::PapfsBy_SPEC, crate::common::RW> {
5800        unsafe {
5801            crate::common::Reg::<self::PapfsBy_SPEC, crate::common::RW>::from_ptr(
5802                self._svd2pac_as_ptr().add(0x2a8usize),
5803            )
5804        }
5805    }
5806    #[inline(always)]
5807    pub const fn pa11pfs_by(
5808        &self,
5809    ) -> &'static crate::common::Reg<self::PapfsBy_SPEC, crate::common::RW> {
5810        unsafe {
5811            crate::common::Reg::<self::PapfsBy_SPEC, crate::common::RW>::from_ptr(
5812                self._svd2pac_as_ptr().add(0x2acusize),
5813            )
5814        }
5815    }
5816    #[inline(always)]
5817    pub const fn pa12pfs_by(
5818        &self,
5819    ) -> &'static crate::common::Reg<self::PapfsBy_SPEC, crate::common::RW> {
5820        unsafe {
5821            crate::common::Reg::<self::PapfsBy_SPEC, crate::common::RW>::from_ptr(
5822                self._svd2pac_as_ptr().add(0x2b0usize),
5823            )
5824        }
5825    }
5826    #[inline(always)]
5827    pub const fn pa13pfs_by(
5828        &self,
5829    ) -> &'static crate::common::Reg<self::PapfsBy_SPEC, crate::common::RW> {
5830        unsafe {
5831            crate::common::Reg::<self::PapfsBy_SPEC, crate::common::RW>::from_ptr(
5832                self._svd2pac_as_ptr().add(0x2b4usize),
5833            )
5834        }
5835    }
5836    #[inline(always)]
5837    pub const fn pa14pfs_by(
5838        &self,
5839    ) -> &'static crate::common::Reg<self::PapfsBy_SPEC, crate::common::RW> {
5840        unsafe {
5841            crate::common::Reg::<self::PapfsBy_SPEC, crate::common::RW>::from_ptr(
5842                self._svd2pac_as_ptr().add(0x2b8usize),
5843            )
5844        }
5845    }
5846    #[inline(always)]
5847    pub const fn pa15pfs_by(
5848        &self,
5849    ) -> &'static crate::common::Reg<self::PapfsBy_SPEC, crate::common::RW> {
5850        unsafe {
5851            crate::common::Reg::<self::PapfsBy_SPEC, crate::common::RW>::from_ptr(
5852                self._svd2pac_as_ptr().add(0x2bcusize),
5853            )
5854        }
5855    }
5856
5857    #[doc = "Port B0%s Pin Function Select Register"]
5858    #[inline(always)]
5859    pub const fn pb0pfs(
5860        &self,
5861    ) -> &'static crate::common::ClusterRegisterArray<
5862        crate::common::Reg<self::Pb0Pfs_SPEC, crate::common::RW>,
5863        8,
5864        0x4,
5865    > {
5866        unsafe {
5867            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x2c0usize))
5868        }
5869    }
5870    #[inline(always)]
5871    pub const fn pb00pfs(
5872        &self,
5873    ) -> &'static crate::common::Reg<self::Pb0Pfs_SPEC, crate::common::RW> {
5874        unsafe {
5875            crate::common::Reg::<self::Pb0Pfs_SPEC, crate::common::RW>::from_ptr(
5876                self._svd2pac_as_ptr().add(0x2c0usize),
5877            )
5878        }
5879    }
5880    #[inline(always)]
5881    pub const fn pb01pfs(
5882        &self,
5883    ) -> &'static crate::common::Reg<self::Pb0Pfs_SPEC, crate::common::RW> {
5884        unsafe {
5885            crate::common::Reg::<self::Pb0Pfs_SPEC, crate::common::RW>::from_ptr(
5886                self._svd2pac_as_ptr().add(0x2c4usize),
5887            )
5888        }
5889    }
5890    #[inline(always)]
5891    pub const fn pb02pfs(
5892        &self,
5893    ) -> &'static crate::common::Reg<self::Pb0Pfs_SPEC, crate::common::RW> {
5894        unsafe {
5895            crate::common::Reg::<self::Pb0Pfs_SPEC, crate::common::RW>::from_ptr(
5896                self._svd2pac_as_ptr().add(0x2c8usize),
5897            )
5898        }
5899    }
5900    #[inline(always)]
5901    pub const fn pb03pfs(
5902        &self,
5903    ) -> &'static crate::common::Reg<self::Pb0Pfs_SPEC, crate::common::RW> {
5904        unsafe {
5905            crate::common::Reg::<self::Pb0Pfs_SPEC, crate::common::RW>::from_ptr(
5906                self._svd2pac_as_ptr().add(0x2ccusize),
5907            )
5908        }
5909    }
5910    #[inline(always)]
5911    pub const fn pb04pfs(
5912        &self,
5913    ) -> &'static crate::common::Reg<self::Pb0Pfs_SPEC, crate::common::RW> {
5914        unsafe {
5915            crate::common::Reg::<self::Pb0Pfs_SPEC, crate::common::RW>::from_ptr(
5916                self._svd2pac_as_ptr().add(0x2d0usize),
5917            )
5918        }
5919    }
5920    #[inline(always)]
5921    pub const fn pb05pfs(
5922        &self,
5923    ) -> &'static crate::common::Reg<self::Pb0Pfs_SPEC, crate::common::RW> {
5924        unsafe {
5925            crate::common::Reg::<self::Pb0Pfs_SPEC, crate::common::RW>::from_ptr(
5926                self._svd2pac_as_ptr().add(0x2d4usize),
5927            )
5928        }
5929    }
5930    #[inline(always)]
5931    pub const fn pb06pfs(
5932        &self,
5933    ) -> &'static crate::common::Reg<self::Pb0Pfs_SPEC, crate::common::RW> {
5934        unsafe {
5935            crate::common::Reg::<self::Pb0Pfs_SPEC, crate::common::RW>::from_ptr(
5936                self._svd2pac_as_ptr().add(0x2d8usize),
5937            )
5938        }
5939    }
5940    #[inline(always)]
5941    pub const fn pb07pfs(
5942        &self,
5943    ) -> &'static crate::common::Reg<self::Pb0Pfs_SPEC, crate::common::RW> {
5944        unsafe {
5945            crate::common::Reg::<self::Pb0Pfs_SPEC, crate::common::RW>::from_ptr(
5946                self._svd2pac_as_ptr().add(0x2dcusize),
5947            )
5948        }
5949    }
5950
5951    #[doc = "Port B0%s Pin Function Select Register"]
5952    #[inline(always)]
5953    pub const fn pb0pfs_ha(
5954        &self,
5955    ) -> &'static crate::common::ClusterRegisterArray<
5956        crate::common::Reg<self::Pb0PfsHa_SPEC, crate::common::RW>,
5957        8,
5958        0x4,
5959    > {
5960        unsafe {
5961            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x2c0usize))
5962        }
5963    }
5964    #[inline(always)]
5965    pub const fn pb00pfs_ha(
5966        &self,
5967    ) -> &'static crate::common::Reg<self::Pb0PfsHa_SPEC, crate::common::RW> {
5968        unsafe {
5969            crate::common::Reg::<self::Pb0PfsHa_SPEC, crate::common::RW>::from_ptr(
5970                self._svd2pac_as_ptr().add(0x2c0usize),
5971            )
5972        }
5973    }
5974    #[inline(always)]
5975    pub const fn pb01pfs_ha(
5976        &self,
5977    ) -> &'static crate::common::Reg<self::Pb0PfsHa_SPEC, crate::common::RW> {
5978        unsafe {
5979            crate::common::Reg::<self::Pb0PfsHa_SPEC, crate::common::RW>::from_ptr(
5980                self._svd2pac_as_ptr().add(0x2c4usize),
5981            )
5982        }
5983    }
5984    #[inline(always)]
5985    pub const fn pb02pfs_ha(
5986        &self,
5987    ) -> &'static crate::common::Reg<self::Pb0PfsHa_SPEC, crate::common::RW> {
5988        unsafe {
5989            crate::common::Reg::<self::Pb0PfsHa_SPEC, crate::common::RW>::from_ptr(
5990                self._svd2pac_as_ptr().add(0x2c8usize),
5991            )
5992        }
5993    }
5994    #[inline(always)]
5995    pub const fn pb03pfs_ha(
5996        &self,
5997    ) -> &'static crate::common::Reg<self::Pb0PfsHa_SPEC, crate::common::RW> {
5998        unsafe {
5999            crate::common::Reg::<self::Pb0PfsHa_SPEC, crate::common::RW>::from_ptr(
6000                self._svd2pac_as_ptr().add(0x2ccusize),
6001            )
6002        }
6003    }
6004    #[inline(always)]
6005    pub const fn pb04pfs_ha(
6006        &self,
6007    ) -> &'static crate::common::Reg<self::Pb0PfsHa_SPEC, crate::common::RW> {
6008        unsafe {
6009            crate::common::Reg::<self::Pb0PfsHa_SPEC, crate::common::RW>::from_ptr(
6010                self._svd2pac_as_ptr().add(0x2d0usize),
6011            )
6012        }
6013    }
6014    #[inline(always)]
6015    pub const fn pb05pfs_ha(
6016        &self,
6017    ) -> &'static crate::common::Reg<self::Pb0PfsHa_SPEC, crate::common::RW> {
6018        unsafe {
6019            crate::common::Reg::<self::Pb0PfsHa_SPEC, crate::common::RW>::from_ptr(
6020                self._svd2pac_as_ptr().add(0x2d4usize),
6021            )
6022        }
6023    }
6024    #[inline(always)]
6025    pub const fn pb06pfs_ha(
6026        &self,
6027    ) -> &'static crate::common::Reg<self::Pb0PfsHa_SPEC, crate::common::RW> {
6028        unsafe {
6029            crate::common::Reg::<self::Pb0PfsHa_SPEC, crate::common::RW>::from_ptr(
6030                self._svd2pac_as_ptr().add(0x2d8usize),
6031            )
6032        }
6033    }
6034    #[inline(always)]
6035    pub const fn pb07pfs_ha(
6036        &self,
6037    ) -> &'static crate::common::Reg<self::Pb0PfsHa_SPEC, crate::common::RW> {
6038        unsafe {
6039            crate::common::Reg::<self::Pb0PfsHa_SPEC, crate::common::RW>::from_ptr(
6040                self._svd2pac_as_ptr().add(0x2dcusize),
6041            )
6042        }
6043    }
6044
6045    #[doc = "Port B0%s Pin Function Select Register"]
6046    #[inline(always)]
6047    pub const fn pb0pfs_by(
6048        &self,
6049    ) -> &'static crate::common::ClusterRegisterArray<
6050        crate::common::Reg<self::Pb0PfsBy_SPEC, crate::common::RW>,
6051        8,
6052        0x4,
6053    > {
6054        unsafe {
6055            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x2c0usize))
6056        }
6057    }
6058    #[inline(always)]
6059    pub const fn pb00pfs_by(
6060        &self,
6061    ) -> &'static crate::common::Reg<self::Pb0PfsBy_SPEC, crate::common::RW> {
6062        unsafe {
6063            crate::common::Reg::<self::Pb0PfsBy_SPEC, crate::common::RW>::from_ptr(
6064                self._svd2pac_as_ptr().add(0x2c0usize),
6065            )
6066        }
6067    }
6068    #[inline(always)]
6069    pub const fn pb01pfs_by(
6070        &self,
6071    ) -> &'static crate::common::Reg<self::Pb0PfsBy_SPEC, crate::common::RW> {
6072        unsafe {
6073            crate::common::Reg::<self::Pb0PfsBy_SPEC, crate::common::RW>::from_ptr(
6074                self._svd2pac_as_ptr().add(0x2c4usize),
6075            )
6076        }
6077    }
6078    #[inline(always)]
6079    pub const fn pb02pfs_by(
6080        &self,
6081    ) -> &'static crate::common::Reg<self::Pb0PfsBy_SPEC, crate::common::RW> {
6082        unsafe {
6083            crate::common::Reg::<self::Pb0PfsBy_SPEC, crate::common::RW>::from_ptr(
6084                self._svd2pac_as_ptr().add(0x2c8usize),
6085            )
6086        }
6087    }
6088    #[inline(always)]
6089    pub const fn pb03pfs_by(
6090        &self,
6091    ) -> &'static crate::common::Reg<self::Pb0PfsBy_SPEC, crate::common::RW> {
6092        unsafe {
6093            crate::common::Reg::<self::Pb0PfsBy_SPEC, crate::common::RW>::from_ptr(
6094                self._svd2pac_as_ptr().add(0x2ccusize),
6095            )
6096        }
6097    }
6098    #[inline(always)]
6099    pub const fn pb04pfs_by(
6100        &self,
6101    ) -> &'static crate::common::Reg<self::Pb0PfsBy_SPEC, crate::common::RW> {
6102        unsafe {
6103            crate::common::Reg::<self::Pb0PfsBy_SPEC, crate::common::RW>::from_ptr(
6104                self._svd2pac_as_ptr().add(0x2d0usize),
6105            )
6106        }
6107    }
6108    #[inline(always)]
6109    pub const fn pb05pfs_by(
6110        &self,
6111    ) -> &'static crate::common::Reg<self::Pb0PfsBy_SPEC, crate::common::RW> {
6112        unsafe {
6113            crate::common::Reg::<self::Pb0PfsBy_SPEC, crate::common::RW>::from_ptr(
6114                self._svd2pac_as_ptr().add(0x2d4usize),
6115            )
6116        }
6117    }
6118    #[inline(always)]
6119    pub const fn pb06pfs_by(
6120        &self,
6121    ) -> &'static crate::common::Reg<self::Pb0PfsBy_SPEC, crate::common::RW> {
6122        unsafe {
6123            crate::common::Reg::<self::Pb0PfsBy_SPEC, crate::common::RW>::from_ptr(
6124                self._svd2pac_as_ptr().add(0x2d8usize),
6125            )
6126        }
6127    }
6128    #[inline(always)]
6129    pub const fn pb07pfs_by(
6130        &self,
6131    ) -> &'static crate::common::Reg<self::Pb0PfsBy_SPEC, crate::common::RW> {
6132        unsafe {
6133            crate::common::Reg::<self::Pb0PfsBy_SPEC, crate::common::RW>::from_ptr(
6134                self._svd2pac_as_ptr().add(0x2dcusize),
6135            )
6136        }
6137    }
6138
6139    #[doc = "Write-Protect Register for Secure"]
6140    #[inline(always)]
6141    pub const fn pwpr_s(&self) -> &'static crate::common::Reg<self::PwprS_SPEC, crate::common::RW> {
6142        unsafe {
6143            crate::common::Reg::<self::PwprS_SPEC, crate::common::RW>::from_ptr(
6144                self._svd2pac_as_ptr().add(1300usize),
6145            )
6146        }
6147    }
6148
6149    #[doc = "Port Security Attribution register"]
6150    #[inline(always)]
6151    pub const fn psar(
6152        &self,
6153    ) -> &'static crate::common::ClusterRegisterArray<
6154        crate::common::Reg<self::Psar_SPEC, crate::common::RW>,
6155        2,
6156        0x4,
6157    > {
6158        unsafe {
6159            crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x558usize))
6160        }
6161    }
6162    #[inline(always)]
6163    pub const fn pasar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
6164        unsafe {
6165            crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
6166                self._svd2pac_as_ptr().add(0x558usize),
6167            )
6168        }
6169    }
6170    #[inline(always)]
6171    pub const fn pbsar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
6172        unsafe {
6173            crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
6174                self._svd2pac_as_ptr().add(0x55cusize),
6175            )
6176        }
6177    }
6178}
6179#[doc(hidden)]
6180#[derive(Copy, Clone, Eq, PartialEq)]
6181pub struct P00Pfs_SPEC;
6182impl crate::sealed::RegSpec for P00Pfs_SPEC {
6183    type DataType = u32;
6184}
6185
6186#[doc = "Port 00%s Pin Function Select Register"]
6187pub type P00Pfs = crate::RegValueT<P00Pfs_SPEC>;
6188
6189impl P00Pfs {
6190    #[doc = "Port Output Data"]
6191    #[inline(always)]
6192    pub fn podr(
6193        self,
6194    ) -> crate::common::RegisterField<
6195        0,
6196        0x1,
6197        1,
6198        0,
6199        p00pfs::Podr,
6200        p00pfs::Podr,
6201        P00Pfs_SPEC,
6202        crate::common::RW,
6203    > {
6204        crate::common::RegisterField::<
6205            0,
6206            0x1,
6207            1,
6208            0,
6209            p00pfs::Podr,
6210            p00pfs::Podr,
6211            P00Pfs_SPEC,
6212            crate::common::RW,
6213        >::from_register(self, 0)
6214    }
6215
6216    #[doc = "Pmn State"]
6217    #[inline(always)]
6218    pub fn pidr(
6219        self,
6220    ) -> crate::common::RegisterField<
6221        1,
6222        0x1,
6223        1,
6224        0,
6225        p00pfs::Pidr,
6226        p00pfs::Pidr,
6227        P00Pfs_SPEC,
6228        crate::common::R,
6229    > {
6230        crate::common::RegisterField::<
6231            1,
6232            0x1,
6233            1,
6234            0,
6235            p00pfs::Pidr,
6236            p00pfs::Pidr,
6237            P00Pfs_SPEC,
6238            crate::common::R,
6239        >::from_register(self, 0)
6240    }
6241
6242    #[doc = "Port Direction"]
6243    #[inline(always)]
6244    pub fn pdr(
6245        self,
6246    ) -> crate::common::RegisterField<
6247        2,
6248        0x1,
6249        1,
6250        0,
6251        p00pfs::Pdr,
6252        p00pfs::Pdr,
6253        P00Pfs_SPEC,
6254        crate::common::RW,
6255    > {
6256        crate::common::RegisterField::<
6257            2,
6258            0x1,
6259            1,
6260            0,
6261            p00pfs::Pdr,
6262            p00pfs::Pdr,
6263            P00Pfs_SPEC,
6264            crate::common::RW,
6265        >::from_register(self, 0)
6266    }
6267
6268    #[doc = "Pull-up Control"]
6269    #[inline(always)]
6270    pub fn pcr(
6271        self,
6272    ) -> crate::common::RegisterField<
6273        4,
6274        0x1,
6275        1,
6276        0,
6277        p00pfs::Pcr,
6278        p00pfs::Pcr,
6279        P00Pfs_SPEC,
6280        crate::common::RW,
6281    > {
6282        crate::common::RegisterField::<
6283            4,
6284            0x1,
6285            1,
6286            0,
6287            p00pfs::Pcr,
6288            p00pfs::Pcr,
6289            P00Pfs_SPEC,
6290            crate::common::RW,
6291        >::from_register(self, 0)
6292    }
6293
6294    #[doc = "N-Channel Open-Drain Control"]
6295    #[inline(always)]
6296    pub fn ncodr(
6297        self,
6298    ) -> crate::common::RegisterField<
6299        6,
6300        0x1,
6301        1,
6302        0,
6303        p00pfs::Ncodr,
6304        p00pfs::Ncodr,
6305        P00Pfs_SPEC,
6306        crate::common::RW,
6307    > {
6308        crate::common::RegisterField::<
6309            6,
6310            0x1,
6311            1,
6312            0,
6313            p00pfs::Ncodr,
6314            p00pfs::Ncodr,
6315            P00Pfs_SPEC,
6316            crate::common::RW,
6317        >::from_register(self, 0)
6318    }
6319
6320    #[doc = "Port Drive Capability"]
6321    #[inline(always)]
6322    pub fn dscr(
6323        self,
6324    ) -> crate::common::RegisterField<
6325        10,
6326        0x3,
6327        1,
6328        0,
6329        p00pfs::Dscr,
6330        p00pfs::Dscr,
6331        P00Pfs_SPEC,
6332        crate::common::RW,
6333    > {
6334        crate::common::RegisterField::<
6335            10,
6336            0x3,
6337            1,
6338            0,
6339            p00pfs::Dscr,
6340            p00pfs::Dscr,
6341            P00Pfs_SPEC,
6342            crate::common::RW,
6343        >::from_register(self, 0)
6344    }
6345
6346    #[doc = "Event on Falling/Event on Rising"]
6347    #[inline(always)]
6348    pub fn eofr(
6349        self,
6350    ) -> crate::common::RegisterField<
6351        12,
6352        0x3,
6353        1,
6354        0,
6355        p00pfs::Eofr,
6356        p00pfs::Eofr,
6357        P00Pfs_SPEC,
6358        crate::common::RW,
6359    > {
6360        crate::common::RegisterField::<
6361            12,
6362            0x3,
6363            1,
6364            0,
6365            p00pfs::Eofr,
6366            p00pfs::Eofr,
6367            P00Pfs_SPEC,
6368            crate::common::RW,
6369        >::from_register(self, 0)
6370    }
6371
6372    #[doc = "IRQ Input Enable"]
6373    #[inline(always)]
6374    pub fn isel(
6375        self,
6376    ) -> crate::common::RegisterField<
6377        14,
6378        0x1,
6379        1,
6380        0,
6381        p00pfs::Isel,
6382        p00pfs::Isel,
6383        P00Pfs_SPEC,
6384        crate::common::RW,
6385    > {
6386        crate::common::RegisterField::<
6387            14,
6388            0x1,
6389            1,
6390            0,
6391            p00pfs::Isel,
6392            p00pfs::Isel,
6393            P00Pfs_SPEC,
6394            crate::common::RW,
6395        >::from_register(self, 0)
6396    }
6397
6398    #[doc = "Analog Input Enable"]
6399    #[inline(always)]
6400    pub fn asel(
6401        self,
6402    ) -> crate::common::RegisterField<
6403        15,
6404        0x1,
6405        1,
6406        0,
6407        p00pfs::Asel,
6408        p00pfs::Asel,
6409        P00Pfs_SPEC,
6410        crate::common::RW,
6411    > {
6412        crate::common::RegisterField::<
6413            15,
6414            0x1,
6415            1,
6416            0,
6417            p00pfs::Asel,
6418            p00pfs::Asel,
6419            P00Pfs_SPEC,
6420            crate::common::RW,
6421        >::from_register(self, 0)
6422    }
6423
6424    #[doc = "Port Mode Control"]
6425    #[inline(always)]
6426    pub fn pmr(
6427        self,
6428    ) -> crate::common::RegisterField<
6429        16,
6430        0x1,
6431        1,
6432        0,
6433        p00pfs::Pmr,
6434        p00pfs::Pmr,
6435        P00Pfs_SPEC,
6436        crate::common::RW,
6437    > {
6438        crate::common::RegisterField::<
6439            16,
6440            0x1,
6441            1,
6442            0,
6443            p00pfs::Pmr,
6444            p00pfs::Pmr,
6445            P00Pfs_SPEC,
6446            crate::common::RW,
6447        >::from_register(self, 0)
6448    }
6449
6450    #[doc = "Peripheral Select"]
6451    #[inline(always)]
6452    pub fn psel(
6453        self,
6454    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P00Pfs_SPEC, crate::common::RW> {
6455        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P00Pfs_SPEC,crate::common::RW>::from_register(self,0)
6456    }
6457}
6458impl ::core::default::Default for P00Pfs {
6459    #[inline(always)]
6460    fn default() -> P00Pfs {
6461        <crate::RegValueT<P00Pfs_SPEC> as RegisterValue<_>>::new(0)
6462    }
6463}
6464pub mod p00pfs {
6465
6466    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6467    pub struct Podr_SPEC;
6468    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6469    impl Podr {
6470        #[doc = "Low output"]
6471        pub const _0: Self = Self::new(0);
6472
6473        #[doc = "High output"]
6474        pub const _1: Self = Self::new(1);
6475    }
6476    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6477    pub struct Pidr_SPEC;
6478    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6479    impl Pidr {
6480        #[doc = "Low level"]
6481        pub const _0: Self = Self::new(0);
6482
6483        #[doc = "High level"]
6484        pub const _1: Self = Self::new(1);
6485    }
6486    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6487    pub struct Pdr_SPEC;
6488    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6489    impl Pdr {
6490        #[doc = "Input (functions as an input pin)"]
6491        pub const _0: Self = Self::new(0);
6492
6493        #[doc = "Output (functions as an output pin)"]
6494        pub const _1: Self = Self::new(1);
6495    }
6496    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6497    pub struct Pcr_SPEC;
6498    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6499    impl Pcr {
6500        #[doc = "Disable input pull-up"]
6501        pub const _0: Self = Self::new(0);
6502
6503        #[doc = "Enable input pull-up"]
6504        pub const _1: Self = Self::new(1);
6505    }
6506    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6507    pub struct Ncodr_SPEC;
6508    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6509    impl Ncodr {
6510        #[doc = "CMOS output"]
6511        pub const _0: Self = Self::new(0);
6512
6513        #[doc = "NMOS open-drain output"]
6514        pub const _1: Self = Self::new(1);
6515    }
6516    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6517    pub struct Dscr_SPEC;
6518    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
6519    impl Dscr {
6520        #[doc = "Low drive"]
6521        pub const _00: Self = Self::new(0);
6522
6523        #[doc = "Middle drive"]
6524        pub const _01: Self = Self::new(1);
6525
6526        #[doc = "High-speed high-drive"]
6527        pub const _10: Self = Self::new(2);
6528
6529        #[doc = "High drive"]
6530        pub const _11: Self = Self::new(3);
6531    }
6532    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6533    pub struct Eofr_SPEC;
6534    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
6535    impl Eofr {
6536        #[doc = "Don\'t care"]
6537        pub const _00: Self = Self::new(0);
6538
6539        #[doc = "Detect rising edge"]
6540        pub const _01: Self = Self::new(1);
6541
6542        #[doc = "Detect falling edge"]
6543        pub const _10: Self = Self::new(2);
6544
6545        #[doc = "Detect both edges"]
6546        pub const _11: Self = Self::new(3);
6547    }
6548    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6549    pub struct Isel_SPEC;
6550    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6551    impl Isel {
6552        #[doc = "Not used as an IRQn input pin"]
6553        pub const _0: Self = Self::new(0);
6554
6555        #[doc = "Used as an IRQn input pin"]
6556        pub const _1: Self = Self::new(1);
6557    }
6558    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6559    pub struct Asel_SPEC;
6560    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6561    impl Asel {
6562        #[doc = "Not used as an analog pin"]
6563        pub const _0: Self = Self::new(0);
6564
6565        #[doc = "Used as an analog pin"]
6566        pub const _1: Self = Self::new(1);
6567    }
6568    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6569    pub struct Pmr_SPEC;
6570    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
6571    impl Pmr {
6572        #[doc = "Used as a general I/O pin"]
6573        pub const _0: Self = Self::new(0);
6574
6575        #[doc = "Used as an I/O port for peripheral functions"]
6576        pub const _1: Self = Self::new(1);
6577    }
6578}
6579#[doc(hidden)]
6580#[derive(Copy, Clone, Eq, PartialEq)]
6581pub struct P00PfsHa_SPEC;
6582impl crate::sealed::RegSpec for P00PfsHa_SPEC {
6583    type DataType = u16;
6584}
6585
6586#[doc = "Port 00%s Pin Function Select Register"]
6587pub type P00PfsHa = crate::RegValueT<P00PfsHa_SPEC>;
6588
6589impl P00PfsHa {
6590    #[doc = "Port Mode Control"]
6591    #[inline(always)]
6592    pub fn pmr(
6593        self,
6594    ) -> crate::common::RegisterField<
6595        0,
6596        0x1,
6597        1,
6598        0,
6599        p00pfs_ha::Pmr,
6600        p00pfs_ha::Pmr,
6601        P00PfsHa_SPEC,
6602        crate::common::RW,
6603    > {
6604        crate::common::RegisterField::<
6605            0,
6606            0x1,
6607            1,
6608            0,
6609            p00pfs_ha::Pmr,
6610            p00pfs_ha::Pmr,
6611            P00PfsHa_SPEC,
6612            crate::common::RW,
6613        >::from_register(self, 0)
6614    }
6615
6616    #[doc = "Peripheral Select"]
6617    #[inline(always)]
6618    pub fn psel(
6619        self,
6620    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P00PfsHa_SPEC, crate::common::RW> {
6621        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P00PfsHa_SPEC,crate::common::RW>::from_register(self,0)
6622    }
6623}
6624impl ::core::default::Default for P00PfsHa {
6625    #[inline(always)]
6626    fn default() -> P00PfsHa {
6627        <crate::RegValueT<P00PfsHa_SPEC> as RegisterValue<_>>::new(0)
6628    }
6629}
6630pub mod p00pfs_ha {
6631
6632    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6633    pub struct Pmr_SPEC;
6634    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
6635    impl Pmr {
6636        #[doc = "Used as a general I/O pin"]
6637        pub const _0: Self = Self::new(0);
6638
6639        #[doc = "Used as an I/O port for peripheral functions"]
6640        pub const _1: Self = Self::new(1);
6641    }
6642}
6643#[doc(hidden)]
6644#[derive(Copy, Clone, Eq, PartialEq)]
6645pub struct P00PfsBy_SPEC;
6646impl crate::sealed::RegSpec for P00PfsBy_SPEC {
6647    type DataType = u8;
6648}
6649
6650#[doc = "Port 00%s Pin Function Select Register"]
6651pub type P00PfsBy = crate::RegValueT<P00PfsBy_SPEC>;
6652
6653impl P00PfsBy {
6654    #[doc = "Peripheral Select"]
6655    #[inline(always)]
6656    pub fn psel(
6657        self,
6658    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P00PfsBy_SPEC, crate::common::RW> {
6659        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P00PfsBy_SPEC,crate::common::RW>::from_register(self,0)
6660    }
6661}
6662impl ::core::default::Default for P00PfsBy {
6663    #[inline(always)]
6664    fn default() -> P00PfsBy {
6665        <crate::RegValueT<P00PfsBy_SPEC> as RegisterValue<_>>::new(0)
6666    }
6667}
6668
6669#[doc(hidden)]
6670#[derive(Copy, Clone, Eq, PartialEq)]
6671pub struct P0Pfs_SPEC;
6672impl crate::sealed::RegSpec for P0Pfs_SPEC {
6673    type DataType = u32;
6674}
6675
6676#[doc = "Port 0%s Pin Function Select Register"]
6677pub type P0Pfs = crate::RegValueT<P0Pfs_SPEC>;
6678
6679impl P0Pfs {
6680    #[doc = "Port Output Data"]
6681    #[inline(always)]
6682    pub fn podr(
6683        self,
6684    ) -> crate::common::RegisterField<
6685        0,
6686        0x1,
6687        1,
6688        0,
6689        p0pfs::Podr,
6690        p0pfs::Podr,
6691        P0Pfs_SPEC,
6692        crate::common::RW,
6693    > {
6694        crate::common::RegisterField::<
6695            0,
6696            0x1,
6697            1,
6698            0,
6699            p0pfs::Podr,
6700            p0pfs::Podr,
6701            P0Pfs_SPEC,
6702            crate::common::RW,
6703        >::from_register(self, 0)
6704    }
6705
6706    #[doc = "Pmn State"]
6707    #[inline(always)]
6708    pub fn pidr(
6709        self,
6710    ) -> crate::common::RegisterField<
6711        1,
6712        0x1,
6713        1,
6714        0,
6715        p0pfs::Pidr,
6716        p0pfs::Pidr,
6717        P0Pfs_SPEC,
6718        crate::common::R,
6719    > {
6720        crate::common::RegisterField::<
6721            1,
6722            0x1,
6723            1,
6724            0,
6725            p0pfs::Pidr,
6726            p0pfs::Pidr,
6727            P0Pfs_SPEC,
6728            crate::common::R,
6729        >::from_register(self, 0)
6730    }
6731
6732    #[doc = "Port Direction"]
6733    #[inline(always)]
6734    pub fn pdr(
6735        self,
6736    ) -> crate::common::RegisterField<
6737        2,
6738        0x1,
6739        1,
6740        0,
6741        p0pfs::Pdr,
6742        p0pfs::Pdr,
6743        P0Pfs_SPEC,
6744        crate::common::RW,
6745    > {
6746        crate::common::RegisterField::<
6747            2,
6748            0x1,
6749            1,
6750            0,
6751            p0pfs::Pdr,
6752            p0pfs::Pdr,
6753            P0Pfs_SPEC,
6754            crate::common::RW,
6755        >::from_register(self, 0)
6756    }
6757
6758    #[doc = "Pull-up Control"]
6759    #[inline(always)]
6760    pub fn pcr(
6761        self,
6762    ) -> crate::common::RegisterField<
6763        4,
6764        0x1,
6765        1,
6766        0,
6767        p0pfs::Pcr,
6768        p0pfs::Pcr,
6769        P0Pfs_SPEC,
6770        crate::common::RW,
6771    > {
6772        crate::common::RegisterField::<
6773            4,
6774            0x1,
6775            1,
6776            0,
6777            p0pfs::Pcr,
6778            p0pfs::Pcr,
6779            P0Pfs_SPEC,
6780            crate::common::RW,
6781        >::from_register(self, 0)
6782    }
6783
6784    #[doc = "N-Channel Open-Drain Control"]
6785    #[inline(always)]
6786    pub fn ncodr(
6787        self,
6788    ) -> crate::common::RegisterField<
6789        6,
6790        0x1,
6791        1,
6792        0,
6793        p0pfs::Ncodr,
6794        p0pfs::Ncodr,
6795        P0Pfs_SPEC,
6796        crate::common::RW,
6797    > {
6798        crate::common::RegisterField::<
6799            6,
6800            0x1,
6801            1,
6802            0,
6803            p0pfs::Ncodr,
6804            p0pfs::Ncodr,
6805            P0Pfs_SPEC,
6806            crate::common::RW,
6807        >::from_register(self, 0)
6808    }
6809
6810    #[doc = "Port Drive Capability"]
6811    #[inline(always)]
6812    pub fn dscr(
6813        self,
6814    ) -> crate::common::RegisterField<
6815        10,
6816        0x3,
6817        1,
6818        0,
6819        p0pfs::Dscr,
6820        p0pfs::Dscr,
6821        P0Pfs_SPEC,
6822        crate::common::RW,
6823    > {
6824        crate::common::RegisterField::<
6825            10,
6826            0x3,
6827            1,
6828            0,
6829            p0pfs::Dscr,
6830            p0pfs::Dscr,
6831            P0Pfs_SPEC,
6832            crate::common::RW,
6833        >::from_register(self, 0)
6834    }
6835
6836    #[doc = "Event on Falling/Event on Rising"]
6837    #[inline(always)]
6838    pub fn eofr(
6839        self,
6840    ) -> crate::common::RegisterField<
6841        12,
6842        0x3,
6843        1,
6844        0,
6845        p0pfs::Eofr,
6846        p0pfs::Eofr,
6847        P0Pfs_SPEC,
6848        crate::common::RW,
6849    > {
6850        crate::common::RegisterField::<
6851            12,
6852            0x3,
6853            1,
6854            0,
6855            p0pfs::Eofr,
6856            p0pfs::Eofr,
6857            P0Pfs_SPEC,
6858            crate::common::RW,
6859        >::from_register(self, 0)
6860    }
6861
6862    #[doc = "IRQ Input Enable"]
6863    #[inline(always)]
6864    pub fn isel(
6865        self,
6866    ) -> crate::common::RegisterField<
6867        14,
6868        0x1,
6869        1,
6870        0,
6871        p0pfs::Isel,
6872        p0pfs::Isel,
6873        P0Pfs_SPEC,
6874        crate::common::RW,
6875    > {
6876        crate::common::RegisterField::<
6877            14,
6878            0x1,
6879            1,
6880            0,
6881            p0pfs::Isel,
6882            p0pfs::Isel,
6883            P0Pfs_SPEC,
6884            crate::common::RW,
6885        >::from_register(self, 0)
6886    }
6887
6888    #[doc = "Analog Input Enable"]
6889    #[inline(always)]
6890    pub fn asel(
6891        self,
6892    ) -> crate::common::RegisterField<
6893        15,
6894        0x1,
6895        1,
6896        0,
6897        p0pfs::Asel,
6898        p0pfs::Asel,
6899        P0Pfs_SPEC,
6900        crate::common::RW,
6901    > {
6902        crate::common::RegisterField::<
6903            15,
6904            0x1,
6905            1,
6906            0,
6907            p0pfs::Asel,
6908            p0pfs::Asel,
6909            P0Pfs_SPEC,
6910            crate::common::RW,
6911        >::from_register(self, 0)
6912    }
6913
6914    #[doc = "Port Mode Control"]
6915    #[inline(always)]
6916    pub fn pmr(
6917        self,
6918    ) -> crate::common::RegisterField<
6919        16,
6920        0x1,
6921        1,
6922        0,
6923        p0pfs::Pmr,
6924        p0pfs::Pmr,
6925        P0Pfs_SPEC,
6926        crate::common::RW,
6927    > {
6928        crate::common::RegisterField::<
6929            16,
6930            0x1,
6931            1,
6932            0,
6933            p0pfs::Pmr,
6934            p0pfs::Pmr,
6935            P0Pfs_SPEC,
6936            crate::common::RW,
6937        >::from_register(self, 0)
6938    }
6939
6940    #[doc = "Peripheral Select"]
6941    #[inline(always)]
6942    pub fn psel(
6943        self,
6944    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P0Pfs_SPEC, crate::common::RW> {
6945        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P0Pfs_SPEC,crate::common::RW>::from_register(self,0)
6946    }
6947}
6948impl ::core::default::Default for P0Pfs {
6949    #[inline(always)]
6950    fn default() -> P0Pfs {
6951        <crate::RegValueT<P0Pfs_SPEC> as RegisterValue<_>>::new(0)
6952    }
6953}
6954pub mod p0pfs {
6955
6956    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6957    pub struct Podr_SPEC;
6958    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6959    impl Podr {
6960        #[doc = "Low output"]
6961        pub const _0: Self = Self::new(0);
6962
6963        #[doc = "High output"]
6964        pub const _1: Self = Self::new(1);
6965    }
6966    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6967    pub struct Pidr_SPEC;
6968    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6969    impl Pidr {
6970        #[doc = "Low level"]
6971        pub const _0: Self = Self::new(0);
6972
6973        #[doc = "High level"]
6974        pub const _1: Self = Self::new(1);
6975    }
6976    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6977    pub struct Pdr_SPEC;
6978    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6979    impl Pdr {
6980        #[doc = "Input (functions as an input pin)"]
6981        pub const _0: Self = Self::new(0);
6982
6983        #[doc = "Output (functions as an output pin)"]
6984        pub const _1: Self = Self::new(1);
6985    }
6986    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6987    pub struct Pcr_SPEC;
6988    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6989    impl Pcr {
6990        #[doc = "Disable input pull-up"]
6991        pub const _0: Self = Self::new(0);
6992
6993        #[doc = "Enable input pull-up"]
6994        pub const _1: Self = Self::new(1);
6995    }
6996    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6997    pub struct Ncodr_SPEC;
6998    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6999    impl Ncodr {
7000        #[doc = "CMOS output"]
7001        pub const _0: Self = Self::new(0);
7002
7003        #[doc = "NMOS open-drain output"]
7004        pub const _1: Self = Self::new(1);
7005    }
7006    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7007    pub struct Dscr_SPEC;
7008    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
7009    impl Dscr {
7010        #[doc = "Low drive"]
7011        pub const _00: Self = Self::new(0);
7012
7013        #[doc = "Middle drive"]
7014        pub const _01: Self = Self::new(1);
7015
7016        #[doc = "High-speed high-drive"]
7017        pub const _10: Self = Self::new(2);
7018
7019        #[doc = "High drive"]
7020        pub const _11: Self = Self::new(3);
7021    }
7022    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7023    pub struct Eofr_SPEC;
7024    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7025    impl Eofr {
7026        #[doc = "Don\'t care"]
7027        pub const _00: Self = Self::new(0);
7028
7029        #[doc = "Detect rising edge"]
7030        pub const _01: Self = Self::new(1);
7031
7032        #[doc = "Detect falling edge"]
7033        pub const _10: Self = Self::new(2);
7034
7035        #[doc = "Detect both edges"]
7036        pub const _11: Self = Self::new(3);
7037    }
7038    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7039    pub struct Isel_SPEC;
7040    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7041    impl Isel {
7042        #[doc = "Not used as an IRQn input pin"]
7043        pub const _0: Self = Self::new(0);
7044
7045        #[doc = "Used as an IRQn input pin"]
7046        pub const _1: Self = Self::new(1);
7047    }
7048    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7049    pub struct Asel_SPEC;
7050    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7051    impl Asel {
7052        #[doc = "Not used as an analog pin"]
7053        pub const _0: Self = Self::new(0);
7054
7055        #[doc = "Used as an analog pin"]
7056        pub const _1: Self = Self::new(1);
7057    }
7058    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7059    pub struct Pmr_SPEC;
7060    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
7061    impl Pmr {
7062        #[doc = "Used as a general I/O pin"]
7063        pub const _0: Self = Self::new(0);
7064
7065        #[doc = "Used as an I/O port for peripheral functions"]
7066        pub const _1: Self = Self::new(1);
7067    }
7068}
7069#[doc(hidden)]
7070#[derive(Copy, Clone, Eq, PartialEq)]
7071pub struct P0PfsHa_SPEC;
7072impl crate::sealed::RegSpec for P0PfsHa_SPEC {
7073    type DataType = u16;
7074}
7075
7076#[doc = "Port 0%s Pin Function Select Register"]
7077pub type P0PfsHa = crate::RegValueT<P0PfsHa_SPEC>;
7078
7079impl P0PfsHa {
7080    #[doc = "Port Mode Control"]
7081    #[inline(always)]
7082    pub fn pmr(
7083        self,
7084    ) -> crate::common::RegisterField<
7085        0,
7086        0x1,
7087        1,
7088        0,
7089        p0pfs_ha::Pmr,
7090        p0pfs_ha::Pmr,
7091        P0PfsHa_SPEC,
7092        crate::common::RW,
7093    > {
7094        crate::common::RegisterField::<
7095            0,
7096            0x1,
7097            1,
7098            0,
7099            p0pfs_ha::Pmr,
7100            p0pfs_ha::Pmr,
7101            P0PfsHa_SPEC,
7102            crate::common::RW,
7103        >::from_register(self, 0)
7104    }
7105
7106    #[doc = "Peripheral Select"]
7107    #[inline(always)]
7108    pub fn psel(
7109        self,
7110    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P0PfsHa_SPEC, crate::common::RW> {
7111        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P0PfsHa_SPEC,crate::common::RW>::from_register(self,0)
7112    }
7113}
7114impl ::core::default::Default for P0PfsHa {
7115    #[inline(always)]
7116    fn default() -> P0PfsHa {
7117        <crate::RegValueT<P0PfsHa_SPEC> as RegisterValue<_>>::new(0)
7118    }
7119}
7120pub mod p0pfs_ha {
7121
7122    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7123    pub struct Pmr_SPEC;
7124    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
7125    impl Pmr {
7126        #[doc = "Used as a general I/O pin"]
7127        pub const _0: Self = Self::new(0);
7128
7129        #[doc = "Used as an I/O port for peripheral functions"]
7130        pub const _1: Self = Self::new(1);
7131    }
7132}
7133#[doc(hidden)]
7134#[derive(Copy, Clone, Eq, PartialEq)]
7135pub struct P0PfsBy_SPEC;
7136impl crate::sealed::RegSpec for P0PfsBy_SPEC {
7137    type DataType = u8;
7138}
7139
7140#[doc = "Port 0%s Pin Function Select Register"]
7141pub type P0PfsBy = crate::RegValueT<P0PfsBy_SPEC>;
7142
7143impl P0PfsBy {
7144    #[doc = "Peripheral Select"]
7145    #[inline(always)]
7146    pub fn psel(
7147        self,
7148    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P0PfsBy_SPEC, crate::common::RW> {
7149        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P0PfsBy_SPEC,crate::common::RW>::from_register(self,0)
7150    }
7151}
7152impl ::core::default::Default for P0PfsBy {
7153    #[inline(always)]
7154    fn default() -> P0PfsBy {
7155        <crate::RegValueT<P0PfsBy_SPEC> as RegisterValue<_>>::new(0)
7156    }
7157}
7158
7159#[doc(hidden)]
7160#[derive(Copy, Clone, Eq, PartialEq)]
7161pub struct P10Pfs_SPEC;
7162impl crate::sealed::RegSpec for P10Pfs_SPEC {
7163    type DataType = u32;
7164}
7165
7166#[doc = "Port 10%s Pin Function Select Register"]
7167pub type P10Pfs = crate::RegValueT<P10Pfs_SPEC>;
7168
7169impl P10Pfs {
7170    #[doc = "Port Output Data"]
7171    #[inline(always)]
7172    pub fn podr(
7173        self,
7174    ) -> crate::common::RegisterField<
7175        0,
7176        0x1,
7177        1,
7178        0,
7179        p10pfs::Podr,
7180        p10pfs::Podr,
7181        P10Pfs_SPEC,
7182        crate::common::RW,
7183    > {
7184        crate::common::RegisterField::<
7185            0,
7186            0x1,
7187            1,
7188            0,
7189            p10pfs::Podr,
7190            p10pfs::Podr,
7191            P10Pfs_SPEC,
7192            crate::common::RW,
7193        >::from_register(self, 0)
7194    }
7195
7196    #[doc = "Pmn State"]
7197    #[inline(always)]
7198    pub fn pidr(
7199        self,
7200    ) -> crate::common::RegisterField<
7201        1,
7202        0x1,
7203        1,
7204        0,
7205        p10pfs::Pidr,
7206        p10pfs::Pidr,
7207        P10Pfs_SPEC,
7208        crate::common::R,
7209    > {
7210        crate::common::RegisterField::<
7211            1,
7212            0x1,
7213            1,
7214            0,
7215            p10pfs::Pidr,
7216            p10pfs::Pidr,
7217            P10Pfs_SPEC,
7218            crate::common::R,
7219        >::from_register(self, 0)
7220    }
7221
7222    #[doc = "Port Direction"]
7223    #[inline(always)]
7224    pub fn pdr(
7225        self,
7226    ) -> crate::common::RegisterField<
7227        2,
7228        0x1,
7229        1,
7230        0,
7231        p10pfs::Pdr,
7232        p10pfs::Pdr,
7233        P10Pfs_SPEC,
7234        crate::common::RW,
7235    > {
7236        crate::common::RegisterField::<
7237            2,
7238            0x1,
7239            1,
7240            0,
7241            p10pfs::Pdr,
7242            p10pfs::Pdr,
7243            P10Pfs_SPEC,
7244            crate::common::RW,
7245        >::from_register(self, 0)
7246    }
7247
7248    #[doc = "Pull-up Control"]
7249    #[inline(always)]
7250    pub fn pcr(
7251        self,
7252    ) -> crate::common::RegisterField<
7253        4,
7254        0x1,
7255        1,
7256        0,
7257        p10pfs::Pcr,
7258        p10pfs::Pcr,
7259        P10Pfs_SPEC,
7260        crate::common::RW,
7261    > {
7262        crate::common::RegisterField::<
7263            4,
7264            0x1,
7265            1,
7266            0,
7267            p10pfs::Pcr,
7268            p10pfs::Pcr,
7269            P10Pfs_SPEC,
7270            crate::common::RW,
7271        >::from_register(self, 0)
7272    }
7273
7274    #[doc = "N-Channel Open-Drain Control"]
7275    #[inline(always)]
7276    pub fn ncodr(
7277        self,
7278    ) -> crate::common::RegisterField<
7279        6,
7280        0x1,
7281        1,
7282        0,
7283        p10pfs::Ncodr,
7284        p10pfs::Ncodr,
7285        P10Pfs_SPEC,
7286        crate::common::RW,
7287    > {
7288        crate::common::RegisterField::<
7289            6,
7290            0x1,
7291            1,
7292            0,
7293            p10pfs::Ncodr,
7294            p10pfs::Ncodr,
7295            P10Pfs_SPEC,
7296            crate::common::RW,
7297        >::from_register(self, 0)
7298    }
7299
7300    #[doc = "Port Drive Capability"]
7301    #[inline(always)]
7302    pub fn dscr(
7303        self,
7304    ) -> crate::common::RegisterField<
7305        10,
7306        0x3,
7307        1,
7308        0,
7309        p10pfs::Dscr,
7310        p10pfs::Dscr,
7311        P10Pfs_SPEC,
7312        crate::common::RW,
7313    > {
7314        crate::common::RegisterField::<
7315            10,
7316            0x3,
7317            1,
7318            0,
7319            p10pfs::Dscr,
7320            p10pfs::Dscr,
7321            P10Pfs_SPEC,
7322            crate::common::RW,
7323        >::from_register(self, 0)
7324    }
7325
7326    #[doc = "Event on Falling/Event on Rising"]
7327    #[inline(always)]
7328    pub fn eofr(
7329        self,
7330    ) -> crate::common::RegisterField<
7331        12,
7332        0x3,
7333        1,
7334        0,
7335        p10pfs::Eofr,
7336        p10pfs::Eofr,
7337        P10Pfs_SPEC,
7338        crate::common::RW,
7339    > {
7340        crate::common::RegisterField::<
7341            12,
7342            0x3,
7343            1,
7344            0,
7345            p10pfs::Eofr,
7346            p10pfs::Eofr,
7347            P10Pfs_SPEC,
7348            crate::common::RW,
7349        >::from_register(self, 0)
7350    }
7351
7352    #[doc = "IRQ Input Enable"]
7353    #[inline(always)]
7354    pub fn isel(
7355        self,
7356    ) -> crate::common::RegisterField<
7357        14,
7358        0x1,
7359        1,
7360        0,
7361        p10pfs::Isel,
7362        p10pfs::Isel,
7363        P10Pfs_SPEC,
7364        crate::common::RW,
7365    > {
7366        crate::common::RegisterField::<
7367            14,
7368            0x1,
7369            1,
7370            0,
7371            p10pfs::Isel,
7372            p10pfs::Isel,
7373            P10Pfs_SPEC,
7374            crate::common::RW,
7375        >::from_register(self, 0)
7376    }
7377
7378    #[doc = "Analog Input Enable"]
7379    #[inline(always)]
7380    pub fn asel(
7381        self,
7382    ) -> crate::common::RegisterField<
7383        15,
7384        0x1,
7385        1,
7386        0,
7387        p10pfs::Asel,
7388        p10pfs::Asel,
7389        P10Pfs_SPEC,
7390        crate::common::RW,
7391    > {
7392        crate::common::RegisterField::<
7393            15,
7394            0x1,
7395            1,
7396            0,
7397            p10pfs::Asel,
7398            p10pfs::Asel,
7399            P10Pfs_SPEC,
7400            crate::common::RW,
7401        >::from_register(self, 0)
7402    }
7403
7404    #[doc = "Port Mode Control"]
7405    #[inline(always)]
7406    pub fn pmr(
7407        self,
7408    ) -> crate::common::RegisterField<
7409        16,
7410        0x1,
7411        1,
7412        0,
7413        p10pfs::Pmr,
7414        p10pfs::Pmr,
7415        P10Pfs_SPEC,
7416        crate::common::RW,
7417    > {
7418        crate::common::RegisterField::<
7419            16,
7420            0x1,
7421            1,
7422            0,
7423            p10pfs::Pmr,
7424            p10pfs::Pmr,
7425            P10Pfs_SPEC,
7426            crate::common::RW,
7427        >::from_register(self, 0)
7428    }
7429
7430    #[doc = "Peripheral Select"]
7431    #[inline(always)]
7432    pub fn psel(
7433        self,
7434    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P10Pfs_SPEC, crate::common::RW> {
7435        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P10Pfs_SPEC,crate::common::RW>::from_register(self,0)
7436    }
7437}
7438impl ::core::default::Default for P10Pfs {
7439    #[inline(always)]
7440    fn default() -> P10Pfs {
7441        <crate::RegValueT<P10Pfs_SPEC> as RegisterValue<_>>::new(0)
7442    }
7443}
7444pub mod p10pfs {
7445
7446    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7447    pub struct Podr_SPEC;
7448    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7449    impl Podr {
7450        #[doc = "Low output"]
7451        pub const _0: Self = Self::new(0);
7452
7453        #[doc = "High output"]
7454        pub const _1: Self = Self::new(1);
7455    }
7456    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7457    pub struct Pidr_SPEC;
7458    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7459    impl Pidr {
7460        #[doc = "Low level"]
7461        pub const _0: Self = Self::new(0);
7462
7463        #[doc = "High level"]
7464        pub const _1: Self = Self::new(1);
7465    }
7466    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7467    pub struct Pdr_SPEC;
7468    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7469    impl Pdr {
7470        #[doc = "Input (functions as an input pin)"]
7471        pub const _0: Self = Self::new(0);
7472
7473        #[doc = "Output (functions as an output pin)"]
7474        pub const _1: Self = Self::new(1);
7475    }
7476    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7477    pub struct Pcr_SPEC;
7478    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7479    impl Pcr {
7480        #[doc = "Disable input pull-up"]
7481        pub const _0: Self = Self::new(0);
7482
7483        #[doc = "Enable input pull-up"]
7484        pub const _1: Self = Self::new(1);
7485    }
7486    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7487    pub struct Ncodr_SPEC;
7488    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7489    impl Ncodr {
7490        #[doc = "CMOS output"]
7491        pub const _0: Self = Self::new(0);
7492
7493        #[doc = "NMOS open-drain output"]
7494        pub const _1: Self = Self::new(1);
7495    }
7496    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7497    pub struct Dscr_SPEC;
7498    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
7499    impl Dscr {
7500        #[doc = "Low drive"]
7501        pub const _00: Self = Self::new(0);
7502
7503        #[doc = "Middle drive"]
7504        pub const _01: Self = Self::new(1);
7505
7506        #[doc = "High-speed high-drive"]
7507        pub const _10: Self = Self::new(2);
7508
7509        #[doc = "High drive"]
7510        pub const _11: Self = Self::new(3);
7511    }
7512    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7513    pub struct Eofr_SPEC;
7514    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7515    impl Eofr {
7516        #[doc = "Don\'t care"]
7517        pub const _00: Self = Self::new(0);
7518
7519        #[doc = "Detect rising edge"]
7520        pub const _01: Self = Self::new(1);
7521
7522        #[doc = "Detect falling edge"]
7523        pub const _10: Self = Self::new(2);
7524
7525        #[doc = "Detect both edges"]
7526        pub const _11: Self = Self::new(3);
7527    }
7528    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7529    pub struct Isel_SPEC;
7530    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7531    impl Isel {
7532        #[doc = "Not used as an IRQn input pin"]
7533        pub const _0: Self = Self::new(0);
7534
7535        #[doc = "Used as an IRQn input pin"]
7536        pub const _1: Self = Self::new(1);
7537    }
7538    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7539    pub struct Asel_SPEC;
7540    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7541    impl Asel {
7542        #[doc = "Not used as an analog pin"]
7543        pub const _0: Self = Self::new(0);
7544
7545        #[doc = "Used as an analog pin"]
7546        pub const _1: Self = Self::new(1);
7547    }
7548    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7549    pub struct Pmr_SPEC;
7550    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
7551    impl Pmr {
7552        #[doc = "Used as a general I/O pin"]
7553        pub const _0: Self = Self::new(0);
7554
7555        #[doc = "Used as an I/O port for peripheral functions"]
7556        pub const _1: Self = Self::new(1);
7557    }
7558}
7559#[doc(hidden)]
7560#[derive(Copy, Clone, Eq, PartialEq)]
7561pub struct P10PfsHa_SPEC;
7562impl crate::sealed::RegSpec for P10PfsHa_SPEC {
7563    type DataType = u16;
7564}
7565
7566#[doc = "Port 10%s Pin Function Select Register"]
7567pub type P10PfsHa = crate::RegValueT<P10PfsHa_SPEC>;
7568
7569impl P10PfsHa {
7570    #[doc = "Port Mode Control"]
7571    #[inline(always)]
7572    pub fn pmr(
7573        self,
7574    ) -> crate::common::RegisterField<
7575        0,
7576        0x1,
7577        1,
7578        0,
7579        p10pfs_ha::Pmr,
7580        p10pfs_ha::Pmr,
7581        P10PfsHa_SPEC,
7582        crate::common::RW,
7583    > {
7584        crate::common::RegisterField::<
7585            0,
7586            0x1,
7587            1,
7588            0,
7589            p10pfs_ha::Pmr,
7590            p10pfs_ha::Pmr,
7591            P10PfsHa_SPEC,
7592            crate::common::RW,
7593        >::from_register(self, 0)
7594    }
7595
7596    #[doc = "Peripheral Select"]
7597    #[inline(always)]
7598    pub fn psel(
7599        self,
7600    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P10PfsHa_SPEC, crate::common::RW> {
7601        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P10PfsHa_SPEC,crate::common::RW>::from_register(self,0)
7602    }
7603}
7604impl ::core::default::Default for P10PfsHa {
7605    #[inline(always)]
7606    fn default() -> P10PfsHa {
7607        <crate::RegValueT<P10PfsHa_SPEC> as RegisterValue<_>>::new(0)
7608    }
7609}
7610pub mod p10pfs_ha {
7611
7612    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7613    pub struct Pmr_SPEC;
7614    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
7615    impl Pmr {
7616        #[doc = "Used as a general I/O pin"]
7617        pub const _0: Self = Self::new(0);
7618
7619        #[doc = "Used as an I/O port for peripheral functions"]
7620        pub const _1: Self = Self::new(1);
7621    }
7622}
7623#[doc(hidden)]
7624#[derive(Copy, Clone, Eq, PartialEq)]
7625pub struct P10PfsBy_SPEC;
7626impl crate::sealed::RegSpec for P10PfsBy_SPEC {
7627    type DataType = u8;
7628}
7629
7630#[doc = "Port 10%s Pin Function Select Register"]
7631pub type P10PfsBy = crate::RegValueT<P10PfsBy_SPEC>;
7632
7633impl P10PfsBy {
7634    #[doc = "Peripheral Select"]
7635    #[inline(always)]
7636    pub fn psel(
7637        self,
7638    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P10PfsBy_SPEC, crate::common::RW> {
7639        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P10PfsBy_SPEC,crate::common::RW>::from_register(self,0)
7640    }
7641}
7642impl ::core::default::Default for P10PfsBy {
7643    #[inline(always)]
7644    fn default() -> P10PfsBy {
7645        <crate::RegValueT<P10PfsBy_SPEC> as RegisterValue<_>>::new(0)
7646    }
7647}
7648
7649#[doc(hidden)]
7650#[derive(Copy, Clone, Eq, PartialEq)]
7651pub struct P1Pfs_SPEC;
7652impl crate::sealed::RegSpec for P1Pfs_SPEC {
7653    type DataType = u32;
7654}
7655
7656#[doc = "Port 1%s Pin Function Select Register"]
7657pub type P1Pfs = crate::RegValueT<P1Pfs_SPEC>;
7658
7659impl P1Pfs {
7660    #[doc = "Port Output Data"]
7661    #[inline(always)]
7662    pub fn podr(
7663        self,
7664    ) -> crate::common::RegisterField<
7665        0,
7666        0x1,
7667        1,
7668        0,
7669        p1pfs::Podr,
7670        p1pfs::Podr,
7671        P1Pfs_SPEC,
7672        crate::common::RW,
7673    > {
7674        crate::common::RegisterField::<
7675            0,
7676            0x1,
7677            1,
7678            0,
7679            p1pfs::Podr,
7680            p1pfs::Podr,
7681            P1Pfs_SPEC,
7682            crate::common::RW,
7683        >::from_register(self, 0)
7684    }
7685
7686    #[doc = "Pmn State"]
7687    #[inline(always)]
7688    pub fn pidr(
7689        self,
7690    ) -> crate::common::RegisterField<
7691        1,
7692        0x1,
7693        1,
7694        0,
7695        p1pfs::Pidr,
7696        p1pfs::Pidr,
7697        P1Pfs_SPEC,
7698        crate::common::R,
7699    > {
7700        crate::common::RegisterField::<
7701            1,
7702            0x1,
7703            1,
7704            0,
7705            p1pfs::Pidr,
7706            p1pfs::Pidr,
7707            P1Pfs_SPEC,
7708            crate::common::R,
7709        >::from_register(self, 0)
7710    }
7711
7712    #[doc = "Port Direction"]
7713    #[inline(always)]
7714    pub fn pdr(
7715        self,
7716    ) -> crate::common::RegisterField<
7717        2,
7718        0x1,
7719        1,
7720        0,
7721        p1pfs::Pdr,
7722        p1pfs::Pdr,
7723        P1Pfs_SPEC,
7724        crate::common::RW,
7725    > {
7726        crate::common::RegisterField::<
7727            2,
7728            0x1,
7729            1,
7730            0,
7731            p1pfs::Pdr,
7732            p1pfs::Pdr,
7733            P1Pfs_SPEC,
7734            crate::common::RW,
7735        >::from_register(self, 0)
7736    }
7737
7738    #[doc = "Pull-up Control"]
7739    #[inline(always)]
7740    pub fn pcr(
7741        self,
7742    ) -> crate::common::RegisterField<
7743        4,
7744        0x1,
7745        1,
7746        0,
7747        p1pfs::Pcr,
7748        p1pfs::Pcr,
7749        P1Pfs_SPEC,
7750        crate::common::RW,
7751    > {
7752        crate::common::RegisterField::<
7753            4,
7754            0x1,
7755            1,
7756            0,
7757            p1pfs::Pcr,
7758            p1pfs::Pcr,
7759            P1Pfs_SPEC,
7760            crate::common::RW,
7761        >::from_register(self, 0)
7762    }
7763
7764    #[doc = "N-Channel Open-Drain Control"]
7765    #[inline(always)]
7766    pub fn ncodr(
7767        self,
7768    ) -> crate::common::RegisterField<
7769        6,
7770        0x1,
7771        1,
7772        0,
7773        p1pfs::Ncodr,
7774        p1pfs::Ncodr,
7775        P1Pfs_SPEC,
7776        crate::common::RW,
7777    > {
7778        crate::common::RegisterField::<
7779            6,
7780            0x1,
7781            1,
7782            0,
7783            p1pfs::Ncodr,
7784            p1pfs::Ncodr,
7785            P1Pfs_SPEC,
7786            crate::common::RW,
7787        >::from_register(self, 0)
7788    }
7789
7790    #[doc = "Port Drive Capability"]
7791    #[inline(always)]
7792    pub fn dscr(
7793        self,
7794    ) -> crate::common::RegisterField<
7795        10,
7796        0x3,
7797        1,
7798        0,
7799        p1pfs::Dscr,
7800        p1pfs::Dscr,
7801        P1Pfs_SPEC,
7802        crate::common::RW,
7803    > {
7804        crate::common::RegisterField::<
7805            10,
7806            0x3,
7807            1,
7808            0,
7809            p1pfs::Dscr,
7810            p1pfs::Dscr,
7811            P1Pfs_SPEC,
7812            crate::common::RW,
7813        >::from_register(self, 0)
7814    }
7815
7816    #[doc = "Event on Falling/Event on Rising"]
7817    #[inline(always)]
7818    pub fn eofr(
7819        self,
7820    ) -> crate::common::RegisterField<
7821        12,
7822        0x3,
7823        1,
7824        0,
7825        p1pfs::Eofr,
7826        p1pfs::Eofr,
7827        P1Pfs_SPEC,
7828        crate::common::RW,
7829    > {
7830        crate::common::RegisterField::<
7831            12,
7832            0x3,
7833            1,
7834            0,
7835            p1pfs::Eofr,
7836            p1pfs::Eofr,
7837            P1Pfs_SPEC,
7838            crate::common::RW,
7839        >::from_register(self, 0)
7840    }
7841
7842    #[doc = "IRQ Input Enable"]
7843    #[inline(always)]
7844    pub fn isel(
7845        self,
7846    ) -> crate::common::RegisterField<
7847        14,
7848        0x1,
7849        1,
7850        0,
7851        p1pfs::Isel,
7852        p1pfs::Isel,
7853        P1Pfs_SPEC,
7854        crate::common::RW,
7855    > {
7856        crate::common::RegisterField::<
7857            14,
7858            0x1,
7859            1,
7860            0,
7861            p1pfs::Isel,
7862            p1pfs::Isel,
7863            P1Pfs_SPEC,
7864            crate::common::RW,
7865        >::from_register(self, 0)
7866    }
7867
7868    #[doc = "Analog Input Enable"]
7869    #[inline(always)]
7870    pub fn asel(
7871        self,
7872    ) -> crate::common::RegisterField<
7873        15,
7874        0x1,
7875        1,
7876        0,
7877        p1pfs::Asel,
7878        p1pfs::Asel,
7879        P1Pfs_SPEC,
7880        crate::common::RW,
7881    > {
7882        crate::common::RegisterField::<
7883            15,
7884            0x1,
7885            1,
7886            0,
7887            p1pfs::Asel,
7888            p1pfs::Asel,
7889            P1Pfs_SPEC,
7890            crate::common::RW,
7891        >::from_register(self, 0)
7892    }
7893
7894    #[doc = "Port Mode Control"]
7895    #[inline(always)]
7896    pub fn pmr(
7897        self,
7898    ) -> crate::common::RegisterField<
7899        16,
7900        0x1,
7901        1,
7902        0,
7903        p1pfs::Pmr,
7904        p1pfs::Pmr,
7905        P1Pfs_SPEC,
7906        crate::common::RW,
7907    > {
7908        crate::common::RegisterField::<
7909            16,
7910            0x1,
7911            1,
7912            0,
7913            p1pfs::Pmr,
7914            p1pfs::Pmr,
7915            P1Pfs_SPEC,
7916            crate::common::RW,
7917        >::from_register(self, 0)
7918    }
7919
7920    #[doc = "Peripheral Select"]
7921    #[inline(always)]
7922    pub fn psel(
7923        self,
7924    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P1Pfs_SPEC, crate::common::RW> {
7925        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P1Pfs_SPEC,crate::common::RW>::from_register(self,0)
7926    }
7927}
7928impl ::core::default::Default for P1Pfs {
7929    #[inline(always)]
7930    fn default() -> P1Pfs {
7931        <crate::RegValueT<P1Pfs_SPEC> as RegisterValue<_>>::new(0)
7932    }
7933}
7934pub mod p1pfs {
7935
7936    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7937    pub struct Podr_SPEC;
7938    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7939    impl Podr {
7940        #[doc = "Low output"]
7941        pub const _0: Self = Self::new(0);
7942
7943        #[doc = "High output"]
7944        pub const _1: Self = Self::new(1);
7945    }
7946    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7947    pub struct Pidr_SPEC;
7948    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7949    impl Pidr {
7950        #[doc = "Low level"]
7951        pub const _0: Self = Self::new(0);
7952
7953        #[doc = "High level"]
7954        pub const _1: Self = Self::new(1);
7955    }
7956    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7957    pub struct Pdr_SPEC;
7958    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7959    impl Pdr {
7960        #[doc = "Input (functions as an input pin)"]
7961        pub const _0: Self = Self::new(0);
7962
7963        #[doc = "Output (functions as an output pin)"]
7964        pub const _1: Self = Self::new(1);
7965    }
7966    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7967    pub struct Pcr_SPEC;
7968    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7969    impl Pcr {
7970        #[doc = "Disable input pull-up"]
7971        pub const _0: Self = Self::new(0);
7972
7973        #[doc = "Enable input pull-up"]
7974        pub const _1: Self = Self::new(1);
7975    }
7976    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7977    pub struct Ncodr_SPEC;
7978    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7979    impl Ncodr {
7980        #[doc = "CMOS output"]
7981        pub const _0: Self = Self::new(0);
7982
7983        #[doc = "NMOS open-drain output"]
7984        pub const _1: Self = Self::new(1);
7985    }
7986    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7987    pub struct Dscr_SPEC;
7988    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
7989    impl Dscr {
7990        #[doc = "Low drive"]
7991        pub const _00: Self = Self::new(0);
7992
7993        #[doc = "Middle drive"]
7994        pub const _01: Self = Self::new(1);
7995
7996        #[doc = "High-speed high-drive"]
7997        pub const _10: Self = Self::new(2);
7998
7999        #[doc = "High drive"]
8000        pub const _11: Self = Self::new(3);
8001    }
8002    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8003    pub struct Eofr_SPEC;
8004    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8005    impl Eofr {
8006        #[doc = "Don\'t care"]
8007        pub const _00: Self = Self::new(0);
8008
8009        #[doc = "Detect rising edge"]
8010        pub const _01: Self = Self::new(1);
8011
8012        #[doc = "Detect falling edge"]
8013        pub const _10: Self = Self::new(2);
8014
8015        #[doc = "Detect both edges"]
8016        pub const _11: Self = Self::new(3);
8017    }
8018    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8019    pub struct Isel_SPEC;
8020    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8021    impl Isel {
8022        #[doc = "Not used as an IRQn input pin"]
8023        pub const _0: Self = Self::new(0);
8024
8025        #[doc = "Used as an IRQn input pin"]
8026        pub const _1: Self = Self::new(1);
8027    }
8028    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8029    pub struct Asel_SPEC;
8030    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8031    impl Asel {
8032        #[doc = "Not used as an analog pin"]
8033        pub const _0: Self = Self::new(0);
8034
8035        #[doc = "Used as an analog pin"]
8036        pub const _1: Self = Self::new(1);
8037    }
8038    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8039    pub struct Pmr_SPEC;
8040    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
8041    impl Pmr {
8042        #[doc = "Used as a general I/O pin"]
8043        pub const _0: Self = Self::new(0);
8044
8045        #[doc = "Used as an I/O port for peripheral functions"]
8046        pub const _1: Self = Self::new(1);
8047    }
8048}
8049#[doc(hidden)]
8050#[derive(Copy, Clone, Eq, PartialEq)]
8051pub struct P1PfsHa_SPEC;
8052impl crate::sealed::RegSpec for P1PfsHa_SPEC {
8053    type DataType = u16;
8054}
8055
8056#[doc = "Port 1%s Pin Function Select Register"]
8057pub type P1PfsHa = crate::RegValueT<P1PfsHa_SPEC>;
8058
8059impl P1PfsHa {
8060    #[doc = "Port Mode Control"]
8061    #[inline(always)]
8062    pub fn pmr(
8063        self,
8064    ) -> crate::common::RegisterField<
8065        0,
8066        0x1,
8067        1,
8068        0,
8069        p1pfs_ha::Pmr,
8070        p1pfs_ha::Pmr,
8071        P1PfsHa_SPEC,
8072        crate::common::RW,
8073    > {
8074        crate::common::RegisterField::<
8075            0,
8076            0x1,
8077            1,
8078            0,
8079            p1pfs_ha::Pmr,
8080            p1pfs_ha::Pmr,
8081            P1PfsHa_SPEC,
8082            crate::common::RW,
8083        >::from_register(self, 0)
8084    }
8085
8086    #[doc = "Peripheral Select"]
8087    #[inline(always)]
8088    pub fn psel(
8089        self,
8090    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P1PfsHa_SPEC, crate::common::RW> {
8091        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P1PfsHa_SPEC,crate::common::RW>::from_register(self,0)
8092    }
8093}
8094impl ::core::default::Default for P1PfsHa {
8095    #[inline(always)]
8096    fn default() -> P1PfsHa {
8097        <crate::RegValueT<P1PfsHa_SPEC> as RegisterValue<_>>::new(0)
8098    }
8099}
8100pub mod p1pfs_ha {
8101
8102    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8103    pub struct Pmr_SPEC;
8104    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
8105    impl Pmr {
8106        #[doc = "Used as a general I/O pin"]
8107        pub const _0: Self = Self::new(0);
8108
8109        #[doc = "Used as an I/O port for peripheral functions"]
8110        pub const _1: Self = Self::new(1);
8111    }
8112}
8113#[doc(hidden)]
8114#[derive(Copy, Clone, Eq, PartialEq)]
8115pub struct P1PfsBy_SPEC;
8116impl crate::sealed::RegSpec for P1PfsBy_SPEC {
8117    type DataType = u8;
8118}
8119
8120#[doc = "Port 1%s Pin Function Select Register"]
8121pub type P1PfsBy = crate::RegValueT<P1PfsBy_SPEC>;
8122
8123impl P1PfsBy {
8124    #[doc = "Peripheral Select"]
8125    #[inline(always)]
8126    pub fn psel(
8127        self,
8128    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P1PfsBy_SPEC, crate::common::RW> {
8129        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P1PfsBy_SPEC,crate::common::RW>::from_register(self,0)
8130    }
8131}
8132impl ::core::default::Default for P1PfsBy {
8133    #[inline(always)]
8134    fn default() -> P1PfsBy {
8135        <crate::RegValueT<P1PfsBy_SPEC> as RegisterValue<_>>::new(0)
8136    }
8137}
8138
8139#[doc(hidden)]
8140#[derive(Copy, Clone, Eq, PartialEq)]
8141pub struct P200Pfs_SPEC;
8142impl crate::sealed::RegSpec for P200Pfs_SPEC {
8143    type DataType = u32;
8144}
8145
8146#[doc = "Port 200 Pin Function Select Register"]
8147pub type P200Pfs = crate::RegValueT<P200Pfs_SPEC>;
8148
8149impl P200Pfs {
8150    #[doc = "Port Output Data"]
8151    #[inline(always)]
8152    pub fn podr(
8153        self,
8154    ) -> crate::common::RegisterField<
8155        0,
8156        0x1,
8157        1,
8158        0,
8159        p200pfs::Podr,
8160        p200pfs::Podr,
8161        P200Pfs_SPEC,
8162        crate::common::RW,
8163    > {
8164        crate::common::RegisterField::<
8165            0,
8166            0x1,
8167            1,
8168            0,
8169            p200pfs::Podr,
8170            p200pfs::Podr,
8171            P200Pfs_SPEC,
8172            crate::common::RW,
8173        >::from_register(self, 0)
8174    }
8175
8176    #[doc = "Pmn State"]
8177    #[inline(always)]
8178    pub fn pidr(
8179        self,
8180    ) -> crate::common::RegisterField<
8181        1,
8182        0x1,
8183        1,
8184        0,
8185        p200pfs::Pidr,
8186        p200pfs::Pidr,
8187        P200Pfs_SPEC,
8188        crate::common::R,
8189    > {
8190        crate::common::RegisterField::<
8191            1,
8192            0x1,
8193            1,
8194            0,
8195            p200pfs::Pidr,
8196            p200pfs::Pidr,
8197            P200Pfs_SPEC,
8198            crate::common::R,
8199        >::from_register(self, 0)
8200    }
8201
8202    #[doc = "Port Direction"]
8203    #[inline(always)]
8204    pub fn pdr(
8205        self,
8206    ) -> crate::common::RegisterField<
8207        2,
8208        0x1,
8209        1,
8210        0,
8211        p200pfs::Pdr,
8212        p200pfs::Pdr,
8213        P200Pfs_SPEC,
8214        crate::common::RW,
8215    > {
8216        crate::common::RegisterField::<
8217            2,
8218            0x1,
8219            1,
8220            0,
8221            p200pfs::Pdr,
8222            p200pfs::Pdr,
8223            P200Pfs_SPEC,
8224            crate::common::RW,
8225        >::from_register(self, 0)
8226    }
8227
8228    #[doc = "Pull-up Control"]
8229    #[inline(always)]
8230    pub fn pcr(
8231        self,
8232    ) -> crate::common::RegisterField<
8233        4,
8234        0x1,
8235        1,
8236        0,
8237        p200pfs::Pcr,
8238        p200pfs::Pcr,
8239        P200Pfs_SPEC,
8240        crate::common::RW,
8241    > {
8242        crate::common::RegisterField::<
8243            4,
8244            0x1,
8245            1,
8246            0,
8247            p200pfs::Pcr,
8248            p200pfs::Pcr,
8249            P200Pfs_SPEC,
8250            crate::common::RW,
8251        >::from_register(self, 0)
8252    }
8253
8254    #[doc = "N-Channel Open-Drain Control"]
8255    #[inline(always)]
8256    pub fn ncodr(
8257        self,
8258    ) -> crate::common::RegisterField<
8259        6,
8260        0x1,
8261        1,
8262        0,
8263        p200pfs::Ncodr,
8264        p200pfs::Ncodr,
8265        P200Pfs_SPEC,
8266        crate::common::RW,
8267    > {
8268        crate::common::RegisterField::<
8269            6,
8270            0x1,
8271            1,
8272            0,
8273            p200pfs::Ncodr,
8274            p200pfs::Ncodr,
8275            P200Pfs_SPEC,
8276            crate::common::RW,
8277        >::from_register(self, 0)
8278    }
8279
8280    #[doc = "Port Drive Capability"]
8281    #[inline(always)]
8282    pub fn dscr(
8283        self,
8284    ) -> crate::common::RegisterField<
8285        10,
8286        0x3,
8287        1,
8288        0,
8289        p200pfs::Dscr,
8290        p200pfs::Dscr,
8291        P200Pfs_SPEC,
8292        crate::common::RW,
8293    > {
8294        crate::common::RegisterField::<
8295            10,
8296            0x3,
8297            1,
8298            0,
8299            p200pfs::Dscr,
8300            p200pfs::Dscr,
8301            P200Pfs_SPEC,
8302            crate::common::RW,
8303        >::from_register(self, 0)
8304    }
8305
8306    #[doc = "Event on Falling/Event on Rising"]
8307    #[inline(always)]
8308    pub fn eofr(
8309        self,
8310    ) -> crate::common::RegisterField<
8311        12,
8312        0x3,
8313        1,
8314        0,
8315        p200pfs::Eofr,
8316        p200pfs::Eofr,
8317        P200Pfs_SPEC,
8318        crate::common::RW,
8319    > {
8320        crate::common::RegisterField::<
8321            12,
8322            0x3,
8323            1,
8324            0,
8325            p200pfs::Eofr,
8326            p200pfs::Eofr,
8327            P200Pfs_SPEC,
8328            crate::common::RW,
8329        >::from_register(self, 0)
8330    }
8331
8332    #[doc = "IRQ Input Enable"]
8333    #[inline(always)]
8334    pub fn isel(
8335        self,
8336    ) -> crate::common::RegisterField<
8337        14,
8338        0x1,
8339        1,
8340        0,
8341        p200pfs::Isel,
8342        p200pfs::Isel,
8343        P200Pfs_SPEC,
8344        crate::common::RW,
8345    > {
8346        crate::common::RegisterField::<
8347            14,
8348            0x1,
8349            1,
8350            0,
8351            p200pfs::Isel,
8352            p200pfs::Isel,
8353            P200Pfs_SPEC,
8354            crate::common::RW,
8355        >::from_register(self, 0)
8356    }
8357
8358    #[doc = "Analog Input Enable"]
8359    #[inline(always)]
8360    pub fn asel(
8361        self,
8362    ) -> crate::common::RegisterField<
8363        15,
8364        0x1,
8365        1,
8366        0,
8367        p200pfs::Asel,
8368        p200pfs::Asel,
8369        P200Pfs_SPEC,
8370        crate::common::RW,
8371    > {
8372        crate::common::RegisterField::<
8373            15,
8374            0x1,
8375            1,
8376            0,
8377            p200pfs::Asel,
8378            p200pfs::Asel,
8379            P200Pfs_SPEC,
8380            crate::common::RW,
8381        >::from_register(self, 0)
8382    }
8383
8384    #[doc = "Port Mode Control"]
8385    #[inline(always)]
8386    pub fn pmr(
8387        self,
8388    ) -> crate::common::RegisterField<
8389        16,
8390        0x1,
8391        1,
8392        0,
8393        p200pfs::Pmr,
8394        p200pfs::Pmr,
8395        P200Pfs_SPEC,
8396        crate::common::RW,
8397    > {
8398        crate::common::RegisterField::<
8399            16,
8400            0x1,
8401            1,
8402            0,
8403            p200pfs::Pmr,
8404            p200pfs::Pmr,
8405            P200Pfs_SPEC,
8406            crate::common::RW,
8407        >::from_register(self, 0)
8408    }
8409
8410    #[doc = "Peripheral Select"]
8411    #[inline(always)]
8412    pub fn psel(
8413        self,
8414    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P200Pfs_SPEC, crate::common::RW> {
8415        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P200Pfs_SPEC,crate::common::RW>::from_register(self,0)
8416    }
8417}
8418impl ::core::default::Default for P200Pfs {
8419    #[inline(always)]
8420    fn default() -> P200Pfs {
8421        <crate::RegValueT<P200Pfs_SPEC> as RegisterValue<_>>::new(0)
8422    }
8423}
8424pub mod p200pfs {
8425
8426    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8427    pub struct Podr_SPEC;
8428    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8429    impl Podr {
8430        #[doc = "Low output"]
8431        pub const _0: Self = Self::new(0);
8432
8433        #[doc = "High output"]
8434        pub const _1: Self = Self::new(1);
8435    }
8436    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8437    pub struct Pidr_SPEC;
8438    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8439    impl Pidr {
8440        #[doc = "Low level"]
8441        pub const _0: Self = Self::new(0);
8442
8443        #[doc = "High level"]
8444        pub const _1: Self = Self::new(1);
8445    }
8446    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8447    pub struct Pdr_SPEC;
8448    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8449    impl Pdr {
8450        #[doc = "Input (functions as an input pin)"]
8451        pub const _0: Self = Self::new(0);
8452
8453        #[doc = "Output (functions as an output pin)"]
8454        pub const _1: Self = Self::new(1);
8455    }
8456    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8457    pub struct Pcr_SPEC;
8458    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8459    impl Pcr {
8460        #[doc = "Disable input pull-up"]
8461        pub const _0: Self = Self::new(0);
8462
8463        #[doc = "Enable input pull-up"]
8464        pub const _1: Self = Self::new(1);
8465    }
8466    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8467    pub struct Ncodr_SPEC;
8468    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8469    impl Ncodr {
8470        #[doc = "CMOS output"]
8471        pub const _0: Self = Self::new(0);
8472
8473        #[doc = "NMOS open-drain output"]
8474        pub const _1: Self = Self::new(1);
8475    }
8476    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8477    pub struct Dscr_SPEC;
8478    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
8479    impl Dscr {
8480        #[doc = "Low drive"]
8481        pub const _00: Self = Self::new(0);
8482
8483        #[doc = "Middle drive"]
8484        pub const _01: Self = Self::new(1);
8485
8486        #[doc = "High-speed high-drive"]
8487        pub const _10: Self = Self::new(2);
8488
8489        #[doc = "High drive"]
8490        pub const _11: Self = Self::new(3);
8491    }
8492    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8493    pub struct Eofr_SPEC;
8494    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8495    impl Eofr {
8496        #[doc = "Don\'t care"]
8497        pub const _00: Self = Self::new(0);
8498
8499        #[doc = "Detect rising edge"]
8500        pub const _01: Self = Self::new(1);
8501
8502        #[doc = "Detect falling edge"]
8503        pub const _10: Self = Self::new(2);
8504
8505        #[doc = "Detect both edges"]
8506        pub const _11: Self = Self::new(3);
8507    }
8508    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8509    pub struct Isel_SPEC;
8510    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8511    impl Isel {
8512        #[doc = "Not used as an IRQn input pin"]
8513        pub const _0: Self = Self::new(0);
8514
8515        #[doc = "Used as an IRQn input pin"]
8516        pub const _1: Self = Self::new(1);
8517    }
8518    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8519    pub struct Asel_SPEC;
8520    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8521    impl Asel {
8522        #[doc = "Not used as an analog pin"]
8523        pub const _0: Self = Self::new(0);
8524
8525        #[doc = "Used as an analog pin"]
8526        pub const _1: Self = Self::new(1);
8527    }
8528    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8529    pub struct Pmr_SPEC;
8530    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
8531    impl Pmr {
8532        #[doc = "Used as a general I/O pin"]
8533        pub const _0: Self = Self::new(0);
8534
8535        #[doc = "Used as an I/O port for peripheral functions"]
8536        pub const _1: Self = Self::new(1);
8537    }
8538}
8539#[doc(hidden)]
8540#[derive(Copy, Clone, Eq, PartialEq)]
8541pub struct P200PfsHa_SPEC;
8542impl crate::sealed::RegSpec for P200PfsHa_SPEC {
8543    type DataType = u16;
8544}
8545
8546#[doc = "Port 200 Pin Function Select Register"]
8547pub type P200PfsHa = crate::RegValueT<P200PfsHa_SPEC>;
8548
8549impl P200PfsHa {
8550    #[doc = "Port Mode Control"]
8551    #[inline(always)]
8552    pub fn pmr(
8553        self,
8554    ) -> crate::common::RegisterField<
8555        0,
8556        0x1,
8557        1,
8558        0,
8559        p200pfs_ha::Pmr,
8560        p200pfs_ha::Pmr,
8561        P200PfsHa_SPEC,
8562        crate::common::RW,
8563    > {
8564        crate::common::RegisterField::<
8565            0,
8566            0x1,
8567            1,
8568            0,
8569            p200pfs_ha::Pmr,
8570            p200pfs_ha::Pmr,
8571            P200PfsHa_SPEC,
8572            crate::common::RW,
8573        >::from_register(self, 0)
8574    }
8575
8576    #[doc = "Peripheral Select"]
8577    #[inline(always)]
8578    pub fn psel(
8579        self,
8580    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P200PfsHa_SPEC, crate::common::RW>
8581    {
8582        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P200PfsHa_SPEC,crate::common::RW>::from_register(self,0)
8583    }
8584}
8585impl ::core::default::Default for P200PfsHa {
8586    #[inline(always)]
8587    fn default() -> P200PfsHa {
8588        <crate::RegValueT<P200PfsHa_SPEC> as RegisterValue<_>>::new(0)
8589    }
8590}
8591pub mod p200pfs_ha {
8592
8593    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8594    pub struct Pmr_SPEC;
8595    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
8596    impl Pmr {
8597        #[doc = "Used as a general I/O pin"]
8598        pub const _0: Self = Self::new(0);
8599
8600        #[doc = "Used as an I/O port for peripheral functions"]
8601        pub const _1: Self = Self::new(1);
8602    }
8603}
8604#[doc(hidden)]
8605#[derive(Copy, Clone, Eq, PartialEq)]
8606pub struct P200PfsBy_SPEC;
8607impl crate::sealed::RegSpec for P200PfsBy_SPEC {
8608    type DataType = u8;
8609}
8610
8611#[doc = "Port 200 Pin Function Select Register"]
8612pub type P200PfsBy = crate::RegValueT<P200PfsBy_SPEC>;
8613
8614impl P200PfsBy {
8615    #[doc = "Peripheral Select"]
8616    #[inline(always)]
8617    pub fn psel(
8618        self,
8619    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P200PfsBy_SPEC, crate::common::RW>
8620    {
8621        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P200PfsBy_SPEC,crate::common::RW>::from_register(self,0)
8622    }
8623}
8624impl ::core::default::Default for P200PfsBy {
8625    #[inline(always)]
8626    fn default() -> P200PfsBy {
8627        <crate::RegValueT<P200PfsBy_SPEC> as RegisterValue<_>>::new(0)
8628    }
8629}
8630
8631#[doc(hidden)]
8632#[derive(Copy, Clone, Eq, PartialEq)]
8633pub struct P201Pfs_SPEC;
8634impl crate::sealed::RegSpec for P201Pfs_SPEC {
8635    type DataType = u32;
8636}
8637
8638#[doc = "Port 201 Pin Function Select Register"]
8639pub type P201Pfs = crate::RegValueT<P201Pfs_SPEC>;
8640
8641impl P201Pfs {
8642    #[doc = "Port Output Data"]
8643    #[inline(always)]
8644    pub fn podr(
8645        self,
8646    ) -> crate::common::RegisterField<
8647        0,
8648        0x1,
8649        1,
8650        0,
8651        p201pfs::Podr,
8652        p201pfs::Podr,
8653        P201Pfs_SPEC,
8654        crate::common::RW,
8655    > {
8656        crate::common::RegisterField::<
8657            0,
8658            0x1,
8659            1,
8660            0,
8661            p201pfs::Podr,
8662            p201pfs::Podr,
8663            P201Pfs_SPEC,
8664            crate::common::RW,
8665        >::from_register(self, 0)
8666    }
8667
8668    #[doc = "Pmn State"]
8669    #[inline(always)]
8670    pub fn pidr(
8671        self,
8672    ) -> crate::common::RegisterField<
8673        1,
8674        0x1,
8675        1,
8676        0,
8677        p201pfs::Pidr,
8678        p201pfs::Pidr,
8679        P201Pfs_SPEC,
8680        crate::common::R,
8681    > {
8682        crate::common::RegisterField::<
8683            1,
8684            0x1,
8685            1,
8686            0,
8687            p201pfs::Pidr,
8688            p201pfs::Pidr,
8689            P201Pfs_SPEC,
8690            crate::common::R,
8691        >::from_register(self, 0)
8692    }
8693
8694    #[doc = "Port Direction"]
8695    #[inline(always)]
8696    pub fn pdr(
8697        self,
8698    ) -> crate::common::RegisterField<
8699        2,
8700        0x1,
8701        1,
8702        0,
8703        p201pfs::Pdr,
8704        p201pfs::Pdr,
8705        P201Pfs_SPEC,
8706        crate::common::RW,
8707    > {
8708        crate::common::RegisterField::<
8709            2,
8710            0x1,
8711            1,
8712            0,
8713            p201pfs::Pdr,
8714            p201pfs::Pdr,
8715            P201Pfs_SPEC,
8716            crate::common::RW,
8717        >::from_register(self, 0)
8718    }
8719
8720    #[doc = "Pull-up Control"]
8721    #[inline(always)]
8722    pub fn pcr(
8723        self,
8724    ) -> crate::common::RegisterField<
8725        4,
8726        0x1,
8727        1,
8728        0,
8729        p201pfs::Pcr,
8730        p201pfs::Pcr,
8731        P201Pfs_SPEC,
8732        crate::common::RW,
8733    > {
8734        crate::common::RegisterField::<
8735            4,
8736            0x1,
8737            1,
8738            0,
8739            p201pfs::Pcr,
8740            p201pfs::Pcr,
8741            P201Pfs_SPEC,
8742            crate::common::RW,
8743        >::from_register(self, 0)
8744    }
8745
8746    #[doc = "N-Channel Open-Drain Control"]
8747    #[inline(always)]
8748    pub fn ncodr(
8749        self,
8750    ) -> crate::common::RegisterField<
8751        6,
8752        0x1,
8753        1,
8754        0,
8755        p201pfs::Ncodr,
8756        p201pfs::Ncodr,
8757        P201Pfs_SPEC,
8758        crate::common::RW,
8759    > {
8760        crate::common::RegisterField::<
8761            6,
8762            0x1,
8763            1,
8764            0,
8765            p201pfs::Ncodr,
8766            p201pfs::Ncodr,
8767            P201Pfs_SPEC,
8768            crate::common::RW,
8769        >::from_register(self, 0)
8770    }
8771
8772    #[doc = "Port Drive Capability"]
8773    #[inline(always)]
8774    pub fn dscr(
8775        self,
8776    ) -> crate::common::RegisterField<
8777        10,
8778        0x3,
8779        1,
8780        0,
8781        p201pfs::Dscr,
8782        p201pfs::Dscr,
8783        P201Pfs_SPEC,
8784        crate::common::RW,
8785    > {
8786        crate::common::RegisterField::<
8787            10,
8788            0x3,
8789            1,
8790            0,
8791            p201pfs::Dscr,
8792            p201pfs::Dscr,
8793            P201Pfs_SPEC,
8794            crate::common::RW,
8795        >::from_register(self, 0)
8796    }
8797
8798    #[doc = "Event on Falling/Event on Rising"]
8799    #[inline(always)]
8800    pub fn eofr(
8801        self,
8802    ) -> crate::common::RegisterField<
8803        12,
8804        0x3,
8805        1,
8806        0,
8807        p201pfs::Eofr,
8808        p201pfs::Eofr,
8809        P201Pfs_SPEC,
8810        crate::common::RW,
8811    > {
8812        crate::common::RegisterField::<
8813            12,
8814            0x3,
8815            1,
8816            0,
8817            p201pfs::Eofr,
8818            p201pfs::Eofr,
8819            P201Pfs_SPEC,
8820            crate::common::RW,
8821        >::from_register(self, 0)
8822    }
8823
8824    #[doc = "IRQ Input Enable"]
8825    #[inline(always)]
8826    pub fn isel(
8827        self,
8828    ) -> crate::common::RegisterField<
8829        14,
8830        0x1,
8831        1,
8832        0,
8833        p201pfs::Isel,
8834        p201pfs::Isel,
8835        P201Pfs_SPEC,
8836        crate::common::RW,
8837    > {
8838        crate::common::RegisterField::<
8839            14,
8840            0x1,
8841            1,
8842            0,
8843            p201pfs::Isel,
8844            p201pfs::Isel,
8845            P201Pfs_SPEC,
8846            crate::common::RW,
8847        >::from_register(self, 0)
8848    }
8849
8850    #[doc = "Analog Input Enable"]
8851    #[inline(always)]
8852    pub fn asel(
8853        self,
8854    ) -> crate::common::RegisterField<
8855        15,
8856        0x1,
8857        1,
8858        0,
8859        p201pfs::Asel,
8860        p201pfs::Asel,
8861        P201Pfs_SPEC,
8862        crate::common::RW,
8863    > {
8864        crate::common::RegisterField::<
8865            15,
8866            0x1,
8867            1,
8868            0,
8869            p201pfs::Asel,
8870            p201pfs::Asel,
8871            P201Pfs_SPEC,
8872            crate::common::RW,
8873        >::from_register(self, 0)
8874    }
8875
8876    #[doc = "Port Mode Control"]
8877    #[inline(always)]
8878    pub fn pmr(
8879        self,
8880    ) -> crate::common::RegisterField<
8881        16,
8882        0x1,
8883        1,
8884        0,
8885        p201pfs::Pmr,
8886        p201pfs::Pmr,
8887        P201Pfs_SPEC,
8888        crate::common::RW,
8889    > {
8890        crate::common::RegisterField::<
8891            16,
8892            0x1,
8893            1,
8894            0,
8895            p201pfs::Pmr,
8896            p201pfs::Pmr,
8897            P201Pfs_SPEC,
8898            crate::common::RW,
8899        >::from_register(self, 0)
8900    }
8901
8902    #[doc = "Peripheral Select"]
8903    #[inline(always)]
8904    pub fn psel(
8905        self,
8906    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P201Pfs_SPEC, crate::common::RW> {
8907        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P201Pfs_SPEC,crate::common::RW>::from_register(self,0)
8908    }
8909}
8910impl ::core::default::Default for P201Pfs {
8911    #[inline(always)]
8912    fn default() -> P201Pfs {
8913        <crate::RegValueT<P201Pfs_SPEC> as RegisterValue<_>>::new(16)
8914    }
8915}
8916pub mod p201pfs {
8917
8918    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8919    pub struct Podr_SPEC;
8920    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8921    impl Podr {
8922        #[doc = "Low output"]
8923        pub const _0: Self = Self::new(0);
8924
8925        #[doc = "High output"]
8926        pub const _1: Self = Self::new(1);
8927    }
8928    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8929    pub struct Pidr_SPEC;
8930    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8931    impl Pidr {
8932        #[doc = "Low level"]
8933        pub const _0: Self = Self::new(0);
8934
8935        #[doc = "High level"]
8936        pub const _1: Self = Self::new(1);
8937    }
8938    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8939    pub struct Pdr_SPEC;
8940    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8941    impl Pdr {
8942        #[doc = "Input (functions as an input pin)"]
8943        pub const _0: Self = Self::new(0);
8944
8945        #[doc = "Output (functions as an output pin)"]
8946        pub const _1: Self = Self::new(1);
8947    }
8948    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8949    pub struct Pcr_SPEC;
8950    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8951    impl Pcr {
8952        #[doc = "Disable input pull-up"]
8953        pub const _0: Self = Self::new(0);
8954
8955        #[doc = "Enable input pull-up"]
8956        pub const _1: Self = Self::new(1);
8957    }
8958    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8959    pub struct Ncodr_SPEC;
8960    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8961    impl Ncodr {
8962        #[doc = "CMOS output"]
8963        pub const _0: Self = Self::new(0);
8964
8965        #[doc = "NMOS open-drain output"]
8966        pub const _1: Self = Self::new(1);
8967    }
8968    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8969    pub struct Dscr_SPEC;
8970    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
8971    impl Dscr {
8972        #[doc = "Low drive"]
8973        pub const _00: Self = Self::new(0);
8974
8975        #[doc = "Middle drive"]
8976        pub const _01: Self = Self::new(1);
8977
8978        #[doc = "High-speed high-drive"]
8979        pub const _10: Self = Self::new(2);
8980
8981        #[doc = "High drive"]
8982        pub const _11: Self = Self::new(3);
8983    }
8984    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8985    pub struct Eofr_SPEC;
8986    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8987    impl Eofr {
8988        #[doc = "Don\'t care"]
8989        pub const _00: Self = Self::new(0);
8990
8991        #[doc = "Detect rising edge"]
8992        pub const _01: Self = Self::new(1);
8993
8994        #[doc = "Detect falling edge"]
8995        pub const _10: Self = Self::new(2);
8996
8997        #[doc = "Detect both edges"]
8998        pub const _11: Self = Self::new(3);
8999    }
9000    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9001    pub struct Isel_SPEC;
9002    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9003    impl Isel {
9004        #[doc = "Not used as an IRQn input pin"]
9005        pub const _0: Self = Self::new(0);
9006
9007        #[doc = "Used as an IRQn input pin"]
9008        pub const _1: Self = Self::new(1);
9009    }
9010    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9011    pub struct Asel_SPEC;
9012    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9013    impl Asel {
9014        #[doc = "Not used as an analog pin"]
9015        pub const _0: Self = Self::new(0);
9016
9017        #[doc = "Used as an analog pin"]
9018        pub const _1: Self = Self::new(1);
9019    }
9020    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9021    pub struct Pmr_SPEC;
9022    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
9023    impl Pmr {
9024        #[doc = "Used as a general I/O pin"]
9025        pub const _0: Self = Self::new(0);
9026
9027        #[doc = "Used as an I/O port for peripheral functions"]
9028        pub const _1: Self = Self::new(1);
9029    }
9030}
9031#[doc(hidden)]
9032#[derive(Copy, Clone, Eq, PartialEq)]
9033pub struct P201PfsHa_SPEC;
9034impl crate::sealed::RegSpec for P201PfsHa_SPEC {
9035    type DataType = u16;
9036}
9037
9038#[doc = "Port 201 Pin Function Select Register"]
9039pub type P201PfsHa = crate::RegValueT<P201PfsHa_SPEC>;
9040
9041impl P201PfsHa {
9042    #[doc = "Port Mode Control"]
9043    #[inline(always)]
9044    pub fn pmr(
9045        self,
9046    ) -> crate::common::RegisterField<
9047        0,
9048        0x1,
9049        1,
9050        0,
9051        p201pfs_ha::Pmr,
9052        p201pfs_ha::Pmr,
9053        P201PfsHa_SPEC,
9054        crate::common::RW,
9055    > {
9056        crate::common::RegisterField::<
9057            0,
9058            0x1,
9059            1,
9060            0,
9061            p201pfs_ha::Pmr,
9062            p201pfs_ha::Pmr,
9063            P201PfsHa_SPEC,
9064            crate::common::RW,
9065        >::from_register(self, 0)
9066    }
9067
9068    #[doc = "Peripheral Select"]
9069    #[inline(always)]
9070    pub fn psel(
9071        self,
9072    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P201PfsHa_SPEC, crate::common::RW>
9073    {
9074        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P201PfsHa_SPEC,crate::common::RW>::from_register(self,0)
9075    }
9076}
9077impl ::core::default::Default for P201PfsHa {
9078    #[inline(always)]
9079    fn default() -> P201PfsHa {
9080        <crate::RegValueT<P201PfsHa_SPEC> as RegisterValue<_>>::new(0)
9081    }
9082}
9083pub mod p201pfs_ha {
9084
9085    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9086    pub struct Pmr_SPEC;
9087    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
9088    impl Pmr {
9089        #[doc = "Used as a general I/O pin"]
9090        pub const _0: Self = Self::new(0);
9091
9092        #[doc = "Used as an I/O port for peripheral functions"]
9093        pub const _1: Self = Self::new(1);
9094    }
9095}
9096#[doc(hidden)]
9097#[derive(Copy, Clone, Eq, PartialEq)]
9098pub struct P201PfsBy_SPEC;
9099impl crate::sealed::RegSpec for P201PfsBy_SPEC {
9100    type DataType = u8;
9101}
9102
9103#[doc = "Port 201 Pin Function Select Register"]
9104pub type P201PfsBy = crate::RegValueT<P201PfsBy_SPEC>;
9105
9106impl P201PfsBy {
9107    #[doc = "Peripheral Select"]
9108    #[inline(always)]
9109    pub fn psel(
9110        self,
9111    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P201PfsBy_SPEC, crate::common::RW>
9112    {
9113        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P201PfsBy_SPEC,crate::common::RW>::from_register(self,0)
9114    }
9115}
9116impl ::core::default::Default for P201PfsBy {
9117    #[inline(always)]
9118    fn default() -> P201PfsBy {
9119        <crate::RegValueT<P201PfsBy_SPEC> as RegisterValue<_>>::new(0)
9120    }
9121}
9122
9123#[doc(hidden)]
9124#[derive(Copy, Clone, Eq, PartialEq)]
9125pub struct P20Pfs_SPEC;
9126impl crate::sealed::RegSpec for P20Pfs_SPEC {
9127    type DataType = u32;
9128}
9129
9130#[doc = "Port 20%s Pin Function Select Register"]
9131pub type P20Pfs = crate::RegValueT<P20Pfs_SPEC>;
9132
9133impl P20Pfs {
9134    #[doc = "Port Output Data"]
9135    #[inline(always)]
9136    pub fn podr(
9137        self,
9138    ) -> crate::common::RegisterField<
9139        0,
9140        0x1,
9141        1,
9142        0,
9143        p20pfs::Podr,
9144        p20pfs::Podr,
9145        P20Pfs_SPEC,
9146        crate::common::RW,
9147    > {
9148        crate::common::RegisterField::<
9149            0,
9150            0x1,
9151            1,
9152            0,
9153            p20pfs::Podr,
9154            p20pfs::Podr,
9155            P20Pfs_SPEC,
9156            crate::common::RW,
9157        >::from_register(self, 0)
9158    }
9159
9160    #[doc = "Pmn State"]
9161    #[inline(always)]
9162    pub fn pidr(
9163        self,
9164    ) -> crate::common::RegisterField<
9165        1,
9166        0x1,
9167        1,
9168        0,
9169        p20pfs::Pidr,
9170        p20pfs::Pidr,
9171        P20Pfs_SPEC,
9172        crate::common::R,
9173    > {
9174        crate::common::RegisterField::<
9175            1,
9176            0x1,
9177            1,
9178            0,
9179            p20pfs::Pidr,
9180            p20pfs::Pidr,
9181            P20Pfs_SPEC,
9182            crate::common::R,
9183        >::from_register(self, 0)
9184    }
9185
9186    #[doc = "Port Direction"]
9187    #[inline(always)]
9188    pub fn pdr(
9189        self,
9190    ) -> crate::common::RegisterField<
9191        2,
9192        0x1,
9193        1,
9194        0,
9195        p20pfs::Pdr,
9196        p20pfs::Pdr,
9197        P20Pfs_SPEC,
9198        crate::common::RW,
9199    > {
9200        crate::common::RegisterField::<
9201            2,
9202            0x1,
9203            1,
9204            0,
9205            p20pfs::Pdr,
9206            p20pfs::Pdr,
9207            P20Pfs_SPEC,
9208            crate::common::RW,
9209        >::from_register(self, 0)
9210    }
9211
9212    #[doc = "Pull-up Control"]
9213    #[inline(always)]
9214    pub fn pcr(
9215        self,
9216    ) -> crate::common::RegisterField<
9217        4,
9218        0x1,
9219        1,
9220        0,
9221        p20pfs::Pcr,
9222        p20pfs::Pcr,
9223        P20Pfs_SPEC,
9224        crate::common::RW,
9225    > {
9226        crate::common::RegisterField::<
9227            4,
9228            0x1,
9229            1,
9230            0,
9231            p20pfs::Pcr,
9232            p20pfs::Pcr,
9233            P20Pfs_SPEC,
9234            crate::common::RW,
9235        >::from_register(self, 0)
9236    }
9237
9238    #[doc = "N-Channel Open-Drain Control"]
9239    #[inline(always)]
9240    pub fn ncodr(
9241        self,
9242    ) -> crate::common::RegisterField<
9243        6,
9244        0x1,
9245        1,
9246        0,
9247        p20pfs::Ncodr,
9248        p20pfs::Ncodr,
9249        P20Pfs_SPEC,
9250        crate::common::RW,
9251    > {
9252        crate::common::RegisterField::<
9253            6,
9254            0x1,
9255            1,
9256            0,
9257            p20pfs::Ncodr,
9258            p20pfs::Ncodr,
9259            P20Pfs_SPEC,
9260            crate::common::RW,
9261        >::from_register(self, 0)
9262    }
9263
9264    #[doc = "Port Drive Capability"]
9265    #[inline(always)]
9266    pub fn dscr(
9267        self,
9268    ) -> crate::common::RegisterField<
9269        10,
9270        0x3,
9271        1,
9272        0,
9273        p20pfs::Dscr,
9274        p20pfs::Dscr,
9275        P20Pfs_SPEC,
9276        crate::common::RW,
9277    > {
9278        crate::common::RegisterField::<
9279            10,
9280            0x3,
9281            1,
9282            0,
9283            p20pfs::Dscr,
9284            p20pfs::Dscr,
9285            P20Pfs_SPEC,
9286            crate::common::RW,
9287        >::from_register(self, 0)
9288    }
9289
9290    #[doc = "Event on Falling/Event on Rising"]
9291    #[inline(always)]
9292    pub fn eofr(
9293        self,
9294    ) -> crate::common::RegisterField<
9295        12,
9296        0x3,
9297        1,
9298        0,
9299        p20pfs::Eofr,
9300        p20pfs::Eofr,
9301        P20Pfs_SPEC,
9302        crate::common::RW,
9303    > {
9304        crate::common::RegisterField::<
9305            12,
9306            0x3,
9307            1,
9308            0,
9309            p20pfs::Eofr,
9310            p20pfs::Eofr,
9311            P20Pfs_SPEC,
9312            crate::common::RW,
9313        >::from_register(self, 0)
9314    }
9315
9316    #[doc = "IRQ Input Enable"]
9317    #[inline(always)]
9318    pub fn isel(
9319        self,
9320    ) -> crate::common::RegisterField<
9321        14,
9322        0x1,
9323        1,
9324        0,
9325        p20pfs::Isel,
9326        p20pfs::Isel,
9327        P20Pfs_SPEC,
9328        crate::common::RW,
9329    > {
9330        crate::common::RegisterField::<
9331            14,
9332            0x1,
9333            1,
9334            0,
9335            p20pfs::Isel,
9336            p20pfs::Isel,
9337            P20Pfs_SPEC,
9338            crate::common::RW,
9339        >::from_register(self, 0)
9340    }
9341
9342    #[doc = "Analog Input Enable"]
9343    #[inline(always)]
9344    pub fn asel(
9345        self,
9346    ) -> crate::common::RegisterField<
9347        15,
9348        0x1,
9349        1,
9350        0,
9351        p20pfs::Asel,
9352        p20pfs::Asel,
9353        P20Pfs_SPEC,
9354        crate::common::RW,
9355    > {
9356        crate::common::RegisterField::<
9357            15,
9358            0x1,
9359            1,
9360            0,
9361            p20pfs::Asel,
9362            p20pfs::Asel,
9363            P20Pfs_SPEC,
9364            crate::common::RW,
9365        >::from_register(self, 0)
9366    }
9367
9368    #[doc = "Port Mode Control"]
9369    #[inline(always)]
9370    pub fn pmr(
9371        self,
9372    ) -> crate::common::RegisterField<
9373        16,
9374        0x1,
9375        1,
9376        0,
9377        p20pfs::Pmr,
9378        p20pfs::Pmr,
9379        P20Pfs_SPEC,
9380        crate::common::RW,
9381    > {
9382        crate::common::RegisterField::<
9383            16,
9384            0x1,
9385            1,
9386            0,
9387            p20pfs::Pmr,
9388            p20pfs::Pmr,
9389            P20Pfs_SPEC,
9390            crate::common::RW,
9391        >::from_register(self, 0)
9392    }
9393
9394    #[doc = "Peripheral Select"]
9395    #[inline(always)]
9396    pub fn psel(
9397        self,
9398    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P20Pfs_SPEC, crate::common::RW> {
9399        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P20Pfs_SPEC,crate::common::RW>::from_register(self,0)
9400    }
9401}
9402impl ::core::default::Default for P20Pfs {
9403    #[inline(always)]
9404    fn default() -> P20Pfs {
9405        <crate::RegValueT<P20Pfs_SPEC> as RegisterValue<_>>::new(0)
9406    }
9407}
9408pub mod p20pfs {
9409
9410    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9411    pub struct Podr_SPEC;
9412    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9413    impl Podr {
9414        #[doc = "Low output"]
9415        pub const _0: Self = Self::new(0);
9416
9417        #[doc = "High output"]
9418        pub const _1: Self = Self::new(1);
9419    }
9420    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9421    pub struct Pidr_SPEC;
9422    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9423    impl Pidr {
9424        #[doc = "Low level"]
9425        pub const _0: Self = Self::new(0);
9426
9427        #[doc = "High level"]
9428        pub const _1: Self = Self::new(1);
9429    }
9430    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9431    pub struct Pdr_SPEC;
9432    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9433    impl Pdr {
9434        #[doc = "Input (functions as an input pin)"]
9435        pub const _0: Self = Self::new(0);
9436
9437        #[doc = "Output (functions as an output pin)"]
9438        pub const _1: Self = Self::new(1);
9439    }
9440    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9441    pub struct Pcr_SPEC;
9442    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9443    impl Pcr {
9444        #[doc = "Disable input pull-up"]
9445        pub const _0: Self = Self::new(0);
9446
9447        #[doc = "Enable input pull-up"]
9448        pub const _1: Self = Self::new(1);
9449    }
9450    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9451    pub struct Ncodr_SPEC;
9452    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9453    impl Ncodr {
9454        #[doc = "CMOS output"]
9455        pub const _0: Self = Self::new(0);
9456
9457        #[doc = "NMOS open-drain output"]
9458        pub const _1: Self = Self::new(1);
9459    }
9460    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9461    pub struct Dscr_SPEC;
9462    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
9463    impl Dscr {
9464        #[doc = "Low drive"]
9465        pub const _00: Self = Self::new(0);
9466
9467        #[doc = "Middle drive"]
9468        pub const _01: Self = Self::new(1);
9469
9470        #[doc = "High-speed high-drive"]
9471        pub const _10: Self = Self::new(2);
9472
9473        #[doc = "High drive"]
9474        pub const _11: Self = Self::new(3);
9475    }
9476    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9477    pub struct Eofr_SPEC;
9478    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9479    impl Eofr {
9480        #[doc = "Don\'t care"]
9481        pub const _00: Self = Self::new(0);
9482
9483        #[doc = "Detect rising edge"]
9484        pub const _01: Self = Self::new(1);
9485
9486        #[doc = "Detect falling edge"]
9487        pub const _10: Self = Self::new(2);
9488
9489        #[doc = "Detect both edges"]
9490        pub const _11: Self = Self::new(3);
9491    }
9492    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9493    pub struct Isel_SPEC;
9494    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9495    impl Isel {
9496        #[doc = "Not used as an IRQn input pin"]
9497        pub const _0: Self = Self::new(0);
9498
9499        #[doc = "Used as an IRQn input pin"]
9500        pub const _1: Self = Self::new(1);
9501    }
9502    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9503    pub struct Asel_SPEC;
9504    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9505    impl Asel {
9506        #[doc = "Not used as an analog pin"]
9507        pub const _0: Self = Self::new(0);
9508
9509        #[doc = "Used as an analog pin"]
9510        pub const _1: Self = Self::new(1);
9511    }
9512    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9513    pub struct Pmr_SPEC;
9514    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
9515    impl Pmr {
9516        #[doc = "Used as a general I/O pin"]
9517        pub const _0: Self = Self::new(0);
9518
9519        #[doc = "Used as an I/O port for peripheral functions"]
9520        pub const _1: Self = Self::new(1);
9521    }
9522}
9523#[doc(hidden)]
9524#[derive(Copy, Clone, Eq, PartialEq)]
9525pub struct P20PfsHa_SPEC;
9526impl crate::sealed::RegSpec for P20PfsHa_SPEC {
9527    type DataType = u16;
9528}
9529
9530#[doc = "Port 20%s Pin Function Select Register"]
9531pub type P20PfsHa = crate::RegValueT<P20PfsHa_SPEC>;
9532
9533impl P20PfsHa {
9534    #[doc = "Port Mode Control"]
9535    #[inline(always)]
9536    pub fn pmr(
9537        self,
9538    ) -> crate::common::RegisterField<
9539        0,
9540        0x1,
9541        1,
9542        0,
9543        p20pfs_ha::Pmr,
9544        p20pfs_ha::Pmr,
9545        P20PfsHa_SPEC,
9546        crate::common::RW,
9547    > {
9548        crate::common::RegisterField::<
9549            0,
9550            0x1,
9551            1,
9552            0,
9553            p20pfs_ha::Pmr,
9554            p20pfs_ha::Pmr,
9555            P20PfsHa_SPEC,
9556            crate::common::RW,
9557        >::from_register(self, 0)
9558    }
9559
9560    #[doc = "Peripheral Select"]
9561    #[inline(always)]
9562    pub fn psel(
9563        self,
9564    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P20PfsHa_SPEC, crate::common::RW> {
9565        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P20PfsHa_SPEC,crate::common::RW>::from_register(self,0)
9566    }
9567}
9568impl ::core::default::Default for P20PfsHa {
9569    #[inline(always)]
9570    fn default() -> P20PfsHa {
9571        <crate::RegValueT<P20PfsHa_SPEC> as RegisterValue<_>>::new(0)
9572    }
9573}
9574pub mod p20pfs_ha {
9575
9576    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9577    pub struct Pmr_SPEC;
9578    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
9579    impl Pmr {
9580        #[doc = "Used as a general I/O pin"]
9581        pub const _0: Self = Self::new(0);
9582
9583        #[doc = "Used as an I/O port for peripheral functions"]
9584        pub const _1: Self = Self::new(1);
9585    }
9586}
9587#[doc(hidden)]
9588#[derive(Copy, Clone, Eq, PartialEq)]
9589pub struct P20PfsBy_SPEC;
9590impl crate::sealed::RegSpec for P20PfsBy_SPEC {
9591    type DataType = u8;
9592}
9593
9594#[doc = "Port 20%s Pin Function Select Register"]
9595pub type P20PfsBy = crate::RegValueT<P20PfsBy_SPEC>;
9596
9597impl P20PfsBy {
9598    #[doc = "Peripheral Select"]
9599    #[inline(always)]
9600    pub fn psel(
9601        self,
9602    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P20PfsBy_SPEC, crate::common::RW> {
9603        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P20PfsBy_SPEC,crate::common::RW>::from_register(self,0)
9604    }
9605}
9606impl ::core::default::Default for P20PfsBy {
9607    #[inline(always)]
9608    fn default() -> P20PfsBy {
9609        <crate::RegValueT<P20PfsBy_SPEC> as RegisterValue<_>>::new(0)
9610    }
9611}
9612
9613#[doc(hidden)]
9614#[derive(Copy, Clone, Eq, PartialEq)]
9615pub struct P208Pfs_SPEC;
9616impl crate::sealed::RegSpec for P208Pfs_SPEC {
9617    type DataType = u32;
9618}
9619
9620#[doc = "Port 208 Pin Function Select Register"]
9621pub type P208Pfs = crate::RegValueT<P208Pfs_SPEC>;
9622
9623impl P208Pfs {
9624    #[doc = "Port Output Data"]
9625    #[inline(always)]
9626    pub fn podr(
9627        self,
9628    ) -> crate::common::RegisterField<
9629        0,
9630        0x1,
9631        1,
9632        0,
9633        p208pfs::Podr,
9634        p208pfs::Podr,
9635        P208Pfs_SPEC,
9636        crate::common::RW,
9637    > {
9638        crate::common::RegisterField::<
9639            0,
9640            0x1,
9641            1,
9642            0,
9643            p208pfs::Podr,
9644            p208pfs::Podr,
9645            P208Pfs_SPEC,
9646            crate::common::RW,
9647        >::from_register(self, 0)
9648    }
9649
9650    #[doc = "Pmn State"]
9651    #[inline(always)]
9652    pub fn pidr(
9653        self,
9654    ) -> crate::common::RegisterField<
9655        1,
9656        0x1,
9657        1,
9658        0,
9659        p208pfs::Pidr,
9660        p208pfs::Pidr,
9661        P208Pfs_SPEC,
9662        crate::common::R,
9663    > {
9664        crate::common::RegisterField::<
9665            1,
9666            0x1,
9667            1,
9668            0,
9669            p208pfs::Pidr,
9670            p208pfs::Pidr,
9671            P208Pfs_SPEC,
9672            crate::common::R,
9673        >::from_register(self, 0)
9674    }
9675
9676    #[doc = "Port Direction"]
9677    #[inline(always)]
9678    pub fn pdr(
9679        self,
9680    ) -> crate::common::RegisterField<
9681        2,
9682        0x1,
9683        1,
9684        0,
9685        p208pfs::Pdr,
9686        p208pfs::Pdr,
9687        P208Pfs_SPEC,
9688        crate::common::RW,
9689    > {
9690        crate::common::RegisterField::<
9691            2,
9692            0x1,
9693            1,
9694            0,
9695            p208pfs::Pdr,
9696            p208pfs::Pdr,
9697            P208Pfs_SPEC,
9698            crate::common::RW,
9699        >::from_register(self, 0)
9700    }
9701
9702    #[doc = "Pull-up Control"]
9703    #[inline(always)]
9704    pub fn pcr(
9705        self,
9706    ) -> crate::common::RegisterField<
9707        4,
9708        0x1,
9709        1,
9710        0,
9711        p208pfs::Pcr,
9712        p208pfs::Pcr,
9713        P208Pfs_SPEC,
9714        crate::common::RW,
9715    > {
9716        crate::common::RegisterField::<
9717            4,
9718            0x1,
9719            1,
9720            0,
9721            p208pfs::Pcr,
9722            p208pfs::Pcr,
9723            P208Pfs_SPEC,
9724            crate::common::RW,
9725        >::from_register(self, 0)
9726    }
9727
9728    #[doc = "N-Channel Open-Drain Control"]
9729    #[inline(always)]
9730    pub fn ncodr(
9731        self,
9732    ) -> crate::common::RegisterField<
9733        6,
9734        0x1,
9735        1,
9736        0,
9737        p208pfs::Ncodr,
9738        p208pfs::Ncodr,
9739        P208Pfs_SPEC,
9740        crate::common::RW,
9741    > {
9742        crate::common::RegisterField::<
9743            6,
9744            0x1,
9745            1,
9746            0,
9747            p208pfs::Ncodr,
9748            p208pfs::Ncodr,
9749            P208Pfs_SPEC,
9750            crate::common::RW,
9751        >::from_register(self, 0)
9752    }
9753
9754    #[doc = "Port Drive Capability"]
9755    #[inline(always)]
9756    pub fn dscr(
9757        self,
9758    ) -> crate::common::RegisterField<
9759        10,
9760        0x3,
9761        1,
9762        0,
9763        p208pfs::Dscr,
9764        p208pfs::Dscr,
9765        P208Pfs_SPEC,
9766        crate::common::RW,
9767    > {
9768        crate::common::RegisterField::<
9769            10,
9770            0x3,
9771            1,
9772            0,
9773            p208pfs::Dscr,
9774            p208pfs::Dscr,
9775            P208Pfs_SPEC,
9776            crate::common::RW,
9777        >::from_register(self, 0)
9778    }
9779
9780    #[doc = "Event on Falling/Event on Rising"]
9781    #[inline(always)]
9782    pub fn eofr(
9783        self,
9784    ) -> crate::common::RegisterField<
9785        12,
9786        0x3,
9787        1,
9788        0,
9789        p208pfs::Eofr,
9790        p208pfs::Eofr,
9791        P208Pfs_SPEC,
9792        crate::common::RW,
9793    > {
9794        crate::common::RegisterField::<
9795            12,
9796            0x3,
9797            1,
9798            0,
9799            p208pfs::Eofr,
9800            p208pfs::Eofr,
9801            P208Pfs_SPEC,
9802            crate::common::RW,
9803        >::from_register(self, 0)
9804    }
9805
9806    #[doc = "IRQ Input Enable"]
9807    #[inline(always)]
9808    pub fn isel(
9809        self,
9810    ) -> crate::common::RegisterField<
9811        14,
9812        0x1,
9813        1,
9814        0,
9815        p208pfs::Isel,
9816        p208pfs::Isel,
9817        P208Pfs_SPEC,
9818        crate::common::RW,
9819    > {
9820        crate::common::RegisterField::<
9821            14,
9822            0x1,
9823            1,
9824            0,
9825            p208pfs::Isel,
9826            p208pfs::Isel,
9827            P208Pfs_SPEC,
9828            crate::common::RW,
9829        >::from_register(self, 0)
9830    }
9831
9832    #[doc = "Analog Input Enable"]
9833    #[inline(always)]
9834    pub fn asel(
9835        self,
9836    ) -> crate::common::RegisterField<
9837        15,
9838        0x1,
9839        1,
9840        0,
9841        p208pfs::Asel,
9842        p208pfs::Asel,
9843        P208Pfs_SPEC,
9844        crate::common::RW,
9845    > {
9846        crate::common::RegisterField::<
9847            15,
9848            0x1,
9849            1,
9850            0,
9851            p208pfs::Asel,
9852            p208pfs::Asel,
9853            P208Pfs_SPEC,
9854            crate::common::RW,
9855        >::from_register(self, 0)
9856    }
9857
9858    #[doc = "Port Mode Control"]
9859    #[inline(always)]
9860    pub fn pmr(
9861        self,
9862    ) -> crate::common::RegisterField<
9863        16,
9864        0x1,
9865        1,
9866        0,
9867        p208pfs::Pmr,
9868        p208pfs::Pmr,
9869        P208Pfs_SPEC,
9870        crate::common::RW,
9871    > {
9872        crate::common::RegisterField::<
9873            16,
9874            0x1,
9875            1,
9876            0,
9877            p208pfs::Pmr,
9878            p208pfs::Pmr,
9879            P208Pfs_SPEC,
9880            crate::common::RW,
9881        >::from_register(self, 0)
9882    }
9883
9884    #[doc = "Peripheral Select"]
9885    #[inline(always)]
9886    pub fn psel(
9887        self,
9888    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P208Pfs_SPEC, crate::common::RW> {
9889        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P208Pfs_SPEC,crate::common::RW>::from_register(self,0)
9890    }
9891}
9892impl ::core::default::Default for P208Pfs {
9893    #[inline(always)]
9894    fn default() -> P208Pfs {
9895        <crate::RegValueT<P208Pfs_SPEC> as RegisterValue<_>>::new(65552)
9896    }
9897}
9898pub mod p208pfs {
9899
9900    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9901    pub struct Podr_SPEC;
9902    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9903    impl Podr {
9904        #[doc = "Low output"]
9905        pub const _0: Self = Self::new(0);
9906
9907        #[doc = "High output"]
9908        pub const _1: Self = Self::new(1);
9909    }
9910    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9911    pub struct Pidr_SPEC;
9912    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9913    impl Pidr {
9914        #[doc = "Low level"]
9915        pub const _0: Self = Self::new(0);
9916
9917        #[doc = "High level"]
9918        pub const _1: Self = Self::new(1);
9919    }
9920    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9921    pub struct Pdr_SPEC;
9922    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9923    impl Pdr {
9924        #[doc = "Input (functions as an input pin)"]
9925        pub const _0: Self = Self::new(0);
9926
9927        #[doc = "Output (functions as an output pin)"]
9928        pub const _1: Self = Self::new(1);
9929    }
9930    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9931    pub struct Pcr_SPEC;
9932    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9933    impl Pcr {
9934        #[doc = "Disable input pull-up"]
9935        pub const _0: Self = Self::new(0);
9936
9937        #[doc = "Enable input pull-up"]
9938        pub const _1: Self = Self::new(1);
9939    }
9940    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9941    pub struct Ncodr_SPEC;
9942    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9943    impl Ncodr {
9944        #[doc = "CMOS output"]
9945        pub const _0: Self = Self::new(0);
9946
9947        #[doc = "NMOS open-drain output"]
9948        pub const _1: Self = Self::new(1);
9949    }
9950    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9951    pub struct Dscr_SPEC;
9952    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
9953    impl Dscr {
9954        #[doc = "Low drive"]
9955        pub const _00: Self = Self::new(0);
9956
9957        #[doc = "Middle drive"]
9958        pub const _01: Self = Self::new(1);
9959
9960        #[doc = "High-speed high-drive"]
9961        pub const _10: Self = Self::new(2);
9962
9963        #[doc = "High drive"]
9964        pub const _11: Self = Self::new(3);
9965    }
9966    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9967    pub struct Eofr_SPEC;
9968    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9969    impl Eofr {
9970        #[doc = "Don\'t care"]
9971        pub const _00: Self = Self::new(0);
9972
9973        #[doc = "Detect rising edge"]
9974        pub const _01: Self = Self::new(1);
9975
9976        #[doc = "Detect falling edge"]
9977        pub const _10: Self = Self::new(2);
9978
9979        #[doc = "Detect both edges"]
9980        pub const _11: Self = Self::new(3);
9981    }
9982    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9983    pub struct Isel_SPEC;
9984    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9985    impl Isel {
9986        #[doc = "Not used as an IRQn input pin"]
9987        pub const _0: Self = Self::new(0);
9988
9989        #[doc = "Used as an IRQn input pin"]
9990        pub const _1: Self = Self::new(1);
9991    }
9992    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9993    pub struct Asel_SPEC;
9994    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9995    impl Asel {
9996        #[doc = "Not used as an analog pin"]
9997        pub const _0: Self = Self::new(0);
9998
9999        #[doc = "Used as an analog pin"]
10000        pub const _1: Self = Self::new(1);
10001    }
10002    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10003    pub struct Pmr_SPEC;
10004    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
10005    impl Pmr {
10006        #[doc = "Used as a general I/O pin"]
10007        pub const _0: Self = Self::new(0);
10008
10009        #[doc = "Used as an I/O port for peripheral functions"]
10010        pub const _1: Self = Self::new(1);
10011    }
10012}
10013#[doc(hidden)]
10014#[derive(Copy, Clone, Eq, PartialEq)]
10015pub struct P208PfsHa_SPEC;
10016impl crate::sealed::RegSpec for P208PfsHa_SPEC {
10017    type DataType = u16;
10018}
10019
10020#[doc = "Port 208 Pin Function Select Register"]
10021pub type P208PfsHa = crate::RegValueT<P208PfsHa_SPEC>;
10022
10023impl P208PfsHa {
10024    #[doc = "Port Mode Control"]
10025    #[inline(always)]
10026    pub fn pmr(
10027        self,
10028    ) -> crate::common::RegisterField<
10029        0,
10030        0x1,
10031        1,
10032        0,
10033        p208pfs_ha::Pmr,
10034        p208pfs_ha::Pmr,
10035        P208PfsHa_SPEC,
10036        crate::common::RW,
10037    > {
10038        crate::common::RegisterField::<
10039            0,
10040            0x1,
10041            1,
10042            0,
10043            p208pfs_ha::Pmr,
10044            p208pfs_ha::Pmr,
10045            P208PfsHa_SPEC,
10046            crate::common::RW,
10047        >::from_register(self, 0)
10048    }
10049
10050    #[doc = "Peripheral Select"]
10051    #[inline(always)]
10052    pub fn psel(
10053        self,
10054    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P208PfsHa_SPEC, crate::common::RW>
10055    {
10056        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P208PfsHa_SPEC,crate::common::RW>::from_register(self,0)
10057    }
10058}
10059impl ::core::default::Default for P208PfsHa {
10060    #[inline(always)]
10061    fn default() -> P208PfsHa {
10062        <crate::RegValueT<P208PfsHa_SPEC> as RegisterValue<_>>::new(1)
10063    }
10064}
10065pub mod p208pfs_ha {
10066
10067    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10068    pub struct Pmr_SPEC;
10069    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
10070    impl Pmr {
10071        #[doc = "Used as a general I/O pin"]
10072        pub const _0: Self = Self::new(0);
10073
10074        #[doc = "Used as an I/O port for peripheral functions"]
10075        pub const _1: Self = Self::new(1);
10076    }
10077}
10078#[doc(hidden)]
10079#[derive(Copy, Clone, Eq, PartialEq)]
10080pub struct P208PfsBy_SPEC;
10081impl crate::sealed::RegSpec for P208PfsBy_SPEC {
10082    type DataType = u8;
10083}
10084
10085#[doc = "Port 208 Pin Function Select Register"]
10086pub type P208PfsBy = crate::RegValueT<P208PfsBy_SPEC>;
10087
10088impl P208PfsBy {
10089    #[doc = "Peripheral Select"]
10090    #[inline(always)]
10091    pub fn psel(
10092        self,
10093    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P208PfsBy_SPEC, crate::common::RW>
10094    {
10095        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P208PfsBy_SPEC,crate::common::RW>::from_register(self,0)
10096    }
10097}
10098impl ::core::default::Default for P208PfsBy {
10099    #[inline(always)]
10100    fn default() -> P208PfsBy {
10101        <crate::RegValueT<P208PfsBy_SPEC> as RegisterValue<_>>::new(0)
10102    }
10103}
10104
10105#[doc(hidden)]
10106#[derive(Copy, Clone, Eq, PartialEq)]
10107pub struct P209Pfs_SPEC;
10108impl crate::sealed::RegSpec for P209Pfs_SPEC {
10109    type DataType = u32;
10110}
10111
10112#[doc = "Port 209 Pin Function Select Register"]
10113pub type P209Pfs = crate::RegValueT<P209Pfs_SPEC>;
10114
10115impl P209Pfs {
10116    #[doc = "Port Output Data"]
10117    #[inline(always)]
10118    pub fn podr(
10119        self,
10120    ) -> crate::common::RegisterField<
10121        0,
10122        0x1,
10123        1,
10124        0,
10125        p209pfs::Podr,
10126        p209pfs::Podr,
10127        P209Pfs_SPEC,
10128        crate::common::RW,
10129    > {
10130        crate::common::RegisterField::<
10131            0,
10132            0x1,
10133            1,
10134            0,
10135            p209pfs::Podr,
10136            p209pfs::Podr,
10137            P209Pfs_SPEC,
10138            crate::common::RW,
10139        >::from_register(self, 0)
10140    }
10141
10142    #[doc = "Pmn State"]
10143    #[inline(always)]
10144    pub fn pidr(
10145        self,
10146    ) -> crate::common::RegisterField<
10147        1,
10148        0x1,
10149        1,
10150        0,
10151        p209pfs::Pidr,
10152        p209pfs::Pidr,
10153        P209Pfs_SPEC,
10154        crate::common::R,
10155    > {
10156        crate::common::RegisterField::<
10157            1,
10158            0x1,
10159            1,
10160            0,
10161            p209pfs::Pidr,
10162            p209pfs::Pidr,
10163            P209Pfs_SPEC,
10164            crate::common::R,
10165        >::from_register(self, 0)
10166    }
10167
10168    #[doc = "Port Direction"]
10169    #[inline(always)]
10170    pub fn pdr(
10171        self,
10172    ) -> crate::common::RegisterField<
10173        2,
10174        0x1,
10175        1,
10176        0,
10177        p209pfs::Pdr,
10178        p209pfs::Pdr,
10179        P209Pfs_SPEC,
10180        crate::common::RW,
10181    > {
10182        crate::common::RegisterField::<
10183            2,
10184            0x1,
10185            1,
10186            0,
10187            p209pfs::Pdr,
10188            p209pfs::Pdr,
10189            P209Pfs_SPEC,
10190            crate::common::RW,
10191        >::from_register(self, 0)
10192    }
10193
10194    #[doc = "Pull-up Control"]
10195    #[inline(always)]
10196    pub fn pcr(
10197        self,
10198    ) -> crate::common::RegisterField<
10199        4,
10200        0x1,
10201        1,
10202        0,
10203        p209pfs::Pcr,
10204        p209pfs::Pcr,
10205        P209Pfs_SPEC,
10206        crate::common::RW,
10207    > {
10208        crate::common::RegisterField::<
10209            4,
10210            0x1,
10211            1,
10212            0,
10213            p209pfs::Pcr,
10214            p209pfs::Pcr,
10215            P209Pfs_SPEC,
10216            crate::common::RW,
10217        >::from_register(self, 0)
10218    }
10219
10220    #[doc = "N-Channel Open-Drain Control"]
10221    #[inline(always)]
10222    pub fn ncodr(
10223        self,
10224    ) -> crate::common::RegisterField<
10225        6,
10226        0x1,
10227        1,
10228        0,
10229        p209pfs::Ncodr,
10230        p209pfs::Ncodr,
10231        P209Pfs_SPEC,
10232        crate::common::RW,
10233    > {
10234        crate::common::RegisterField::<
10235            6,
10236            0x1,
10237            1,
10238            0,
10239            p209pfs::Ncodr,
10240            p209pfs::Ncodr,
10241            P209Pfs_SPEC,
10242            crate::common::RW,
10243        >::from_register(self, 0)
10244    }
10245
10246    #[doc = "Port Drive Capability"]
10247    #[inline(always)]
10248    pub fn dscr(
10249        self,
10250    ) -> crate::common::RegisterField<
10251        10,
10252        0x3,
10253        1,
10254        0,
10255        p209pfs::Dscr,
10256        p209pfs::Dscr,
10257        P209Pfs_SPEC,
10258        crate::common::RW,
10259    > {
10260        crate::common::RegisterField::<
10261            10,
10262            0x3,
10263            1,
10264            0,
10265            p209pfs::Dscr,
10266            p209pfs::Dscr,
10267            P209Pfs_SPEC,
10268            crate::common::RW,
10269        >::from_register(self, 0)
10270    }
10271
10272    #[doc = "Event on Falling/Event on Rising"]
10273    #[inline(always)]
10274    pub fn eofr(
10275        self,
10276    ) -> crate::common::RegisterField<
10277        12,
10278        0x3,
10279        1,
10280        0,
10281        p209pfs::Eofr,
10282        p209pfs::Eofr,
10283        P209Pfs_SPEC,
10284        crate::common::RW,
10285    > {
10286        crate::common::RegisterField::<
10287            12,
10288            0x3,
10289            1,
10290            0,
10291            p209pfs::Eofr,
10292            p209pfs::Eofr,
10293            P209Pfs_SPEC,
10294            crate::common::RW,
10295        >::from_register(self, 0)
10296    }
10297
10298    #[doc = "IRQ Input Enable"]
10299    #[inline(always)]
10300    pub fn isel(
10301        self,
10302    ) -> crate::common::RegisterField<
10303        14,
10304        0x1,
10305        1,
10306        0,
10307        p209pfs::Isel,
10308        p209pfs::Isel,
10309        P209Pfs_SPEC,
10310        crate::common::RW,
10311    > {
10312        crate::common::RegisterField::<
10313            14,
10314            0x1,
10315            1,
10316            0,
10317            p209pfs::Isel,
10318            p209pfs::Isel,
10319            P209Pfs_SPEC,
10320            crate::common::RW,
10321        >::from_register(self, 0)
10322    }
10323
10324    #[doc = "Analog Input Enable"]
10325    #[inline(always)]
10326    pub fn asel(
10327        self,
10328    ) -> crate::common::RegisterField<
10329        15,
10330        0x1,
10331        1,
10332        0,
10333        p209pfs::Asel,
10334        p209pfs::Asel,
10335        P209Pfs_SPEC,
10336        crate::common::RW,
10337    > {
10338        crate::common::RegisterField::<
10339            15,
10340            0x1,
10341            1,
10342            0,
10343            p209pfs::Asel,
10344            p209pfs::Asel,
10345            P209Pfs_SPEC,
10346            crate::common::RW,
10347        >::from_register(self, 0)
10348    }
10349
10350    #[doc = "Port Mode Control"]
10351    #[inline(always)]
10352    pub fn pmr(
10353        self,
10354    ) -> crate::common::RegisterField<
10355        16,
10356        0x1,
10357        1,
10358        0,
10359        p209pfs::Pmr,
10360        p209pfs::Pmr,
10361        P209Pfs_SPEC,
10362        crate::common::RW,
10363    > {
10364        crate::common::RegisterField::<
10365            16,
10366            0x1,
10367            1,
10368            0,
10369            p209pfs::Pmr,
10370            p209pfs::Pmr,
10371            P209Pfs_SPEC,
10372            crate::common::RW,
10373        >::from_register(self, 0)
10374    }
10375
10376    #[doc = "Peripheral Select"]
10377    #[inline(always)]
10378    pub fn psel(
10379        self,
10380    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P209Pfs_SPEC, crate::common::RW> {
10381        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P209Pfs_SPEC,crate::common::RW>::from_register(self,0)
10382    }
10383}
10384impl ::core::default::Default for P209Pfs {
10385    #[inline(always)]
10386    fn default() -> P209Pfs {
10387        <crate::RegValueT<P209Pfs_SPEC> as RegisterValue<_>>::new(66560)
10388    }
10389}
10390pub mod p209pfs {
10391
10392    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10393    pub struct Podr_SPEC;
10394    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10395    impl Podr {
10396        #[doc = "Low output"]
10397        pub const _0: Self = Self::new(0);
10398
10399        #[doc = "High output"]
10400        pub const _1: Self = Self::new(1);
10401    }
10402    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10403    pub struct Pidr_SPEC;
10404    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10405    impl Pidr {
10406        #[doc = "Low level"]
10407        pub const _0: Self = Self::new(0);
10408
10409        #[doc = "High level"]
10410        pub const _1: Self = Self::new(1);
10411    }
10412    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10413    pub struct Pdr_SPEC;
10414    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10415    impl Pdr {
10416        #[doc = "Input (functions as an input pin)"]
10417        pub const _0: Self = Self::new(0);
10418
10419        #[doc = "Output (functions as an output pin)"]
10420        pub const _1: Self = Self::new(1);
10421    }
10422    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10423    pub struct Pcr_SPEC;
10424    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10425    impl Pcr {
10426        #[doc = "Disable input pull-up"]
10427        pub const _0: Self = Self::new(0);
10428
10429        #[doc = "Enable input pull-up"]
10430        pub const _1: Self = Self::new(1);
10431    }
10432    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10433    pub struct Ncodr_SPEC;
10434    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10435    impl Ncodr {
10436        #[doc = "CMOS output"]
10437        pub const _0: Self = Self::new(0);
10438
10439        #[doc = "NMOS open-drain output"]
10440        pub const _1: Self = Self::new(1);
10441    }
10442    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10443    pub struct Dscr_SPEC;
10444    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
10445    impl Dscr {
10446        #[doc = "Low drive"]
10447        pub const _00: Self = Self::new(0);
10448
10449        #[doc = "Middle drive"]
10450        pub const _01: Self = Self::new(1);
10451
10452        #[doc = "High-speed high-drive"]
10453        pub const _10: Self = Self::new(2);
10454
10455        #[doc = "High drive"]
10456        pub const _11: Self = Self::new(3);
10457    }
10458    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10459    pub struct Eofr_SPEC;
10460    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10461    impl Eofr {
10462        #[doc = "Don\'t care"]
10463        pub const _00: Self = Self::new(0);
10464
10465        #[doc = "Detect rising edge"]
10466        pub const _01: Self = Self::new(1);
10467
10468        #[doc = "Detect falling edge"]
10469        pub const _10: Self = Self::new(2);
10470
10471        #[doc = "Detect both edges"]
10472        pub const _11: Self = Self::new(3);
10473    }
10474    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10475    pub struct Isel_SPEC;
10476    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10477    impl Isel {
10478        #[doc = "Not used as an IRQn input pin"]
10479        pub const _0: Self = Self::new(0);
10480
10481        #[doc = "Used as an IRQn input pin"]
10482        pub const _1: Self = Self::new(1);
10483    }
10484    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10485    pub struct Asel_SPEC;
10486    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10487    impl Asel {
10488        #[doc = "Not used as an analog pin"]
10489        pub const _0: Self = Self::new(0);
10490
10491        #[doc = "Used as an analog pin"]
10492        pub const _1: Self = Self::new(1);
10493    }
10494    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10495    pub struct Pmr_SPEC;
10496    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
10497    impl Pmr {
10498        #[doc = "Used as a general I/O pin"]
10499        pub const _0: Self = Self::new(0);
10500
10501        #[doc = "Used as an I/O port for peripheral functions"]
10502        pub const _1: Self = Self::new(1);
10503    }
10504}
10505#[doc(hidden)]
10506#[derive(Copy, Clone, Eq, PartialEq)]
10507pub struct P209PfsHa_SPEC;
10508impl crate::sealed::RegSpec for P209PfsHa_SPEC {
10509    type DataType = u16;
10510}
10511
10512#[doc = "Port 209 Pin Function Select Register"]
10513pub type P209PfsHa = crate::RegValueT<P209PfsHa_SPEC>;
10514
10515impl P209PfsHa {
10516    #[doc = "Port Mode Control"]
10517    #[inline(always)]
10518    pub fn pmr(
10519        self,
10520    ) -> crate::common::RegisterField<
10521        0,
10522        0x1,
10523        1,
10524        0,
10525        p209pfs_ha::Pmr,
10526        p209pfs_ha::Pmr,
10527        P209PfsHa_SPEC,
10528        crate::common::RW,
10529    > {
10530        crate::common::RegisterField::<
10531            0,
10532            0x1,
10533            1,
10534            0,
10535            p209pfs_ha::Pmr,
10536            p209pfs_ha::Pmr,
10537            P209PfsHa_SPEC,
10538            crate::common::RW,
10539        >::from_register(self, 0)
10540    }
10541
10542    #[doc = "Peripheral Select"]
10543    #[inline(always)]
10544    pub fn psel(
10545        self,
10546    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P209PfsHa_SPEC, crate::common::RW>
10547    {
10548        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P209PfsHa_SPEC,crate::common::RW>::from_register(self,0)
10549    }
10550}
10551impl ::core::default::Default for P209PfsHa {
10552    #[inline(always)]
10553    fn default() -> P209PfsHa {
10554        <crate::RegValueT<P209PfsHa_SPEC> as RegisterValue<_>>::new(1)
10555    }
10556}
10557pub mod p209pfs_ha {
10558
10559    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10560    pub struct Pmr_SPEC;
10561    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
10562    impl Pmr {
10563        #[doc = "Used as a general I/O pin"]
10564        pub const _0: Self = Self::new(0);
10565
10566        #[doc = "Used as an I/O port for peripheral functions"]
10567        pub const _1: Self = Self::new(1);
10568    }
10569}
10570#[doc(hidden)]
10571#[derive(Copy, Clone, Eq, PartialEq)]
10572pub struct P209PfsBy_SPEC;
10573impl crate::sealed::RegSpec for P209PfsBy_SPEC {
10574    type DataType = u8;
10575}
10576
10577#[doc = "Port 209 Pin Function Select Register"]
10578pub type P209PfsBy = crate::RegValueT<P209PfsBy_SPEC>;
10579
10580impl P209PfsBy {
10581    #[doc = "Peripheral Select"]
10582    #[inline(always)]
10583    pub fn psel(
10584        self,
10585    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P209PfsBy_SPEC, crate::common::RW>
10586    {
10587        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P209PfsBy_SPEC,crate::common::RW>::from_register(self,0)
10588    }
10589}
10590impl ::core::default::Default for P209PfsBy {
10591    #[inline(always)]
10592    fn default() -> P209PfsBy {
10593        <crate::RegValueT<P209PfsBy_SPEC> as RegisterValue<_>>::new(0)
10594    }
10595}
10596
10597#[doc(hidden)]
10598#[derive(Copy, Clone, Eq, PartialEq)]
10599pub struct P210Pfs_SPEC;
10600impl crate::sealed::RegSpec for P210Pfs_SPEC {
10601    type DataType = u32;
10602}
10603
10604#[doc = "Port 210 Pin Function Select Register"]
10605pub type P210Pfs = crate::RegValueT<P210Pfs_SPEC>;
10606
10607impl P210Pfs {
10608    #[doc = "Port Output Data"]
10609    #[inline(always)]
10610    pub fn podr(
10611        self,
10612    ) -> crate::common::RegisterField<
10613        0,
10614        0x1,
10615        1,
10616        0,
10617        p210pfs::Podr,
10618        p210pfs::Podr,
10619        P210Pfs_SPEC,
10620        crate::common::RW,
10621    > {
10622        crate::common::RegisterField::<
10623            0,
10624            0x1,
10625            1,
10626            0,
10627            p210pfs::Podr,
10628            p210pfs::Podr,
10629            P210Pfs_SPEC,
10630            crate::common::RW,
10631        >::from_register(self, 0)
10632    }
10633
10634    #[doc = "Pmn State"]
10635    #[inline(always)]
10636    pub fn pidr(
10637        self,
10638    ) -> crate::common::RegisterField<
10639        1,
10640        0x1,
10641        1,
10642        0,
10643        p210pfs::Pidr,
10644        p210pfs::Pidr,
10645        P210Pfs_SPEC,
10646        crate::common::R,
10647    > {
10648        crate::common::RegisterField::<
10649            1,
10650            0x1,
10651            1,
10652            0,
10653            p210pfs::Pidr,
10654            p210pfs::Pidr,
10655            P210Pfs_SPEC,
10656            crate::common::R,
10657        >::from_register(self, 0)
10658    }
10659
10660    #[doc = "Port Direction"]
10661    #[inline(always)]
10662    pub fn pdr(
10663        self,
10664    ) -> crate::common::RegisterField<
10665        2,
10666        0x1,
10667        1,
10668        0,
10669        p210pfs::Pdr,
10670        p210pfs::Pdr,
10671        P210Pfs_SPEC,
10672        crate::common::RW,
10673    > {
10674        crate::common::RegisterField::<
10675            2,
10676            0x1,
10677            1,
10678            0,
10679            p210pfs::Pdr,
10680            p210pfs::Pdr,
10681            P210Pfs_SPEC,
10682            crate::common::RW,
10683        >::from_register(self, 0)
10684    }
10685
10686    #[doc = "Pull-up Control"]
10687    #[inline(always)]
10688    pub fn pcr(
10689        self,
10690    ) -> crate::common::RegisterField<
10691        4,
10692        0x1,
10693        1,
10694        0,
10695        p210pfs::Pcr,
10696        p210pfs::Pcr,
10697        P210Pfs_SPEC,
10698        crate::common::RW,
10699    > {
10700        crate::common::RegisterField::<
10701            4,
10702            0x1,
10703            1,
10704            0,
10705            p210pfs::Pcr,
10706            p210pfs::Pcr,
10707            P210Pfs_SPEC,
10708            crate::common::RW,
10709        >::from_register(self, 0)
10710    }
10711
10712    #[doc = "N-Channel Open-Drain Control"]
10713    #[inline(always)]
10714    pub fn ncodr(
10715        self,
10716    ) -> crate::common::RegisterField<
10717        6,
10718        0x1,
10719        1,
10720        0,
10721        p210pfs::Ncodr,
10722        p210pfs::Ncodr,
10723        P210Pfs_SPEC,
10724        crate::common::RW,
10725    > {
10726        crate::common::RegisterField::<
10727            6,
10728            0x1,
10729            1,
10730            0,
10731            p210pfs::Ncodr,
10732            p210pfs::Ncodr,
10733            P210Pfs_SPEC,
10734            crate::common::RW,
10735        >::from_register(self, 0)
10736    }
10737
10738    #[doc = "Port Drive Capability"]
10739    #[inline(always)]
10740    pub fn dscr(
10741        self,
10742    ) -> crate::common::RegisterField<
10743        10,
10744        0x3,
10745        1,
10746        0,
10747        p210pfs::Dscr,
10748        p210pfs::Dscr,
10749        P210Pfs_SPEC,
10750        crate::common::RW,
10751    > {
10752        crate::common::RegisterField::<
10753            10,
10754            0x3,
10755            1,
10756            0,
10757            p210pfs::Dscr,
10758            p210pfs::Dscr,
10759            P210Pfs_SPEC,
10760            crate::common::RW,
10761        >::from_register(self, 0)
10762    }
10763
10764    #[doc = "Event on Falling/Event on Rising"]
10765    #[inline(always)]
10766    pub fn eofr(
10767        self,
10768    ) -> crate::common::RegisterField<
10769        12,
10770        0x3,
10771        1,
10772        0,
10773        p210pfs::Eofr,
10774        p210pfs::Eofr,
10775        P210Pfs_SPEC,
10776        crate::common::RW,
10777    > {
10778        crate::common::RegisterField::<
10779            12,
10780            0x3,
10781            1,
10782            0,
10783            p210pfs::Eofr,
10784            p210pfs::Eofr,
10785            P210Pfs_SPEC,
10786            crate::common::RW,
10787        >::from_register(self, 0)
10788    }
10789
10790    #[doc = "IRQ Input Enable"]
10791    #[inline(always)]
10792    pub fn isel(
10793        self,
10794    ) -> crate::common::RegisterField<
10795        14,
10796        0x1,
10797        1,
10798        0,
10799        p210pfs::Isel,
10800        p210pfs::Isel,
10801        P210Pfs_SPEC,
10802        crate::common::RW,
10803    > {
10804        crate::common::RegisterField::<
10805            14,
10806            0x1,
10807            1,
10808            0,
10809            p210pfs::Isel,
10810            p210pfs::Isel,
10811            P210Pfs_SPEC,
10812            crate::common::RW,
10813        >::from_register(self, 0)
10814    }
10815
10816    #[doc = "Analog Input Enable"]
10817    #[inline(always)]
10818    pub fn asel(
10819        self,
10820    ) -> crate::common::RegisterField<
10821        15,
10822        0x1,
10823        1,
10824        0,
10825        p210pfs::Asel,
10826        p210pfs::Asel,
10827        P210Pfs_SPEC,
10828        crate::common::RW,
10829    > {
10830        crate::common::RegisterField::<
10831            15,
10832            0x1,
10833            1,
10834            0,
10835            p210pfs::Asel,
10836            p210pfs::Asel,
10837            P210Pfs_SPEC,
10838            crate::common::RW,
10839        >::from_register(self, 0)
10840    }
10841
10842    #[doc = "Port Mode Control"]
10843    #[inline(always)]
10844    pub fn pmr(
10845        self,
10846    ) -> crate::common::RegisterField<
10847        16,
10848        0x1,
10849        1,
10850        0,
10851        p210pfs::Pmr,
10852        p210pfs::Pmr,
10853        P210Pfs_SPEC,
10854        crate::common::RW,
10855    > {
10856        crate::common::RegisterField::<
10857            16,
10858            0x1,
10859            1,
10860            0,
10861            p210pfs::Pmr,
10862            p210pfs::Pmr,
10863            P210Pfs_SPEC,
10864            crate::common::RW,
10865        >::from_register(self, 0)
10866    }
10867
10868    #[doc = "Peripheral Select"]
10869    #[inline(always)]
10870    pub fn psel(
10871        self,
10872    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P210Pfs_SPEC, crate::common::RW> {
10873        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P210Pfs_SPEC,crate::common::RW>::from_register(self,0)
10874    }
10875}
10876impl ::core::default::Default for P210Pfs {
10877    #[inline(always)]
10878    fn default() -> P210Pfs {
10879        <crate::RegValueT<P210Pfs_SPEC> as RegisterValue<_>>::new(66576)
10880    }
10881}
10882pub mod p210pfs {
10883
10884    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10885    pub struct Podr_SPEC;
10886    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10887    impl Podr {
10888        #[doc = "Low output"]
10889        pub const _0: Self = Self::new(0);
10890
10891        #[doc = "High output"]
10892        pub const _1: Self = Self::new(1);
10893    }
10894    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10895    pub struct Pidr_SPEC;
10896    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10897    impl Pidr {
10898        #[doc = "Low level"]
10899        pub const _0: Self = Self::new(0);
10900
10901        #[doc = "High level"]
10902        pub const _1: Self = Self::new(1);
10903    }
10904    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10905    pub struct Pdr_SPEC;
10906    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10907    impl Pdr {
10908        #[doc = "Input (functions as an input pin)"]
10909        pub const _0: Self = Self::new(0);
10910
10911        #[doc = "Output (functions as an output pin)"]
10912        pub const _1: Self = Self::new(1);
10913    }
10914    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10915    pub struct Pcr_SPEC;
10916    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10917    impl Pcr {
10918        #[doc = "Disable input pull-up"]
10919        pub const _0: Self = Self::new(0);
10920
10921        #[doc = "Enable input pull-up"]
10922        pub const _1: Self = Self::new(1);
10923    }
10924    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10925    pub struct Ncodr_SPEC;
10926    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10927    impl Ncodr {
10928        #[doc = "CMOS output"]
10929        pub const _0: Self = Self::new(0);
10930
10931        #[doc = "NMOS open-drain output"]
10932        pub const _1: Self = Self::new(1);
10933    }
10934    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10935    pub struct Dscr_SPEC;
10936    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
10937    impl Dscr {
10938        #[doc = "Low drive"]
10939        pub const _00: Self = Self::new(0);
10940
10941        #[doc = "Middle drive"]
10942        pub const _01: Self = Self::new(1);
10943
10944        #[doc = "High-speed high-drive"]
10945        pub const _10: Self = Self::new(2);
10946
10947        #[doc = "High drive"]
10948        pub const _11: Self = Self::new(3);
10949    }
10950    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10951    pub struct Eofr_SPEC;
10952    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10953    impl Eofr {
10954        #[doc = "Don\'t care"]
10955        pub const _00: Self = Self::new(0);
10956
10957        #[doc = "Detect rising edge"]
10958        pub const _01: Self = Self::new(1);
10959
10960        #[doc = "Detect falling edge"]
10961        pub const _10: Self = Self::new(2);
10962
10963        #[doc = "Detect both edges"]
10964        pub const _11: Self = Self::new(3);
10965    }
10966    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10967    pub struct Isel_SPEC;
10968    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10969    impl Isel {
10970        #[doc = "Not used as an IRQn input pin"]
10971        pub const _0: Self = Self::new(0);
10972
10973        #[doc = "Used as an IRQn input pin"]
10974        pub const _1: Self = Self::new(1);
10975    }
10976    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10977    pub struct Asel_SPEC;
10978    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10979    impl Asel {
10980        #[doc = "Not used as an analog pin"]
10981        pub const _0: Self = Self::new(0);
10982
10983        #[doc = "Used as an analog pin"]
10984        pub const _1: Self = Self::new(1);
10985    }
10986    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10987    pub struct Pmr_SPEC;
10988    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
10989    impl Pmr {
10990        #[doc = "Used as a general I/O pin"]
10991        pub const _0: Self = Self::new(0);
10992
10993        #[doc = "Used as an I/O port for peripheral functions"]
10994        pub const _1: Self = Self::new(1);
10995    }
10996}
10997#[doc(hidden)]
10998#[derive(Copy, Clone, Eq, PartialEq)]
10999pub struct P210PfsHa_SPEC;
11000impl crate::sealed::RegSpec for P210PfsHa_SPEC {
11001    type DataType = u16;
11002}
11003
11004#[doc = "Port 210 Pin Function Select Register"]
11005pub type P210PfsHa = crate::RegValueT<P210PfsHa_SPEC>;
11006
11007impl P210PfsHa {
11008    #[doc = "Port Mode Control"]
11009    #[inline(always)]
11010    pub fn pmr(
11011        self,
11012    ) -> crate::common::RegisterField<
11013        0,
11014        0x1,
11015        1,
11016        0,
11017        p210pfs_ha::Pmr,
11018        p210pfs_ha::Pmr,
11019        P210PfsHa_SPEC,
11020        crate::common::RW,
11021    > {
11022        crate::common::RegisterField::<
11023            0,
11024            0x1,
11025            1,
11026            0,
11027            p210pfs_ha::Pmr,
11028            p210pfs_ha::Pmr,
11029            P210PfsHa_SPEC,
11030            crate::common::RW,
11031        >::from_register(self, 0)
11032    }
11033
11034    #[doc = "Peripheral Select"]
11035    #[inline(always)]
11036    pub fn psel(
11037        self,
11038    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P210PfsHa_SPEC, crate::common::RW>
11039    {
11040        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P210PfsHa_SPEC,crate::common::RW>::from_register(self,0)
11041    }
11042}
11043impl ::core::default::Default for P210PfsHa {
11044    #[inline(always)]
11045    fn default() -> P210PfsHa {
11046        <crate::RegValueT<P210PfsHa_SPEC> as RegisterValue<_>>::new(1)
11047    }
11048}
11049pub mod p210pfs_ha {
11050
11051    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11052    pub struct Pmr_SPEC;
11053    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
11054    impl Pmr {
11055        #[doc = "Used as a general I/O pin"]
11056        pub const _0: Self = Self::new(0);
11057
11058        #[doc = "Used as an I/O port for peripheral functions"]
11059        pub const _1: Self = Self::new(1);
11060    }
11061}
11062#[doc(hidden)]
11063#[derive(Copy, Clone, Eq, PartialEq)]
11064pub struct P210PfsBy_SPEC;
11065impl crate::sealed::RegSpec for P210PfsBy_SPEC {
11066    type DataType = u8;
11067}
11068
11069#[doc = "Port 210 Pin Function Select Register"]
11070pub type P210PfsBy = crate::RegValueT<P210PfsBy_SPEC>;
11071
11072impl P210PfsBy {
11073    #[doc = "Peripheral Select"]
11074    #[inline(always)]
11075    pub fn psel(
11076        self,
11077    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P210PfsBy_SPEC, crate::common::RW>
11078    {
11079        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P210PfsBy_SPEC,crate::common::RW>::from_register(self,0)
11080    }
11081}
11082impl ::core::default::Default for P210PfsBy {
11083    #[inline(always)]
11084    fn default() -> P210PfsBy {
11085        <crate::RegValueT<P210PfsBy_SPEC> as RegisterValue<_>>::new(0)
11086    }
11087}
11088
11089#[doc(hidden)]
11090#[derive(Copy, Clone, Eq, PartialEq)]
11091pub struct P211Pfs_SPEC;
11092impl crate::sealed::RegSpec for P211Pfs_SPEC {
11093    type DataType = u32;
11094}
11095
11096#[doc = "Port 211 Pin Function Select Register"]
11097pub type P211Pfs = crate::RegValueT<P211Pfs_SPEC>;
11098
11099impl P211Pfs {
11100    #[doc = "Port Output Data"]
11101    #[inline(always)]
11102    pub fn podr(
11103        self,
11104    ) -> crate::common::RegisterField<
11105        0,
11106        0x1,
11107        1,
11108        0,
11109        p211pfs::Podr,
11110        p211pfs::Podr,
11111        P211Pfs_SPEC,
11112        crate::common::RW,
11113    > {
11114        crate::common::RegisterField::<
11115            0,
11116            0x1,
11117            1,
11118            0,
11119            p211pfs::Podr,
11120            p211pfs::Podr,
11121            P211Pfs_SPEC,
11122            crate::common::RW,
11123        >::from_register(self, 0)
11124    }
11125
11126    #[doc = "Pmn State"]
11127    #[inline(always)]
11128    pub fn pidr(
11129        self,
11130    ) -> crate::common::RegisterField<
11131        1,
11132        0x1,
11133        1,
11134        0,
11135        p211pfs::Pidr,
11136        p211pfs::Pidr,
11137        P211Pfs_SPEC,
11138        crate::common::R,
11139    > {
11140        crate::common::RegisterField::<
11141            1,
11142            0x1,
11143            1,
11144            0,
11145            p211pfs::Pidr,
11146            p211pfs::Pidr,
11147            P211Pfs_SPEC,
11148            crate::common::R,
11149        >::from_register(self, 0)
11150    }
11151
11152    #[doc = "Port Direction"]
11153    #[inline(always)]
11154    pub fn pdr(
11155        self,
11156    ) -> crate::common::RegisterField<
11157        2,
11158        0x1,
11159        1,
11160        0,
11161        p211pfs::Pdr,
11162        p211pfs::Pdr,
11163        P211Pfs_SPEC,
11164        crate::common::RW,
11165    > {
11166        crate::common::RegisterField::<
11167            2,
11168            0x1,
11169            1,
11170            0,
11171            p211pfs::Pdr,
11172            p211pfs::Pdr,
11173            P211Pfs_SPEC,
11174            crate::common::RW,
11175        >::from_register(self, 0)
11176    }
11177
11178    #[doc = "Pull-up Control"]
11179    #[inline(always)]
11180    pub fn pcr(
11181        self,
11182    ) -> crate::common::RegisterField<
11183        4,
11184        0x1,
11185        1,
11186        0,
11187        p211pfs::Pcr,
11188        p211pfs::Pcr,
11189        P211Pfs_SPEC,
11190        crate::common::RW,
11191    > {
11192        crate::common::RegisterField::<
11193            4,
11194            0x1,
11195            1,
11196            0,
11197            p211pfs::Pcr,
11198            p211pfs::Pcr,
11199            P211Pfs_SPEC,
11200            crate::common::RW,
11201        >::from_register(self, 0)
11202    }
11203
11204    #[doc = "N-Channel Open-Drain Control"]
11205    #[inline(always)]
11206    pub fn ncodr(
11207        self,
11208    ) -> crate::common::RegisterField<
11209        6,
11210        0x1,
11211        1,
11212        0,
11213        p211pfs::Ncodr,
11214        p211pfs::Ncodr,
11215        P211Pfs_SPEC,
11216        crate::common::RW,
11217    > {
11218        crate::common::RegisterField::<
11219            6,
11220            0x1,
11221            1,
11222            0,
11223            p211pfs::Ncodr,
11224            p211pfs::Ncodr,
11225            P211Pfs_SPEC,
11226            crate::common::RW,
11227        >::from_register(self, 0)
11228    }
11229
11230    #[doc = "Port Drive Capability"]
11231    #[inline(always)]
11232    pub fn dscr(
11233        self,
11234    ) -> crate::common::RegisterField<
11235        10,
11236        0x3,
11237        1,
11238        0,
11239        p211pfs::Dscr,
11240        p211pfs::Dscr,
11241        P211Pfs_SPEC,
11242        crate::common::RW,
11243    > {
11244        crate::common::RegisterField::<
11245            10,
11246            0x3,
11247            1,
11248            0,
11249            p211pfs::Dscr,
11250            p211pfs::Dscr,
11251            P211Pfs_SPEC,
11252            crate::common::RW,
11253        >::from_register(self, 0)
11254    }
11255
11256    #[doc = "Event on Falling/Event on Rising"]
11257    #[inline(always)]
11258    pub fn eofr(
11259        self,
11260    ) -> crate::common::RegisterField<
11261        12,
11262        0x3,
11263        1,
11264        0,
11265        p211pfs::Eofr,
11266        p211pfs::Eofr,
11267        P211Pfs_SPEC,
11268        crate::common::RW,
11269    > {
11270        crate::common::RegisterField::<
11271            12,
11272            0x3,
11273            1,
11274            0,
11275            p211pfs::Eofr,
11276            p211pfs::Eofr,
11277            P211Pfs_SPEC,
11278            crate::common::RW,
11279        >::from_register(self, 0)
11280    }
11281
11282    #[doc = "IRQ Input Enable"]
11283    #[inline(always)]
11284    pub fn isel(
11285        self,
11286    ) -> crate::common::RegisterField<
11287        14,
11288        0x1,
11289        1,
11290        0,
11291        p211pfs::Isel,
11292        p211pfs::Isel,
11293        P211Pfs_SPEC,
11294        crate::common::RW,
11295    > {
11296        crate::common::RegisterField::<
11297            14,
11298            0x1,
11299            1,
11300            0,
11301            p211pfs::Isel,
11302            p211pfs::Isel,
11303            P211Pfs_SPEC,
11304            crate::common::RW,
11305        >::from_register(self, 0)
11306    }
11307
11308    #[doc = "Analog Input Enable"]
11309    #[inline(always)]
11310    pub fn asel(
11311        self,
11312    ) -> crate::common::RegisterField<
11313        15,
11314        0x1,
11315        1,
11316        0,
11317        p211pfs::Asel,
11318        p211pfs::Asel,
11319        P211Pfs_SPEC,
11320        crate::common::RW,
11321    > {
11322        crate::common::RegisterField::<
11323            15,
11324            0x1,
11325            1,
11326            0,
11327            p211pfs::Asel,
11328            p211pfs::Asel,
11329            P211Pfs_SPEC,
11330            crate::common::RW,
11331        >::from_register(self, 0)
11332    }
11333
11334    #[doc = "Port Mode Control"]
11335    #[inline(always)]
11336    pub fn pmr(
11337        self,
11338    ) -> crate::common::RegisterField<
11339        16,
11340        0x1,
11341        1,
11342        0,
11343        p211pfs::Pmr,
11344        p211pfs::Pmr,
11345        P211Pfs_SPEC,
11346        crate::common::RW,
11347    > {
11348        crate::common::RegisterField::<
11349            16,
11350            0x1,
11351            1,
11352            0,
11353            p211pfs::Pmr,
11354            p211pfs::Pmr,
11355            P211Pfs_SPEC,
11356            crate::common::RW,
11357        >::from_register(self, 0)
11358    }
11359
11360    #[doc = "Peripheral Select"]
11361    #[inline(always)]
11362    pub fn psel(
11363        self,
11364    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P211Pfs_SPEC, crate::common::RW> {
11365        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P211Pfs_SPEC,crate::common::RW>::from_register(self,0)
11366    }
11367}
11368impl ::core::default::Default for P211Pfs {
11369    #[inline(always)]
11370    fn default() -> P211Pfs {
11371        <crate::RegValueT<P211Pfs_SPEC> as RegisterValue<_>>::new(65552)
11372    }
11373}
11374pub mod p211pfs {
11375
11376    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11377    pub struct Podr_SPEC;
11378    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11379    impl Podr {
11380        #[doc = "Low output"]
11381        pub const _0: Self = Self::new(0);
11382
11383        #[doc = "High output"]
11384        pub const _1: Self = Self::new(1);
11385    }
11386    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11387    pub struct Pidr_SPEC;
11388    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11389    impl Pidr {
11390        #[doc = "Low level"]
11391        pub const _0: Self = Self::new(0);
11392
11393        #[doc = "High level"]
11394        pub const _1: Self = Self::new(1);
11395    }
11396    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11397    pub struct Pdr_SPEC;
11398    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11399    impl Pdr {
11400        #[doc = "Input (functions as an input pin)"]
11401        pub const _0: Self = Self::new(0);
11402
11403        #[doc = "Output (functions as an output pin)"]
11404        pub const _1: Self = Self::new(1);
11405    }
11406    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11407    pub struct Pcr_SPEC;
11408    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11409    impl Pcr {
11410        #[doc = "Disable input pull-up"]
11411        pub const _0: Self = Self::new(0);
11412
11413        #[doc = "Enable input pull-up"]
11414        pub const _1: Self = Self::new(1);
11415    }
11416    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11417    pub struct Ncodr_SPEC;
11418    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11419    impl Ncodr {
11420        #[doc = "CMOS output"]
11421        pub const _0: Self = Self::new(0);
11422
11423        #[doc = "NMOS open-drain output"]
11424        pub const _1: Self = Self::new(1);
11425    }
11426    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11427    pub struct Dscr_SPEC;
11428    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
11429    impl Dscr {
11430        #[doc = "Low drive"]
11431        pub const _00: Self = Self::new(0);
11432
11433        #[doc = "Middle drive"]
11434        pub const _01: Self = Self::new(1);
11435
11436        #[doc = "High-speed high-drive"]
11437        pub const _10: Self = Self::new(2);
11438
11439        #[doc = "High drive"]
11440        pub const _11: Self = Self::new(3);
11441    }
11442    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11443    pub struct Eofr_SPEC;
11444    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
11445    impl Eofr {
11446        #[doc = "Don\'t care"]
11447        pub const _00: Self = Self::new(0);
11448
11449        #[doc = "Detect rising edge"]
11450        pub const _01: Self = Self::new(1);
11451
11452        #[doc = "Detect falling edge"]
11453        pub const _10: Self = Self::new(2);
11454
11455        #[doc = "Detect both edges"]
11456        pub const _11: Self = Self::new(3);
11457    }
11458    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11459    pub struct Isel_SPEC;
11460    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11461    impl Isel {
11462        #[doc = "Not used as an IRQn input pin"]
11463        pub const _0: Self = Self::new(0);
11464
11465        #[doc = "Used as an IRQn input pin"]
11466        pub const _1: Self = Self::new(1);
11467    }
11468    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11469    pub struct Asel_SPEC;
11470    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11471    impl Asel {
11472        #[doc = "Not used as an analog pin"]
11473        pub const _0: Self = Self::new(0);
11474
11475        #[doc = "Used as an analog pin"]
11476        pub const _1: Self = Self::new(1);
11477    }
11478    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11479    pub struct Pmr_SPEC;
11480    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
11481    impl Pmr {
11482        #[doc = "Used as a general I/O pin"]
11483        pub const _0: Self = Self::new(0);
11484
11485        #[doc = "Used as an I/O port for peripheral functions"]
11486        pub const _1: Self = Self::new(1);
11487    }
11488}
11489#[doc(hidden)]
11490#[derive(Copy, Clone, Eq, PartialEq)]
11491pub struct P211PfsHa_SPEC;
11492impl crate::sealed::RegSpec for P211PfsHa_SPEC {
11493    type DataType = u16;
11494}
11495
11496#[doc = "Port 211 Pin Function Select Register"]
11497pub type P211PfsHa = crate::RegValueT<P211PfsHa_SPEC>;
11498
11499impl P211PfsHa {
11500    #[doc = "Port Mode Control"]
11501    #[inline(always)]
11502    pub fn pmr(
11503        self,
11504    ) -> crate::common::RegisterField<
11505        0,
11506        0x1,
11507        1,
11508        0,
11509        p211pfs_ha::Pmr,
11510        p211pfs_ha::Pmr,
11511        P211PfsHa_SPEC,
11512        crate::common::RW,
11513    > {
11514        crate::common::RegisterField::<
11515            0,
11516            0x1,
11517            1,
11518            0,
11519            p211pfs_ha::Pmr,
11520            p211pfs_ha::Pmr,
11521            P211PfsHa_SPEC,
11522            crate::common::RW,
11523        >::from_register(self, 0)
11524    }
11525
11526    #[doc = "Peripheral Select"]
11527    #[inline(always)]
11528    pub fn psel(
11529        self,
11530    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P211PfsHa_SPEC, crate::common::RW>
11531    {
11532        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P211PfsHa_SPEC,crate::common::RW>::from_register(self,0)
11533    }
11534}
11535impl ::core::default::Default for P211PfsHa {
11536    #[inline(always)]
11537    fn default() -> P211PfsHa {
11538        <crate::RegValueT<P211PfsHa_SPEC> as RegisterValue<_>>::new(1)
11539    }
11540}
11541pub mod p211pfs_ha {
11542
11543    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11544    pub struct Pmr_SPEC;
11545    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
11546    impl Pmr {
11547        #[doc = "Used as a general I/O pin"]
11548        pub const _0: Self = Self::new(0);
11549
11550        #[doc = "Used as an I/O port for peripheral functions"]
11551        pub const _1: Self = Self::new(1);
11552    }
11553}
11554#[doc(hidden)]
11555#[derive(Copy, Clone, Eq, PartialEq)]
11556pub struct P211PfsBy_SPEC;
11557impl crate::sealed::RegSpec for P211PfsBy_SPEC {
11558    type DataType = u8;
11559}
11560
11561#[doc = "Port 211 Pin Function Select Register"]
11562pub type P211PfsBy = crate::RegValueT<P211PfsBy_SPEC>;
11563
11564impl P211PfsBy {
11565    #[doc = "Peripheral Select"]
11566    #[inline(always)]
11567    pub fn psel(
11568        self,
11569    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P211PfsBy_SPEC, crate::common::RW>
11570    {
11571        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P211PfsBy_SPEC,crate::common::RW>::from_register(self,0)
11572    }
11573}
11574impl ::core::default::Default for P211PfsBy {
11575    #[inline(always)]
11576    fn default() -> P211PfsBy {
11577        <crate::RegValueT<P211PfsBy_SPEC> as RegisterValue<_>>::new(0)
11578    }
11579}
11580
11581#[doc(hidden)]
11582#[derive(Copy, Clone, Eq, PartialEq)]
11583pub struct P2Pfs_SPEC;
11584impl crate::sealed::RegSpec for P2Pfs_SPEC {
11585    type DataType = u32;
11586}
11587
11588#[doc = "Port 2%s Pin Function Select Register"]
11589pub type P2Pfs = crate::RegValueT<P2Pfs_SPEC>;
11590
11591impl P2Pfs {
11592    #[doc = "Port Output Data"]
11593    #[inline(always)]
11594    pub fn podr(
11595        self,
11596    ) -> crate::common::RegisterField<
11597        0,
11598        0x1,
11599        1,
11600        0,
11601        p2pfs::Podr,
11602        p2pfs::Podr,
11603        P2Pfs_SPEC,
11604        crate::common::RW,
11605    > {
11606        crate::common::RegisterField::<
11607            0,
11608            0x1,
11609            1,
11610            0,
11611            p2pfs::Podr,
11612            p2pfs::Podr,
11613            P2Pfs_SPEC,
11614            crate::common::RW,
11615        >::from_register(self, 0)
11616    }
11617
11618    #[doc = "Pmn State"]
11619    #[inline(always)]
11620    pub fn pidr(
11621        self,
11622    ) -> crate::common::RegisterField<
11623        1,
11624        0x1,
11625        1,
11626        0,
11627        p2pfs::Pidr,
11628        p2pfs::Pidr,
11629        P2Pfs_SPEC,
11630        crate::common::R,
11631    > {
11632        crate::common::RegisterField::<
11633            1,
11634            0x1,
11635            1,
11636            0,
11637            p2pfs::Pidr,
11638            p2pfs::Pidr,
11639            P2Pfs_SPEC,
11640            crate::common::R,
11641        >::from_register(self, 0)
11642    }
11643
11644    #[doc = "Port Direction"]
11645    #[inline(always)]
11646    pub fn pdr(
11647        self,
11648    ) -> crate::common::RegisterField<
11649        2,
11650        0x1,
11651        1,
11652        0,
11653        p2pfs::Pdr,
11654        p2pfs::Pdr,
11655        P2Pfs_SPEC,
11656        crate::common::RW,
11657    > {
11658        crate::common::RegisterField::<
11659            2,
11660            0x1,
11661            1,
11662            0,
11663            p2pfs::Pdr,
11664            p2pfs::Pdr,
11665            P2Pfs_SPEC,
11666            crate::common::RW,
11667        >::from_register(self, 0)
11668    }
11669
11670    #[doc = "Pull-up Control"]
11671    #[inline(always)]
11672    pub fn pcr(
11673        self,
11674    ) -> crate::common::RegisterField<
11675        4,
11676        0x1,
11677        1,
11678        0,
11679        p2pfs::Pcr,
11680        p2pfs::Pcr,
11681        P2Pfs_SPEC,
11682        crate::common::RW,
11683    > {
11684        crate::common::RegisterField::<
11685            4,
11686            0x1,
11687            1,
11688            0,
11689            p2pfs::Pcr,
11690            p2pfs::Pcr,
11691            P2Pfs_SPEC,
11692            crate::common::RW,
11693        >::from_register(self, 0)
11694    }
11695
11696    #[doc = "N-Channel Open-Drain Control"]
11697    #[inline(always)]
11698    pub fn ncodr(
11699        self,
11700    ) -> crate::common::RegisterField<
11701        6,
11702        0x1,
11703        1,
11704        0,
11705        p2pfs::Ncodr,
11706        p2pfs::Ncodr,
11707        P2Pfs_SPEC,
11708        crate::common::RW,
11709    > {
11710        crate::common::RegisterField::<
11711            6,
11712            0x1,
11713            1,
11714            0,
11715            p2pfs::Ncodr,
11716            p2pfs::Ncodr,
11717            P2Pfs_SPEC,
11718            crate::common::RW,
11719        >::from_register(self, 0)
11720    }
11721
11722    #[doc = "Port Drive Capability"]
11723    #[inline(always)]
11724    pub fn dscr(
11725        self,
11726    ) -> crate::common::RegisterField<
11727        10,
11728        0x3,
11729        1,
11730        0,
11731        p2pfs::Dscr,
11732        p2pfs::Dscr,
11733        P2Pfs_SPEC,
11734        crate::common::RW,
11735    > {
11736        crate::common::RegisterField::<
11737            10,
11738            0x3,
11739            1,
11740            0,
11741            p2pfs::Dscr,
11742            p2pfs::Dscr,
11743            P2Pfs_SPEC,
11744            crate::common::RW,
11745        >::from_register(self, 0)
11746    }
11747
11748    #[doc = "Event on Falling/Event on Rising"]
11749    #[inline(always)]
11750    pub fn eofr(
11751        self,
11752    ) -> crate::common::RegisterField<
11753        12,
11754        0x3,
11755        1,
11756        0,
11757        p2pfs::Eofr,
11758        p2pfs::Eofr,
11759        P2Pfs_SPEC,
11760        crate::common::RW,
11761    > {
11762        crate::common::RegisterField::<
11763            12,
11764            0x3,
11765            1,
11766            0,
11767            p2pfs::Eofr,
11768            p2pfs::Eofr,
11769            P2Pfs_SPEC,
11770            crate::common::RW,
11771        >::from_register(self, 0)
11772    }
11773
11774    #[doc = "IRQ Input Enable"]
11775    #[inline(always)]
11776    pub fn isel(
11777        self,
11778    ) -> crate::common::RegisterField<
11779        14,
11780        0x1,
11781        1,
11782        0,
11783        p2pfs::Isel,
11784        p2pfs::Isel,
11785        P2Pfs_SPEC,
11786        crate::common::RW,
11787    > {
11788        crate::common::RegisterField::<
11789            14,
11790            0x1,
11791            1,
11792            0,
11793            p2pfs::Isel,
11794            p2pfs::Isel,
11795            P2Pfs_SPEC,
11796            crate::common::RW,
11797        >::from_register(self, 0)
11798    }
11799
11800    #[doc = "Analog Input Enable"]
11801    #[inline(always)]
11802    pub fn asel(
11803        self,
11804    ) -> crate::common::RegisterField<
11805        15,
11806        0x1,
11807        1,
11808        0,
11809        p2pfs::Asel,
11810        p2pfs::Asel,
11811        P2Pfs_SPEC,
11812        crate::common::RW,
11813    > {
11814        crate::common::RegisterField::<
11815            15,
11816            0x1,
11817            1,
11818            0,
11819            p2pfs::Asel,
11820            p2pfs::Asel,
11821            P2Pfs_SPEC,
11822            crate::common::RW,
11823        >::from_register(self, 0)
11824    }
11825
11826    #[doc = "Port Mode Control"]
11827    #[inline(always)]
11828    pub fn pmr(
11829        self,
11830    ) -> crate::common::RegisterField<
11831        16,
11832        0x1,
11833        1,
11834        0,
11835        p2pfs::Pmr,
11836        p2pfs::Pmr,
11837        P2Pfs_SPEC,
11838        crate::common::RW,
11839    > {
11840        crate::common::RegisterField::<
11841            16,
11842            0x1,
11843            1,
11844            0,
11845            p2pfs::Pmr,
11846            p2pfs::Pmr,
11847            P2Pfs_SPEC,
11848            crate::common::RW,
11849        >::from_register(self, 0)
11850    }
11851
11852    #[doc = "Peripheral Select"]
11853    #[inline(always)]
11854    pub fn psel(
11855        self,
11856    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P2Pfs_SPEC, crate::common::RW> {
11857        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P2Pfs_SPEC,crate::common::RW>::from_register(self,0)
11858    }
11859}
11860impl ::core::default::Default for P2Pfs {
11861    #[inline(always)]
11862    fn default() -> P2Pfs {
11863        <crate::RegValueT<P2Pfs_SPEC> as RegisterValue<_>>::new(0)
11864    }
11865}
11866pub mod p2pfs {
11867
11868    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11869    pub struct Podr_SPEC;
11870    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11871    impl Podr {
11872        #[doc = "Low output"]
11873        pub const _0: Self = Self::new(0);
11874
11875        #[doc = "High output"]
11876        pub const _1: Self = Self::new(1);
11877    }
11878    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11879    pub struct Pidr_SPEC;
11880    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11881    impl Pidr {
11882        #[doc = "Low level"]
11883        pub const _0: Self = Self::new(0);
11884
11885        #[doc = "High level"]
11886        pub const _1: Self = Self::new(1);
11887    }
11888    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11889    pub struct Pdr_SPEC;
11890    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11891    impl Pdr {
11892        #[doc = "Input (functions as an input pin)"]
11893        pub const _0: Self = Self::new(0);
11894
11895        #[doc = "Output (functions as an output pin)"]
11896        pub const _1: Self = Self::new(1);
11897    }
11898    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11899    pub struct Pcr_SPEC;
11900    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11901    impl Pcr {
11902        #[doc = "Disable input pull-up"]
11903        pub const _0: Self = Self::new(0);
11904
11905        #[doc = "Enable input pull-up"]
11906        pub const _1: Self = Self::new(1);
11907    }
11908    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11909    pub struct Ncodr_SPEC;
11910    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11911    impl Ncodr {
11912        #[doc = "CMOS output"]
11913        pub const _0: Self = Self::new(0);
11914
11915        #[doc = "NMOS open-drain output"]
11916        pub const _1: Self = Self::new(1);
11917    }
11918    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11919    pub struct Dscr_SPEC;
11920    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
11921    impl Dscr {
11922        #[doc = "Low drive"]
11923        pub const _00: Self = Self::new(0);
11924
11925        #[doc = "Middle drive"]
11926        pub const _01: Self = Self::new(1);
11927
11928        #[doc = "High-speed high-drive"]
11929        pub const _10: Self = Self::new(2);
11930
11931        #[doc = "High drive"]
11932        pub const _11: Self = Self::new(3);
11933    }
11934    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11935    pub struct Eofr_SPEC;
11936    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
11937    impl Eofr {
11938        #[doc = "Don\'t care"]
11939        pub const _00: Self = Self::new(0);
11940
11941        #[doc = "Detect rising edge"]
11942        pub const _01: Self = Self::new(1);
11943
11944        #[doc = "Detect falling edge"]
11945        pub const _10: Self = Self::new(2);
11946
11947        #[doc = "Detect both edges"]
11948        pub const _11: Self = Self::new(3);
11949    }
11950    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11951    pub struct Isel_SPEC;
11952    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11953    impl Isel {
11954        #[doc = "Not used as an IRQn input pin"]
11955        pub const _0: Self = Self::new(0);
11956
11957        #[doc = "Used as an IRQn input pin"]
11958        pub const _1: Self = Self::new(1);
11959    }
11960    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11961    pub struct Asel_SPEC;
11962    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11963    impl Asel {
11964        #[doc = "Not used as an analog pin"]
11965        pub const _0: Self = Self::new(0);
11966
11967        #[doc = "Used as an analog pin"]
11968        pub const _1: Self = Self::new(1);
11969    }
11970    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11971    pub struct Pmr_SPEC;
11972    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
11973    impl Pmr {
11974        #[doc = "Used as a general I/O pin"]
11975        pub const _0: Self = Self::new(0);
11976
11977        #[doc = "Used as an I/O port for peripheral functions"]
11978        pub const _1: Self = Self::new(1);
11979    }
11980}
11981#[doc(hidden)]
11982#[derive(Copy, Clone, Eq, PartialEq)]
11983pub struct P2PfsHa_SPEC;
11984impl crate::sealed::RegSpec for P2PfsHa_SPEC {
11985    type DataType = u16;
11986}
11987
11988#[doc = "Port 2%s Pin Function Select Register"]
11989pub type P2PfsHa = crate::RegValueT<P2PfsHa_SPEC>;
11990
11991impl P2PfsHa {
11992    #[doc = "Port Mode Control"]
11993    #[inline(always)]
11994    pub fn pmr(
11995        self,
11996    ) -> crate::common::RegisterField<
11997        0,
11998        0x1,
11999        1,
12000        0,
12001        p2pfs_ha::Pmr,
12002        p2pfs_ha::Pmr,
12003        P2PfsHa_SPEC,
12004        crate::common::RW,
12005    > {
12006        crate::common::RegisterField::<
12007            0,
12008            0x1,
12009            1,
12010            0,
12011            p2pfs_ha::Pmr,
12012            p2pfs_ha::Pmr,
12013            P2PfsHa_SPEC,
12014            crate::common::RW,
12015        >::from_register(self, 0)
12016    }
12017
12018    #[doc = "Peripheral Select"]
12019    #[inline(always)]
12020    pub fn psel(
12021        self,
12022    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P2PfsHa_SPEC, crate::common::RW> {
12023        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P2PfsHa_SPEC,crate::common::RW>::from_register(self,0)
12024    }
12025}
12026impl ::core::default::Default for P2PfsHa {
12027    #[inline(always)]
12028    fn default() -> P2PfsHa {
12029        <crate::RegValueT<P2PfsHa_SPEC> as RegisterValue<_>>::new(0)
12030    }
12031}
12032pub mod p2pfs_ha {
12033
12034    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12035    pub struct Pmr_SPEC;
12036    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
12037    impl Pmr {
12038        #[doc = "Used as a general I/O pin"]
12039        pub const _0: Self = Self::new(0);
12040
12041        #[doc = "Used as an I/O port for peripheral functions"]
12042        pub const _1: Self = Self::new(1);
12043    }
12044}
12045#[doc(hidden)]
12046#[derive(Copy, Clone, Eq, PartialEq)]
12047pub struct P2PfsBy_SPEC;
12048impl crate::sealed::RegSpec for P2PfsBy_SPEC {
12049    type DataType = u8;
12050}
12051
12052#[doc = "Port 2%s Pin Function Select Register"]
12053pub type P2PfsBy = crate::RegValueT<P2PfsBy_SPEC>;
12054
12055impl P2PfsBy {
12056    #[doc = "Peripheral Select"]
12057    #[inline(always)]
12058    pub fn psel(
12059        self,
12060    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P2PfsBy_SPEC, crate::common::RW> {
12061        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P2PfsBy_SPEC,crate::common::RW>::from_register(self,0)
12062    }
12063}
12064impl ::core::default::Default for P2PfsBy {
12065    #[inline(always)]
12066    fn default() -> P2PfsBy {
12067        <crate::RegValueT<P2PfsBy_SPEC> as RegisterValue<_>>::new(0)
12068    }
12069}
12070
12071#[doc(hidden)]
12072#[derive(Copy, Clone, Eq, PartialEq)]
12073pub struct P30Pfs_SPEC;
12074impl crate::sealed::RegSpec for P30Pfs_SPEC {
12075    type DataType = u32;
12076}
12077
12078#[doc = "Port 30%s Pin Function Select Register"]
12079pub type P30Pfs = crate::RegValueT<P30Pfs_SPEC>;
12080
12081impl P30Pfs {
12082    #[doc = "Port Output Data"]
12083    #[inline(always)]
12084    pub fn podr(
12085        self,
12086    ) -> crate::common::RegisterField<
12087        0,
12088        0x1,
12089        1,
12090        0,
12091        p30pfs::Podr,
12092        p30pfs::Podr,
12093        P30Pfs_SPEC,
12094        crate::common::RW,
12095    > {
12096        crate::common::RegisterField::<
12097            0,
12098            0x1,
12099            1,
12100            0,
12101            p30pfs::Podr,
12102            p30pfs::Podr,
12103            P30Pfs_SPEC,
12104            crate::common::RW,
12105        >::from_register(self, 0)
12106    }
12107
12108    #[doc = "Pmn State"]
12109    #[inline(always)]
12110    pub fn pidr(
12111        self,
12112    ) -> crate::common::RegisterField<
12113        1,
12114        0x1,
12115        1,
12116        0,
12117        p30pfs::Pidr,
12118        p30pfs::Pidr,
12119        P30Pfs_SPEC,
12120        crate::common::R,
12121    > {
12122        crate::common::RegisterField::<
12123            1,
12124            0x1,
12125            1,
12126            0,
12127            p30pfs::Pidr,
12128            p30pfs::Pidr,
12129            P30Pfs_SPEC,
12130            crate::common::R,
12131        >::from_register(self, 0)
12132    }
12133
12134    #[doc = "Port Direction"]
12135    #[inline(always)]
12136    pub fn pdr(
12137        self,
12138    ) -> crate::common::RegisterField<
12139        2,
12140        0x1,
12141        1,
12142        0,
12143        p30pfs::Pdr,
12144        p30pfs::Pdr,
12145        P30Pfs_SPEC,
12146        crate::common::RW,
12147    > {
12148        crate::common::RegisterField::<
12149            2,
12150            0x1,
12151            1,
12152            0,
12153            p30pfs::Pdr,
12154            p30pfs::Pdr,
12155            P30Pfs_SPEC,
12156            crate::common::RW,
12157        >::from_register(self, 0)
12158    }
12159
12160    #[doc = "Pull-up Control"]
12161    #[inline(always)]
12162    pub fn pcr(
12163        self,
12164    ) -> crate::common::RegisterField<
12165        4,
12166        0x1,
12167        1,
12168        0,
12169        p30pfs::Pcr,
12170        p30pfs::Pcr,
12171        P30Pfs_SPEC,
12172        crate::common::RW,
12173    > {
12174        crate::common::RegisterField::<
12175            4,
12176            0x1,
12177            1,
12178            0,
12179            p30pfs::Pcr,
12180            p30pfs::Pcr,
12181            P30Pfs_SPEC,
12182            crate::common::RW,
12183        >::from_register(self, 0)
12184    }
12185
12186    #[doc = "N-Channel Open-Drain Control"]
12187    #[inline(always)]
12188    pub fn ncodr(
12189        self,
12190    ) -> crate::common::RegisterField<
12191        6,
12192        0x1,
12193        1,
12194        0,
12195        p30pfs::Ncodr,
12196        p30pfs::Ncodr,
12197        P30Pfs_SPEC,
12198        crate::common::RW,
12199    > {
12200        crate::common::RegisterField::<
12201            6,
12202            0x1,
12203            1,
12204            0,
12205            p30pfs::Ncodr,
12206            p30pfs::Ncodr,
12207            P30Pfs_SPEC,
12208            crate::common::RW,
12209        >::from_register(self, 0)
12210    }
12211
12212    #[doc = "Port Drive Capability"]
12213    #[inline(always)]
12214    pub fn dscr(
12215        self,
12216    ) -> crate::common::RegisterField<
12217        10,
12218        0x3,
12219        1,
12220        0,
12221        p30pfs::Dscr,
12222        p30pfs::Dscr,
12223        P30Pfs_SPEC,
12224        crate::common::RW,
12225    > {
12226        crate::common::RegisterField::<
12227            10,
12228            0x3,
12229            1,
12230            0,
12231            p30pfs::Dscr,
12232            p30pfs::Dscr,
12233            P30Pfs_SPEC,
12234            crate::common::RW,
12235        >::from_register(self, 0)
12236    }
12237
12238    #[doc = "Event on Falling/Event on Rising"]
12239    #[inline(always)]
12240    pub fn eofr(
12241        self,
12242    ) -> crate::common::RegisterField<
12243        12,
12244        0x3,
12245        1,
12246        0,
12247        p30pfs::Eofr,
12248        p30pfs::Eofr,
12249        P30Pfs_SPEC,
12250        crate::common::RW,
12251    > {
12252        crate::common::RegisterField::<
12253            12,
12254            0x3,
12255            1,
12256            0,
12257            p30pfs::Eofr,
12258            p30pfs::Eofr,
12259            P30Pfs_SPEC,
12260            crate::common::RW,
12261        >::from_register(self, 0)
12262    }
12263
12264    #[doc = "IRQ Input Enable"]
12265    #[inline(always)]
12266    pub fn isel(
12267        self,
12268    ) -> crate::common::RegisterField<
12269        14,
12270        0x1,
12271        1,
12272        0,
12273        p30pfs::Isel,
12274        p30pfs::Isel,
12275        P30Pfs_SPEC,
12276        crate::common::RW,
12277    > {
12278        crate::common::RegisterField::<
12279            14,
12280            0x1,
12281            1,
12282            0,
12283            p30pfs::Isel,
12284            p30pfs::Isel,
12285            P30Pfs_SPEC,
12286            crate::common::RW,
12287        >::from_register(self, 0)
12288    }
12289
12290    #[doc = "Analog Input Enable"]
12291    #[inline(always)]
12292    pub fn asel(
12293        self,
12294    ) -> crate::common::RegisterField<
12295        15,
12296        0x1,
12297        1,
12298        0,
12299        p30pfs::Asel,
12300        p30pfs::Asel,
12301        P30Pfs_SPEC,
12302        crate::common::RW,
12303    > {
12304        crate::common::RegisterField::<
12305            15,
12306            0x1,
12307            1,
12308            0,
12309            p30pfs::Asel,
12310            p30pfs::Asel,
12311            P30Pfs_SPEC,
12312            crate::common::RW,
12313        >::from_register(self, 0)
12314    }
12315
12316    #[doc = "Port Mode Control"]
12317    #[inline(always)]
12318    pub fn pmr(
12319        self,
12320    ) -> crate::common::RegisterField<
12321        16,
12322        0x1,
12323        1,
12324        0,
12325        p30pfs::Pmr,
12326        p30pfs::Pmr,
12327        P30Pfs_SPEC,
12328        crate::common::RW,
12329    > {
12330        crate::common::RegisterField::<
12331            16,
12332            0x1,
12333            1,
12334            0,
12335            p30pfs::Pmr,
12336            p30pfs::Pmr,
12337            P30Pfs_SPEC,
12338            crate::common::RW,
12339        >::from_register(self, 0)
12340    }
12341
12342    #[doc = "Peripheral Select"]
12343    #[inline(always)]
12344    pub fn psel(
12345        self,
12346    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P30Pfs_SPEC, crate::common::RW> {
12347        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P30Pfs_SPEC,crate::common::RW>::from_register(self,0)
12348    }
12349}
12350impl ::core::default::Default for P30Pfs {
12351    #[inline(always)]
12352    fn default() -> P30Pfs {
12353        <crate::RegValueT<P30Pfs_SPEC> as RegisterValue<_>>::new(0)
12354    }
12355}
12356pub mod p30pfs {
12357
12358    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12359    pub struct Podr_SPEC;
12360    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12361    impl Podr {
12362        #[doc = "Low output"]
12363        pub const _0: Self = Self::new(0);
12364
12365        #[doc = "High output"]
12366        pub const _1: Self = Self::new(1);
12367    }
12368    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12369    pub struct Pidr_SPEC;
12370    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12371    impl Pidr {
12372        #[doc = "Low level"]
12373        pub const _0: Self = Self::new(0);
12374
12375        #[doc = "High level"]
12376        pub const _1: Self = Self::new(1);
12377    }
12378    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12379    pub struct Pdr_SPEC;
12380    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12381    impl Pdr {
12382        #[doc = "Input (functions as an input pin)"]
12383        pub const _0: Self = Self::new(0);
12384
12385        #[doc = "Output (functions as an output pin)"]
12386        pub const _1: Self = Self::new(1);
12387    }
12388    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12389    pub struct Pcr_SPEC;
12390    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12391    impl Pcr {
12392        #[doc = "Disable input pull-up"]
12393        pub const _0: Self = Self::new(0);
12394
12395        #[doc = "Enable input pull-up"]
12396        pub const _1: Self = Self::new(1);
12397    }
12398    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12399    pub struct Ncodr_SPEC;
12400    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12401    impl Ncodr {
12402        #[doc = "CMOS output"]
12403        pub const _0: Self = Self::new(0);
12404
12405        #[doc = "NMOS open-drain output"]
12406        pub const _1: Self = Self::new(1);
12407    }
12408    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12409    pub struct Dscr_SPEC;
12410    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
12411    impl Dscr {
12412        #[doc = "Low drive"]
12413        pub const _00: Self = Self::new(0);
12414
12415        #[doc = "Middle drive"]
12416        pub const _01: Self = Self::new(1);
12417
12418        #[doc = "High-speed high-drive"]
12419        pub const _10: Self = Self::new(2);
12420
12421        #[doc = "High drive"]
12422        pub const _11: Self = Self::new(3);
12423    }
12424    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12425    pub struct Eofr_SPEC;
12426    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
12427    impl Eofr {
12428        #[doc = "Don\'t care"]
12429        pub const _00: Self = Self::new(0);
12430
12431        #[doc = "Detect rising edge"]
12432        pub const _01: Self = Self::new(1);
12433
12434        #[doc = "Detect falling edge"]
12435        pub const _10: Self = Self::new(2);
12436
12437        #[doc = "Detect both edges"]
12438        pub const _11: Self = Self::new(3);
12439    }
12440    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12441    pub struct Isel_SPEC;
12442    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12443    impl Isel {
12444        #[doc = "Not used as an IRQn input pin"]
12445        pub const _0: Self = Self::new(0);
12446
12447        #[doc = "Used as an IRQn input pin"]
12448        pub const _1: Self = Self::new(1);
12449    }
12450    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12451    pub struct Asel_SPEC;
12452    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12453    impl Asel {
12454        #[doc = "Not used as an analog pin"]
12455        pub const _0: Self = Self::new(0);
12456
12457        #[doc = "Used as an analog pin"]
12458        pub const _1: Self = Self::new(1);
12459    }
12460    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12461    pub struct Pmr_SPEC;
12462    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
12463    impl Pmr {
12464        #[doc = "Used as a general I/O pin"]
12465        pub const _0: Self = Self::new(0);
12466
12467        #[doc = "Used as an I/O port for peripheral functions"]
12468        pub const _1: Self = Self::new(1);
12469    }
12470}
12471#[doc(hidden)]
12472#[derive(Copy, Clone, Eq, PartialEq)]
12473pub struct P30PfsHa_SPEC;
12474impl crate::sealed::RegSpec for P30PfsHa_SPEC {
12475    type DataType = u16;
12476}
12477
12478#[doc = "Port 30%s Pin Function Select Register"]
12479pub type P30PfsHa = crate::RegValueT<P30PfsHa_SPEC>;
12480
12481impl P30PfsHa {
12482    #[doc = "Port Mode Control"]
12483    #[inline(always)]
12484    pub fn pmr(
12485        self,
12486    ) -> crate::common::RegisterField<
12487        0,
12488        0x1,
12489        1,
12490        0,
12491        p30pfs_ha::Pmr,
12492        p30pfs_ha::Pmr,
12493        P30PfsHa_SPEC,
12494        crate::common::RW,
12495    > {
12496        crate::common::RegisterField::<
12497            0,
12498            0x1,
12499            1,
12500            0,
12501            p30pfs_ha::Pmr,
12502            p30pfs_ha::Pmr,
12503            P30PfsHa_SPEC,
12504            crate::common::RW,
12505        >::from_register(self, 0)
12506    }
12507
12508    #[doc = "Peripheral Select"]
12509    #[inline(always)]
12510    pub fn psel(
12511        self,
12512    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P30PfsHa_SPEC, crate::common::RW> {
12513        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P30PfsHa_SPEC,crate::common::RW>::from_register(self,0)
12514    }
12515}
12516impl ::core::default::Default for P30PfsHa {
12517    #[inline(always)]
12518    fn default() -> P30PfsHa {
12519        <crate::RegValueT<P30PfsHa_SPEC> as RegisterValue<_>>::new(0)
12520    }
12521}
12522pub mod p30pfs_ha {
12523
12524    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12525    pub struct Pmr_SPEC;
12526    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
12527    impl Pmr {
12528        #[doc = "Used as a general I/O pin"]
12529        pub const _0: Self = Self::new(0);
12530
12531        #[doc = "Used as an I/O port for peripheral functions"]
12532        pub const _1: Self = Self::new(1);
12533    }
12534}
12535#[doc(hidden)]
12536#[derive(Copy, Clone, Eq, PartialEq)]
12537pub struct P30PfsBy_SPEC;
12538impl crate::sealed::RegSpec for P30PfsBy_SPEC {
12539    type DataType = u8;
12540}
12541
12542#[doc = "Port 30%s Pin Function Select Register"]
12543pub type P30PfsBy = crate::RegValueT<P30PfsBy_SPEC>;
12544
12545impl P30PfsBy {
12546    #[doc = "Peripheral Select"]
12547    #[inline(always)]
12548    pub fn psel(
12549        self,
12550    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P30PfsBy_SPEC, crate::common::RW> {
12551        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P30PfsBy_SPEC,crate::common::RW>::from_register(self,0)
12552    }
12553}
12554impl ::core::default::Default for P30PfsBy {
12555    #[inline(always)]
12556    fn default() -> P30PfsBy {
12557        <crate::RegValueT<P30PfsBy_SPEC> as RegisterValue<_>>::new(0)
12558    }
12559}
12560
12561#[doc(hidden)]
12562#[derive(Copy, Clone, Eq, PartialEq)]
12563pub struct P3Pfs_SPEC;
12564impl crate::sealed::RegSpec for P3Pfs_SPEC {
12565    type DataType = u32;
12566}
12567
12568#[doc = "Port 3%s Pin Function Select Register"]
12569pub type P3Pfs = crate::RegValueT<P3Pfs_SPEC>;
12570
12571impl P3Pfs {
12572    #[doc = "Port Output Data"]
12573    #[inline(always)]
12574    pub fn podr(
12575        self,
12576    ) -> crate::common::RegisterField<
12577        0,
12578        0x1,
12579        1,
12580        0,
12581        p3pfs::Podr,
12582        p3pfs::Podr,
12583        P3Pfs_SPEC,
12584        crate::common::RW,
12585    > {
12586        crate::common::RegisterField::<
12587            0,
12588            0x1,
12589            1,
12590            0,
12591            p3pfs::Podr,
12592            p3pfs::Podr,
12593            P3Pfs_SPEC,
12594            crate::common::RW,
12595        >::from_register(self, 0)
12596    }
12597
12598    #[doc = "Pmn State"]
12599    #[inline(always)]
12600    pub fn pidr(
12601        self,
12602    ) -> crate::common::RegisterField<
12603        1,
12604        0x1,
12605        1,
12606        0,
12607        p3pfs::Pidr,
12608        p3pfs::Pidr,
12609        P3Pfs_SPEC,
12610        crate::common::R,
12611    > {
12612        crate::common::RegisterField::<
12613            1,
12614            0x1,
12615            1,
12616            0,
12617            p3pfs::Pidr,
12618            p3pfs::Pidr,
12619            P3Pfs_SPEC,
12620            crate::common::R,
12621        >::from_register(self, 0)
12622    }
12623
12624    #[doc = "Port Direction"]
12625    #[inline(always)]
12626    pub fn pdr(
12627        self,
12628    ) -> crate::common::RegisterField<
12629        2,
12630        0x1,
12631        1,
12632        0,
12633        p3pfs::Pdr,
12634        p3pfs::Pdr,
12635        P3Pfs_SPEC,
12636        crate::common::RW,
12637    > {
12638        crate::common::RegisterField::<
12639            2,
12640            0x1,
12641            1,
12642            0,
12643            p3pfs::Pdr,
12644            p3pfs::Pdr,
12645            P3Pfs_SPEC,
12646            crate::common::RW,
12647        >::from_register(self, 0)
12648    }
12649
12650    #[doc = "Pull-up Control"]
12651    #[inline(always)]
12652    pub fn pcr(
12653        self,
12654    ) -> crate::common::RegisterField<
12655        4,
12656        0x1,
12657        1,
12658        0,
12659        p3pfs::Pcr,
12660        p3pfs::Pcr,
12661        P3Pfs_SPEC,
12662        crate::common::RW,
12663    > {
12664        crate::common::RegisterField::<
12665            4,
12666            0x1,
12667            1,
12668            0,
12669            p3pfs::Pcr,
12670            p3pfs::Pcr,
12671            P3Pfs_SPEC,
12672            crate::common::RW,
12673        >::from_register(self, 0)
12674    }
12675
12676    #[doc = "N-Channel Open-Drain Control"]
12677    #[inline(always)]
12678    pub fn ncodr(
12679        self,
12680    ) -> crate::common::RegisterField<
12681        6,
12682        0x1,
12683        1,
12684        0,
12685        p3pfs::Ncodr,
12686        p3pfs::Ncodr,
12687        P3Pfs_SPEC,
12688        crate::common::RW,
12689    > {
12690        crate::common::RegisterField::<
12691            6,
12692            0x1,
12693            1,
12694            0,
12695            p3pfs::Ncodr,
12696            p3pfs::Ncodr,
12697            P3Pfs_SPEC,
12698            crate::common::RW,
12699        >::from_register(self, 0)
12700    }
12701
12702    #[doc = "Port Drive Capability"]
12703    #[inline(always)]
12704    pub fn dscr(
12705        self,
12706    ) -> crate::common::RegisterField<
12707        10,
12708        0x3,
12709        1,
12710        0,
12711        p3pfs::Dscr,
12712        p3pfs::Dscr,
12713        P3Pfs_SPEC,
12714        crate::common::RW,
12715    > {
12716        crate::common::RegisterField::<
12717            10,
12718            0x3,
12719            1,
12720            0,
12721            p3pfs::Dscr,
12722            p3pfs::Dscr,
12723            P3Pfs_SPEC,
12724            crate::common::RW,
12725        >::from_register(self, 0)
12726    }
12727
12728    #[doc = "Event on Falling/Event on Rising"]
12729    #[inline(always)]
12730    pub fn eofr(
12731        self,
12732    ) -> crate::common::RegisterField<
12733        12,
12734        0x3,
12735        1,
12736        0,
12737        p3pfs::Eofr,
12738        p3pfs::Eofr,
12739        P3Pfs_SPEC,
12740        crate::common::RW,
12741    > {
12742        crate::common::RegisterField::<
12743            12,
12744            0x3,
12745            1,
12746            0,
12747            p3pfs::Eofr,
12748            p3pfs::Eofr,
12749            P3Pfs_SPEC,
12750            crate::common::RW,
12751        >::from_register(self, 0)
12752    }
12753
12754    #[doc = "IRQ Input Enable"]
12755    #[inline(always)]
12756    pub fn isel(
12757        self,
12758    ) -> crate::common::RegisterField<
12759        14,
12760        0x1,
12761        1,
12762        0,
12763        p3pfs::Isel,
12764        p3pfs::Isel,
12765        P3Pfs_SPEC,
12766        crate::common::RW,
12767    > {
12768        crate::common::RegisterField::<
12769            14,
12770            0x1,
12771            1,
12772            0,
12773            p3pfs::Isel,
12774            p3pfs::Isel,
12775            P3Pfs_SPEC,
12776            crate::common::RW,
12777        >::from_register(self, 0)
12778    }
12779
12780    #[doc = "Analog Input Enable"]
12781    #[inline(always)]
12782    pub fn asel(
12783        self,
12784    ) -> crate::common::RegisterField<
12785        15,
12786        0x1,
12787        1,
12788        0,
12789        p3pfs::Asel,
12790        p3pfs::Asel,
12791        P3Pfs_SPEC,
12792        crate::common::RW,
12793    > {
12794        crate::common::RegisterField::<
12795            15,
12796            0x1,
12797            1,
12798            0,
12799            p3pfs::Asel,
12800            p3pfs::Asel,
12801            P3Pfs_SPEC,
12802            crate::common::RW,
12803        >::from_register(self, 0)
12804    }
12805
12806    #[doc = "Port Mode Control"]
12807    #[inline(always)]
12808    pub fn pmr(
12809        self,
12810    ) -> crate::common::RegisterField<
12811        16,
12812        0x1,
12813        1,
12814        0,
12815        p3pfs::Pmr,
12816        p3pfs::Pmr,
12817        P3Pfs_SPEC,
12818        crate::common::RW,
12819    > {
12820        crate::common::RegisterField::<
12821            16,
12822            0x1,
12823            1,
12824            0,
12825            p3pfs::Pmr,
12826            p3pfs::Pmr,
12827            P3Pfs_SPEC,
12828            crate::common::RW,
12829        >::from_register(self, 0)
12830    }
12831
12832    #[doc = "Peripheral Select"]
12833    #[inline(always)]
12834    pub fn psel(
12835        self,
12836    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P3Pfs_SPEC, crate::common::RW> {
12837        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P3Pfs_SPEC,crate::common::RW>::from_register(self,0)
12838    }
12839}
12840impl ::core::default::Default for P3Pfs {
12841    #[inline(always)]
12842    fn default() -> P3Pfs {
12843        <crate::RegValueT<P3Pfs_SPEC> as RegisterValue<_>>::new(0)
12844    }
12845}
12846pub mod p3pfs {
12847
12848    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12849    pub struct Podr_SPEC;
12850    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12851    impl Podr {
12852        #[doc = "Low output"]
12853        pub const _0: Self = Self::new(0);
12854
12855        #[doc = "High output"]
12856        pub const _1: Self = Self::new(1);
12857    }
12858    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12859    pub struct Pidr_SPEC;
12860    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12861    impl Pidr {
12862        #[doc = "Low level"]
12863        pub const _0: Self = Self::new(0);
12864
12865        #[doc = "High level"]
12866        pub const _1: Self = Self::new(1);
12867    }
12868    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12869    pub struct Pdr_SPEC;
12870    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12871    impl Pdr {
12872        #[doc = "Input (functions as an input pin)"]
12873        pub const _0: Self = Self::new(0);
12874
12875        #[doc = "Output (functions as an output pin)"]
12876        pub const _1: Self = Self::new(1);
12877    }
12878    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12879    pub struct Pcr_SPEC;
12880    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12881    impl Pcr {
12882        #[doc = "Disable input pull-up"]
12883        pub const _0: Self = Self::new(0);
12884
12885        #[doc = "Enable input pull-up"]
12886        pub const _1: Self = Self::new(1);
12887    }
12888    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12889    pub struct Ncodr_SPEC;
12890    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12891    impl Ncodr {
12892        #[doc = "CMOS output"]
12893        pub const _0: Self = Self::new(0);
12894
12895        #[doc = "NMOS open-drain output"]
12896        pub const _1: Self = Self::new(1);
12897    }
12898    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12899    pub struct Dscr_SPEC;
12900    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
12901    impl Dscr {
12902        #[doc = "Low drive"]
12903        pub const _00: Self = Self::new(0);
12904
12905        #[doc = "Middle drive"]
12906        pub const _01: Self = Self::new(1);
12907
12908        #[doc = "High-speed high-drive"]
12909        pub const _10: Self = Self::new(2);
12910
12911        #[doc = "High drive"]
12912        pub const _11: Self = Self::new(3);
12913    }
12914    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12915    pub struct Eofr_SPEC;
12916    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
12917    impl Eofr {
12918        #[doc = "Don\'t care"]
12919        pub const _00: Self = Self::new(0);
12920
12921        #[doc = "Detect rising edge"]
12922        pub const _01: Self = Self::new(1);
12923
12924        #[doc = "Detect falling edge"]
12925        pub const _10: Self = Self::new(2);
12926
12927        #[doc = "Detect both edges"]
12928        pub const _11: Self = Self::new(3);
12929    }
12930    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12931    pub struct Isel_SPEC;
12932    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12933    impl Isel {
12934        #[doc = "Not used as an IRQn input pin"]
12935        pub const _0: Self = Self::new(0);
12936
12937        #[doc = "Used as an IRQn input pin"]
12938        pub const _1: Self = Self::new(1);
12939    }
12940    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12941    pub struct Asel_SPEC;
12942    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12943    impl Asel {
12944        #[doc = "Not used as an analog pin"]
12945        pub const _0: Self = Self::new(0);
12946
12947        #[doc = "Used as an analog pin"]
12948        pub const _1: Self = Self::new(1);
12949    }
12950    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12951    pub struct Pmr_SPEC;
12952    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
12953    impl Pmr {
12954        #[doc = "Used as a general I/O pin"]
12955        pub const _0: Self = Self::new(0);
12956
12957        #[doc = "Used as an I/O port for peripheral functions"]
12958        pub const _1: Self = Self::new(1);
12959    }
12960}
12961#[doc(hidden)]
12962#[derive(Copy, Clone, Eq, PartialEq)]
12963pub struct P3PfsHa_SPEC;
12964impl crate::sealed::RegSpec for P3PfsHa_SPEC {
12965    type DataType = u16;
12966}
12967
12968#[doc = "Port 3%s Pin Function Select Register"]
12969pub type P3PfsHa = crate::RegValueT<P3PfsHa_SPEC>;
12970
12971impl P3PfsHa {
12972    #[doc = "Port Mode Control"]
12973    #[inline(always)]
12974    pub fn pmr(
12975        self,
12976    ) -> crate::common::RegisterField<
12977        0,
12978        0x1,
12979        1,
12980        0,
12981        p3pfs_ha::Pmr,
12982        p3pfs_ha::Pmr,
12983        P3PfsHa_SPEC,
12984        crate::common::RW,
12985    > {
12986        crate::common::RegisterField::<
12987            0,
12988            0x1,
12989            1,
12990            0,
12991            p3pfs_ha::Pmr,
12992            p3pfs_ha::Pmr,
12993            P3PfsHa_SPEC,
12994            crate::common::RW,
12995        >::from_register(self, 0)
12996    }
12997
12998    #[doc = "Peripheral Select"]
12999    #[inline(always)]
13000    pub fn psel(
13001        self,
13002    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P3PfsHa_SPEC, crate::common::RW> {
13003        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P3PfsHa_SPEC,crate::common::RW>::from_register(self,0)
13004    }
13005}
13006impl ::core::default::Default for P3PfsHa {
13007    #[inline(always)]
13008    fn default() -> P3PfsHa {
13009        <crate::RegValueT<P3PfsHa_SPEC> as RegisterValue<_>>::new(0)
13010    }
13011}
13012pub mod p3pfs_ha {
13013
13014    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13015    pub struct Pmr_SPEC;
13016    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
13017    impl Pmr {
13018        #[doc = "Used as a general I/O pin"]
13019        pub const _0: Self = Self::new(0);
13020
13021        #[doc = "Used as an I/O port for peripheral functions"]
13022        pub const _1: Self = Self::new(1);
13023    }
13024}
13025#[doc(hidden)]
13026#[derive(Copy, Clone, Eq, PartialEq)]
13027pub struct P3PfsBy_SPEC;
13028impl crate::sealed::RegSpec for P3PfsBy_SPEC {
13029    type DataType = u8;
13030}
13031
13032#[doc = "Port 3%s Pin Function Select Register"]
13033pub type P3PfsBy = crate::RegValueT<P3PfsBy_SPEC>;
13034
13035impl P3PfsBy {
13036    #[doc = "Peripheral Select"]
13037    #[inline(always)]
13038    pub fn psel(
13039        self,
13040    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P3PfsBy_SPEC, crate::common::RW> {
13041        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P3PfsBy_SPEC,crate::common::RW>::from_register(self,0)
13042    }
13043}
13044impl ::core::default::Default for P3PfsBy {
13045    #[inline(always)]
13046    fn default() -> P3PfsBy {
13047        <crate::RegValueT<P3PfsBy_SPEC> as RegisterValue<_>>::new(0)
13048    }
13049}
13050
13051#[doc(hidden)]
13052#[derive(Copy, Clone, Eq, PartialEq)]
13053pub struct P40Pfs_SPEC;
13054impl crate::sealed::RegSpec for P40Pfs_SPEC {
13055    type DataType = u32;
13056}
13057
13058#[doc = "Port 40%s Pin Function Select Register"]
13059pub type P40Pfs = crate::RegValueT<P40Pfs_SPEC>;
13060
13061impl P40Pfs {
13062    #[doc = "Port Output Data"]
13063    #[inline(always)]
13064    pub fn podr(
13065        self,
13066    ) -> crate::common::RegisterField<
13067        0,
13068        0x1,
13069        1,
13070        0,
13071        p40pfs::Podr,
13072        p40pfs::Podr,
13073        P40Pfs_SPEC,
13074        crate::common::RW,
13075    > {
13076        crate::common::RegisterField::<
13077            0,
13078            0x1,
13079            1,
13080            0,
13081            p40pfs::Podr,
13082            p40pfs::Podr,
13083            P40Pfs_SPEC,
13084            crate::common::RW,
13085        >::from_register(self, 0)
13086    }
13087
13088    #[doc = "Pmn State"]
13089    #[inline(always)]
13090    pub fn pidr(
13091        self,
13092    ) -> crate::common::RegisterField<
13093        1,
13094        0x1,
13095        1,
13096        0,
13097        p40pfs::Pidr,
13098        p40pfs::Pidr,
13099        P40Pfs_SPEC,
13100        crate::common::R,
13101    > {
13102        crate::common::RegisterField::<
13103            1,
13104            0x1,
13105            1,
13106            0,
13107            p40pfs::Pidr,
13108            p40pfs::Pidr,
13109            P40Pfs_SPEC,
13110            crate::common::R,
13111        >::from_register(self, 0)
13112    }
13113
13114    #[doc = "Port Direction"]
13115    #[inline(always)]
13116    pub fn pdr(
13117        self,
13118    ) -> crate::common::RegisterField<
13119        2,
13120        0x1,
13121        1,
13122        0,
13123        p40pfs::Pdr,
13124        p40pfs::Pdr,
13125        P40Pfs_SPEC,
13126        crate::common::RW,
13127    > {
13128        crate::common::RegisterField::<
13129            2,
13130            0x1,
13131            1,
13132            0,
13133            p40pfs::Pdr,
13134            p40pfs::Pdr,
13135            P40Pfs_SPEC,
13136            crate::common::RW,
13137        >::from_register(self, 0)
13138    }
13139
13140    #[doc = "Pull-up Control"]
13141    #[inline(always)]
13142    pub fn pcr(
13143        self,
13144    ) -> crate::common::RegisterField<
13145        4,
13146        0x1,
13147        1,
13148        0,
13149        p40pfs::Pcr,
13150        p40pfs::Pcr,
13151        P40Pfs_SPEC,
13152        crate::common::RW,
13153    > {
13154        crate::common::RegisterField::<
13155            4,
13156            0x1,
13157            1,
13158            0,
13159            p40pfs::Pcr,
13160            p40pfs::Pcr,
13161            P40Pfs_SPEC,
13162            crate::common::RW,
13163        >::from_register(self, 0)
13164    }
13165
13166    #[doc = "N-Channel Open-Drain Control"]
13167    #[inline(always)]
13168    pub fn ncodr(
13169        self,
13170    ) -> crate::common::RegisterField<
13171        6,
13172        0x1,
13173        1,
13174        0,
13175        p40pfs::Ncodr,
13176        p40pfs::Ncodr,
13177        P40Pfs_SPEC,
13178        crate::common::RW,
13179    > {
13180        crate::common::RegisterField::<
13181            6,
13182            0x1,
13183            1,
13184            0,
13185            p40pfs::Ncodr,
13186            p40pfs::Ncodr,
13187            P40Pfs_SPEC,
13188            crate::common::RW,
13189        >::from_register(self, 0)
13190    }
13191
13192    #[doc = "Port Drive Capability"]
13193    #[inline(always)]
13194    pub fn dscr(
13195        self,
13196    ) -> crate::common::RegisterField<
13197        10,
13198        0x3,
13199        1,
13200        0,
13201        p40pfs::Dscr,
13202        p40pfs::Dscr,
13203        P40Pfs_SPEC,
13204        crate::common::RW,
13205    > {
13206        crate::common::RegisterField::<
13207            10,
13208            0x3,
13209            1,
13210            0,
13211            p40pfs::Dscr,
13212            p40pfs::Dscr,
13213            P40Pfs_SPEC,
13214            crate::common::RW,
13215        >::from_register(self, 0)
13216    }
13217
13218    #[doc = "Event on Falling/Event on Rising"]
13219    #[inline(always)]
13220    pub fn eofr(
13221        self,
13222    ) -> crate::common::RegisterField<
13223        12,
13224        0x3,
13225        1,
13226        0,
13227        p40pfs::Eofr,
13228        p40pfs::Eofr,
13229        P40Pfs_SPEC,
13230        crate::common::RW,
13231    > {
13232        crate::common::RegisterField::<
13233            12,
13234            0x3,
13235            1,
13236            0,
13237            p40pfs::Eofr,
13238            p40pfs::Eofr,
13239            P40Pfs_SPEC,
13240            crate::common::RW,
13241        >::from_register(self, 0)
13242    }
13243
13244    #[doc = "IRQ Input Enable"]
13245    #[inline(always)]
13246    pub fn isel(
13247        self,
13248    ) -> crate::common::RegisterField<
13249        14,
13250        0x1,
13251        1,
13252        0,
13253        p40pfs::Isel,
13254        p40pfs::Isel,
13255        P40Pfs_SPEC,
13256        crate::common::RW,
13257    > {
13258        crate::common::RegisterField::<
13259            14,
13260            0x1,
13261            1,
13262            0,
13263            p40pfs::Isel,
13264            p40pfs::Isel,
13265            P40Pfs_SPEC,
13266            crate::common::RW,
13267        >::from_register(self, 0)
13268    }
13269
13270    #[doc = "Analog Input Enable"]
13271    #[inline(always)]
13272    pub fn asel(
13273        self,
13274    ) -> crate::common::RegisterField<
13275        15,
13276        0x1,
13277        1,
13278        0,
13279        p40pfs::Asel,
13280        p40pfs::Asel,
13281        P40Pfs_SPEC,
13282        crate::common::RW,
13283    > {
13284        crate::common::RegisterField::<
13285            15,
13286            0x1,
13287            1,
13288            0,
13289            p40pfs::Asel,
13290            p40pfs::Asel,
13291            P40Pfs_SPEC,
13292            crate::common::RW,
13293        >::from_register(self, 0)
13294    }
13295
13296    #[doc = "Port Mode Control"]
13297    #[inline(always)]
13298    pub fn pmr(
13299        self,
13300    ) -> crate::common::RegisterField<
13301        16,
13302        0x1,
13303        1,
13304        0,
13305        p40pfs::Pmr,
13306        p40pfs::Pmr,
13307        P40Pfs_SPEC,
13308        crate::common::RW,
13309    > {
13310        crate::common::RegisterField::<
13311            16,
13312            0x1,
13313            1,
13314            0,
13315            p40pfs::Pmr,
13316            p40pfs::Pmr,
13317            P40Pfs_SPEC,
13318            crate::common::RW,
13319        >::from_register(self, 0)
13320    }
13321
13322    #[doc = "Peripheral Select"]
13323    #[inline(always)]
13324    pub fn psel(
13325        self,
13326    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P40Pfs_SPEC, crate::common::RW> {
13327        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P40Pfs_SPEC,crate::common::RW>::from_register(self,0)
13328    }
13329}
13330impl ::core::default::Default for P40Pfs {
13331    #[inline(always)]
13332    fn default() -> P40Pfs {
13333        <crate::RegValueT<P40Pfs_SPEC> as RegisterValue<_>>::new(0)
13334    }
13335}
13336pub mod p40pfs {
13337
13338    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13339    pub struct Podr_SPEC;
13340    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13341    impl Podr {
13342        #[doc = "Low output"]
13343        pub const _0: Self = Self::new(0);
13344
13345        #[doc = "High output"]
13346        pub const _1: Self = Self::new(1);
13347    }
13348    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13349    pub struct Pidr_SPEC;
13350    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13351    impl Pidr {
13352        #[doc = "Low level"]
13353        pub const _0: Self = Self::new(0);
13354
13355        #[doc = "High level"]
13356        pub const _1: Self = Self::new(1);
13357    }
13358    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13359    pub struct Pdr_SPEC;
13360    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13361    impl Pdr {
13362        #[doc = "Input (functions as an input pin)"]
13363        pub const _0: Self = Self::new(0);
13364
13365        #[doc = "Output (functions as an output pin)"]
13366        pub const _1: Self = Self::new(1);
13367    }
13368    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13369    pub struct Pcr_SPEC;
13370    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13371    impl Pcr {
13372        #[doc = "Disable input pull-up"]
13373        pub const _0: Self = Self::new(0);
13374
13375        #[doc = "Enable input pull-up"]
13376        pub const _1: Self = Self::new(1);
13377    }
13378    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13379    pub struct Ncodr_SPEC;
13380    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13381    impl Ncodr {
13382        #[doc = "CMOS output"]
13383        pub const _0: Self = Self::new(0);
13384
13385        #[doc = "NMOS open-drain output"]
13386        pub const _1: Self = Self::new(1);
13387    }
13388    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13389    pub struct Dscr_SPEC;
13390    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
13391    impl Dscr {
13392        #[doc = "Low drive"]
13393        pub const _00: Self = Self::new(0);
13394
13395        #[doc = "Middle drive"]
13396        pub const _01: Self = Self::new(1);
13397
13398        #[doc = "High-speed high-drive"]
13399        pub const _10: Self = Self::new(2);
13400
13401        #[doc = "High drive"]
13402        pub const _11: Self = Self::new(3);
13403    }
13404    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13405    pub struct Eofr_SPEC;
13406    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
13407    impl Eofr {
13408        #[doc = "Don\'t care"]
13409        pub const _00: Self = Self::new(0);
13410
13411        #[doc = "Detect rising edge"]
13412        pub const _01: Self = Self::new(1);
13413
13414        #[doc = "Detect falling edge"]
13415        pub const _10: Self = Self::new(2);
13416
13417        #[doc = "Detect both edges"]
13418        pub const _11: Self = Self::new(3);
13419    }
13420    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13421    pub struct Isel_SPEC;
13422    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13423    impl Isel {
13424        #[doc = "Not used as an IRQn input pin"]
13425        pub const _0: Self = Self::new(0);
13426
13427        #[doc = "Used as an IRQn input pin"]
13428        pub const _1: Self = Self::new(1);
13429    }
13430    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13431    pub struct Asel_SPEC;
13432    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13433    impl Asel {
13434        #[doc = "Not used as an analog pin"]
13435        pub const _0: Self = Self::new(0);
13436
13437        #[doc = "Used as an analog pin"]
13438        pub const _1: Self = Self::new(1);
13439    }
13440    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13441    pub struct Pmr_SPEC;
13442    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
13443    impl Pmr {
13444        #[doc = "Used as a general I/O pin"]
13445        pub const _0: Self = Self::new(0);
13446
13447        #[doc = "Used as an I/O port for peripheral functions"]
13448        pub const _1: Self = Self::new(1);
13449    }
13450}
13451#[doc(hidden)]
13452#[derive(Copy, Clone, Eq, PartialEq)]
13453pub struct P40PfsHa_SPEC;
13454impl crate::sealed::RegSpec for P40PfsHa_SPEC {
13455    type DataType = u16;
13456}
13457
13458#[doc = "Port 40%s Pin Function Select Register"]
13459pub type P40PfsHa = crate::RegValueT<P40PfsHa_SPEC>;
13460
13461impl P40PfsHa {
13462    #[doc = "Port Mode Control"]
13463    #[inline(always)]
13464    pub fn pmr(
13465        self,
13466    ) -> crate::common::RegisterField<
13467        0,
13468        0x1,
13469        1,
13470        0,
13471        p40pfs_ha::Pmr,
13472        p40pfs_ha::Pmr,
13473        P40PfsHa_SPEC,
13474        crate::common::RW,
13475    > {
13476        crate::common::RegisterField::<
13477            0,
13478            0x1,
13479            1,
13480            0,
13481            p40pfs_ha::Pmr,
13482            p40pfs_ha::Pmr,
13483            P40PfsHa_SPEC,
13484            crate::common::RW,
13485        >::from_register(self, 0)
13486    }
13487
13488    #[doc = "Peripheral Select"]
13489    #[inline(always)]
13490    pub fn psel(
13491        self,
13492    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P40PfsHa_SPEC, crate::common::RW> {
13493        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P40PfsHa_SPEC,crate::common::RW>::from_register(self,0)
13494    }
13495}
13496impl ::core::default::Default for P40PfsHa {
13497    #[inline(always)]
13498    fn default() -> P40PfsHa {
13499        <crate::RegValueT<P40PfsHa_SPEC> as RegisterValue<_>>::new(0)
13500    }
13501}
13502pub mod p40pfs_ha {
13503
13504    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13505    pub struct Pmr_SPEC;
13506    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
13507    impl Pmr {
13508        #[doc = "Used as a general I/O pin"]
13509        pub const _0: Self = Self::new(0);
13510
13511        #[doc = "Used as an I/O port for peripheral functions"]
13512        pub const _1: Self = Self::new(1);
13513    }
13514}
13515#[doc(hidden)]
13516#[derive(Copy, Clone, Eq, PartialEq)]
13517pub struct P40PfsBy_SPEC;
13518impl crate::sealed::RegSpec for P40PfsBy_SPEC {
13519    type DataType = u8;
13520}
13521
13522#[doc = "Port 40%s Pin Function Select Register"]
13523pub type P40PfsBy = crate::RegValueT<P40PfsBy_SPEC>;
13524
13525impl P40PfsBy {
13526    #[doc = "Peripheral Select"]
13527    #[inline(always)]
13528    pub fn psel(
13529        self,
13530    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P40PfsBy_SPEC, crate::common::RW> {
13531        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P40PfsBy_SPEC,crate::common::RW>::from_register(self,0)
13532    }
13533}
13534impl ::core::default::Default for P40PfsBy {
13535    #[inline(always)]
13536    fn default() -> P40PfsBy {
13537        <crate::RegValueT<P40PfsBy_SPEC> as RegisterValue<_>>::new(0)
13538    }
13539}
13540
13541#[doc(hidden)]
13542#[derive(Copy, Clone, Eq, PartialEq)]
13543pub struct P4Pfs_SPEC;
13544impl crate::sealed::RegSpec for P4Pfs_SPEC {
13545    type DataType = u32;
13546}
13547
13548#[doc = "Port 4%s Pin Function Select Register"]
13549pub type P4Pfs = crate::RegValueT<P4Pfs_SPEC>;
13550
13551impl P4Pfs {
13552    #[doc = "Port Output Data"]
13553    #[inline(always)]
13554    pub fn podr(
13555        self,
13556    ) -> crate::common::RegisterField<
13557        0,
13558        0x1,
13559        1,
13560        0,
13561        p4pfs::Podr,
13562        p4pfs::Podr,
13563        P4Pfs_SPEC,
13564        crate::common::RW,
13565    > {
13566        crate::common::RegisterField::<
13567            0,
13568            0x1,
13569            1,
13570            0,
13571            p4pfs::Podr,
13572            p4pfs::Podr,
13573            P4Pfs_SPEC,
13574            crate::common::RW,
13575        >::from_register(self, 0)
13576    }
13577
13578    #[doc = "Pmn State"]
13579    #[inline(always)]
13580    pub fn pidr(
13581        self,
13582    ) -> crate::common::RegisterField<
13583        1,
13584        0x1,
13585        1,
13586        0,
13587        p4pfs::Pidr,
13588        p4pfs::Pidr,
13589        P4Pfs_SPEC,
13590        crate::common::R,
13591    > {
13592        crate::common::RegisterField::<
13593            1,
13594            0x1,
13595            1,
13596            0,
13597            p4pfs::Pidr,
13598            p4pfs::Pidr,
13599            P4Pfs_SPEC,
13600            crate::common::R,
13601        >::from_register(self, 0)
13602    }
13603
13604    #[doc = "Port Direction"]
13605    #[inline(always)]
13606    pub fn pdr(
13607        self,
13608    ) -> crate::common::RegisterField<
13609        2,
13610        0x1,
13611        1,
13612        0,
13613        p4pfs::Pdr,
13614        p4pfs::Pdr,
13615        P4Pfs_SPEC,
13616        crate::common::RW,
13617    > {
13618        crate::common::RegisterField::<
13619            2,
13620            0x1,
13621            1,
13622            0,
13623            p4pfs::Pdr,
13624            p4pfs::Pdr,
13625            P4Pfs_SPEC,
13626            crate::common::RW,
13627        >::from_register(self, 0)
13628    }
13629
13630    #[doc = "Pull-up Control"]
13631    #[inline(always)]
13632    pub fn pcr(
13633        self,
13634    ) -> crate::common::RegisterField<
13635        4,
13636        0x1,
13637        1,
13638        0,
13639        p4pfs::Pcr,
13640        p4pfs::Pcr,
13641        P4Pfs_SPEC,
13642        crate::common::RW,
13643    > {
13644        crate::common::RegisterField::<
13645            4,
13646            0x1,
13647            1,
13648            0,
13649            p4pfs::Pcr,
13650            p4pfs::Pcr,
13651            P4Pfs_SPEC,
13652            crate::common::RW,
13653        >::from_register(self, 0)
13654    }
13655
13656    #[doc = "N-Channel Open-Drain Control"]
13657    #[inline(always)]
13658    pub fn ncodr(
13659        self,
13660    ) -> crate::common::RegisterField<
13661        6,
13662        0x1,
13663        1,
13664        0,
13665        p4pfs::Ncodr,
13666        p4pfs::Ncodr,
13667        P4Pfs_SPEC,
13668        crate::common::RW,
13669    > {
13670        crate::common::RegisterField::<
13671            6,
13672            0x1,
13673            1,
13674            0,
13675            p4pfs::Ncodr,
13676            p4pfs::Ncodr,
13677            P4Pfs_SPEC,
13678            crate::common::RW,
13679        >::from_register(self, 0)
13680    }
13681
13682    #[doc = "Port Drive Capability"]
13683    #[inline(always)]
13684    pub fn dscr(
13685        self,
13686    ) -> crate::common::RegisterField<
13687        10,
13688        0x3,
13689        1,
13690        0,
13691        p4pfs::Dscr,
13692        p4pfs::Dscr,
13693        P4Pfs_SPEC,
13694        crate::common::RW,
13695    > {
13696        crate::common::RegisterField::<
13697            10,
13698            0x3,
13699            1,
13700            0,
13701            p4pfs::Dscr,
13702            p4pfs::Dscr,
13703            P4Pfs_SPEC,
13704            crate::common::RW,
13705        >::from_register(self, 0)
13706    }
13707
13708    #[doc = "Event on Falling/Event on Rising"]
13709    #[inline(always)]
13710    pub fn eofr(
13711        self,
13712    ) -> crate::common::RegisterField<
13713        12,
13714        0x3,
13715        1,
13716        0,
13717        p4pfs::Eofr,
13718        p4pfs::Eofr,
13719        P4Pfs_SPEC,
13720        crate::common::RW,
13721    > {
13722        crate::common::RegisterField::<
13723            12,
13724            0x3,
13725            1,
13726            0,
13727            p4pfs::Eofr,
13728            p4pfs::Eofr,
13729            P4Pfs_SPEC,
13730            crate::common::RW,
13731        >::from_register(self, 0)
13732    }
13733
13734    #[doc = "IRQ Input Enable"]
13735    #[inline(always)]
13736    pub fn isel(
13737        self,
13738    ) -> crate::common::RegisterField<
13739        14,
13740        0x1,
13741        1,
13742        0,
13743        p4pfs::Isel,
13744        p4pfs::Isel,
13745        P4Pfs_SPEC,
13746        crate::common::RW,
13747    > {
13748        crate::common::RegisterField::<
13749            14,
13750            0x1,
13751            1,
13752            0,
13753            p4pfs::Isel,
13754            p4pfs::Isel,
13755            P4Pfs_SPEC,
13756            crate::common::RW,
13757        >::from_register(self, 0)
13758    }
13759
13760    #[doc = "Analog Input Enable"]
13761    #[inline(always)]
13762    pub fn asel(
13763        self,
13764    ) -> crate::common::RegisterField<
13765        15,
13766        0x1,
13767        1,
13768        0,
13769        p4pfs::Asel,
13770        p4pfs::Asel,
13771        P4Pfs_SPEC,
13772        crate::common::RW,
13773    > {
13774        crate::common::RegisterField::<
13775            15,
13776            0x1,
13777            1,
13778            0,
13779            p4pfs::Asel,
13780            p4pfs::Asel,
13781            P4Pfs_SPEC,
13782            crate::common::RW,
13783        >::from_register(self, 0)
13784    }
13785
13786    #[doc = "Port Mode Control"]
13787    #[inline(always)]
13788    pub fn pmr(
13789        self,
13790    ) -> crate::common::RegisterField<
13791        16,
13792        0x1,
13793        1,
13794        0,
13795        p4pfs::Pmr,
13796        p4pfs::Pmr,
13797        P4Pfs_SPEC,
13798        crate::common::RW,
13799    > {
13800        crate::common::RegisterField::<
13801            16,
13802            0x1,
13803            1,
13804            0,
13805            p4pfs::Pmr,
13806            p4pfs::Pmr,
13807            P4Pfs_SPEC,
13808            crate::common::RW,
13809        >::from_register(self, 0)
13810    }
13811
13812    #[doc = "Peripheral Select"]
13813    #[inline(always)]
13814    pub fn psel(
13815        self,
13816    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P4Pfs_SPEC, crate::common::RW> {
13817        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P4Pfs_SPEC,crate::common::RW>::from_register(self,0)
13818    }
13819}
13820impl ::core::default::Default for P4Pfs {
13821    #[inline(always)]
13822    fn default() -> P4Pfs {
13823        <crate::RegValueT<P4Pfs_SPEC> as RegisterValue<_>>::new(0)
13824    }
13825}
13826pub mod p4pfs {
13827
13828    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13829    pub struct Podr_SPEC;
13830    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13831    impl Podr {
13832        #[doc = "Low output"]
13833        pub const _0: Self = Self::new(0);
13834
13835        #[doc = "High output"]
13836        pub const _1: Self = Self::new(1);
13837    }
13838    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13839    pub struct Pidr_SPEC;
13840    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13841    impl Pidr {
13842        #[doc = "Low level"]
13843        pub const _0: Self = Self::new(0);
13844
13845        #[doc = "High level"]
13846        pub const _1: Self = Self::new(1);
13847    }
13848    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13849    pub struct Pdr_SPEC;
13850    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13851    impl Pdr {
13852        #[doc = "Input (functions as an input pin)"]
13853        pub const _0: Self = Self::new(0);
13854
13855        #[doc = "Output (functions as an output pin)"]
13856        pub const _1: Self = Self::new(1);
13857    }
13858    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13859    pub struct Pcr_SPEC;
13860    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13861    impl Pcr {
13862        #[doc = "Disable input pull-up"]
13863        pub const _0: Self = Self::new(0);
13864
13865        #[doc = "Enable input pull-up"]
13866        pub const _1: Self = Self::new(1);
13867    }
13868    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13869    pub struct Ncodr_SPEC;
13870    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13871    impl Ncodr {
13872        #[doc = "CMOS output"]
13873        pub const _0: Self = Self::new(0);
13874
13875        #[doc = "NMOS open-drain output"]
13876        pub const _1: Self = Self::new(1);
13877    }
13878    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13879    pub struct Dscr_SPEC;
13880    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
13881    impl Dscr {
13882        #[doc = "Low drive"]
13883        pub const _00: Self = Self::new(0);
13884
13885        #[doc = "Middle drive"]
13886        pub const _01: Self = Self::new(1);
13887
13888        #[doc = "High-speed high-drive"]
13889        pub const _10: Self = Self::new(2);
13890
13891        #[doc = "High drive"]
13892        pub const _11: Self = Self::new(3);
13893    }
13894    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13895    pub struct Eofr_SPEC;
13896    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
13897    impl Eofr {
13898        #[doc = "Don\'t care"]
13899        pub const _00: Self = Self::new(0);
13900
13901        #[doc = "Detect rising edge"]
13902        pub const _01: Self = Self::new(1);
13903
13904        #[doc = "Detect falling edge"]
13905        pub const _10: Self = Self::new(2);
13906
13907        #[doc = "Detect both edges"]
13908        pub const _11: Self = Self::new(3);
13909    }
13910    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13911    pub struct Isel_SPEC;
13912    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13913    impl Isel {
13914        #[doc = "Not used as an IRQn input pin"]
13915        pub const _0: Self = Self::new(0);
13916
13917        #[doc = "Used as an IRQn input pin"]
13918        pub const _1: Self = Self::new(1);
13919    }
13920    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13921    pub struct Asel_SPEC;
13922    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13923    impl Asel {
13924        #[doc = "Not used as an analog pin"]
13925        pub const _0: Self = Self::new(0);
13926
13927        #[doc = "Used as an analog pin"]
13928        pub const _1: Self = Self::new(1);
13929    }
13930    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13931    pub struct Pmr_SPEC;
13932    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
13933    impl Pmr {
13934        #[doc = "Used as a general I/O pin"]
13935        pub const _0: Self = Self::new(0);
13936
13937        #[doc = "Used as an I/O port for peripheral functions"]
13938        pub const _1: Self = Self::new(1);
13939    }
13940}
13941#[doc(hidden)]
13942#[derive(Copy, Clone, Eq, PartialEq)]
13943pub struct P4PfsHa_SPEC;
13944impl crate::sealed::RegSpec for P4PfsHa_SPEC {
13945    type DataType = u16;
13946}
13947
13948#[doc = "Port 4%s Pin Function Select Register"]
13949pub type P4PfsHa = crate::RegValueT<P4PfsHa_SPEC>;
13950
13951impl P4PfsHa {
13952    #[doc = "Port Mode Control"]
13953    #[inline(always)]
13954    pub fn pmr(
13955        self,
13956    ) -> crate::common::RegisterField<
13957        0,
13958        0x1,
13959        1,
13960        0,
13961        p4pfs_ha::Pmr,
13962        p4pfs_ha::Pmr,
13963        P4PfsHa_SPEC,
13964        crate::common::RW,
13965    > {
13966        crate::common::RegisterField::<
13967            0,
13968            0x1,
13969            1,
13970            0,
13971            p4pfs_ha::Pmr,
13972            p4pfs_ha::Pmr,
13973            P4PfsHa_SPEC,
13974            crate::common::RW,
13975        >::from_register(self, 0)
13976    }
13977
13978    #[doc = "Peripheral Select"]
13979    #[inline(always)]
13980    pub fn psel(
13981        self,
13982    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P4PfsHa_SPEC, crate::common::RW> {
13983        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P4PfsHa_SPEC,crate::common::RW>::from_register(self,0)
13984    }
13985}
13986impl ::core::default::Default for P4PfsHa {
13987    #[inline(always)]
13988    fn default() -> P4PfsHa {
13989        <crate::RegValueT<P4PfsHa_SPEC> as RegisterValue<_>>::new(0)
13990    }
13991}
13992pub mod p4pfs_ha {
13993
13994    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13995    pub struct Pmr_SPEC;
13996    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
13997    impl Pmr {
13998        #[doc = "Used as a general I/O pin"]
13999        pub const _0: Self = Self::new(0);
14000
14001        #[doc = "Used as an I/O port for peripheral functions"]
14002        pub const _1: Self = Self::new(1);
14003    }
14004}
14005#[doc(hidden)]
14006#[derive(Copy, Clone, Eq, PartialEq)]
14007pub struct P4PfsBy_SPEC;
14008impl crate::sealed::RegSpec for P4PfsBy_SPEC {
14009    type DataType = u8;
14010}
14011
14012#[doc = "Port 4%s Pin Function Select Register"]
14013pub type P4PfsBy = crate::RegValueT<P4PfsBy_SPEC>;
14014
14015impl P4PfsBy {
14016    #[doc = "Peripheral Select"]
14017    #[inline(always)]
14018    pub fn psel(
14019        self,
14020    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P4PfsBy_SPEC, crate::common::RW> {
14021        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P4PfsBy_SPEC,crate::common::RW>::from_register(self,0)
14022    }
14023}
14024impl ::core::default::Default for P4PfsBy {
14025    #[inline(always)]
14026    fn default() -> P4PfsBy {
14027        <crate::RegValueT<P4PfsBy_SPEC> as RegisterValue<_>>::new(0)
14028    }
14029}
14030
14031#[doc(hidden)]
14032#[derive(Copy, Clone, Eq, PartialEq)]
14033pub struct P50Pfs_SPEC;
14034impl crate::sealed::RegSpec for P50Pfs_SPEC {
14035    type DataType = u32;
14036}
14037
14038#[doc = "Port 50%s Pin Function Select Register"]
14039pub type P50Pfs = crate::RegValueT<P50Pfs_SPEC>;
14040
14041impl P50Pfs {
14042    #[doc = "Port Output Data"]
14043    #[inline(always)]
14044    pub fn podr(
14045        self,
14046    ) -> crate::common::RegisterField<
14047        0,
14048        0x1,
14049        1,
14050        0,
14051        p50pfs::Podr,
14052        p50pfs::Podr,
14053        P50Pfs_SPEC,
14054        crate::common::RW,
14055    > {
14056        crate::common::RegisterField::<
14057            0,
14058            0x1,
14059            1,
14060            0,
14061            p50pfs::Podr,
14062            p50pfs::Podr,
14063            P50Pfs_SPEC,
14064            crate::common::RW,
14065        >::from_register(self, 0)
14066    }
14067
14068    #[doc = "Pmn State"]
14069    #[inline(always)]
14070    pub fn pidr(
14071        self,
14072    ) -> crate::common::RegisterField<
14073        1,
14074        0x1,
14075        1,
14076        0,
14077        p50pfs::Pidr,
14078        p50pfs::Pidr,
14079        P50Pfs_SPEC,
14080        crate::common::R,
14081    > {
14082        crate::common::RegisterField::<
14083            1,
14084            0x1,
14085            1,
14086            0,
14087            p50pfs::Pidr,
14088            p50pfs::Pidr,
14089            P50Pfs_SPEC,
14090            crate::common::R,
14091        >::from_register(self, 0)
14092    }
14093
14094    #[doc = "Port Direction"]
14095    #[inline(always)]
14096    pub fn pdr(
14097        self,
14098    ) -> crate::common::RegisterField<
14099        2,
14100        0x1,
14101        1,
14102        0,
14103        p50pfs::Pdr,
14104        p50pfs::Pdr,
14105        P50Pfs_SPEC,
14106        crate::common::RW,
14107    > {
14108        crate::common::RegisterField::<
14109            2,
14110            0x1,
14111            1,
14112            0,
14113            p50pfs::Pdr,
14114            p50pfs::Pdr,
14115            P50Pfs_SPEC,
14116            crate::common::RW,
14117        >::from_register(self, 0)
14118    }
14119
14120    #[doc = "Pull-up Control"]
14121    #[inline(always)]
14122    pub fn pcr(
14123        self,
14124    ) -> crate::common::RegisterField<
14125        4,
14126        0x1,
14127        1,
14128        0,
14129        p50pfs::Pcr,
14130        p50pfs::Pcr,
14131        P50Pfs_SPEC,
14132        crate::common::RW,
14133    > {
14134        crate::common::RegisterField::<
14135            4,
14136            0x1,
14137            1,
14138            0,
14139            p50pfs::Pcr,
14140            p50pfs::Pcr,
14141            P50Pfs_SPEC,
14142            crate::common::RW,
14143        >::from_register(self, 0)
14144    }
14145
14146    #[doc = "N-Channel Open-Drain Control"]
14147    #[inline(always)]
14148    pub fn ncodr(
14149        self,
14150    ) -> crate::common::RegisterField<
14151        6,
14152        0x1,
14153        1,
14154        0,
14155        p50pfs::Ncodr,
14156        p50pfs::Ncodr,
14157        P50Pfs_SPEC,
14158        crate::common::RW,
14159    > {
14160        crate::common::RegisterField::<
14161            6,
14162            0x1,
14163            1,
14164            0,
14165            p50pfs::Ncodr,
14166            p50pfs::Ncodr,
14167            P50Pfs_SPEC,
14168            crate::common::RW,
14169        >::from_register(self, 0)
14170    }
14171
14172    #[doc = "Port Drive Capability"]
14173    #[inline(always)]
14174    pub fn dscr(
14175        self,
14176    ) -> crate::common::RegisterField<
14177        10,
14178        0x3,
14179        1,
14180        0,
14181        p50pfs::Dscr,
14182        p50pfs::Dscr,
14183        P50Pfs_SPEC,
14184        crate::common::RW,
14185    > {
14186        crate::common::RegisterField::<
14187            10,
14188            0x3,
14189            1,
14190            0,
14191            p50pfs::Dscr,
14192            p50pfs::Dscr,
14193            P50Pfs_SPEC,
14194            crate::common::RW,
14195        >::from_register(self, 0)
14196    }
14197
14198    #[doc = "Event on Falling/Event on Rising"]
14199    #[inline(always)]
14200    pub fn eofr(
14201        self,
14202    ) -> crate::common::RegisterField<
14203        12,
14204        0x3,
14205        1,
14206        0,
14207        p50pfs::Eofr,
14208        p50pfs::Eofr,
14209        P50Pfs_SPEC,
14210        crate::common::RW,
14211    > {
14212        crate::common::RegisterField::<
14213            12,
14214            0x3,
14215            1,
14216            0,
14217            p50pfs::Eofr,
14218            p50pfs::Eofr,
14219            P50Pfs_SPEC,
14220            crate::common::RW,
14221        >::from_register(self, 0)
14222    }
14223
14224    #[doc = "IRQ Input Enable"]
14225    #[inline(always)]
14226    pub fn isel(
14227        self,
14228    ) -> crate::common::RegisterField<
14229        14,
14230        0x1,
14231        1,
14232        0,
14233        p50pfs::Isel,
14234        p50pfs::Isel,
14235        P50Pfs_SPEC,
14236        crate::common::RW,
14237    > {
14238        crate::common::RegisterField::<
14239            14,
14240            0x1,
14241            1,
14242            0,
14243            p50pfs::Isel,
14244            p50pfs::Isel,
14245            P50Pfs_SPEC,
14246            crate::common::RW,
14247        >::from_register(self, 0)
14248    }
14249
14250    #[doc = "Analog Input Enable"]
14251    #[inline(always)]
14252    pub fn asel(
14253        self,
14254    ) -> crate::common::RegisterField<
14255        15,
14256        0x1,
14257        1,
14258        0,
14259        p50pfs::Asel,
14260        p50pfs::Asel,
14261        P50Pfs_SPEC,
14262        crate::common::RW,
14263    > {
14264        crate::common::RegisterField::<
14265            15,
14266            0x1,
14267            1,
14268            0,
14269            p50pfs::Asel,
14270            p50pfs::Asel,
14271            P50Pfs_SPEC,
14272            crate::common::RW,
14273        >::from_register(self, 0)
14274    }
14275
14276    #[doc = "Port Mode Control"]
14277    #[inline(always)]
14278    pub fn pmr(
14279        self,
14280    ) -> crate::common::RegisterField<
14281        16,
14282        0x1,
14283        1,
14284        0,
14285        p50pfs::Pmr,
14286        p50pfs::Pmr,
14287        P50Pfs_SPEC,
14288        crate::common::RW,
14289    > {
14290        crate::common::RegisterField::<
14291            16,
14292            0x1,
14293            1,
14294            0,
14295            p50pfs::Pmr,
14296            p50pfs::Pmr,
14297            P50Pfs_SPEC,
14298            crate::common::RW,
14299        >::from_register(self, 0)
14300    }
14301
14302    #[doc = "Peripheral Select"]
14303    #[inline(always)]
14304    pub fn psel(
14305        self,
14306    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P50Pfs_SPEC, crate::common::RW> {
14307        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P50Pfs_SPEC,crate::common::RW>::from_register(self,0)
14308    }
14309}
14310impl ::core::default::Default for P50Pfs {
14311    #[inline(always)]
14312    fn default() -> P50Pfs {
14313        <crate::RegValueT<P50Pfs_SPEC> as RegisterValue<_>>::new(0)
14314    }
14315}
14316pub mod p50pfs {
14317
14318    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14319    pub struct Podr_SPEC;
14320    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14321    impl Podr {
14322        #[doc = "Low output"]
14323        pub const _0: Self = Self::new(0);
14324
14325        #[doc = "High output"]
14326        pub const _1: Self = Self::new(1);
14327    }
14328    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14329    pub struct Pidr_SPEC;
14330    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14331    impl Pidr {
14332        #[doc = "Low level"]
14333        pub const _0: Self = Self::new(0);
14334
14335        #[doc = "High level"]
14336        pub const _1: Self = Self::new(1);
14337    }
14338    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14339    pub struct Pdr_SPEC;
14340    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14341    impl Pdr {
14342        #[doc = "Input (functions as an input pin)"]
14343        pub const _0: Self = Self::new(0);
14344
14345        #[doc = "Output (functions as an output pin)"]
14346        pub const _1: Self = Self::new(1);
14347    }
14348    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14349    pub struct Pcr_SPEC;
14350    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14351    impl Pcr {
14352        #[doc = "Disable input pull-up"]
14353        pub const _0: Self = Self::new(0);
14354
14355        #[doc = "Enable input pull-up"]
14356        pub const _1: Self = Self::new(1);
14357    }
14358    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14359    pub struct Ncodr_SPEC;
14360    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14361    impl Ncodr {
14362        #[doc = "CMOS output"]
14363        pub const _0: Self = Self::new(0);
14364
14365        #[doc = "NMOS open-drain output"]
14366        pub const _1: Self = Self::new(1);
14367    }
14368    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14369    pub struct Dscr_SPEC;
14370    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
14371    impl Dscr {
14372        #[doc = "Low drive"]
14373        pub const _00: Self = Self::new(0);
14374
14375        #[doc = "Middle drive"]
14376        pub const _01: Self = Self::new(1);
14377
14378        #[doc = "High-speed high-drive"]
14379        pub const _10: Self = Self::new(2);
14380
14381        #[doc = "High drive"]
14382        pub const _11: Self = Self::new(3);
14383    }
14384    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14385    pub struct Eofr_SPEC;
14386    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
14387    impl Eofr {
14388        #[doc = "Don\'t care"]
14389        pub const _00: Self = Self::new(0);
14390
14391        #[doc = "Detect rising edge"]
14392        pub const _01: Self = Self::new(1);
14393
14394        #[doc = "Detect falling edge"]
14395        pub const _10: Self = Self::new(2);
14396
14397        #[doc = "Detect both edges"]
14398        pub const _11: Self = Self::new(3);
14399    }
14400    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14401    pub struct Isel_SPEC;
14402    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14403    impl Isel {
14404        #[doc = "Not used as an IRQn input pin"]
14405        pub const _0: Self = Self::new(0);
14406
14407        #[doc = "Used as an IRQn input pin"]
14408        pub const _1: Self = Self::new(1);
14409    }
14410    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14411    pub struct Asel_SPEC;
14412    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14413    impl Asel {
14414        #[doc = "Not used as an analog pin"]
14415        pub const _0: Self = Self::new(0);
14416
14417        #[doc = "Used as an analog pin"]
14418        pub const _1: Self = Self::new(1);
14419    }
14420    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14421    pub struct Pmr_SPEC;
14422    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
14423    impl Pmr {
14424        #[doc = "Used as a general I/O pin"]
14425        pub const _0: Self = Self::new(0);
14426
14427        #[doc = "Used as an I/O port for peripheral functions"]
14428        pub const _1: Self = Self::new(1);
14429    }
14430}
14431#[doc(hidden)]
14432#[derive(Copy, Clone, Eq, PartialEq)]
14433pub struct P50PfsHa_SPEC;
14434impl crate::sealed::RegSpec for P50PfsHa_SPEC {
14435    type DataType = u16;
14436}
14437
14438#[doc = "Port 50%s Pin Function Select Register"]
14439pub type P50PfsHa = crate::RegValueT<P50PfsHa_SPEC>;
14440
14441impl P50PfsHa {
14442    #[doc = "Port Mode Control"]
14443    #[inline(always)]
14444    pub fn pmr(
14445        self,
14446    ) -> crate::common::RegisterField<
14447        0,
14448        0x1,
14449        1,
14450        0,
14451        p50pfs_ha::Pmr,
14452        p50pfs_ha::Pmr,
14453        P50PfsHa_SPEC,
14454        crate::common::RW,
14455    > {
14456        crate::common::RegisterField::<
14457            0,
14458            0x1,
14459            1,
14460            0,
14461            p50pfs_ha::Pmr,
14462            p50pfs_ha::Pmr,
14463            P50PfsHa_SPEC,
14464            crate::common::RW,
14465        >::from_register(self, 0)
14466    }
14467
14468    #[doc = "Peripheral Select"]
14469    #[inline(always)]
14470    pub fn psel(
14471        self,
14472    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P50PfsHa_SPEC, crate::common::RW> {
14473        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P50PfsHa_SPEC,crate::common::RW>::from_register(self,0)
14474    }
14475}
14476impl ::core::default::Default for P50PfsHa {
14477    #[inline(always)]
14478    fn default() -> P50PfsHa {
14479        <crate::RegValueT<P50PfsHa_SPEC> as RegisterValue<_>>::new(0)
14480    }
14481}
14482pub mod p50pfs_ha {
14483
14484    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14485    pub struct Pmr_SPEC;
14486    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
14487    impl Pmr {
14488        #[doc = "Used as a general I/O pin"]
14489        pub const _0: Self = Self::new(0);
14490
14491        #[doc = "Used as an I/O port for peripheral functions"]
14492        pub const _1: Self = Self::new(1);
14493    }
14494}
14495#[doc(hidden)]
14496#[derive(Copy, Clone, Eq, PartialEq)]
14497pub struct P50PfsBy_SPEC;
14498impl crate::sealed::RegSpec for P50PfsBy_SPEC {
14499    type DataType = u8;
14500}
14501
14502#[doc = "Port 50%s Pin Function Select Register"]
14503pub type P50PfsBy = crate::RegValueT<P50PfsBy_SPEC>;
14504
14505impl P50PfsBy {
14506    #[doc = "Peripheral Select"]
14507    #[inline(always)]
14508    pub fn psel(
14509        self,
14510    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P50PfsBy_SPEC, crate::common::RW> {
14511        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P50PfsBy_SPEC,crate::common::RW>::from_register(self,0)
14512    }
14513}
14514impl ::core::default::Default for P50PfsBy {
14515    #[inline(always)]
14516    fn default() -> P50PfsBy {
14517        <crate::RegValueT<P50PfsBy_SPEC> as RegisterValue<_>>::new(0)
14518    }
14519}
14520
14521#[doc(hidden)]
14522#[derive(Copy, Clone, Eq, PartialEq)]
14523pub struct P5Pfs_SPEC;
14524impl crate::sealed::RegSpec for P5Pfs_SPEC {
14525    type DataType = u32;
14526}
14527
14528#[doc = "Port 5%s Pin Function Select Register"]
14529pub type P5Pfs = crate::RegValueT<P5Pfs_SPEC>;
14530
14531impl P5Pfs {
14532    #[doc = "Port Output Data"]
14533    #[inline(always)]
14534    pub fn podr(
14535        self,
14536    ) -> crate::common::RegisterField<
14537        0,
14538        0x1,
14539        1,
14540        0,
14541        p5pfs::Podr,
14542        p5pfs::Podr,
14543        P5Pfs_SPEC,
14544        crate::common::RW,
14545    > {
14546        crate::common::RegisterField::<
14547            0,
14548            0x1,
14549            1,
14550            0,
14551            p5pfs::Podr,
14552            p5pfs::Podr,
14553            P5Pfs_SPEC,
14554            crate::common::RW,
14555        >::from_register(self, 0)
14556    }
14557
14558    #[doc = "Pmn State"]
14559    #[inline(always)]
14560    pub fn pidr(
14561        self,
14562    ) -> crate::common::RegisterField<
14563        1,
14564        0x1,
14565        1,
14566        0,
14567        p5pfs::Pidr,
14568        p5pfs::Pidr,
14569        P5Pfs_SPEC,
14570        crate::common::R,
14571    > {
14572        crate::common::RegisterField::<
14573            1,
14574            0x1,
14575            1,
14576            0,
14577            p5pfs::Pidr,
14578            p5pfs::Pidr,
14579            P5Pfs_SPEC,
14580            crate::common::R,
14581        >::from_register(self, 0)
14582    }
14583
14584    #[doc = "Port Direction"]
14585    #[inline(always)]
14586    pub fn pdr(
14587        self,
14588    ) -> crate::common::RegisterField<
14589        2,
14590        0x1,
14591        1,
14592        0,
14593        p5pfs::Pdr,
14594        p5pfs::Pdr,
14595        P5Pfs_SPEC,
14596        crate::common::RW,
14597    > {
14598        crate::common::RegisterField::<
14599            2,
14600            0x1,
14601            1,
14602            0,
14603            p5pfs::Pdr,
14604            p5pfs::Pdr,
14605            P5Pfs_SPEC,
14606            crate::common::RW,
14607        >::from_register(self, 0)
14608    }
14609
14610    #[doc = "Pull-up Control"]
14611    #[inline(always)]
14612    pub fn pcr(
14613        self,
14614    ) -> crate::common::RegisterField<
14615        4,
14616        0x1,
14617        1,
14618        0,
14619        p5pfs::Pcr,
14620        p5pfs::Pcr,
14621        P5Pfs_SPEC,
14622        crate::common::RW,
14623    > {
14624        crate::common::RegisterField::<
14625            4,
14626            0x1,
14627            1,
14628            0,
14629            p5pfs::Pcr,
14630            p5pfs::Pcr,
14631            P5Pfs_SPEC,
14632            crate::common::RW,
14633        >::from_register(self, 0)
14634    }
14635
14636    #[doc = "N-Channel Open-Drain Control"]
14637    #[inline(always)]
14638    pub fn ncodr(
14639        self,
14640    ) -> crate::common::RegisterField<
14641        6,
14642        0x1,
14643        1,
14644        0,
14645        p5pfs::Ncodr,
14646        p5pfs::Ncodr,
14647        P5Pfs_SPEC,
14648        crate::common::RW,
14649    > {
14650        crate::common::RegisterField::<
14651            6,
14652            0x1,
14653            1,
14654            0,
14655            p5pfs::Ncodr,
14656            p5pfs::Ncodr,
14657            P5Pfs_SPEC,
14658            crate::common::RW,
14659        >::from_register(self, 0)
14660    }
14661
14662    #[doc = "Port Drive Capability"]
14663    #[inline(always)]
14664    pub fn dscr(
14665        self,
14666    ) -> crate::common::RegisterField<
14667        10,
14668        0x3,
14669        1,
14670        0,
14671        p5pfs::Dscr,
14672        p5pfs::Dscr,
14673        P5Pfs_SPEC,
14674        crate::common::RW,
14675    > {
14676        crate::common::RegisterField::<
14677            10,
14678            0x3,
14679            1,
14680            0,
14681            p5pfs::Dscr,
14682            p5pfs::Dscr,
14683            P5Pfs_SPEC,
14684            crate::common::RW,
14685        >::from_register(self, 0)
14686    }
14687
14688    #[doc = "Event on Falling/Event on Rising"]
14689    #[inline(always)]
14690    pub fn eofr(
14691        self,
14692    ) -> crate::common::RegisterField<
14693        12,
14694        0x3,
14695        1,
14696        0,
14697        p5pfs::Eofr,
14698        p5pfs::Eofr,
14699        P5Pfs_SPEC,
14700        crate::common::RW,
14701    > {
14702        crate::common::RegisterField::<
14703            12,
14704            0x3,
14705            1,
14706            0,
14707            p5pfs::Eofr,
14708            p5pfs::Eofr,
14709            P5Pfs_SPEC,
14710            crate::common::RW,
14711        >::from_register(self, 0)
14712    }
14713
14714    #[doc = "IRQ Input Enable"]
14715    #[inline(always)]
14716    pub fn isel(
14717        self,
14718    ) -> crate::common::RegisterField<
14719        14,
14720        0x1,
14721        1,
14722        0,
14723        p5pfs::Isel,
14724        p5pfs::Isel,
14725        P5Pfs_SPEC,
14726        crate::common::RW,
14727    > {
14728        crate::common::RegisterField::<
14729            14,
14730            0x1,
14731            1,
14732            0,
14733            p5pfs::Isel,
14734            p5pfs::Isel,
14735            P5Pfs_SPEC,
14736            crate::common::RW,
14737        >::from_register(self, 0)
14738    }
14739
14740    #[doc = "Analog Input Enable"]
14741    #[inline(always)]
14742    pub fn asel(
14743        self,
14744    ) -> crate::common::RegisterField<
14745        15,
14746        0x1,
14747        1,
14748        0,
14749        p5pfs::Asel,
14750        p5pfs::Asel,
14751        P5Pfs_SPEC,
14752        crate::common::RW,
14753    > {
14754        crate::common::RegisterField::<
14755            15,
14756            0x1,
14757            1,
14758            0,
14759            p5pfs::Asel,
14760            p5pfs::Asel,
14761            P5Pfs_SPEC,
14762            crate::common::RW,
14763        >::from_register(self, 0)
14764    }
14765
14766    #[doc = "Port Mode Control"]
14767    #[inline(always)]
14768    pub fn pmr(
14769        self,
14770    ) -> crate::common::RegisterField<
14771        16,
14772        0x1,
14773        1,
14774        0,
14775        p5pfs::Pmr,
14776        p5pfs::Pmr,
14777        P5Pfs_SPEC,
14778        crate::common::RW,
14779    > {
14780        crate::common::RegisterField::<
14781            16,
14782            0x1,
14783            1,
14784            0,
14785            p5pfs::Pmr,
14786            p5pfs::Pmr,
14787            P5Pfs_SPEC,
14788            crate::common::RW,
14789        >::from_register(self, 0)
14790    }
14791
14792    #[doc = "Peripheral Select"]
14793    #[inline(always)]
14794    pub fn psel(
14795        self,
14796    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P5Pfs_SPEC, crate::common::RW> {
14797        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P5Pfs_SPEC,crate::common::RW>::from_register(self,0)
14798    }
14799}
14800impl ::core::default::Default for P5Pfs {
14801    #[inline(always)]
14802    fn default() -> P5Pfs {
14803        <crate::RegValueT<P5Pfs_SPEC> as RegisterValue<_>>::new(0)
14804    }
14805}
14806pub mod p5pfs {
14807
14808    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14809    pub struct Podr_SPEC;
14810    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14811    impl Podr {
14812        #[doc = "Low output"]
14813        pub const _0: Self = Self::new(0);
14814
14815        #[doc = "High output"]
14816        pub const _1: Self = Self::new(1);
14817    }
14818    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14819    pub struct Pidr_SPEC;
14820    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14821    impl Pidr {
14822        #[doc = "Low level"]
14823        pub const _0: Self = Self::new(0);
14824
14825        #[doc = "High level"]
14826        pub const _1: Self = Self::new(1);
14827    }
14828    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14829    pub struct Pdr_SPEC;
14830    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14831    impl Pdr {
14832        #[doc = "Input (functions as an input pin)"]
14833        pub const _0: Self = Self::new(0);
14834
14835        #[doc = "Output (functions as an output pin)"]
14836        pub const _1: Self = Self::new(1);
14837    }
14838    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14839    pub struct Pcr_SPEC;
14840    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14841    impl Pcr {
14842        #[doc = "Disable input pull-up"]
14843        pub const _0: Self = Self::new(0);
14844
14845        #[doc = "Enable input pull-up"]
14846        pub const _1: Self = Self::new(1);
14847    }
14848    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14849    pub struct Ncodr_SPEC;
14850    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14851    impl Ncodr {
14852        #[doc = "CMOS output"]
14853        pub const _0: Self = Self::new(0);
14854
14855        #[doc = "NMOS open-drain output"]
14856        pub const _1: Self = Self::new(1);
14857    }
14858    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14859    pub struct Dscr_SPEC;
14860    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
14861    impl Dscr {
14862        #[doc = "Low drive"]
14863        pub const _00: Self = Self::new(0);
14864
14865        #[doc = "Middle drive"]
14866        pub const _01: Self = Self::new(1);
14867
14868        #[doc = "High-speed high-drive"]
14869        pub const _10: Self = Self::new(2);
14870
14871        #[doc = "High drive"]
14872        pub const _11: Self = Self::new(3);
14873    }
14874    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14875    pub struct Eofr_SPEC;
14876    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
14877    impl Eofr {
14878        #[doc = "Don\'t care"]
14879        pub const _00: Self = Self::new(0);
14880
14881        #[doc = "Detect rising edge"]
14882        pub const _01: Self = Self::new(1);
14883
14884        #[doc = "Detect falling edge"]
14885        pub const _10: Self = Self::new(2);
14886
14887        #[doc = "Detect both edges"]
14888        pub const _11: Self = Self::new(3);
14889    }
14890    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14891    pub struct Isel_SPEC;
14892    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14893    impl Isel {
14894        #[doc = "Not used as an IRQn input pin"]
14895        pub const _0: Self = Self::new(0);
14896
14897        #[doc = "Used as an IRQn input pin"]
14898        pub const _1: Self = Self::new(1);
14899    }
14900    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14901    pub struct Asel_SPEC;
14902    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14903    impl Asel {
14904        #[doc = "Not used as an analog pin"]
14905        pub const _0: Self = Self::new(0);
14906
14907        #[doc = "Used as an analog pin"]
14908        pub const _1: Self = Self::new(1);
14909    }
14910    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14911    pub struct Pmr_SPEC;
14912    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
14913    impl Pmr {
14914        #[doc = "Used as a general I/O pin"]
14915        pub const _0: Self = Self::new(0);
14916
14917        #[doc = "Used as an I/O port for peripheral functions"]
14918        pub const _1: Self = Self::new(1);
14919    }
14920}
14921#[doc(hidden)]
14922#[derive(Copy, Clone, Eq, PartialEq)]
14923pub struct P5PfsHa_SPEC;
14924impl crate::sealed::RegSpec for P5PfsHa_SPEC {
14925    type DataType = u16;
14926}
14927
14928#[doc = "Port 5%s Pin Function Select Register"]
14929pub type P5PfsHa = crate::RegValueT<P5PfsHa_SPEC>;
14930
14931impl P5PfsHa {
14932    #[doc = "Port Mode Control"]
14933    #[inline(always)]
14934    pub fn pmr(
14935        self,
14936    ) -> crate::common::RegisterField<
14937        0,
14938        0x1,
14939        1,
14940        0,
14941        p5pfs_ha::Pmr,
14942        p5pfs_ha::Pmr,
14943        P5PfsHa_SPEC,
14944        crate::common::RW,
14945    > {
14946        crate::common::RegisterField::<
14947            0,
14948            0x1,
14949            1,
14950            0,
14951            p5pfs_ha::Pmr,
14952            p5pfs_ha::Pmr,
14953            P5PfsHa_SPEC,
14954            crate::common::RW,
14955        >::from_register(self, 0)
14956    }
14957
14958    #[doc = "Peripheral Select"]
14959    #[inline(always)]
14960    pub fn psel(
14961        self,
14962    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P5PfsHa_SPEC, crate::common::RW> {
14963        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P5PfsHa_SPEC,crate::common::RW>::from_register(self,0)
14964    }
14965}
14966impl ::core::default::Default for P5PfsHa {
14967    #[inline(always)]
14968    fn default() -> P5PfsHa {
14969        <crate::RegValueT<P5PfsHa_SPEC> as RegisterValue<_>>::new(0)
14970    }
14971}
14972pub mod p5pfs_ha {
14973
14974    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14975    pub struct Pmr_SPEC;
14976    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
14977    impl Pmr {
14978        #[doc = "Used as a general I/O pin"]
14979        pub const _0: Self = Self::new(0);
14980
14981        #[doc = "Used as an I/O port for peripheral functions"]
14982        pub const _1: Self = Self::new(1);
14983    }
14984}
14985#[doc(hidden)]
14986#[derive(Copy, Clone, Eq, PartialEq)]
14987pub struct P5PfsBy_SPEC;
14988impl crate::sealed::RegSpec for P5PfsBy_SPEC {
14989    type DataType = u8;
14990}
14991
14992#[doc = "Port 5%s Pin Function Select Register"]
14993pub type P5PfsBy = crate::RegValueT<P5PfsBy_SPEC>;
14994
14995impl P5PfsBy {
14996    #[doc = "Peripheral Select"]
14997    #[inline(always)]
14998    pub fn psel(
14999        self,
15000    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P5PfsBy_SPEC, crate::common::RW> {
15001        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P5PfsBy_SPEC,crate::common::RW>::from_register(self,0)
15002    }
15003}
15004impl ::core::default::Default for P5PfsBy {
15005    #[inline(always)]
15006    fn default() -> P5PfsBy {
15007        <crate::RegValueT<P5PfsBy_SPEC> as RegisterValue<_>>::new(0)
15008    }
15009}
15010
15011#[doc(hidden)]
15012#[derive(Copy, Clone, Eq, PartialEq)]
15013pub struct P60Pfs_SPEC;
15014impl crate::sealed::RegSpec for P60Pfs_SPEC {
15015    type DataType = u32;
15016}
15017
15018#[doc = "Port 60%s Pin Function Select Register"]
15019pub type P60Pfs = crate::RegValueT<P60Pfs_SPEC>;
15020
15021impl P60Pfs {
15022    #[doc = "Port Output Data"]
15023    #[inline(always)]
15024    pub fn podr(
15025        self,
15026    ) -> crate::common::RegisterField<
15027        0,
15028        0x1,
15029        1,
15030        0,
15031        p60pfs::Podr,
15032        p60pfs::Podr,
15033        P60Pfs_SPEC,
15034        crate::common::RW,
15035    > {
15036        crate::common::RegisterField::<
15037            0,
15038            0x1,
15039            1,
15040            0,
15041            p60pfs::Podr,
15042            p60pfs::Podr,
15043            P60Pfs_SPEC,
15044            crate::common::RW,
15045        >::from_register(self, 0)
15046    }
15047
15048    #[doc = "Pmn State"]
15049    #[inline(always)]
15050    pub fn pidr(
15051        self,
15052    ) -> crate::common::RegisterField<
15053        1,
15054        0x1,
15055        1,
15056        0,
15057        p60pfs::Pidr,
15058        p60pfs::Pidr,
15059        P60Pfs_SPEC,
15060        crate::common::R,
15061    > {
15062        crate::common::RegisterField::<
15063            1,
15064            0x1,
15065            1,
15066            0,
15067            p60pfs::Pidr,
15068            p60pfs::Pidr,
15069            P60Pfs_SPEC,
15070            crate::common::R,
15071        >::from_register(self, 0)
15072    }
15073
15074    #[doc = "Port Direction"]
15075    #[inline(always)]
15076    pub fn pdr(
15077        self,
15078    ) -> crate::common::RegisterField<
15079        2,
15080        0x1,
15081        1,
15082        0,
15083        p60pfs::Pdr,
15084        p60pfs::Pdr,
15085        P60Pfs_SPEC,
15086        crate::common::RW,
15087    > {
15088        crate::common::RegisterField::<
15089            2,
15090            0x1,
15091            1,
15092            0,
15093            p60pfs::Pdr,
15094            p60pfs::Pdr,
15095            P60Pfs_SPEC,
15096            crate::common::RW,
15097        >::from_register(self, 0)
15098    }
15099
15100    #[doc = "Pull-up Control"]
15101    #[inline(always)]
15102    pub fn pcr(
15103        self,
15104    ) -> crate::common::RegisterField<
15105        4,
15106        0x1,
15107        1,
15108        0,
15109        p60pfs::Pcr,
15110        p60pfs::Pcr,
15111        P60Pfs_SPEC,
15112        crate::common::RW,
15113    > {
15114        crate::common::RegisterField::<
15115            4,
15116            0x1,
15117            1,
15118            0,
15119            p60pfs::Pcr,
15120            p60pfs::Pcr,
15121            P60Pfs_SPEC,
15122            crate::common::RW,
15123        >::from_register(self, 0)
15124    }
15125
15126    #[doc = "N-Channel Open-Drain Control"]
15127    #[inline(always)]
15128    pub fn ncodr(
15129        self,
15130    ) -> crate::common::RegisterField<
15131        6,
15132        0x1,
15133        1,
15134        0,
15135        p60pfs::Ncodr,
15136        p60pfs::Ncodr,
15137        P60Pfs_SPEC,
15138        crate::common::RW,
15139    > {
15140        crate::common::RegisterField::<
15141            6,
15142            0x1,
15143            1,
15144            0,
15145            p60pfs::Ncodr,
15146            p60pfs::Ncodr,
15147            P60Pfs_SPEC,
15148            crate::common::RW,
15149        >::from_register(self, 0)
15150    }
15151
15152    #[doc = "Port Drive Capability"]
15153    #[inline(always)]
15154    pub fn dscr(
15155        self,
15156    ) -> crate::common::RegisterField<
15157        10,
15158        0x3,
15159        1,
15160        0,
15161        p60pfs::Dscr,
15162        p60pfs::Dscr,
15163        P60Pfs_SPEC,
15164        crate::common::RW,
15165    > {
15166        crate::common::RegisterField::<
15167            10,
15168            0x3,
15169            1,
15170            0,
15171            p60pfs::Dscr,
15172            p60pfs::Dscr,
15173            P60Pfs_SPEC,
15174            crate::common::RW,
15175        >::from_register(self, 0)
15176    }
15177
15178    #[doc = "Event on Falling/Event on Rising"]
15179    #[inline(always)]
15180    pub fn eofr(
15181        self,
15182    ) -> crate::common::RegisterField<
15183        12,
15184        0x3,
15185        1,
15186        0,
15187        p60pfs::Eofr,
15188        p60pfs::Eofr,
15189        P60Pfs_SPEC,
15190        crate::common::RW,
15191    > {
15192        crate::common::RegisterField::<
15193            12,
15194            0x3,
15195            1,
15196            0,
15197            p60pfs::Eofr,
15198            p60pfs::Eofr,
15199            P60Pfs_SPEC,
15200            crate::common::RW,
15201        >::from_register(self, 0)
15202    }
15203
15204    #[doc = "IRQ Input Enable"]
15205    #[inline(always)]
15206    pub fn isel(
15207        self,
15208    ) -> crate::common::RegisterField<
15209        14,
15210        0x1,
15211        1,
15212        0,
15213        p60pfs::Isel,
15214        p60pfs::Isel,
15215        P60Pfs_SPEC,
15216        crate::common::RW,
15217    > {
15218        crate::common::RegisterField::<
15219            14,
15220            0x1,
15221            1,
15222            0,
15223            p60pfs::Isel,
15224            p60pfs::Isel,
15225            P60Pfs_SPEC,
15226            crate::common::RW,
15227        >::from_register(self, 0)
15228    }
15229
15230    #[doc = "Analog Input Enable"]
15231    #[inline(always)]
15232    pub fn asel(
15233        self,
15234    ) -> crate::common::RegisterField<
15235        15,
15236        0x1,
15237        1,
15238        0,
15239        p60pfs::Asel,
15240        p60pfs::Asel,
15241        P60Pfs_SPEC,
15242        crate::common::RW,
15243    > {
15244        crate::common::RegisterField::<
15245            15,
15246            0x1,
15247            1,
15248            0,
15249            p60pfs::Asel,
15250            p60pfs::Asel,
15251            P60Pfs_SPEC,
15252            crate::common::RW,
15253        >::from_register(self, 0)
15254    }
15255
15256    #[doc = "Port Mode Control"]
15257    #[inline(always)]
15258    pub fn pmr(
15259        self,
15260    ) -> crate::common::RegisterField<
15261        16,
15262        0x1,
15263        1,
15264        0,
15265        p60pfs::Pmr,
15266        p60pfs::Pmr,
15267        P60Pfs_SPEC,
15268        crate::common::RW,
15269    > {
15270        crate::common::RegisterField::<
15271            16,
15272            0x1,
15273            1,
15274            0,
15275            p60pfs::Pmr,
15276            p60pfs::Pmr,
15277            P60Pfs_SPEC,
15278            crate::common::RW,
15279        >::from_register(self, 0)
15280    }
15281
15282    #[doc = "Peripheral Select"]
15283    #[inline(always)]
15284    pub fn psel(
15285        self,
15286    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P60Pfs_SPEC, crate::common::RW> {
15287        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P60Pfs_SPEC,crate::common::RW>::from_register(self,0)
15288    }
15289}
15290impl ::core::default::Default for P60Pfs {
15291    #[inline(always)]
15292    fn default() -> P60Pfs {
15293        <crate::RegValueT<P60Pfs_SPEC> as RegisterValue<_>>::new(0)
15294    }
15295}
15296pub mod p60pfs {
15297
15298    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15299    pub struct Podr_SPEC;
15300    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15301    impl Podr {
15302        #[doc = "Low output"]
15303        pub const _0: Self = Self::new(0);
15304
15305        #[doc = "High output"]
15306        pub const _1: Self = Self::new(1);
15307    }
15308    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15309    pub struct Pidr_SPEC;
15310    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15311    impl Pidr {
15312        #[doc = "Low level"]
15313        pub const _0: Self = Self::new(0);
15314
15315        #[doc = "High level"]
15316        pub const _1: Self = Self::new(1);
15317    }
15318    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15319    pub struct Pdr_SPEC;
15320    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15321    impl Pdr {
15322        #[doc = "Input (functions as an input pin)"]
15323        pub const _0: Self = Self::new(0);
15324
15325        #[doc = "Output (functions as an output pin)"]
15326        pub const _1: Self = Self::new(1);
15327    }
15328    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15329    pub struct Pcr_SPEC;
15330    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15331    impl Pcr {
15332        #[doc = "Disable input pull-up"]
15333        pub const _0: Self = Self::new(0);
15334
15335        #[doc = "Enable input pull-up"]
15336        pub const _1: Self = Self::new(1);
15337    }
15338    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15339    pub struct Ncodr_SPEC;
15340    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15341    impl Ncodr {
15342        #[doc = "CMOS output"]
15343        pub const _0: Self = Self::new(0);
15344
15345        #[doc = "NMOS open-drain output"]
15346        pub const _1: Self = Self::new(1);
15347    }
15348    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15349    pub struct Dscr_SPEC;
15350    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
15351    impl Dscr {
15352        #[doc = "Low drive"]
15353        pub const _00: Self = Self::new(0);
15354
15355        #[doc = "Middle drive"]
15356        pub const _01: Self = Self::new(1);
15357
15358        #[doc = "High-speed high-drive"]
15359        pub const _10: Self = Self::new(2);
15360
15361        #[doc = "High drive"]
15362        pub const _11: Self = Self::new(3);
15363    }
15364    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15365    pub struct Eofr_SPEC;
15366    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
15367    impl Eofr {
15368        #[doc = "Don\'t care"]
15369        pub const _00: Self = Self::new(0);
15370
15371        #[doc = "Detect rising edge"]
15372        pub const _01: Self = Self::new(1);
15373
15374        #[doc = "Detect falling edge"]
15375        pub const _10: Self = Self::new(2);
15376
15377        #[doc = "Detect both edges"]
15378        pub const _11: Self = Self::new(3);
15379    }
15380    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15381    pub struct Isel_SPEC;
15382    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15383    impl Isel {
15384        #[doc = "Not used as an IRQn input pin"]
15385        pub const _0: Self = Self::new(0);
15386
15387        #[doc = "Used as an IRQn input pin"]
15388        pub const _1: Self = Self::new(1);
15389    }
15390    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15391    pub struct Asel_SPEC;
15392    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15393    impl Asel {
15394        #[doc = "Not used as an analog pin"]
15395        pub const _0: Self = Self::new(0);
15396
15397        #[doc = "Used as an analog pin"]
15398        pub const _1: Self = Self::new(1);
15399    }
15400    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15401    pub struct Pmr_SPEC;
15402    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
15403    impl Pmr {
15404        #[doc = "Used as a general I/O pin"]
15405        pub const _0: Self = Self::new(0);
15406
15407        #[doc = "Used as an I/O port for peripheral functions"]
15408        pub const _1: Self = Self::new(1);
15409    }
15410}
15411#[doc(hidden)]
15412#[derive(Copy, Clone, Eq, PartialEq)]
15413pub struct P60PfsHa_SPEC;
15414impl crate::sealed::RegSpec for P60PfsHa_SPEC {
15415    type DataType = u16;
15416}
15417
15418#[doc = "Port 60%s Pin Function Select Register"]
15419pub type P60PfsHa = crate::RegValueT<P60PfsHa_SPEC>;
15420
15421impl P60PfsHa {
15422    #[doc = "Port Mode Control"]
15423    #[inline(always)]
15424    pub fn pmr(
15425        self,
15426    ) -> crate::common::RegisterField<
15427        0,
15428        0x1,
15429        1,
15430        0,
15431        p60pfs_ha::Pmr,
15432        p60pfs_ha::Pmr,
15433        P60PfsHa_SPEC,
15434        crate::common::RW,
15435    > {
15436        crate::common::RegisterField::<
15437            0,
15438            0x1,
15439            1,
15440            0,
15441            p60pfs_ha::Pmr,
15442            p60pfs_ha::Pmr,
15443            P60PfsHa_SPEC,
15444            crate::common::RW,
15445        >::from_register(self, 0)
15446    }
15447
15448    #[doc = "Peripheral Select"]
15449    #[inline(always)]
15450    pub fn psel(
15451        self,
15452    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P60PfsHa_SPEC, crate::common::RW> {
15453        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P60PfsHa_SPEC,crate::common::RW>::from_register(self,0)
15454    }
15455}
15456impl ::core::default::Default for P60PfsHa {
15457    #[inline(always)]
15458    fn default() -> P60PfsHa {
15459        <crate::RegValueT<P60PfsHa_SPEC> as RegisterValue<_>>::new(0)
15460    }
15461}
15462pub mod p60pfs_ha {
15463
15464    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15465    pub struct Pmr_SPEC;
15466    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
15467    impl Pmr {
15468        #[doc = "Used as a general I/O pin"]
15469        pub const _0: Self = Self::new(0);
15470
15471        #[doc = "Used as an I/O port for peripheral functions"]
15472        pub const _1: Self = Self::new(1);
15473    }
15474}
15475#[doc(hidden)]
15476#[derive(Copy, Clone, Eq, PartialEq)]
15477pub struct P60PfsBy_SPEC;
15478impl crate::sealed::RegSpec for P60PfsBy_SPEC {
15479    type DataType = u8;
15480}
15481
15482#[doc = "Port 60%s Pin Function Select Register"]
15483pub type P60PfsBy = crate::RegValueT<P60PfsBy_SPEC>;
15484
15485impl P60PfsBy {
15486    #[doc = "Peripheral Select"]
15487    #[inline(always)]
15488    pub fn psel(
15489        self,
15490    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P60PfsBy_SPEC, crate::common::RW> {
15491        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P60PfsBy_SPEC,crate::common::RW>::from_register(self,0)
15492    }
15493}
15494impl ::core::default::Default for P60PfsBy {
15495    #[inline(always)]
15496    fn default() -> P60PfsBy {
15497        <crate::RegValueT<P60PfsBy_SPEC> as RegisterValue<_>>::new(0)
15498    }
15499}
15500
15501#[doc(hidden)]
15502#[derive(Copy, Clone, Eq, PartialEq)]
15503pub struct P6Pfs_SPEC;
15504impl crate::sealed::RegSpec for P6Pfs_SPEC {
15505    type DataType = u32;
15506}
15507
15508#[doc = "Port 6%s Pin Function Select Register"]
15509pub type P6Pfs = crate::RegValueT<P6Pfs_SPEC>;
15510
15511impl P6Pfs {
15512    #[doc = "Port Output Data"]
15513    #[inline(always)]
15514    pub fn podr(
15515        self,
15516    ) -> crate::common::RegisterField<
15517        0,
15518        0x1,
15519        1,
15520        0,
15521        p6pfs::Podr,
15522        p6pfs::Podr,
15523        P6Pfs_SPEC,
15524        crate::common::RW,
15525    > {
15526        crate::common::RegisterField::<
15527            0,
15528            0x1,
15529            1,
15530            0,
15531            p6pfs::Podr,
15532            p6pfs::Podr,
15533            P6Pfs_SPEC,
15534            crate::common::RW,
15535        >::from_register(self, 0)
15536    }
15537
15538    #[doc = "Pmn State"]
15539    #[inline(always)]
15540    pub fn pidr(
15541        self,
15542    ) -> crate::common::RegisterField<
15543        1,
15544        0x1,
15545        1,
15546        0,
15547        p6pfs::Pidr,
15548        p6pfs::Pidr,
15549        P6Pfs_SPEC,
15550        crate::common::R,
15551    > {
15552        crate::common::RegisterField::<
15553            1,
15554            0x1,
15555            1,
15556            0,
15557            p6pfs::Pidr,
15558            p6pfs::Pidr,
15559            P6Pfs_SPEC,
15560            crate::common::R,
15561        >::from_register(self, 0)
15562    }
15563
15564    #[doc = "Port Direction"]
15565    #[inline(always)]
15566    pub fn pdr(
15567        self,
15568    ) -> crate::common::RegisterField<
15569        2,
15570        0x1,
15571        1,
15572        0,
15573        p6pfs::Pdr,
15574        p6pfs::Pdr,
15575        P6Pfs_SPEC,
15576        crate::common::RW,
15577    > {
15578        crate::common::RegisterField::<
15579            2,
15580            0x1,
15581            1,
15582            0,
15583            p6pfs::Pdr,
15584            p6pfs::Pdr,
15585            P6Pfs_SPEC,
15586            crate::common::RW,
15587        >::from_register(self, 0)
15588    }
15589
15590    #[doc = "Pull-up Control"]
15591    #[inline(always)]
15592    pub fn pcr(
15593        self,
15594    ) -> crate::common::RegisterField<
15595        4,
15596        0x1,
15597        1,
15598        0,
15599        p6pfs::Pcr,
15600        p6pfs::Pcr,
15601        P6Pfs_SPEC,
15602        crate::common::RW,
15603    > {
15604        crate::common::RegisterField::<
15605            4,
15606            0x1,
15607            1,
15608            0,
15609            p6pfs::Pcr,
15610            p6pfs::Pcr,
15611            P6Pfs_SPEC,
15612            crate::common::RW,
15613        >::from_register(self, 0)
15614    }
15615
15616    #[doc = "N-Channel Open-Drain Control"]
15617    #[inline(always)]
15618    pub fn ncodr(
15619        self,
15620    ) -> crate::common::RegisterField<
15621        6,
15622        0x1,
15623        1,
15624        0,
15625        p6pfs::Ncodr,
15626        p6pfs::Ncodr,
15627        P6Pfs_SPEC,
15628        crate::common::RW,
15629    > {
15630        crate::common::RegisterField::<
15631            6,
15632            0x1,
15633            1,
15634            0,
15635            p6pfs::Ncodr,
15636            p6pfs::Ncodr,
15637            P6Pfs_SPEC,
15638            crate::common::RW,
15639        >::from_register(self, 0)
15640    }
15641
15642    #[doc = "Port Drive Capability"]
15643    #[inline(always)]
15644    pub fn dscr(
15645        self,
15646    ) -> crate::common::RegisterField<
15647        10,
15648        0x3,
15649        1,
15650        0,
15651        p6pfs::Dscr,
15652        p6pfs::Dscr,
15653        P6Pfs_SPEC,
15654        crate::common::RW,
15655    > {
15656        crate::common::RegisterField::<
15657            10,
15658            0x3,
15659            1,
15660            0,
15661            p6pfs::Dscr,
15662            p6pfs::Dscr,
15663            P6Pfs_SPEC,
15664            crate::common::RW,
15665        >::from_register(self, 0)
15666    }
15667
15668    #[doc = "Event on Falling/Event on Rising"]
15669    #[inline(always)]
15670    pub fn eofr(
15671        self,
15672    ) -> crate::common::RegisterField<
15673        12,
15674        0x3,
15675        1,
15676        0,
15677        p6pfs::Eofr,
15678        p6pfs::Eofr,
15679        P6Pfs_SPEC,
15680        crate::common::RW,
15681    > {
15682        crate::common::RegisterField::<
15683            12,
15684            0x3,
15685            1,
15686            0,
15687            p6pfs::Eofr,
15688            p6pfs::Eofr,
15689            P6Pfs_SPEC,
15690            crate::common::RW,
15691        >::from_register(self, 0)
15692    }
15693
15694    #[doc = "IRQ Input Enable"]
15695    #[inline(always)]
15696    pub fn isel(
15697        self,
15698    ) -> crate::common::RegisterField<
15699        14,
15700        0x1,
15701        1,
15702        0,
15703        p6pfs::Isel,
15704        p6pfs::Isel,
15705        P6Pfs_SPEC,
15706        crate::common::RW,
15707    > {
15708        crate::common::RegisterField::<
15709            14,
15710            0x1,
15711            1,
15712            0,
15713            p6pfs::Isel,
15714            p6pfs::Isel,
15715            P6Pfs_SPEC,
15716            crate::common::RW,
15717        >::from_register(self, 0)
15718    }
15719
15720    #[doc = "Analog Input Enable"]
15721    #[inline(always)]
15722    pub fn asel(
15723        self,
15724    ) -> crate::common::RegisterField<
15725        15,
15726        0x1,
15727        1,
15728        0,
15729        p6pfs::Asel,
15730        p6pfs::Asel,
15731        P6Pfs_SPEC,
15732        crate::common::RW,
15733    > {
15734        crate::common::RegisterField::<
15735            15,
15736            0x1,
15737            1,
15738            0,
15739            p6pfs::Asel,
15740            p6pfs::Asel,
15741            P6Pfs_SPEC,
15742            crate::common::RW,
15743        >::from_register(self, 0)
15744    }
15745
15746    #[doc = "Port Mode Control"]
15747    #[inline(always)]
15748    pub fn pmr(
15749        self,
15750    ) -> crate::common::RegisterField<
15751        16,
15752        0x1,
15753        1,
15754        0,
15755        p6pfs::Pmr,
15756        p6pfs::Pmr,
15757        P6Pfs_SPEC,
15758        crate::common::RW,
15759    > {
15760        crate::common::RegisterField::<
15761            16,
15762            0x1,
15763            1,
15764            0,
15765            p6pfs::Pmr,
15766            p6pfs::Pmr,
15767            P6Pfs_SPEC,
15768            crate::common::RW,
15769        >::from_register(self, 0)
15770    }
15771
15772    #[doc = "Peripheral Select"]
15773    #[inline(always)]
15774    pub fn psel(
15775        self,
15776    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P6Pfs_SPEC, crate::common::RW> {
15777        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P6Pfs_SPEC,crate::common::RW>::from_register(self,0)
15778    }
15779}
15780impl ::core::default::Default for P6Pfs {
15781    #[inline(always)]
15782    fn default() -> P6Pfs {
15783        <crate::RegValueT<P6Pfs_SPEC> as RegisterValue<_>>::new(0)
15784    }
15785}
15786pub mod p6pfs {
15787
15788    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15789    pub struct Podr_SPEC;
15790    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15791    impl Podr {
15792        #[doc = "Low output"]
15793        pub const _0: Self = Self::new(0);
15794
15795        #[doc = "High output"]
15796        pub const _1: Self = Self::new(1);
15797    }
15798    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15799    pub struct Pidr_SPEC;
15800    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15801    impl Pidr {
15802        #[doc = "Low level"]
15803        pub const _0: Self = Self::new(0);
15804
15805        #[doc = "High level"]
15806        pub const _1: Self = Self::new(1);
15807    }
15808    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15809    pub struct Pdr_SPEC;
15810    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15811    impl Pdr {
15812        #[doc = "Input (functions as an input pin)"]
15813        pub const _0: Self = Self::new(0);
15814
15815        #[doc = "Output (functions as an output pin)"]
15816        pub const _1: Self = Self::new(1);
15817    }
15818    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15819    pub struct Pcr_SPEC;
15820    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15821    impl Pcr {
15822        #[doc = "Disable input pull-up"]
15823        pub const _0: Self = Self::new(0);
15824
15825        #[doc = "Enable input pull-up"]
15826        pub const _1: Self = Self::new(1);
15827    }
15828    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15829    pub struct Ncodr_SPEC;
15830    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15831    impl Ncodr {
15832        #[doc = "CMOS output"]
15833        pub const _0: Self = Self::new(0);
15834
15835        #[doc = "NMOS open-drain output"]
15836        pub const _1: Self = Self::new(1);
15837    }
15838    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15839    pub struct Dscr_SPEC;
15840    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
15841    impl Dscr {
15842        #[doc = "Low drive"]
15843        pub const _00: Self = Self::new(0);
15844
15845        #[doc = "Middle drive"]
15846        pub const _01: Self = Self::new(1);
15847
15848        #[doc = "High-speed high-drive"]
15849        pub const _10: Self = Self::new(2);
15850
15851        #[doc = "High drive"]
15852        pub const _11: Self = Self::new(3);
15853    }
15854    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15855    pub struct Eofr_SPEC;
15856    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
15857    impl Eofr {
15858        #[doc = "Don\'t care"]
15859        pub const _00: Self = Self::new(0);
15860
15861        #[doc = "Detect rising edge"]
15862        pub const _01: Self = Self::new(1);
15863
15864        #[doc = "Detect falling edge"]
15865        pub const _10: Self = Self::new(2);
15866
15867        #[doc = "Detect both edges"]
15868        pub const _11: Self = Self::new(3);
15869    }
15870    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15871    pub struct Isel_SPEC;
15872    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15873    impl Isel {
15874        #[doc = "Not used as an IRQn input pin"]
15875        pub const _0: Self = Self::new(0);
15876
15877        #[doc = "Used as an IRQn input pin"]
15878        pub const _1: Self = Self::new(1);
15879    }
15880    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15881    pub struct Asel_SPEC;
15882    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15883    impl Asel {
15884        #[doc = "Not used as an analog pin"]
15885        pub const _0: Self = Self::new(0);
15886
15887        #[doc = "Used as an analog pin"]
15888        pub const _1: Self = Self::new(1);
15889    }
15890    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15891    pub struct Pmr_SPEC;
15892    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
15893    impl Pmr {
15894        #[doc = "Used as a general I/O pin"]
15895        pub const _0: Self = Self::new(0);
15896
15897        #[doc = "Used as an I/O port for peripheral functions"]
15898        pub const _1: Self = Self::new(1);
15899    }
15900}
15901#[doc(hidden)]
15902#[derive(Copy, Clone, Eq, PartialEq)]
15903pub struct P6PfsHa_SPEC;
15904impl crate::sealed::RegSpec for P6PfsHa_SPEC {
15905    type DataType = u16;
15906}
15907
15908#[doc = "Port 6%s Pin Function Select Register"]
15909pub type P6PfsHa = crate::RegValueT<P6PfsHa_SPEC>;
15910
15911impl P6PfsHa {
15912    #[doc = "Port Mode Control"]
15913    #[inline(always)]
15914    pub fn pmr(
15915        self,
15916    ) -> crate::common::RegisterField<
15917        0,
15918        0x1,
15919        1,
15920        0,
15921        p6pfs_ha::Pmr,
15922        p6pfs_ha::Pmr,
15923        P6PfsHa_SPEC,
15924        crate::common::RW,
15925    > {
15926        crate::common::RegisterField::<
15927            0,
15928            0x1,
15929            1,
15930            0,
15931            p6pfs_ha::Pmr,
15932            p6pfs_ha::Pmr,
15933            P6PfsHa_SPEC,
15934            crate::common::RW,
15935        >::from_register(self, 0)
15936    }
15937
15938    #[doc = "Peripheral Select"]
15939    #[inline(always)]
15940    pub fn psel(
15941        self,
15942    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P6PfsHa_SPEC, crate::common::RW> {
15943        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P6PfsHa_SPEC,crate::common::RW>::from_register(self,0)
15944    }
15945}
15946impl ::core::default::Default for P6PfsHa {
15947    #[inline(always)]
15948    fn default() -> P6PfsHa {
15949        <crate::RegValueT<P6PfsHa_SPEC> as RegisterValue<_>>::new(0)
15950    }
15951}
15952pub mod p6pfs_ha {
15953
15954    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15955    pub struct Pmr_SPEC;
15956    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
15957    impl Pmr {
15958        #[doc = "Used as a general I/O pin"]
15959        pub const _0: Self = Self::new(0);
15960
15961        #[doc = "Used as an I/O port for peripheral functions"]
15962        pub const _1: Self = Self::new(1);
15963    }
15964}
15965#[doc(hidden)]
15966#[derive(Copy, Clone, Eq, PartialEq)]
15967pub struct P6PfsBy_SPEC;
15968impl crate::sealed::RegSpec for P6PfsBy_SPEC {
15969    type DataType = u8;
15970}
15971
15972#[doc = "Port 6%s Pin Function Select Register"]
15973pub type P6PfsBy = crate::RegValueT<P6PfsBy_SPEC>;
15974
15975impl P6PfsBy {
15976    #[doc = "Peripheral Select"]
15977    #[inline(always)]
15978    pub fn psel(
15979        self,
15980    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P6PfsBy_SPEC, crate::common::RW> {
15981        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P6PfsBy_SPEC,crate::common::RW>::from_register(self,0)
15982    }
15983}
15984impl ::core::default::Default for P6PfsBy {
15985    #[inline(always)]
15986    fn default() -> P6PfsBy {
15987        <crate::RegValueT<P6PfsBy_SPEC> as RegisterValue<_>>::new(0)
15988    }
15989}
15990
15991#[doc(hidden)]
15992#[derive(Copy, Clone, Eq, PartialEq)]
15993pub struct P70Pfs_SPEC;
15994impl crate::sealed::RegSpec for P70Pfs_SPEC {
15995    type DataType = u32;
15996}
15997
15998#[doc = "Port 70%s Pin Function Select Register"]
15999pub type P70Pfs = crate::RegValueT<P70Pfs_SPEC>;
16000
16001impl P70Pfs {
16002    #[doc = "Port Output Data"]
16003    #[inline(always)]
16004    pub fn podr(
16005        self,
16006    ) -> crate::common::RegisterField<
16007        0,
16008        0x1,
16009        1,
16010        0,
16011        p70pfs::Podr,
16012        p70pfs::Podr,
16013        P70Pfs_SPEC,
16014        crate::common::RW,
16015    > {
16016        crate::common::RegisterField::<
16017            0,
16018            0x1,
16019            1,
16020            0,
16021            p70pfs::Podr,
16022            p70pfs::Podr,
16023            P70Pfs_SPEC,
16024            crate::common::RW,
16025        >::from_register(self, 0)
16026    }
16027
16028    #[doc = "Pmn State"]
16029    #[inline(always)]
16030    pub fn pidr(
16031        self,
16032    ) -> crate::common::RegisterField<
16033        1,
16034        0x1,
16035        1,
16036        0,
16037        p70pfs::Pidr,
16038        p70pfs::Pidr,
16039        P70Pfs_SPEC,
16040        crate::common::R,
16041    > {
16042        crate::common::RegisterField::<
16043            1,
16044            0x1,
16045            1,
16046            0,
16047            p70pfs::Pidr,
16048            p70pfs::Pidr,
16049            P70Pfs_SPEC,
16050            crate::common::R,
16051        >::from_register(self, 0)
16052    }
16053
16054    #[doc = "Port Direction"]
16055    #[inline(always)]
16056    pub fn pdr(
16057        self,
16058    ) -> crate::common::RegisterField<
16059        2,
16060        0x1,
16061        1,
16062        0,
16063        p70pfs::Pdr,
16064        p70pfs::Pdr,
16065        P70Pfs_SPEC,
16066        crate::common::RW,
16067    > {
16068        crate::common::RegisterField::<
16069            2,
16070            0x1,
16071            1,
16072            0,
16073            p70pfs::Pdr,
16074            p70pfs::Pdr,
16075            P70Pfs_SPEC,
16076            crate::common::RW,
16077        >::from_register(self, 0)
16078    }
16079
16080    #[doc = "Pull-up Control"]
16081    #[inline(always)]
16082    pub fn pcr(
16083        self,
16084    ) -> crate::common::RegisterField<
16085        4,
16086        0x1,
16087        1,
16088        0,
16089        p70pfs::Pcr,
16090        p70pfs::Pcr,
16091        P70Pfs_SPEC,
16092        crate::common::RW,
16093    > {
16094        crate::common::RegisterField::<
16095            4,
16096            0x1,
16097            1,
16098            0,
16099            p70pfs::Pcr,
16100            p70pfs::Pcr,
16101            P70Pfs_SPEC,
16102            crate::common::RW,
16103        >::from_register(self, 0)
16104    }
16105
16106    #[doc = "N-Channel Open-Drain Control"]
16107    #[inline(always)]
16108    pub fn ncodr(
16109        self,
16110    ) -> crate::common::RegisterField<
16111        6,
16112        0x1,
16113        1,
16114        0,
16115        p70pfs::Ncodr,
16116        p70pfs::Ncodr,
16117        P70Pfs_SPEC,
16118        crate::common::RW,
16119    > {
16120        crate::common::RegisterField::<
16121            6,
16122            0x1,
16123            1,
16124            0,
16125            p70pfs::Ncodr,
16126            p70pfs::Ncodr,
16127            P70Pfs_SPEC,
16128            crate::common::RW,
16129        >::from_register(self, 0)
16130    }
16131
16132    #[doc = "Port Drive Capability"]
16133    #[inline(always)]
16134    pub fn dscr(
16135        self,
16136    ) -> crate::common::RegisterField<
16137        10,
16138        0x3,
16139        1,
16140        0,
16141        p70pfs::Dscr,
16142        p70pfs::Dscr,
16143        P70Pfs_SPEC,
16144        crate::common::RW,
16145    > {
16146        crate::common::RegisterField::<
16147            10,
16148            0x3,
16149            1,
16150            0,
16151            p70pfs::Dscr,
16152            p70pfs::Dscr,
16153            P70Pfs_SPEC,
16154            crate::common::RW,
16155        >::from_register(self, 0)
16156    }
16157
16158    #[doc = "Event on Falling/Event on Rising"]
16159    #[inline(always)]
16160    pub fn eofr(
16161        self,
16162    ) -> crate::common::RegisterField<
16163        12,
16164        0x3,
16165        1,
16166        0,
16167        p70pfs::Eofr,
16168        p70pfs::Eofr,
16169        P70Pfs_SPEC,
16170        crate::common::RW,
16171    > {
16172        crate::common::RegisterField::<
16173            12,
16174            0x3,
16175            1,
16176            0,
16177            p70pfs::Eofr,
16178            p70pfs::Eofr,
16179            P70Pfs_SPEC,
16180            crate::common::RW,
16181        >::from_register(self, 0)
16182    }
16183
16184    #[doc = "IRQ Input Enable"]
16185    #[inline(always)]
16186    pub fn isel(
16187        self,
16188    ) -> crate::common::RegisterField<
16189        14,
16190        0x1,
16191        1,
16192        0,
16193        p70pfs::Isel,
16194        p70pfs::Isel,
16195        P70Pfs_SPEC,
16196        crate::common::RW,
16197    > {
16198        crate::common::RegisterField::<
16199            14,
16200            0x1,
16201            1,
16202            0,
16203            p70pfs::Isel,
16204            p70pfs::Isel,
16205            P70Pfs_SPEC,
16206            crate::common::RW,
16207        >::from_register(self, 0)
16208    }
16209
16210    #[doc = "Analog Input Enable"]
16211    #[inline(always)]
16212    pub fn asel(
16213        self,
16214    ) -> crate::common::RegisterField<
16215        15,
16216        0x1,
16217        1,
16218        0,
16219        p70pfs::Asel,
16220        p70pfs::Asel,
16221        P70Pfs_SPEC,
16222        crate::common::RW,
16223    > {
16224        crate::common::RegisterField::<
16225            15,
16226            0x1,
16227            1,
16228            0,
16229            p70pfs::Asel,
16230            p70pfs::Asel,
16231            P70Pfs_SPEC,
16232            crate::common::RW,
16233        >::from_register(self, 0)
16234    }
16235
16236    #[doc = "Port Mode Control"]
16237    #[inline(always)]
16238    pub fn pmr(
16239        self,
16240    ) -> crate::common::RegisterField<
16241        16,
16242        0x1,
16243        1,
16244        0,
16245        p70pfs::Pmr,
16246        p70pfs::Pmr,
16247        P70Pfs_SPEC,
16248        crate::common::RW,
16249    > {
16250        crate::common::RegisterField::<
16251            16,
16252            0x1,
16253            1,
16254            0,
16255            p70pfs::Pmr,
16256            p70pfs::Pmr,
16257            P70Pfs_SPEC,
16258            crate::common::RW,
16259        >::from_register(self, 0)
16260    }
16261
16262    #[doc = "Peripheral Select"]
16263    #[inline(always)]
16264    pub fn psel(
16265        self,
16266    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P70Pfs_SPEC, crate::common::RW> {
16267        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P70Pfs_SPEC,crate::common::RW>::from_register(self,0)
16268    }
16269}
16270impl ::core::default::Default for P70Pfs {
16271    #[inline(always)]
16272    fn default() -> P70Pfs {
16273        <crate::RegValueT<P70Pfs_SPEC> as RegisterValue<_>>::new(0)
16274    }
16275}
16276pub mod p70pfs {
16277
16278    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16279    pub struct Podr_SPEC;
16280    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16281    impl Podr {
16282        #[doc = "Low output"]
16283        pub const _0: Self = Self::new(0);
16284
16285        #[doc = "High output"]
16286        pub const _1: Self = Self::new(1);
16287    }
16288    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16289    pub struct Pidr_SPEC;
16290    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16291    impl Pidr {
16292        #[doc = "Low level"]
16293        pub const _0: Self = Self::new(0);
16294
16295        #[doc = "High level"]
16296        pub const _1: Self = Self::new(1);
16297    }
16298    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16299    pub struct Pdr_SPEC;
16300    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16301    impl Pdr {
16302        #[doc = "Input (functions as an input pin)"]
16303        pub const _0: Self = Self::new(0);
16304
16305        #[doc = "Output (functions as an output pin)"]
16306        pub const _1: Self = Self::new(1);
16307    }
16308    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16309    pub struct Pcr_SPEC;
16310    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16311    impl Pcr {
16312        #[doc = "Disable input pull-up"]
16313        pub const _0: Self = Self::new(0);
16314
16315        #[doc = "Enable input pull-up"]
16316        pub const _1: Self = Self::new(1);
16317    }
16318    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16319    pub struct Ncodr_SPEC;
16320    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16321    impl Ncodr {
16322        #[doc = "CMOS output"]
16323        pub const _0: Self = Self::new(0);
16324
16325        #[doc = "NMOS open-drain output"]
16326        pub const _1: Self = Self::new(1);
16327    }
16328    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16329    pub struct Dscr_SPEC;
16330    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
16331    impl Dscr {
16332        #[doc = "Low drive"]
16333        pub const _00: Self = Self::new(0);
16334
16335        #[doc = "Middle drive"]
16336        pub const _01: Self = Self::new(1);
16337
16338        #[doc = "High-speed high-drive"]
16339        pub const _10: Self = Self::new(2);
16340
16341        #[doc = "High drive"]
16342        pub const _11: Self = Self::new(3);
16343    }
16344    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16345    pub struct Eofr_SPEC;
16346    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
16347    impl Eofr {
16348        #[doc = "Don\'t care"]
16349        pub const _00: Self = Self::new(0);
16350
16351        #[doc = "Detect rising edge"]
16352        pub const _01: Self = Self::new(1);
16353
16354        #[doc = "Detect falling edge"]
16355        pub const _10: Self = Self::new(2);
16356
16357        #[doc = "Detect both edges"]
16358        pub const _11: Self = Self::new(3);
16359    }
16360    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16361    pub struct Isel_SPEC;
16362    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16363    impl Isel {
16364        #[doc = "Not used as an IRQn input pin"]
16365        pub const _0: Self = Self::new(0);
16366
16367        #[doc = "Used as an IRQn input pin"]
16368        pub const _1: Self = Self::new(1);
16369    }
16370    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16371    pub struct Asel_SPEC;
16372    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16373    impl Asel {
16374        #[doc = "Not used as an analog pin"]
16375        pub const _0: Self = Self::new(0);
16376
16377        #[doc = "Used as an analog pin"]
16378        pub const _1: Self = Self::new(1);
16379    }
16380    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16381    pub struct Pmr_SPEC;
16382    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
16383    impl Pmr {
16384        #[doc = "Used as a general I/O pin"]
16385        pub const _0: Self = Self::new(0);
16386
16387        #[doc = "Used as an I/O port for peripheral functions"]
16388        pub const _1: Self = Self::new(1);
16389    }
16390}
16391#[doc(hidden)]
16392#[derive(Copy, Clone, Eq, PartialEq)]
16393pub struct P70PfsHa_SPEC;
16394impl crate::sealed::RegSpec for P70PfsHa_SPEC {
16395    type DataType = u16;
16396}
16397
16398#[doc = "Port 70%s Pin Function Select Register"]
16399pub type P70PfsHa = crate::RegValueT<P70PfsHa_SPEC>;
16400
16401impl P70PfsHa {
16402    #[doc = "Port Mode Control"]
16403    #[inline(always)]
16404    pub fn pmr(
16405        self,
16406    ) -> crate::common::RegisterField<
16407        0,
16408        0x1,
16409        1,
16410        0,
16411        p70pfs_ha::Pmr,
16412        p70pfs_ha::Pmr,
16413        P70PfsHa_SPEC,
16414        crate::common::RW,
16415    > {
16416        crate::common::RegisterField::<
16417            0,
16418            0x1,
16419            1,
16420            0,
16421            p70pfs_ha::Pmr,
16422            p70pfs_ha::Pmr,
16423            P70PfsHa_SPEC,
16424            crate::common::RW,
16425        >::from_register(self, 0)
16426    }
16427
16428    #[doc = "Peripheral Select"]
16429    #[inline(always)]
16430    pub fn psel(
16431        self,
16432    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P70PfsHa_SPEC, crate::common::RW> {
16433        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P70PfsHa_SPEC,crate::common::RW>::from_register(self,0)
16434    }
16435}
16436impl ::core::default::Default for P70PfsHa {
16437    #[inline(always)]
16438    fn default() -> P70PfsHa {
16439        <crate::RegValueT<P70PfsHa_SPEC> as RegisterValue<_>>::new(0)
16440    }
16441}
16442pub mod p70pfs_ha {
16443
16444    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16445    pub struct Pmr_SPEC;
16446    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
16447    impl Pmr {
16448        #[doc = "Used as a general I/O pin"]
16449        pub const _0: Self = Self::new(0);
16450
16451        #[doc = "Used as an I/O port for peripheral functions"]
16452        pub const _1: Self = Self::new(1);
16453    }
16454}
16455#[doc(hidden)]
16456#[derive(Copy, Clone, Eq, PartialEq)]
16457pub struct P70PfsBy_SPEC;
16458impl crate::sealed::RegSpec for P70PfsBy_SPEC {
16459    type DataType = u8;
16460}
16461
16462#[doc = "Port 70%s Pin Function Select Register"]
16463pub type P70PfsBy = crate::RegValueT<P70PfsBy_SPEC>;
16464
16465impl P70PfsBy {
16466    #[doc = "Peripheral Select"]
16467    #[inline(always)]
16468    pub fn psel(
16469        self,
16470    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P70PfsBy_SPEC, crate::common::RW> {
16471        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P70PfsBy_SPEC,crate::common::RW>::from_register(self,0)
16472    }
16473}
16474impl ::core::default::Default for P70PfsBy {
16475    #[inline(always)]
16476    fn default() -> P70PfsBy {
16477        <crate::RegValueT<P70PfsBy_SPEC> as RegisterValue<_>>::new(0)
16478    }
16479}
16480
16481#[doc(hidden)]
16482#[derive(Copy, Clone, Eq, PartialEq)]
16483pub struct P7Pfs_SPEC;
16484impl crate::sealed::RegSpec for P7Pfs_SPEC {
16485    type DataType = u32;
16486}
16487
16488#[doc = "Port 7%s Pin Function Select Register"]
16489pub type P7Pfs = crate::RegValueT<P7Pfs_SPEC>;
16490
16491impl P7Pfs {
16492    #[doc = "Port Output Data"]
16493    #[inline(always)]
16494    pub fn podr(
16495        self,
16496    ) -> crate::common::RegisterField<
16497        0,
16498        0x1,
16499        1,
16500        0,
16501        p7pfs::Podr,
16502        p7pfs::Podr,
16503        P7Pfs_SPEC,
16504        crate::common::RW,
16505    > {
16506        crate::common::RegisterField::<
16507            0,
16508            0x1,
16509            1,
16510            0,
16511            p7pfs::Podr,
16512            p7pfs::Podr,
16513            P7Pfs_SPEC,
16514            crate::common::RW,
16515        >::from_register(self, 0)
16516    }
16517
16518    #[doc = "Pmn State"]
16519    #[inline(always)]
16520    pub fn pidr(
16521        self,
16522    ) -> crate::common::RegisterField<
16523        1,
16524        0x1,
16525        1,
16526        0,
16527        p7pfs::Pidr,
16528        p7pfs::Pidr,
16529        P7Pfs_SPEC,
16530        crate::common::R,
16531    > {
16532        crate::common::RegisterField::<
16533            1,
16534            0x1,
16535            1,
16536            0,
16537            p7pfs::Pidr,
16538            p7pfs::Pidr,
16539            P7Pfs_SPEC,
16540            crate::common::R,
16541        >::from_register(self, 0)
16542    }
16543
16544    #[doc = "Port Direction"]
16545    #[inline(always)]
16546    pub fn pdr(
16547        self,
16548    ) -> crate::common::RegisterField<
16549        2,
16550        0x1,
16551        1,
16552        0,
16553        p7pfs::Pdr,
16554        p7pfs::Pdr,
16555        P7Pfs_SPEC,
16556        crate::common::RW,
16557    > {
16558        crate::common::RegisterField::<
16559            2,
16560            0x1,
16561            1,
16562            0,
16563            p7pfs::Pdr,
16564            p7pfs::Pdr,
16565            P7Pfs_SPEC,
16566            crate::common::RW,
16567        >::from_register(self, 0)
16568    }
16569
16570    #[doc = "Pull-up Control"]
16571    #[inline(always)]
16572    pub fn pcr(
16573        self,
16574    ) -> crate::common::RegisterField<
16575        4,
16576        0x1,
16577        1,
16578        0,
16579        p7pfs::Pcr,
16580        p7pfs::Pcr,
16581        P7Pfs_SPEC,
16582        crate::common::RW,
16583    > {
16584        crate::common::RegisterField::<
16585            4,
16586            0x1,
16587            1,
16588            0,
16589            p7pfs::Pcr,
16590            p7pfs::Pcr,
16591            P7Pfs_SPEC,
16592            crate::common::RW,
16593        >::from_register(self, 0)
16594    }
16595
16596    #[doc = "N-Channel Open-Drain Control"]
16597    #[inline(always)]
16598    pub fn ncodr(
16599        self,
16600    ) -> crate::common::RegisterField<
16601        6,
16602        0x1,
16603        1,
16604        0,
16605        p7pfs::Ncodr,
16606        p7pfs::Ncodr,
16607        P7Pfs_SPEC,
16608        crate::common::RW,
16609    > {
16610        crate::common::RegisterField::<
16611            6,
16612            0x1,
16613            1,
16614            0,
16615            p7pfs::Ncodr,
16616            p7pfs::Ncodr,
16617            P7Pfs_SPEC,
16618            crate::common::RW,
16619        >::from_register(self, 0)
16620    }
16621
16622    #[doc = "Port Drive Capability"]
16623    #[inline(always)]
16624    pub fn dscr(
16625        self,
16626    ) -> crate::common::RegisterField<
16627        10,
16628        0x3,
16629        1,
16630        0,
16631        p7pfs::Dscr,
16632        p7pfs::Dscr,
16633        P7Pfs_SPEC,
16634        crate::common::RW,
16635    > {
16636        crate::common::RegisterField::<
16637            10,
16638            0x3,
16639            1,
16640            0,
16641            p7pfs::Dscr,
16642            p7pfs::Dscr,
16643            P7Pfs_SPEC,
16644            crate::common::RW,
16645        >::from_register(self, 0)
16646    }
16647
16648    #[doc = "Event on Falling/Event on Rising"]
16649    #[inline(always)]
16650    pub fn eofr(
16651        self,
16652    ) -> crate::common::RegisterField<
16653        12,
16654        0x3,
16655        1,
16656        0,
16657        p7pfs::Eofr,
16658        p7pfs::Eofr,
16659        P7Pfs_SPEC,
16660        crate::common::RW,
16661    > {
16662        crate::common::RegisterField::<
16663            12,
16664            0x3,
16665            1,
16666            0,
16667            p7pfs::Eofr,
16668            p7pfs::Eofr,
16669            P7Pfs_SPEC,
16670            crate::common::RW,
16671        >::from_register(self, 0)
16672    }
16673
16674    #[doc = "IRQ Input Enable"]
16675    #[inline(always)]
16676    pub fn isel(
16677        self,
16678    ) -> crate::common::RegisterField<
16679        14,
16680        0x1,
16681        1,
16682        0,
16683        p7pfs::Isel,
16684        p7pfs::Isel,
16685        P7Pfs_SPEC,
16686        crate::common::RW,
16687    > {
16688        crate::common::RegisterField::<
16689            14,
16690            0x1,
16691            1,
16692            0,
16693            p7pfs::Isel,
16694            p7pfs::Isel,
16695            P7Pfs_SPEC,
16696            crate::common::RW,
16697        >::from_register(self, 0)
16698    }
16699
16700    #[doc = "Analog Input Enable"]
16701    #[inline(always)]
16702    pub fn asel(
16703        self,
16704    ) -> crate::common::RegisterField<
16705        15,
16706        0x1,
16707        1,
16708        0,
16709        p7pfs::Asel,
16710        p7pfs::Asel,
16711        P7Pfs_SPEC,
16712        crate::common::RW,
16713    > {
16714        crate::common::RegisterField::<
16715            15,
16716            0x1,
16717            1,
16718            0,
16719            p7pfs::Asel,
16720            p7pfs::Asel,
16721            P7Pfs_SPEC,
16722            crate::common::RW,
16723        >::from_register(self, 0)
16724    }
16725
16726    #[doc = "Port Mode Control"]
16727    #[inline(always)]
16728    pub fn pmr(
16729        self,
16730    ) -> crate::common::RegisterField<
16731        16,
16732        0x1,
16733        1,
16734        0,
16735        p7pfs::Pmr,
16736        p7pfs::Pmr,
16737        P7Pfs_SPEC,
16738        crate::common::RW,
16739    > {
16740        crate::common::RegisterField::<
16741            16,
16742            0x1,
16743            1,
16744            0,
16745            p7pfs::Pmr,
16746            p7pfs::Pmr,
16747            P7Pfs_SPEC,
16748            crate::common::RW,
16749        >::from_register(self, 0)
16750    }
16751
16752    #[doc = "Peripheral Select"]
16753    #[inline(always)]
16754    pub fn psel(
16755        self,
16756    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P7Pfs_SPEC, crate::common::RW> {
16757        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P7Pfs_SPEC,crate::common::RW>::from_register(self,0)
16758    }
16759}
16760impl ::core::default::Default for P7Pfs {
16761    #[inline(always)]
16762    fn default() -> P7Pfs {
16763        <crate::RegValueT<P7Pfs_SPEC> as RegisterValue<_>>::new(0)
16764    }
16765}
16766pub mod p7pfs {
16767
16768    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16769    pub struct Podr_SPEC;
16770    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16771    impl Podr {
16772        #[doc = "Low output"]
16773        pub const _0: Self = Self::new(0);
16774
16775        #[doc = "High output"]
16776        pub const _1: Self = Self::new(1);
16777    }
16778    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16779    pub struct Pidr_SPEC;
16780    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16781    impl Pidr {
16782        #[doc = "Low level"]
16783        pub const _0: Self = Self::new(0);
16784
16785        #[doc = "High level"]
16786        pub const _1: Self = Self::new(1);
16787    }
16788    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16789    pub struct Pdr_SPEC;
16790    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16791    impl Pdr {
16792        #[doc = "Input (functions as an input pin)"]
16793        pub const _0: Self = Self::new(0);
16794
16795        #[doc = "Output (functions as an output pin)"]
16796        pub const _1: Self = Self::new(1);
16797    }
16798    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16799    pub struct Pcr_SPEC;
16800    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16801    impl Pcr {
16802        #[doc = "Disable input pull-up"]
16803        pub const _0: Self = Self::new(0);
16804
16805        #[doc = "Enable input pull-up"]
16806        pub const _1: Self = Self::new(1);
16807    }
16808    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16809    pub struct Ncodr_SPEC;
16810    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16811    impl Ncodr {
16812        #[doc = "CMOS output"]
16813        pub const _0: Self = Self::new(0);
16814
16815        #[doc = "NMOS open-drain output"]
16816        pub const _1: Self = Self::new(1);
16817    }
16818    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16819    pub struct Dscr_SPEC;
16820    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
16821    impl Dscr {
16822        #[doc = "Low drive"]
16823        pub const _00: Self = Self::new(0);
16824
16825        #[doc = "Middle drive"]
16826        pub const _01: Self = Self::new(1);
16827
16828        #[doc = "High-speed high-drive"]
16829        pub const _10: Self = Self::new(2);
16830
16831        #[doc = "High drive"]
16832        pub const _11: Self = Self::new(3);
16833    }
16834    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16835    pub struct Eofr_SPEC;
16836    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
16837    impl Eofr {
16838        #[doc = "Don\'t care"]
16839        pub const _00: Self = Self::new(0);
16840
16841        #[doc = "Detect rising edge"]
16842        pub const _01: Self = Self::new(1);
16843
16844        #[doc = "Detect falling edge"]
16845        pub const _10: Self = Self::new(2);
16846
16847        #[doc = "Detect both edges"]
16848        pub const _11: Self = Self::new(3);
16849    }
16850    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16851    pub struct Isel_SPEC;
16852    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16853    impl Isel {
16854        #[doc = "Not used as an IRQn input pin"]
16855        pub const _0: Self = Self::new(0);
16856
16857        #[doc = "Used as an IRQn input pin"]
16858        pub const _1: Self = Self::new(1);
16859    }
16860    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16861    pub struct Asel_SPEC;
16862    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16863    impl Asel {
16864        #[doc = "Not used as an analog pin"]
16865        pub const _0: Self = Self::new(0);
16866
16867        #[doc = "Used as an analog pin"]
16868        pub const _1: Self = Self::new(1);
16869    }
16870    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16871    pub struct Pmr_SPEC;
16872    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
16873    impl Pmr {
16874        #[doc = "Used as a general I/O pin"]
16875        pub const _0: Self = Self::new(0);
16876
16877        #[doc = "Used as an I/O port for peripheral functions"]
16878        pub const _1: Self = Self::new(1);
16879    }
16880}
16881#[doc(hidden)]
16882#[derive(Copy, Clone, Eq, PartialEq)]
16883pub struct P7PfsHa_SPEC;
16884impl crate::sealed::RegSpec for P7PfsHa_SPEC {
16885    type DataType = u16;
16886}
16887
16888#[doc = "Port 7%s Pin Function Select Register"]
16889pub type P7PfsHa = crate::RegValueT<P7PfsHa_SPEC>;
16890
16891impl P7PfsHa {
16892    #[doc = "Port Mode Control"]
16893    #[inline(always)]
16894    pub fn pmr(
16895        self,
16896    ) -> crate::common::RegisterField<
16897        0,
16898        0x1,
16899        1,
16900        0,
16901        p7pfs_ha::Pmr,
16902        p7pfs_ha::Pmr,
16903        P7PfsHa_SPEC,
16904        crate::common::RW,
16905    > {
16906        crate::common::RegisterField::<
16907            0,
16908            0x1,
16909            1,
16910            0,
16911            p7pfs_ha::Pmr,
16912            p7pfs_ha::Pmr,
16913            P7PfsHa_SPEC,
16914            crate::common::RW,
16915        >::from_register(self, 0)
16916    }
16917
16918    #[doc = "Peripheral Select"]
16919    #[inline(always)]
16920    pub fn psel(
16921        self,
16922    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P7PfsHa_SPEC, crate::common::RW> {
16923        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P7PfsHa_SPEC,crate::common::RW>::from_register(self,0)
16924    }
16925}
16926impl ::core::default::Default for P7PfsHa {
16927    #[inline(always)]
16928    fn default() -> P7PfsHa {
16929        <crate::RegValueT<P7PfsHa_SPEC> as RegisterValue<_>>::new(0)
16930    }
16931}
16932pub mod p7pfs_ha {
16933
16934    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16935    pub struct Pmr_SPEC;
16936    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
16937    impl Pmr {
16938        #[doc = "Used as a general I/O pin"]
16939        pub const _0: Self = Self::new(0);
16940
16941        #[doc = "Used as an I/O port for peripheral functions"]
16942        pub const _1: Self = Self::new(1);
16943    }
16944}
16945#[doc(hidden)]
16946#[derive(Copy, Clone, Eq, PartialEq)]
16947pub struct P7PfsBy_SPEC;
16948impl crate::sealed::RegSpec for P7PfsBy_SPEC {
16949    type DataType = u8;
16950}
16951
16952#[doc = "Port 7%s Pin Function Select Register"]
16953pub type P7PfsBy = crate::RegValueT<P7PfsBy_SPEC>;
16954
16955impl P7PfsBy {
16956    #[doc = "Peripheral Select"]
16957    #[inline(always)]
16958    pub fn psel(
16959        self,
16960    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P7PfsBy_SPEC, crate::common::RW> {
16961        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P7PfsBy_SPEC,crate::common::RW>::from_register(self,0)
16962    }
16963}
16964impl ::core::default::Default for P7PfsBy {
16965    #[inline(always)]
16966    fn default() -> P7PfsBy {
16967        <crate::RegValueT<P7PfsBy_SPEC> as RegisterValue<_>>::new(0)
16968    }
16969}
16970
16971#[doc(hidden)]
16972#[derive(Copy, Clone, Eq, PartialEq)]
16973pub struct P80Pfs_SPEC;
16974impl crate::sealed::RegSpec for P80Pfs_SPEC {
16975    type DataType = u32;
16976}
16977
16978#[doc = "Port 80%s Pin Function Select Register"]
16979pub type P80Pfs = crate::RegValueT<P80Pfs_SPEC>;
16980
16981impl P80Pfs {
16982    #[doc = "Port Output Data"]
16983    #[inline(always)]
16984    pub fn podr(
16985        self,
16986    ) -> crate::common::RegisterField<
16987        0,
16988        0x1,
16989        1,
16990        0,
16991        p80pfs::Podr,
16992        p80pfs::Podr,
16993        P80Pfs_SPEC,
16994        crate::common::RW,
16995    > {
16996        crate::common::RegisterField::<
16997            0,
16998            0x1,
16999            1,
17000            0,
17001            p80pfs::Podr,
17002            p80pfs::Podr,
17003            P80Pfs_SPEC,
17004            crate::common::RW,
17005        >::from_register(self, 0)
17006    }
17007
17008    #[doc = "Pmn State"]
17009    #[inline(always)]
17010    pub fn pidr(
17011        self,
17012    ) -> crate::common::RegisterField<
17013        1,
17014        0x1,
17015        1,
17016        0,
17017        p80pfs::Pidr,
17018        p80pfs::Pidr,
17019        P80Pfs_SPEC,
17020        crate::common::R,
17021    > {
17022        crate::common::RegisterField::<
17023            1,
17024            0x1,
17025            1,
17026            0,
17027            p80pfs::Pidr,
17028            p80pfs::Pidr,
17029            P80Pfs_SPEC,
17030            crate::common::R,
17031        >::from_register(self, 0)
17032    }
17033
17034    #[doc = "Port Direction"]
17035    #[inline(always)]
17036    pub fn pdr(
17037        self,
17038    ) -> crate::common::RegisterField<
17039        2,
17040        0x1,
17041        1,
17042        0,
17043        p80pfs::Pdr,
17044        p80pfs::Pdr,
17045        P80Pfs_SPEC,
17046        crate::common::RW,
17047    > {
17048        crate::common::RegisterField::<
17049            2,
17050            0x1,
17051            1,
17052            0,
17053            p80pfs::Pdr,
17054            p80pfs::Pdr,
17055            P80Pfs_SPEC,
17056            crate::common::RW,
17057        >::from_register(self, 0)
17058    }
17059
17060    #[doc = "Pull-up Control"]
17061    #[inline(always)]
17062    pub fn pcr(
17063        self,
17064    ) -> crate::common::RegisterField<
17065        4,
17066        0x1,
17067        1,
17068        0,
17069        p80pfs::Pcr,
17070        p80pfs::Pcr,
17071        P80Pfs_SPEC,
17072        crate::common::RW,
17073    > {
17074        crate::common::RegisterField::<
17075            4,
17076            0x1,
17077            1,
17078            0,
17079            p80pfs::Pcr,
17080            p80pfs::Pcr,
17081            P80Pfs_SPEC,
17082            crate::common::RW,
17083        >::from_register(self, 0)
17084    }
17085
17086    #[doc = "N-Channel Open-Drain Control"]
17087    #[inline(always)]
17088    pub fn ncodr(
17089        self,
17090    ) -> crate::common::RegisterField<
17091        6,
17092        0x1,
17093        1,
17094        0,
17095        p80pfs::Ncodr,
17096        p80pfs::Ncodr,
17097        P80Pfs_SPEC,
17098        crate::common::RW,
17099    > {
17100        crate::common::RegisterField::<
17101            6,
17102            0x1,
17103            1,
17104            0,
17105            p80pfs::Ncodr,
17106            p80pfs::Ncodr,
17107            P80Pfs_SPEC,
17108            crate::common::RW,
17109        >::from_register(self, 0)
17110    }
17111
17112    #[doc = "Port Drive Capability"]
17113    #[inline(always)]
17114    pub fn dscr(
17115        self,
17116    ) -> crate::common::RegisterField<
17117        10,
17118        0x3,
17119        1,
17120        0,
17121        p80pfs::Dscr,
17122        p80pfs::Dscr,
17123        P80Pfs_SPEC,
17124        crate::common::RW,
17125    > {
17126        crate::common::RegisterField::<
17127            10,
17128            0x3,
17129            1,
17130            0,
17131            p80pfs::Dscr,
17132            p80pfs::Dscr,
17133            P80Pfs_SPEC,
17134            crate::common::RW,
17135        >::from_register(self, 0)
17136    }
17137
17138    #[doc = "Event on Falling/Event on Rising"]
17139    #[inline(always)]
17140    pub fn eofr(
17141        self,
17142    ) -> crate::common::RegisterField<
17143        12,
17144        0x3,
17145        1,
17146        0,
17147        p80pfs::Eofr,
17148        p80pfs::Eofr,
17149        P80Pfs_SPEC,
17150        crate::common::RW,
17151    > {
17152        crate::common::RegisterField::<
17153            12,
17154            0x3,
17155            1,
17156            0,
17157            p80pfs::Eofr,
17158            p80pfs::Eofr,
17159            P80Pfs_SPEC,
17160            crate::common::RW,
17161        >::from_register(self, 0)
17162    }
17163
17164    #[doc = "IRQ Input Enable"]
17165    #[inline(always)]
17166    pub fn isel(
17167        self,
17168    ) -> crate::common::RegisterField<
17169        14,
17170        0x1,
17171        1,
17172        0,
17173        p80pfs::Isel,
17174        p80pfs::Isel,
17175        P80Pfs_SPEC,
17176        crate::common::RW,
17177    > {
17178        crate::common::RegisterField::<
17179            14,
17180            0x1,
17181            1,
17182            0,
17183            p80pfs::Isel,
17184            p80pfs::Isel,
17185            P80Pfs_SPEC,
17186            crate::common::RW,
17187        >::from_register(self, 0)
17188    }
17189
17190    #[doc = "Analog Input Enable"]
17191    #[inline(always)]
17192    pub fn asel(
17193        self,
17194    ) -> crate::common::RegisterField<
17195        15,
17196        0x1,
17197        1,
17198        0,
17199        p80pfs::Asel,
17200        p80pfs::Asel,
17201        P80Pfs_SPEC,
17202        crate::common::RW,
17203    > {
17204        crate::common::RegisterField::<
17205            15,
17206            0x1,
17207            1,
17208            0,
17209            p80pfs::Asel,
17210            p80pfs::Asel,
17211            P80Pfs_SPEC,
17212            crate::common::RW,
17213        >::from_register(self, 0)
17214    }
17215
17216    #[doc = "Port Mode Control"]
17217    #[inline(always)]
17218    pub fn pmr(
17219        self,
17220    ) -> crate::common::RegisterField<
17221        16,
17222        0x1,
17223        1,
17224        0,
17225        p80pfs::Pmr,
17226        p80pfs::Pmr,
17227        P80Pfs_SPEC,
17228        crate::common::RW,
17229    > {
17230        crate::common::RegisterField::<
17231            16,
17232            0x1,
17233            1,
17234            0,
17235            p80pfs::Pmr,
17236            p80pfs::Pmr,
17237            P80Pfs_SPEC,
17238            crate::common::RW,
17239        >::from_register(self, 0)
17240    }
17241
17242    #[doc = "Peripheral Select"]
17243    #[inline(always)]
17244    pub fn psel(
17245        self,
17246    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P80Pfs_SPEC, crate::common::RW> {
17247        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P80Pfs_SPEC,crate::common::RW>::from_register(self,0)
17248    }
17249}
17250impl ::core::default::Default for P80Pfs {
17251    #[inline(always)]
17252    fn default() -> P80Pfs {
17253        <crate::RegValueT<P80Pfs_SPEC> as RegisterValue<_>>::new(0)
17254    }
17255}
17256pub mod p80pfs {
17257
17258    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17259    pub struct Podr_SPEC;
17260    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
17261    impl Podr {
17262        #[doc = "Low output"]
17263        pub const _0: Self = Self::new(0);
17264
17265        #[doc = "High output"]
17266        pub const _1: Self = Self::new(1);
17267    }
17268    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17269    pub struct Pidr_SPEC;
17270    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
17271    impl Pidr {
17272        #[doc = "Low level"]
17273        pub const _0: Self = Self::new(0);
17274
17275        #[doc = "High level"]
17276        pub const _1: Self = Self::new(1);
17277    }
17278    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17279    pub struct Pdr_SPEC;
17280    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
17281    impl Pdr {
17282        #[doc = "Input (functions as an input pin)"]
17283        pub const _0: Self = Self::new(0);
17284
17285        #[doc = "Output (functions as an output pin)"]
17286        pub const _1: Self = Self::new(1);
17287    }
17288    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17289    pub struct Pcr_SPEC;
17290    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
17291    impl Pcr {
17292        #[doc = "Disable input pull-up"]
17293        pub const _0: Self = Self::new(0);
17294
17295        #[doc = "Enable input pull-up"]
17296        pub const _1: Self = Self::new(1);
17297    }
17298    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17299    pub struct Ncodr_SPEC;
17300    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
17301    impl Ncodr {
17302        #[doc = "CMOS output"]
17303        pub const _0: Self = Self::new(0);
17304
17305        #[doc = "NMOS open-drain output"]
17306        pub const _1: Self = Self::new(1);
17307    }
17308    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17309    pub struct Dscr_SPEC;
17310    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
17311    impl Dscr {
17312        #[doc = "Low drive"]
17313        pub const _00: Self = Self::new(0);
17314
17315        #[doc = "Middle drive"]
17316        pub const _01: Self = Self::new(1);
17317
17318        #[doc = "High-speed high-drive"]
17319        pub const _10: Self = Self::new(2);
17320
17321        #[doc = "High drive"]
17322        pub const _11: Self = Self::new(3);
17323    }
17324    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17325    pub struct Eofr_SPEC;
17326    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
17327    impl Eofr {
17328        #[doc = "Don\'t care"]
17329        pub const _00: Self = Self::new(0);
17330
17331        #[doc = "Detect rising edge"]
17332        pub const _01: Self = Self::new(1);
17333
17334        #[doc = "Detect falling edge"]
17335        pub const _10: Self = Self::new(2);
17336
17337        #[doc = "Detect both edges"]
17338        pub const _11: Self = Self::new(3);
17339    }
17340    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17341    pub struct Isel_SPEC;
17342    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
17343    impl Isel {
17344        #[doc = "Not used as an IRQn input pin"]
17345        pub const _0: Self = Self::new(0);
17346
17347        #[doc = "Used as an IRQn input pin"]
17348        pub const _1: Self = Self::new(1);
17349    }
17350    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17351    pub struct Asel_SPEC;
17352    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
17353    impl Asel {
17354        #[doc = "Not used as an analog pin"]
17355        pub const _0: Self = Self::new(0);
17356
17357        #[doc = "Used as an analog pin"]
17358        pub const _1: Self = Self::new(1);
17359    }
17360    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17361    pub struct Pmr_SPEC;
17362    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
17363    impl Pmr {
17364        #[doc = "Used as a general I/O pin"]
17365        pub const _0: Self = Self::new(0);
17366
17367        #[doc = "Used as an I/O port for peripheral functions"]
17368        pub const _1: Self = Self::new(1);
17369    }
17370}
17371#[doc(hidden)]
17372#[derive(Copy, Clone, Eq, PartialEq)]
17373pub struct P80PfsHa_SPEC;
17374impl crate::sealed::RegSpec for P80PfsHa_SPEC {
17375    type DataType = u16;
17376}
17377
17378#[doc = "Port 80%s Pin Function Select Register"]
17379pub type P80PfsHa = crate::RegValueT<P80PfsHa_SPEC>;
17380
17381impl P80PfsHa {
17382    #[doc = "Port Mode Control"]
17383    #[inline(always)]
17384    pub fn pmr(
17385        self,
17386    ) -> crate::common::RegisterField<
17387        0,
17388        0x1,
17389        1,
17390        0,
17391        p80pfs_ha::Pmr,
17392        p80pfs_ha::Pmr,
17393        P80PfsHa_SPEC,
17394        crate::common::RW,
17395    > {
17396        crate::common::RegisterField::<
17397            0,
17398            0x1,
17399            1,
17400            0,
17401            p80pfs_ha::Pmr,
17402            p80pfs_ha::Pmr,
17403            P80PfsHa_SPEC,
17404            crate::common::RW,
17405        >::from_register(self, 0)
17406    }
17407
17408    #[doc = "Peripheral Select"]
17409    #[inline(always)]
17410    pub fn psel(
17411        self,
17412    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P80PfsHa_SPEC, crate::common::RW> {
17413        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P80PfsHa_SPEC,crate::common::RW>::from_register(self,0)
17414    }
17415}
17416impl ::core::default::Default for P80PfsHa {
17417    #[inline(always)]
17418    fn default() -> P80PfsHa {
17419        <crate::RegValueT<P80PfsHa_SPEC> as RegisterValue<_>>::new(0)
17420    }
17421}
17422pub mod p80pfs_ha {
17423
17424    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17425    pub struct Pmr_SPEC;
17426    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
17427    impl Pmr {
17428        #[doc = "Used as a general I/O pin"]
17429        pub const _0: Self = Self::new(0);
17430
17431        #[doc = "Used as an I/O port for peripheral functions"]
17432        pub const _1: Self = Self::new(1);
17433    }
17434}
17435#[doc(hidden)]
17436#[derive(Copy, Clone, Eq, PartialEq)]
17437pub struct P80PfsBy_SPEC;
17438impl crate::sealed::RegSpec for P80PfsBy_SPEC {
17439    type DataType = u8;
17440}
17441
17442#[doc = "Port 80%s Pin Function Select Register"]
17443pub type P80PfsBy = crate::RegValueT<P80PfsBy_SPEC>;
17444
17445impl P80PfsBy {
17446    #[doc = "Peripheral Select"]
17447    #[inline(always)]
17448    pub fn psel(
17449        self,
17450    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P80PfsBy_SPEC, crate::common::RW> {
17451        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P80PfsBy_SPEC,crate::common::RW>::from_register(self,0)
17452    }
17453}
17454impl ::core::default::Default for P80PfsBy {
17455    #[inline(always)]
17456    fn default() -> P80PfsBy {
17457        <crate::RegValueT<P80PfsBy_SPEC> as RegisterValue<_>>::new(0)
17458    }
17459}
17460
17461#[doc(hidden)]
17462#[derive(Copy, Clone, Eq, PartialEq)]
17463pub struct P8Pfs_SPEC;
17464impl crate::sealed::RegSpec for P8Pfs_SPEC {
17465    type DataType = u32;
17466}
17467
17468#[doc = "Port 8%s Pin Function Select Register"]
17469pub type P8Pfs = crate::RegValueT<P8Pfs_SPEC>;
17470
17471impl P8Pfs {
17472    #[doc = "Port Output Data"]
17473    #[inline(always)]
17474    pub fn podr(
17475        self,
17476    ) -> crate::common::RegisterField<
17477        0,
17478        0x1,
17479        1,
17480        0,
17481        p8pfs::Podr,
17482        p8pfs::Podr,
17483        P8Pfs_SPEC,
17484        crate::common::RW,
17485    > {
17486        crate::common::RegisterField::<
17487            0,
17488            0x1,
17489            1,
17490            0,
17491            p8pfs::Podr,
17492            p8pfs::Podr,
17493            P8Pfs_SPEC,
17494            crate::common::RW,
17495        >::from_register(self, 0)
17496    }
17497
17498    #[doc = "Pmn State"]
17499    #[inline(always)]
17500    pub fn pidr(
17501        self,
17502    ) -> crate::common::RegisterField<
17503        1,
17504        0x1,
17505        1,
17506        0,
17507        p8pfs::Pidr,
17508        p8pfs::Pidr,
17509        P8Pfs_SPEC,
17510        crate::common::R,
17511    > {
17512        crate::common::RegisterField::<
17513            1,
17514            0x1,
17515            1,
17516            0,
17517            p8pfs::Pidr,
17518            p8pfs::Pidr,
17519            P8Pfs_SPEC,
17520            crate::common::R,
17521        >::from_register(self, 0)
17522    }
17523
17524    #[doc = "Port Direction"]
17525    #[inline(always)]
17526    pub fn pdr(
17527        self,
17528    ) -> crate::common::RegisterField<
17529        2,
17530        0x1,
17531        1,
17532        0,
17533        p8pfs::Pdr,
17534        p8pfs::Pdr,
17535        P8Pfs_SPEC,
17536        crate::common::RW,
17537    > {
17538        crate::common::RegisterField::<
17539            2,
17540            0x1,
17541            1,
17542            0,
17543            p8pfs::Pdr,
17544            p8pfs::Pdr,
17545            P8Pfs_SPEC,
17546            crate::common::RW,
17547        >::from_register(self, 0)
17548    }
17549
17550    #[doc = "Pull-up Control"]
17551    #[inline(always)]
17552    pub fn pcr(
17553        self,
17554    ) -> crate::common::RegisterField<
17555        4,
17556        0x1,
17557        1,
17558        0,
17559        p8pfs::Pcr,
17560        p8pfs::Pcr,
17561        P8Pfs_SPEC,
17562        crate::common::RW,
17563    > {
17564        crate::common::RegisterField::<
17565            4,
17566            0x1,
17567            1,
17568            0,
17569            p8pfs::Pcr,
17570            p8pfs::Pcr,
17571            P8Pfs_SPEC,
17572            crate::common::RW,
17573        >::from_register(self, 0)
17574    }
17575
17576    #[doc = "N-Channel Open-Drain Control"]
17577    #[inline(always)]
17578    pub fn ncodr(
17579        self,
17580    ) -> crate::common::RegisterField<
17581        6,
17582        0x1,
17583        1,
17584        0,
17585        p8pfs::Ncodr,
17586        p8pfs::Ncodr,
17587        P8Pfs_SPEC,
17588        crate::common::RW,
17589    > {
17590        crate::common::RegisterField::<
17591            6,
17592            0x1,
17593            1,
17594            0,
17595            p8pfs::Ncodr,
17596            p8pfs::Ncodr,
17597            P8Pfs_SPEC,
17598            crate::common::RW,
17599        >::from_register(self, 0)
17600    }
17601
17602    #[doc = "Port Drive Capability"]
17603    #[inline(always)]
17604    pub fn dscr(
17605        self,
17606    ) -> crate::common::RegisterField<
17607        10,
17608        0x3,
17609        1,
17610        0,
17611        p8pfs::Dscr,
17612        p8pfs::Dscr,
17613        P8Pfs_SPEC,
17614        crate::common::RW,
17615    > {
17616        crate::common::RegisterField::<
17617            10,
17618            0x3,
17619            1,
17620            0,
17621            p8pfs::Dscr,
17622            p8pfs::Dscr,
17623            P8Pfs_SPEC,
17624            crate::common::RW,
17625        >::from_register(self, 0)
17626    }
17627
17628    #[doc = "Event on Falling/Event on Rising"]
17629    #[inline(always)]
17630    pub fn eofr(
17631        self,
17632    ) -> crate::common::RegisterField<
17633        12,
17634        0x3,
17635        1,
17636        0,
17637        p8pfs::Eofr,
17638        p8pfs::Eofr,
17639        P8Pfs_SPEC,
17640        crate::common::RW,
17641    > {
17642        crate::common::RegisterField::<
17643            12,
17644            0x3,
17645            1,
17646            0,
17647            p8pfs::Eofr,
17648            p8pfs::Eofr,
17649            P8Pfs_SPEC,
17650            crate::common::RW,
17651        >::from_register(self, 0)
17652    }
17653
17654    #[doc = "IRQ Input Enable"]
17655    #[inline(always)]
17656    pub fn isel(
17657        self,
17658    ) -> crate::common::RegisterField<
17659        14,
17660        0x1,
17661        1,
17662        0,
17663        p8pfs::Isel,
17664        p8pfs::Isel,
17665        P8Pfs_SPEC,
17666        crate::common::RW,
17667    > {
17668        crate::common::RegisterField::<
17669            14,
17670            0x1,
17671            1,
17672            0,
17673            p8pfs::Isel,
17674            p8pfs::Isel,
17675            P8Pfs_SPEC,
17676            crate::common::RW,
17677        >::from_register(self, 0)
17678    }
17679
17680    #[doc = "Analog Input Enable"]
17681    #[inline(always)]
17682    pub fn asel(
17683        self,
17684    ) -> crate::common::RegisterField<
17685        15,
17686        0x1,
17687        1,
17688        0,
17689        p8pfs::Asel,
17690        p8pfs::Asel,
17691        P8Pfs_SPEC,
17692        crate::common::RW,
17693    > {
17694        crate::common::RegisterField::<
17695            15,
17696            0x1,
17697            1,
17698            0,
17699            p8pfs::Asel,
17700            p8pfs::Asel,
17701            P8Pfs_SPEC,
17702            crate::common::RW,
17703        >::from_register(self, 0)
17704    }
17705
17706    #[doc = "Port Mode Control"]
17707    #[inline(always)]
17708    pub fn pmr(
17709        self,
17710    ) -> crate::common::RegisterField<
17711        16,
17712        0x1,
17713        1,
17714        0,
17715        p8pfs::Pmr,
17716        p8pfs::Pmr,
17717        P8Pfs_SPEC,
17718        crate::common::RW,
17719    > {
17720        crate::common::RegisterField::<
17721            16,
17722            0x1,
17723            1,
17724            0,
17725            p8pfs::Pmr,
17726            p8pfs::Pmr,
17727            P8Pfs_SPEC,
17728            crate::common::RW,
17729        >::from_register(self, 0)
17730    }
17731
17732    #[doc = "Peripheral Select"]
17733    #[inline(always)]
17734    pub fn psel(
17735        self,
17736    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P8Pfs_SPEC, crate::common::RW> {
17737        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P8Pfs_SPEC,crate::common::RW>::from_register(self,0)
17738    }
17739}
17740impl ::core::default::Default for P8Pfs {
17741    #[inline(always)]
17742    fn default() -> P8Pfs {
17743        <crate::RegValueT<P8Pfs_SPEC> as RegisterValue<_>>::new(318832640)
17744    }
17745}
17746pub mod p8pfs {
17747
17748    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17749    pub struct Podr_SPEC;
17750    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
17751    impl Podr {
17752        #[doc = "Low output"]
17753        pub const _0: Self = Self::new(0);
17754
17755        #[doc = "High output"]
17756        pub const _1: Self = Self::new(1);
17757    }
17758    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17759    pub struct Pidr_SPEC;
17760    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
17761    impl Pidr {
17762        #[doc = "Low level"]
17763        pub const _0: Self = Self::new(0);
17764
17765        #[doc = "High level"]
17766        pub const _1: Self = Self::new(1);
17767    }
17768    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17769    pub struct Pdr_SPEC;
17770    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
17771    impl Pdr {
17772        #[doc = "Input (functions as an input pin)"]
17773        pub const _0: Self = Self::new(0);
17774
17775        #[doc = "Output (functions as an output pin)"]
17776        pub const _1: Self = Self::new(1);
17777    }
17778    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17779    pub struct Pcr_SPEC;
17780    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
17781    impl Pcr {
17782        #[doc = "Disable input pull-up"]
17783        pub const _0: Self = Self::new(0);
17784
17785        #[doc = "Enable input pull-up"]
17786        pub const _1: Self = Self::new(1);
17787    }
17788    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17789    pub struct Ncodr_SPEC;
17790    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
17791    impl Ncodr {
17792        #[doc = "CMOS output"]
17793        pub const _0: Self = Self::new(0);
17794
17795        #[doc = "NMOS open-drain output"]
17796        pub const _1: Self = Self::new(1);
17797    }
17798    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17799    pub struct Dscr_SPEC;
17800    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
17801    impl Dscr {
17802        #[doc = "Low drive"]
17803        pub const _00: Self = Self::new(0);
17804
17805        #[doc = "Middle drive"]
17806        pub const _01: Self = Self::new(1);
17807
17808        #[doc = "High-speed high-drive"]
17809        pub const _10: Self = Self::new(2);
17810
17811        #[doc = "High drive"]
17812        pub const _11: Self = Self::new(3);
17813    }
17814    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17815    pub struct Eofr_SPEC;
17816    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
17817    impl Eofr {
17818        #[doc = "Don\'t care"]
17819        pub const _00: Self = Self::new(0);
17820
17821        #[doc = "Detect rising edge"]
17822        pub const _01: Self = Self::new(1);
17823
17824        #[doc = "Detect falling edge"]
17825        pub const _10: Self = Self::new(2);
17826
17827        #[doc = "Detect both edges"]
17828        pub const _11: Self = Self::new(3);
17829    }
17830    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17831    pub struct Isel_SPEC;
17832    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
17833    impl Isel {
17834        #[doc = "Not used as an IRQn input pin"]
17835        pub const _0: Self = Self::new(0);
17836
17837        #[doc = "Used as an IRQn input pin"]
17838        pub const _1: Self = Self::new(1);
17839    }
17840    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17841    pub struct Asel_SPEC;
17842    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
17843    impl Asel {
17844        #[doc = "Not used as an analog pin"]
17845        pub const _0: Self = Self::new(0);
17846
17847        #[doc = "Used as an analog pin"]
17848        pub const _1: Self = Self::new(1);
17849    }
17850    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17851    pub struct Pmr_SPEC;
17852    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
17853    impl Pmr {
17854        #[doc = "Used as a general I/O pin"]
17855        pub const _0: Self = Self::new(0);
17856
17857        #[doc = "Used as an I/O port for peripheral functions"]
17858        pub const _1: Self = Self::new(1);
17859    }
17860}
17861#[doc(hidden)]
17862#[derive(Copy, Clone, Eq, PartialEq)]
17863pub struct P8PfsHa_SPEC;
17864impl crate::sealed::RegSpec for P8PfsHa_SPEC {
17865    type DataType = u16;
17866}
17867
17868#[doc = "Port 8%s Pin Function Select Register"]
17869pub type P8PfsHa = crate::RegValueT<P8PfsHa_SPEC>;
17870
17871impl P8PfsHa {
17872    #[doc = "Port Mode Control"]
17873    #[inline(always)]
17874    pub fn pmr(
17875        self,
17876    ) -> crate::common::RegisterField<
17877        0,
17878        0x1,
17879        1,
17880        0,
17881        p8pfs_ha::Pmr,
17882        p8pfs_ha::Pmr,
17883        P8PfsHa_SPEC,
17884        crate::common::RW,
17885    > {
17886        crate::common::RegisterField::<
17887            0,
17888            0x1,
17889            1,
17890            0,
17891            p8pfs_ha::Pmr,
17892            p8pfs_ha::Pmr,
17893            P8PfsHa_SPEC,
17894            crate::common::RW,
17895        >::from_register(self, 0)
17896    }
17897
17898    #[doc = "Peripheral Select"]
17899    #[inline(always)]
17900    pub fn psel(
17901        self,
17902    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P8PfsHa_SPEC, crate::common::RW> {
17903        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P8PfsHa_SPEC,crate::common::RW>::from_register(self,0)
17904    }
17905}
17906impl ::core::default::Default for P8PfsHa {
17907    #[inline(always)]
17908    fn default() -> P8PfsHa {
17909        <crate::RegValueT<P8PfsHa_SPEC> as RegisterValue<_>>::new(4865)
17910    }
17911}
17912pub mod p8pfs_ha {
17913
17914    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17915    pub struct Pmr_SPEC;
17916    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
17917    impl Pmr {
17918        #[doc = "Used as a general I/O pin"]
17919        pub const _0: Self = Self::new(0);
17920
17921        #[doc = "Used as an I/O port for peripheral functions"]
17922        pub const _1: Self = Self::new(1);
17923    }
17924}
17925#[doc(hidden)]
17926#[derive(Copy, Clone, Eq, PartialEq)]
17927pub struct P8PfsBy_SPEC;
17928impl crate::sealed::RegSpec for P8PfsBy_SPEC {
17929    type DataType = u8;
17930}
17931
17932#[doc = "Port 8%s Pin Function Select Register"]
17933pub type P8PfsBy = crate::RegValueT<P8PfsBy_SPEC>;
17934
17935impl P8PfsBy {
17936    #[doc = "Peripheral Select"]
17937    #[inline(always)]
17938    pub fn psel(
17939        self,
17940    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P8PfsBy_SPEC, crate::common::RW> {
17941        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P8PfsBy_SPEC,crate::common::RW>::from_register(self,0)
17942    }
17943}
17944impl ::core::default::Default for P8PfsBy {
17945    #[inline(always)]
17946    fn default() -> P8PfsBy {
17947        <crate::RegValueT<P8PfsBy_SPEC> as RegisterValue<_>>::new(19)
17948    }
17949}
17950
17951#[doc(hidden)]
17952#[derive(Copy, Clone, Eq, PartialEq)]
17953pub struct P90Pfs_SPEC;
17954impl crate::sealed::RegSpec for P90Pfs_SPEC {
17955    type DataType = u32;
17956}
17957
17958#[doc = "Port 90%s Pin Function Select Register"]
17959pub type P90Pfs = crate::RegValueT<P90Pfs_SPEC>;
17960
17961impl P90Pfs {
17962    #[doc = "Port Output Data"]
17963    #[inline(always)]
17964    pub fn podr(
17965        self,
17966    ) -> crate::common::RegisterField<
17967        0,
17968        0x1,
17969        1,
17970        0,
17971        p90pfs::Podr,
17972        p90pfs::Podr,
17973        P90Pfs_SPEC,
17974        crate::common::RW,
17975    > {
17976        crate::common::RegisterField::<
17977            0,
17978            0x1,
17979            1,
17980            0,
17981            p90pfs::Podr,
17982            p90pfs::Podr,
17983            P90Pfs_SPEC,
17984            crate::common::RW,
17985        >::from_register(self, 0)
17986    }
17987
17988    #[doc = "Pmn State"]
17989    #[inline(always)]
17990    pub fn pidr(
17991        self,
17992    ) -> crate::common::RegisterField<
17993        1,
17994        0x1,
17995        1,
17996        0,
17997        p90pfs::Pidr,
17998        p90pfs::Pidr,
17999        P90Pfs_SPEC,
18000        crate::common::R,
18001    > {
18002        crate::common::RegisterField::<
18003            1,
18004            0x1,
18005            1,
18006            0,
18007            p90pfs::Pidr,
18008            p90pfs::Pidr,
18009            P90Pfs_SPEC,
18010            crate::common::R,
18011        >::from_register(self, 0)
18012    }
18013
18014    #[doc = "Port Direction"]
18015    #[inline(always)]
18016    pub fn pdr(
18017        self,
18018    ) -> crate::common::RegisterField<
18019        2,
18020        0x1,
18021        1,
18022        0,
18023        p90pfs::Pdr,
18024        p90pfs::Pdr,
18025        P90Pfs_SPEC,
18026        crate::common::RW,
18027    > {
18028        crate::common::RegisterField::<
18029            2,
18030            0x1,
18031            1,
18032            0,
18033            p90pfs::Pdr,
18034            p90pfs::Pdr,
18035            P90Pfs_SPEC,
18036            crate::common::RW,
18037        >::from_register(self, 0)
18038    }
18039
18040    #[doc = "Pull-up Control"]
18041    #[inline(always)]
18042    pub fn pcr(
18043        self,
18044    ) -> crate::common::RegisterField<
18045        4,
18046        0x1,
18047        1,
18048        0,
18049        p90pfs::Pcr,
18050        p90pfs::Pcr,
18051        P90Pfs_SPEC,
18052        crate::common::RW,
18053    > {
18054        crate::common::RegisterField::<
18055            4,
18056            0x1,
18057            1,
18058            0,
18059            p90pfs::Pcr,
18060            p90pfs::Pcr,
18061            P90Pfs_SPEC,
18062            crate::common::RW,
18063        >::from_register(self, 0)
18064    }
18065
18066    #[doc = "N-Channel Open-Drain Control"]
18067    #[inline(always)]
18068    pub fn ncodr(
18069        self,
18070    ) -> crate::common::RegisterField<
18071        6,
18072        0x1,
18073        1,
18074        0,
18075        p90pfs::Ncodr,
18076        p90pfs::Ncodr,
18077        P90Pfs_SPEC,
18078        crate::common::RW,
18079    > {
18080        crate::common::RegisterField::<
18081            6,
18082            0x1,
18083            1,
18084            0,
18085            p90pfs::Ncodr,
18086            p90pfs::Ncodr,
18087            P90Pfs_SPEC,
18088            crate::common::RW,
18089        >::from_register(self, 0)
18090    }
18091
18092    #[doc = "Port Drive Capability"]
18093    #[inline(always)]
18094    pub fn dscr(
18095        self,
18096    ) -> crate::common::RegisterField<
18097        10,
18098        0x3,
18099        1,
18100        0,
18101        p90pfs::Dscr,
18102        p90pfs::Dscr,
18103        P90Pfs_SPEC,
18104        crate::common::RW,
18105    > {
18106        crate::common::RegisterField::<
18107            10,
18108            0x3,
18109            1,
18110            0,
18111            p90pfs::Dscr,
18112            p90pfs::Dscr,
18113            P90Pfs_SPEC,
18114            crate::common::RW,
18115        >::from_register(self, 0)
18116    }
18117
18118    #[doc = "Event on Falling/Event on Rising"]
18119    #[inline(always)]
18120    pub fn eofr(
18121        self,
18122    ) -> crate::common::RegisterField<
18123        12,
18124        0x3,
18125        1,
18126        0,
18127        p90pfs::Eofr,
18128        p90pfs::Eofr,
18129        P90Pfs_SPEC,
18130        crate::common::RW,
18131    > {
18132        crate::common::RegisterField::<
18133            12,
18134            0x3,
18135            1,
18136            0,
18137            p90pfs::Eofr,
18138            p90pfs::Eofr,
18139            P90Pfs_SPEC,
18140            crate::common::RW,
18141        >::from_register(self, 0)
18142    }
18143
18144    #[doc = "IRQ Input Enable"]
18145    #[inline(always)]
18146    pub fn isel(
18147        self,
18148    ) -> crate::common::RegisterField<
18149        14,
18150        0x1,
18151        1,
18152        0,
18153        p90pfs::Isel,
18154        p90pfs::Isel,
18155        P90Pfs_SPEC,
18156        crate::common::RW,
18157    > {
18158        crate::common::RegisterField::<
18159            14,
18160            0x1,
18161            1,
18162            0,
18163            p90pfs::Isel,
18164            p90pfs::Isel,
18165            P90Pfs_SPEC,
18166            crate::common::RW,
18167        >::from_register(self, 0)
18168    }
18169
18170    #[doc = "Analog Input Enable"]
18171    #[inline(always)]
18172    pub fn asel(
18173        self,
18174    ) -> crate::common::RegisterField<
18175        15,
18176        0x1,
18177        1,
18178        0,
18179        p90pfs::Asel,
18180        p90pfs::Asel,
18181        P90Pfs_SPEC,
18182        crate::common::RW,
18183    > {
18184        crate::common::RegisterField::<
18185            15,
18186            0x1,
18187            1,
18188            0,
18189            p90pfs::Asel,
18190            p90pfs::Asel,
18191            P90Pfs_SPEC,
18192            crate::common::RW,
18193        >::from_register(self, 0)
18194    }
18195
18196    #[doc = "Port Mode Control"]
18197    #[inline(always)]
18198    pub fn pmr(
18199        self,
18200    ) -> crate::common::RegisterField<
18201        16,
18202        0x1,
18203        1,
18204        0,
18205        p90pfs::Pmr,
18206        p90pfs::Pmr,
18207        P90Pfs_SPEC,
18208        crate::common::RW,
18209    > {
18210        crate::common::RegisterField::<
18211            16,
18212            0x1,
18213            1,
18214            0,
18215            p90pfs::Pmr,
18216            p90pfs::Pmr,
18217            P90Pfs_SPEC,
18218            crate::common::RW,
18219        >::from_register(self, 0)
18220    }
18221
18222    #[doc = "Peripheral Select"]
18223    #[inline(always)]
18224    pub fn psel(
18225        self,
18226    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P90Pfs_SPEC, crate::common::RW> {
18227        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P90Pfs_SPEC,crate::common::RW>::from_register(self,0)
18228    }
18229}
18230impl ::core::default::Default for P90Pfs {
18231    #[inline(always)]
18232    fn default() -> P90Pfs {
18233        <crate::RegValueT<P90Pfs_SPEC> as RegisterValue<_>>::new(0)
18234    }
18235}
18236pub mod p90pfs {
18237
18238    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18239    pub struct Podr_SPEC;
18240    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
18241    impl Podr {
18242        #[doc = "Low output"]
18243        pub const _0: Self = Self::new(0);
18244
18245        #[doc = "High output"]
18246        pub const _1: Self = Self::new(1);
18247    }
18248    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18249    pub struct Pidr_SPEC;
18250    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
18251    impl Pidr {
18252        #[doc = "Low level"]
18253        pub const _0: Self = Self::new(0);
18254
18255        #[doc = "High level"]
18256        pub const _1: Self = Self::new(1);
18257    }
18258    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18259    pub struct Pdr_SPEC;
18260    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
18261    impl Pdr {
18262        #[doc = "Input (functions as an input pin)"]
18263        pub const _0: Self = Self::new(0);
18264
18265        #[doc = "Output (functions as an output pin)"]
18266        pub const _1: Self = Self::new(1);
18267    }
18268    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18269    pub struct Pcr_SPEC;
18270    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
18271    impl Pcr {
18272        #[doc = "Disable input pull-up"]
18273        pub const _0: Self = Self::new(0);
18274
18275        #[doc = "Enable input pull-up"]
18276        pub const _1: Self = Self::new(1);
18277    }
18278    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18279    pub struct Ncodr_SPEC;
18280    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
18281    impl Ncodr {
18282        #[doc = "CMOS output"]
18283        pub const _0: Self = Self::new(0);
18284
18285        #[doc = "NMOS open-drain output"]
18286        pub const _1: Self = Self::new(1);
18287    }
18288    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18289    pub struct Dscr_SPEC;
18290    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
18291    impl Dscr {
18292        #[doc = "Low drive"]
18293        pub const _00: Self = Self::new(0);
18294
18295        #[doc = "Middle drive"]
18296        pub const _01: Self = Self::new(1);
18297
18298        #[doc = "High-speed high-drive"]
18299        pub const _10: Self = Self::new(2);
18300
18301        #[doc = "High drive"]
18302        pub const _11: Self = Self::new(3);
18303    }
18304    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18305    pub struct Eofr_SPEC;
18306    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
18307    impl Eofr {
18308        #[doc = "Don\'t care"]
18309        pub const _00: Self = Self::new(0);
18310
18311        #[doc = "Detect rising edge"]
18312        pub const _01: Self = Self::new(1);
18313
18314        #[doc = "Detect falling edge"]
18315        pub const _10: Self = Self::new(2);
18316
18317        #[doc = "Detect both edges"]
18318        pub const _11: Self = Self::new(3);
18319    }
18320    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18321    pub struct Isel_SPEC;
18322    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
18323    impl Isel {
18324        #[doc = "Not used as an IRQn input pin"]
18325        pub const _0: Self = Self::new(0);
18326
18327        #[doc = "Used as an IRQn input pin"]
18328        pub const _1: Self = Self::new(1);
18329    }
18330    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18331    pub struct Asel_SPEC;
18332    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
18333    impl Asel {
18334        #[doc = "Not used as an analog pin"]
18335        pub const _0: Self = Self::new(0);
18336
18337        #[doc = "Used as an analog pin"]
18338        pub const _1: Self = Self::new(1);
18339    }
18340    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18341    pub struct Pmr_SPEC;
18342    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
18343    impl Pmr {
18344        #[doc = "Used as a general I/O pin"]
18345        pub const _0: Self = Self::new(0);
18346
18347        #[doc = "Used as an I/O port for peripheral functions"]
18348        pub const _1: Self = Self::new(1);
18349    }
18350}
18351#[doc(hidden)]
18352#[derive(Copy, Clone, Eq, PartialEq)]
18353pub struct P90PfsHa_SPEC;
18354impl crate::sealed::RegSpec for P90PfsHa_SPEC {
18355    type DataType = u16;
18356}
18357
18358#[doc = "Port 90%s Pin Function Select Register"]
18359pub type P90PfsHa = crate::RegValueT<P90PfsHa_SPEC>;
18360
18361impl P90PfsHa {
18362    #[doc = "Port Mode Control"]
18363    #[inline(always)]
18364    pub fn pmr(
18365        self,
18366    ) -> crate::common::RegisterField<
18367        0,
18368        0x1,
18369        1,
18370        0,
18371        p90pfs_ha::Pmr,
18372        p90pfs_ha::Pmr,
18373        P90PfsHa_SPEC,
18374        crate::common::RW,
18375    > {
18376        crate::common::RegisterField::<
18377            0,
18378            0x1,
18379            1,
18380            0,
18381            p90pfs_ha::Pmr,
18382            p90pfs_ha::Pmr,
18383            P90PfsHa_SPEC,
18384            crate::common::RW,
18385        >::from_register(self, 0)
18386    }
18387
18388    #[doc = "Peripheral Select"]
18389    #[inline(always)]
18390    pub fn psel(
18391        self,
18392    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P90PfsHa_SPEC, crate::common::RW> {
18393        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P90PfsHa_SPEC,crate::common::RW>::from_register(self,0)
18394    }
18395}
18396impl ::core::default::Default for P90PfsHa {
18397    #[inline(always)]
18398    fn default() -> P90PfsHa {
18399        <crate::RegValueT<P90PfsHa_SPEC> as RegisterValue<_>>::new(0)
18400    }
18401}
18402pub mod p90pfs_ha {
18403
18404    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18405    pub struct Pmr_SPEC;
18406    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
18407    impl Pmr {
18408        #[doc = "Used as a general I/O pin"]
18409        pub const _0: Self = Self::new(0);
18410
18411        #[doc = "Used as an I/O port for peripheral functions"]
18412        pub const _1: Self = Self::new(1);
18413    }
18414}
18415#[doc(hidden)]
18416#[derive(Copy, Clone, Eq, PartialEq)]
18417pub struct P90PfsBy_SPEC;
18418impl crate::sealed::RegSpec for P90PfsBy_SPEC {
18419    type DataType = u8;
18420}
18421
18422#[doc = "Port 90%s Pin Function Select Register"]
18423pub type P90PfsBy = crate::RegValueT<P90PfsBy_SPEC>;
18424
18425impl P90PfsBy {
18426    #[doc = "Peripheral Select"]
18427    #[inline(always)]
18428    pub fn psel(
18429        self,
18430    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P90PfsBy_SPEC, crate::common::RW> {
18431        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P90PfsBy_SPEC,crate::common::RW>::from_register(self,0)
18432    }
18433}
18434impl ::core::default::Default for P90PfsBy {
18435    #[inline(always)]
18436    fn default() -> P90PfsBy {
18437        <crate::RegValueT<P90PfsBy_SPEC> as RegisterValue<_>>::new(0)
18438    }
18439}
18440
18441#[doc(hidden)]
18442#[derive(Copy, Clone, Eq, PartialEq)]
18443pub struct P9Pfs_SPEC;
18444impl crate::sealed::RegSpec for P9Pfs_SPEC {
18445    type DataType = u32;
18446}
18447
18448#[doc = "Port 9%s Pin Function Select Register"]
18449pub type P9Pfs = crate::RegValueT<P9Pfs_SPEC>;
18450
18451impl P9Pfs {
18452    #[doc = "Port Output Data"]
18453    #[inline(always)]
18454    pub fn podr(
18455        self,
18456    ) -> crate::common::RegisterField<
18457        0,
18458        0x1,
18459        1,
18460        0,
18461        p9pfs::Podr,
18462        p9pfs::Podr,
18463        P9Pfs_SPEC,
18464        crate::common::RW,
18465    > {
18466        crate::common::RegisterField::<
18467            0,
18468            0x1,
18469            1,
18470            0,
18471            p9pfs::Podr,
18472            p9pfs::Podr,
18473            P9Pfs_SPEC,
18474            crate::common::RW,
18475        >::from_register(self, 0)
18476    }
18477
18478    #[doc = "Pmn State"]
18479    #[inline(always)]
18480    pub fn pidr(
18481        self,
18482    ) -> crate::common::RegisterField<
18483        1,
18484        0x1,
18485        1,
18486        0,
18487        p9pfs::Pidr,
18488        p9pfs::Pidr,
18489        P9Pfs_SPEC,
18490        crate::common::R,
18491    > {
18492        crate::common::RegisterField::<
18493            1,
18494            0x1,
18495            1,
18496            0,
18497            p9pfs::Pidr,
18498            p9pfs::Pidr,
18499            P9Pfs_SPEC,
18500            crate::common::R,
18501        >::from_register(self, 0)
18502    }
18503
18504    #[doc = "Port Direction"]
18505    #[inline(always)]
18506    pub fn pdr(
18507        self,
18508    ) -> crate::common::RegisterField<
18509        2,
18510        0x1,
18511        1,
18512        0,
18513        p9pfs::Pdr,
18514        p9pfs::Pdr,
18515        P9Pfs_SPEC,
18516        crate::common::RW,
18517    > {
18518        crate::common::RegisterField::<
18519            2,
18520            0x1,
18521            1,
18522            0,
18523            p9pfs::Pdr,
18524            p9pfs::Pdr,
18525            P9Pfs_SPEC,
18526            crate::common::RW,
18527        >::from_register(self, 0)
18528    }
18529
18530    #[doc = "Pull-up Control"]
18531    #[inline(always)]
18532    pub fn pcr(
18533        self,
18534    ) -> crate::common::RegisterField<
18535        4,
18536        0x1,
18537        1,
18538        0,
18539        p9pfs::Pcr,
18540        p9pfs::Pcr,
18541        P9Pfs_SPEC,
18542        crate::common::RW,
18543    > {
18544        crate::common::RegisterField::<
18545            4,
18546            0x1,
18547            1,
18548            0,
18549            p9pfs::Pcr,
18550            p9pfs::Pcr,
18551            P9Pfs_SPEC,
18552            crate::common::RW,
18553        >::from_register(self, 0)
18554    }
18555
18556    #[doc = "N-Channel Open-Drain Control"]
18557    #[inline(always)]
18558    pub fn ncodr(
18559        self,
18560    ) -> crate::common::RegisterField<
18561        6,
18562        0x1,
18563        1,
18564        0,
18565        p9pfs::Ncodr,
18566        p9pfs::Ncodr,
18567        P9Pfs_SPEC,
18568        crate::common::RW,
18569    > {
18570        crate::common::RegisterField::<
18571            6,
18572            0x1,
18573            1,
18574            0,
18575            p9pfs::Ncodr,
18576            p9pfs::Ncodr,
18577            P9Pfs_SPEC,
18578            crate::common::RW,
18579        >::from_register(self, 0)
18580    }
18581
18582    #[doc = "Port Drive Capability"]
18583    #[inline(always)]
18584    pub fn dscr(
18585        self,
18586    ) -> crate::common::RegisterField<
18587        10,
18588        0x3,
18589        1,
18590        0,
18591        p9pfs::Dscr,
18592        p9pfs::Dscr,
18593        P9Pfs_SPEC,
18594        crate::common::RW,
18595    > {
18596        crate::common::RegisterField::<
18597            10,
18598            0x3,
18599            1,
18600            0,
18601            p9pfs::Dscr,
18602            p9pfs::Dscr,
18603            P9Pfs_SPEC,
18604            crate::common::RW,
18605        >::from_register(self, 0)
18606    }
18607
18608    #[doc = "Event on Falling/Event on Rising"]
18609    #[inline(always)]
18610    pub fn eofr(
18611        self,
18612    ) -> crate::common::RegisterField<
18613        12,
18614        0x3,
18615        1,
18616        0,
18617        p9pfs::Eofr,
18618        p9pfs::Eofr,
18619        P9Pfs_SPEC,
18620        crate::common::RW,
18621    > {
18622        crate::common::RegisterField::<
18623            12,
18624            0x3,
18625            1,
18626            0,
18627            p9pfs::Eofr,
18628            p9pfs::Eofr,
18629            P9Pfs_SPEC,
18630            crate::common::RW,
18631        >::from_register(self, 0)
18632    }
18633
18634    #[doc = "IRQ Input Enable"]
18635    #[inline(always)]
18636    pub fn isel(
18637        self,
18638    ) -> crate::common::RegisterField<
18639        14,
18640        0x1,
18641        1,
18642        0,
18643        p9pfs::Isel,
18644        p9pfs::Isel,
18645        P9Pfs_SPEC,
18646        crate::common::RW,
18647    > {
18648        crate::common::RegisterField::<
18649            14,
18650            0x1,
18651            1,
18652            0,
18653            p9pfs::Isel,
18654            p9pfs::Isel,
18655            P9Pfs_SPEC,
18656            crate::common::RW,
18657        >::from_register(self, 0)
18658    }
18659
18660    #[doc = "Analog Input Enable"]
18661    #[inline(always)]
18662    pub fn asel(
18663        self,
18664    ) -> crate::common::RegisterField<
18665        15,
18666        0x1,
18667        1,
18668        0,
18669        p9pfs::Asel,
18670        p9pfs::Asel,
18671        P9Pfs_SPEC,
18672        crate::common::RW,
18673    > {
18674        crate::common::RegisterField::<
18675            15,
18676            0x1,
18677            1,
18678            0,
18679            p9pfs::Asel,
18680            p9pfs::Asel,
18681            P9Pfs_SPEC,
18682            crate::common::RW,
18683        >::from_register(self, 0)
18684    }
18685
18686    #[doc = "Port Mode Control"]
18687    #[inline(always)]
18688    pub fn pmr(
18689        self,
18690    ) -> crate::common::RegisterField<
18691        16,
18692        0x1,
18693        1,
18694        0,
18695        p9pfs::Pmr,
18696        p9pfs::Pmr,
18697        P9Pfs_SPEC,
18698        crate::common::RW,
18699    > {
18700        crate::common::RegisterField::<
18701            16,
18702            0x1,
18703            1,
18704            0,
18705            p9pfs::Pmr,
18706            p9pfs::Pmr,
18707            P9Pfs_SPEC,
18708            crate::common::RW,
18709        >::from_register(self, 0)
18710    }
18711
18712    #[doc = "Peripheral Select"]
18713    #[inline(always)]
18714    pub fn psel(
18715        self,
18716    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P9Pfs_SPEC, crate::common::RW> {
18717        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P9Pfs_SPEC,crate::common::RW>::from_register(self,0)
18718    }
18719}
18720impl ::core::default::Default for P9Pfs {
18721    #[inline(always)]
18722    fn default() -> P9Pfs {
18723        <crate::RegValueT<P9Pfs_SPEC> as RegisterValue<_>>::new(0)
18724    }
18725}
18726pub mod p9pfs {
18727
18728    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18729    pub struct Podr_SPEC;
18730    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
18731    impl Podr {
18732        #[doc = "Low output"]
18733        pub const _0: Self = Self::new(0);
18734
18735        #[doc = "High output"]
18736        pub const _1: Self = Self::new(1);
18737    }
18738    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18739    pub struct Pidr_SPEC;
18740    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
18741    impl Pidr {
18742        #[doc = "Low level"]
18743        pub const _0: Self = Self::new(0);
18744
18745        #[doc = "High level"]
18746        pub const _1: Self = Self::new(1);
18747    }
18748    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18749    pub struct Pdr_SPEC;
18750    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
18751    impl Pdr {
18752        #[doc = "Input (functions as an input pin)"]
18753        pub const _0: Self = Self::new(0);
18754
18755        #[doc = "Output (functions as an output pin)"]
18756        pub const _1: Self = Self::new(1);
18757    }
18758    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18759    pub struct Pcr_SPEC;
18760    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
18761    impl Pcr {
18762        #[doc = "Disable input pull-up"]
18763        pub const _0: Self = Self::new(0);
18764
18765        #[doc = "Enable input pull-up"]
18766        pub const _1: Self = Self::new(1);
18767    }
18768    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18769    pub struct Ncodr_SPEC;
18770    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
18771    impl Ncodr {
18772        #[doc = "CMOS output"]
18773        pub const _0: Self = Self::new(0);
18774
18775        #[doc = "NMOS open-drain output"]
18776        pub const _1: Self = Self::new(1);
18777    }
18778    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18779    pub struct Dscr_SPEC;
18780    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
18781    impl Dscr {
18782        #[doc = "Low drive"]
18783        pub const _00: Self = Self::new(0);
18784
18785        #[doc = "Middle drive"]
18786        pub const _01: Self = Self::new(1);
18787
18788        #[doc = "High-speed high-drive"]
18789        pub const _10: Self = Self::new(2);
18790
18791        #[doc = "High drive"]
18792        pub const _11: Self = Self::new(3);
18793    }
18794    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18795    pub struct Eofr_SPEC;
18796    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
18797    impl Eofr {
18798        #[doc = "Don\'t care"]
18799        pub const _00: Self = Self::new(0);
18800
18801        #[doc = "Detect rising edge"]
18802        pub const _01: Self = Self::new(1);
18803
18804        #[doc = "Detect falling edge"]
18805        pub const _10: Self = Self::new(2);
18806
18807        #[doc = "Detect both edges"]
18808        pub const _11: Self = Self::new(3);
18809    }
18810    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18811    pub struct Isel_SPEC;
18812    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
18813    impl Isel {
18814        #[doc = "Not used as an IRQn input pin"]
18815        pub const _0: Self = Self::new(0);
18816
18817        #[doc = "Used as an IRQn input pin"]
18818        pub const _1: Self = Self::new(1);
18819    }
18820    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18821    pub struct Asel_SPEC;
18822    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
18823    impl Asel {
18824        #[doc = "Not used as an analog pin"]
18825        pub const _0: Self = Self::new(0);
18826
18827        #[doc = "Used as an analog pin"]
18828        pub const _1: Self = Self::new(1);
18829    }
18830    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18831    pub struct Pmr_SPEC;
18832    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
18833    impl Pmr {
18834        #[doc = "Used as a general I/O pin"]
18835        pub const _0: Self = Self::new(0);
18836
18837        #[doc = "Used as an I/O port for peripheral functions"]
18838        pub const _1: Self = Self::new(1);
18839    }
18840}
18841#[doc(hidden)]
18842#[derive(Copy, Clone, Eq, PartialEq)]
18843pub struct P9PfsHa_SPEC;
18844impl crate::sealed::RegSpec for P9PfsHa_SPEC {
18845    type DataType = u16;
18846}
18847
18848#[doc = "Port 9%s Pin Function Select Register"]
18849pub type P9PfsHa = crate::RegValueT<P9PfsHa_SPEC>;
18850
18851impl P9PfsHa {
18852    #[doc = "Port Mode Control"]
18853    #[inline(always)]
18854    pub fn pmr(
18855        self,
18856    ) -> crate::common::RegisterField<
18857        0,
18858        0x1,
18859        1,
18860        0,
18861        p9pfs_ha::Pmr,
18862        p9pfs_ha::Pmr,
18863        P9PfsHa_SPEC,
18864        crate::common::RW,
18865    > {
18866        crate::common::RegisterField::<
18867            0,
18868            0x1,
18869            1,
18870            0,
18871            p9pfs_ha::Pmr,
18872            p9pfs_ha::Pmr,
18873            P9PfsHa_SPEC,
18874            crate::common::RW,
18875        >::from_register(self, 0)
18876    }
18877
18878    #[doc = "Peripheral Select"]
18879    #[inline(always)]
18880    pub fn psel(
18881        self,
18882    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, P9PfsHa_SPEC, crate::common::RW> {
18883        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,P9PfsHa_SPEC,crate::common::RW>::from_register(self,0)
18884    }
18885}
18886impl ::core::default::Default for P9PfsHa {
18887    #[inline(always)]
18888    fn default() -> P9PfsHa {
18889        <crate::RegValueT<P9PfsHa_SPEC> as RegisterValue<_>>::new(0)
18890    }
18891}
18892pub mod p9pfs_ha {
18893
18894    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18895    pub struct Pmr_SPEC;
18896    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
18897    impl Pmr {
18898        #[doc = "Used as a general I/O pin"]
18899        pub const _0: Self = Self::new(0);
18900
18901        #[doc = "Used as an I/O port for peripheral functions"]
18902        pub const _1: Self = Self::new(1);
18903    }
18904}
18905#[doc(hidden)]
18906#[derive(Copy, Clone, Eq, PartialEq)]
18907pub struct P9PfsBy_SPEC;
18908impl crate::sealed::RegSpec for P9PfsBy_SPEC {
18909    type DataType = u8;
18910}
18911
18912#[doc = "Port 9%s Pin Function Select Register"]
18913pub type P9PfsBy = crate::RegValueT<P9PfsBy_SPEC>;
18914
18915impl P9PfsBy {
18916    #[doc = "Peripheral Select"]
18917    #[inline(always)]
18918    pub fn psel(
18919        self,
18920    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, P9PfsBy_SPEC, crate::common::RW> {
18921        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,P9PfsBy_SPEC,crate::common::RW>::from_register(self,0)
18922    }
18923}
18924impl ::core::default::Default for P9PfsBy {
18925    #[inline(always)]
18926    fn default() -> P9PfsBy {
18927        <crate::RegValueT<P9PfsBy_SPEC> as RegisterValue<_>>::new(0)
18928    }
18929}
18930
18931#[doc(hidden)]
18932#[derive(Copy, Clone, Eq, PartialEq)]
18933pub struct Pa0Pfs_SPEC;
18934impl crate::sealed::RegSpec for Pa0Pfs_SPEC {
18935    type DataType = u32;
18936}
18937
18938#[doc = "Port A0%s Pin Function Select Register"]
18939pub type Pa0Pfs = crate::RegValueT<Pa0Pfs_SPEC>;
18940
18941impl Pa0Pfs {
18942    #[doc = "Port Output Data"]
18943    #[inline(always)]
18944    pub fn podr(
18945        self,
18946    ) -> crate::common::RegisterField<
18947        0,
18948        0x1,
18949        1,
18950        0,
18951        pa0pfs::Podr,
18952        pa0pfs::Podr,
18953        Pa0Pfs_SPEC,
18954        crate::common::RW,
18955    > {
18956        crate::common::RegisterField::<
18957            0,
18958            0x1,
18959            1,
18960            0,
18961            pa0pfs::Podr,
18962            pa0pfs::Podr,
18963            Pa0Pfs_SPEC,
18964            crate::common::RW,
18965        >::from_register(self, 0)
18966    }
18967
18968    #[doc = "Pmn State"]
18969    #[inline(always)]
18970    pub fn pidr(
18971        self,
18972    ) -> crate::common::RegisterField<
18973        1,
18974        0x1,
18975        1,
18976        0,
18977        pa0pfs::Pidr,
18978        pa0pfs::Pidr,
18979        Pa0Pfs_SPEC,
18980        crate::common::R,
18981    > {
18982        crate::common::RegisterField::<
18983            1,
18984            0x1,
18985            1,
18986            0,
18987            pa0pfs::Pidr,
18988            pa0pfs::Pidr,
18989            Pa0Pfs_SPEC,
18990            crate::common::R,
18991        >::from_register(self, 0)
18992    }
18993
18994    #[doc = "Port Direction"]
18995    #[inline(always)]
18996    pub fn pdr(
18997        self,
18998    ) -> crate::common::RegisterField<
18999        2,
19000        0x1,
19001        1,
19002        0,
19003        pa0pfs::Pdr,
19004        pa0pfs::Pdr,
19005        Pa0Pfs_SPEC,
19006        crate::common::RW,
19007    > {
19008        crate::common::RegisterField::<
19009            2,
19010            0x1,
19011            1,
19012            0,
19013            pa0pfs::Pdr,
19014            pa0pfs::Pdr,
19015            Pa0Pfs_SPEC,
19016            crate::common::RW,
19017        >::from_register(self, 0)
19018    }
19019
19020    #[doc = "Pull-up Control"]
19021    #[inline(always)]
19022    pub fn pcr(
19023        self,
19024    ) -> crate::common::RegisterField<
19025        4,
19026        0x1,
19027        1,
19028        0,
19029        pa0pfs::Pcr,
19030        pa0pfs::Pcr,
19031        Pa0Pfs_SPEC,
19032        crate::common::RW,
19033    > {
19034        crate::common::RegisterField::<
19035            4,
19036            0x1,
19037            1,
19038            0,
19039            pa0pfs::Pcr,
19040            pa0pfs::Pcr,
19041            Pa0Pfs_SPEC,
19042            crate::common::RW,
19043        >::from_register(self, 0)
19044    }
19045
19046    #[doc = "N-Channel Open-Drain Control"]
19047    #[inline(always)]
19048    pub fn ncodr(
19049        self,
19050    ) -> crate::common::RegisterField<
19051        6,
19052        0x1,
19053        1,
19054        0,
19055        pa0pfs::Ncodr,
19056        pa0pfs::Ncodr,
19057        Pa0Pfs_SPEC,
19058        crate::common::RW,
19059    > {
19060        crate::common::RegisterField::<
19061            6,
19062            0x1,
19063            1,
19064            0,
19065            pa0pfs::Ncodr,
19066            pa0pfs::Ncodr,
19067            Pa0Pfs_SPEC,
19068            crate::common::RW,
19069        >::from_register(self, 0)
19070    }
19071
19072    #[doc = "Port Drive Capability"]
19073    #[inline(always)]
19074    pub fn dscr(
19075        self,
19076    ) -> crate::common::RegisterField<
19077        10,
19078        0x3,
19079        1,
19080        0,
19081        pa0pfs::Dscr,
19082        pa0pfs::Dscr,
19083        Pa0Pfs_SPEC,
19084        crate::common::RW,
19085    > {
19086        crate::common::RegisterField::<
19087            10,
19088            0x3,
19089            1,
19090            0,
19091            pa0pfs::Dscr,
19092            pa0pfs::Dscr,
19093            Pa0Pfs_SPEC,
19094            crate::common::RW,
19095        >::from_register(self, 0)
19096    }
19097
19098    #[doc = "Event on Falling/Event on Rising"]
19099    #[inline(always)]
19100    pub fn eofr(
19101        self,
19102    ) -> crate::common::RegisterField<
19103        12,
19104        0x3,
19105        1,
19106        0,
19107        pa0pfs::Eofr,
19108        pa0pfs::Eofr,
19109        Pa0Pfs_SPEC,
19110        crate::common::RW,
19111    > {
19112        crate::common::RegisterField::<
19113            12,
19114            0x3,
19115            1,
19116            0,
19117            pa0pfs::Eofr,
19118            pa0pfs::Eofr,
19119            Pa0Pfs_SPEC,
19120            crate::common::RW,
19121        >::from_register(self, 0)
19122    }
19123
19124    #[doc = "IRQ Input Enable"]
19125    #[inline(always)]
19126    pub fn isel(
19127        self,
19128    ) -> crate::common::RegisterField<
19129        14,
19130        0x1,
19131        1,
19132        0,
19133        pa0pfs::Isel,
19134        pa0pfs::Isel,
19135        Pa0Pfs_SPEC,
19136        crate::common::RW,
19137    > {
19138        crate::common::RegisterField::<
19139            14,
19140            0x1,
19141            1,
19142            0,
19143            pa0pfs::Isel,
19144            pa0pfs::Isel,
19145            Pa0Pfs_SPEC,
19146            crate::common::RW,
19147        >::from_register(self, 0)
19148    }
19149
19150    #[doc = "Analog Input Enable"]
19151    #[inline(always)]
19152    pub fn asel(
19153        self,
19154    ) -> crate::common::RegisterField<
19155        15,
19156        0x1,
19157        1,
19158        0,
19159        pa0pfs::Asel,
19160        pa0pfs::Asel,
19161        Pa0Pfs_SPEC,
19162        crate::common::RW,
19163    > {
19164        crate::common::RegisterField::<
19165            15,
19166            0x1,
19167            1,
19168            0,
19169            pa0pfs::Asel,
19170            pa0pfs::Asel,
19171            Pa0Pfs_SPEC,
19172            crate::common::RW,
19173        >::from_register(self, 0)
19174    }
19175
19176    #[doc = "Port Mode Control"]
19177    #[inline(always)]
19178    pub fn pmr(
19179        self,
19180    ) -> crate::common::RegisterField<
19181        16,
19182        0x1,
19183        1,
19184        0,
19185        pa0pfs::Pmr,
19186        pa0pfs::Pmr,
19187        Pa0Pfs_SPEC,
19188        crate::common::RW,
19189    > {
19190        crate::common::RegisterField::<
19191            16,
19192            0x1,
19193            1,
19194            0,
19195            pa0pfs::Pmr,
19196            pa0pfs::Pmr,
19197            Pa0Pfs_SPEC,
19198            crate::common::RW,
19199        >::from_register(self, 0)
19200    }
19201
19202    #[doc = "Peripheral Select"]
19203    #[inline(always)]
19204    pub fn psel(
19205        self,
19206    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, Pa0Pfs_SPEC, crate::common::RW> {
19207        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,Pa0Pfs_SPEC,crate::common::RW>::from_register(self,0)
19208    }
19209}
19210impl ::core::default::Default for Pa0Pfs {
19211    #[inline(always)]
19212    fn default() -> Pa0Pfs {
19213        <crate::RegValueT<Pa0Pfs_SPEC> as RegisterValue<_>>::new(0)
19214    }
19215}
19216pub mod pa0pfs {
19217
19218    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19219    pub struct Podr_SPEC;
19220    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
19221    impl Podr {
19222        #[doc = "Low output"]
19223        pub const _0: Self = Self::new(0);
19224
19225        #[doc = "High output"]
19226        pub const _1: Self = Self::new(1);
19227    }
19228    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19229    pub struct Pidr_SPEC;
19230    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
19231    impl Pidr {
19232        #[doc = "Low level"]
19233        pub const _0: Self = Self::new(0);
19234
19235        #[doc = "High level"]
19236        pub const _1: Self = Self::new(1);
19237    }
19238    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19239    pub struct Pdr_SPEC;
19240    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
19241    impl Pdr {
19242        #[doc = "Input (functions as an input pin)"]
19243        pub const _0: Self = Self::new(0);
19244
19245        #[doc = "Output (functions as an output pin)"]
19246        pub const _1: Self = Self::new(1);
19247    }
19248    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19249    pub struct Pcr_SPEC;
19250    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
19251    impl Pcr {
19252        #[doc = "Disable input pull-up"]
19253        pub const _0: Self = Self::new(0);
19254
19255        #[doc = "Enable input pull-up"]
19256        pub const _1: Self = Self::new(1);
19257    }
19258    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19259    pub struct Ncodr_SPEC;
19260    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
19261    impl Ncodr {
19262        #[doc = "CMOS output"]
19263        pub const _0: Self = Self::new(0);
19264
19265        #[doc = "NMOS open-drain output"]
19266        pub const _1: Self = Self::new(1);
19267    }
19268    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19269    pub struct Dscr_SPEC;
19270    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
19271    impl Dscr {
19272        #[doc = "Low drive"]
19273        pub const _00: Self = Self::new(0);
19274
19275        #[doc = "Middle drive"]
19276        pub const _01: Self = Self::new(1);
19277
19278        #[doc = "High-speed high-drive"]
19279        pub const _10: Self = Self::new(2);
19280
19281        #[doc = "High drive"]
19282        pub const _11: Self = Self::new(3);
19283    }
19284    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19285    pub struct Eofr_SPEC;
19286    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
19287    impl Eofr {
19288        #[doc = "Don\'t care"]
19289        pub const _00: Self = Self::new(0);
19290
19291        #[doc = "Detect rising edge"]
19292        pub const _01: Self = Self::new(1);
19293
19294        #[doc = "Detect falling edge"]
19295        pub const _10: Self = Self::new(2);
19296
19297        #[doc = "Detect both edges"]
19298        pub const _11: Self = Self::new(3);
19299    }
19300    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19301    pub struct Isel_SPEC;
19302    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
19303    impl Isel {
19304        #[doc = "Not used as an IRQn input pin"]
19305        pub const _0: Self = Self::new(0);
19306
19307        #[doc = "Used as an IRQn input pin"]
19308        pub const _1: Self = Self::new(1);
19309    }
19310    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19311    pub struct Asel_SPEC;
19312    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
19313    impl Asel {
19314        #[doc = "Not used as an analog pin"]
19315        pub const _0: Self = Self::new(0);
19316
19317        #[doc = "Used as an analog pin"]
19318        pub const _1: Self = Self::new(1);
19319    }
19320    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19321    pub struct Pmr_SPEC;
19322    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
19323    impl Pmr {
19324        #[doc = "Used as a general I/O pin"]
19325        pub const _0: Self = Self::new(0);
19326
19327        #[doc = "Used as an I/O port for peripheral functions"]
19328        pub const _1: Self = Self::new(1);
19329    }
19330}
19331#[doc(hidden)]
19332#[derive(Copy, Clone, Eq, PartialEq)]
19333pub struct Pa0PfsHa_SPEC;
19334impl crate::sealed::RegSpec for Pa0PfsHa_SPEC {
19335    type DataType = u16;
19336}
19337
19338#[doc = "Port A0%s Pin Function Select Register"]
19339pub type Pa0PfsHa = crate::RegValueT<Pa0PfsHa_SPEC>;
19340
19341impl Pa0PfsHa {
19342    #[doc = "Port Mode Control"]
19343    #[inline(always)]
19344    pub fn pmr(
19345        self,
19346    ) -> crate::common::RegisterField<
19347        0,
19348        0x1,
19349        1,
19350        0,
19351        pa0pfs_ha::Pmr,
19352        pa0pfs_ha::Pmr,
19353        Pa0PfsHa_SPEC,
19354        crate::common::RW,
19355    > {
19356        crate::common::RegisterField::<
19357            0,
19358            0x1,
19359            1,
19360            0,
19361            pa0pfs_ha::Pmr,
19362            pa0pfs_ha::Pmr,
19363            Pa0PfsHa_SPEC,
19364            crate::common::RW,
19365        >::from_register(self, 0)
19366    }
19367
19368    #[doc = "Peripheral Select"]
19369    #[inline(always)]
19370    pub fn psel(
19371        self,
19372    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, Pa0PfsHa_SPEC, crate::common::RW> {
19373        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,Pa0PfsHa_SPEC,crate::common::RW>::from_register(self,0)
19374    }
19375}
19376impl ::core::default::Default for Pa0PfsHa {
19377    #[inline(always)]
19378    fn default() -> Pa0PfsHa {
19379        <crate::RegValueT<Pa0PfsHa_SPEC> as RegisterValue<_>>::new(0)
19380    }
19381}
19382pub mod pa0pfs_ha {
19383
19384    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19385    pub struct Pmr_SPEC;
19386    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
19387    impl Pmr {
19388        #[doc = "Used as a general I/O pin"]
19389        pub const _0: Self = Self::new(0);
19390
19391        #[doc = "Used as an I/O port for peripheral functions"]
19392        pub const _1: Self = Self::new(1);
19393    }
19394}
19395#[doc(hidden)]
19396#[derive(Copy, Clone, Eq, PartialEq)]
19397pub struct Pa0PfsBy_SPEC;
19398impl crate::sealed::RegSpec for Pa0PfsBy_SPEC {
19399    type DataType = u8;
19400}
19401
19402#[doc = "Port A0%s Pin Function Select Register"]
19403pub type Pa0PfsBy = crate::RegValueT<Pa0PfsBy_SPEC>;
19404
19405impl Pa0PfsBy {
19406    #[doc = "Peripheral Select"]
19407    #[inline(always)]
19408    pub fn psel(
19409        self,
19410    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, Pa0PfsBy_SPEC, crate::common::RW> {
19411        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,Pa0PfsBy_SPEC,crate::common::RW>::from_register(self,0)
19412    }
19413}
19414impl ::core::default::Default for Pa0PfsBy {
19415    #[inline(always)]
19416    fn default() -> Pa0PfsBy {
19417        <crate::RegValueT<Pa0PfsBy_SPEC> as RegisterValue<_>>::new(0)
19418    }
19419}
19420
19421#[doc(hidden)]
19422#[derive(Copy, Clone, Eq, PartialEq)]
19423pub struct Papfs_SPEC;
19424impl crate::sealed::RegSpec for Papfs_SPEC {
19425    type DataType = u32;
19426}
19427
19428#[doc = "Port An Pin Function Select Register"]
19429pub type Papfs = crate::RegValueT<Papfs_SPEC>;
19430
19431impl Papfs {
19432    #[doc = "Port Output Data"]
19433    #[inline(always)]
19434    pub fn podr(
19435        self,
19436    ) -> crate::common::RegisterField<
19437        0,
19438        0x1,
19439        1,
19440        0,
19441        papfs::Podr,
19442        papfs::Podr,
19443        Papfs_SPEC,
19444        crate::common::RW,
19445    > {
19446        crate::common::RegisterField::<
19447            0,
19448            0x1,
19449            1,
19450            0,
19451            papfs::Podr,
19452            papfs::Podr,
19453            Papfs_SPEC,
19454            crate::common::RW,
19455        >::from_register(self, 0)
19456    }
19457
19458    #[doc = "Pmn State"]
19459    #[inline(always)]
19460    pub fn pidr(
19461        self,
19462    ) -> crate::common::RegisterField<
19463        1,
19464        0x1,
19465        1,
19466        0,
19467        papfs::Pidr,
19468        papfs::Pidr,
19469        Papfs_SPEC,
19470        crate::common::R,
19471    > {
19472        crate::common::RegisterField::<
19473            1,
19474            0x1,
19475            1,
19476            0,
19477            papfs::Pidr,
19478            papfs::Pidr,
19479            Papfs_SPEC,
19480            crate::common::R,
19481        >::from_register(self, 0)
19482    }
19483
19484    #[doc = "Port Direction"]
19485    #[inline(always)]
19486    pub fn pdr(
19487        self,
19488    ) -> crate::common::RegisterField<
19489        2,
19490        0x1,
19491        1,
19492        0,
19493        papfs::Pdr,
19494        papfs::Pdr,
19495        Papfs_SPEC,
19496        crate::common::RW,
19497    > {
19498        crate::common::RegisterField::<
19499            2,
19500            0x1,
19501            1,
19502            0,
19503            papfs::Pdr,
19504            papfs::Pdr,
19505            Papfs_SPEC,
19506            crate::common::RW,
19507        >::from_register(self, 0)
19508    }
19509
19510    #[doc = "Pull-up Control"]
19511    #[inline(always)]
19512    pub fn pcr(
19513        self,
19514    ) -> crate::common::RegisterField<
19515        4,
19516        0x1,
19517        1,
19518        0,
19519        papfs::Pcr,
19520        papfs::Pcr,
19521        Papfs_SPEC,
19522        crate::common::RW,
19523    > {
19524        crate::common::RegisterField::<
19525            4,
19526            0x1,
19527            1,
19528            0,
19529            papfs::Pcr,
19530            papfs::Pcr,
19531            Papfs_SPEC,
19532            crate::common::RW,
19533        >::from_register(self, 0)
19534    }
19535
19536    #[doc = "N-Channel Open-Drain Control"]
19537    #[inline(always)]
19538    pub fn ncodr(
19539        self,
19540    ) -> crate::common::RegisterField<
19541        6,
19542        0x1,
19543        1,
19544        0,
19545        papfs::Ncodr,
19546        papfs::Ncodr,
19547        Papfs_SPEC,
19548        crate::common::RW,
19549    > {
19550        crate::common::RegisterField::<
19551            6,
19552            0x1,
19553            1,
19554            0,
19555            papfs::Ncodr,
19556            papfs::Ncodr,
19557            Papfs_SPEC,
19558            crate::common::RW,
19559        >::from_register(self, 0)
19560    }
19561
19562    #[doc = "Port Drive Capability"]
19563    #[inline(always)]
19564    pub fn dscr(
19565        self,
19566    ) -> crate::common::RegisterField<
19567        10,
19568        0x3,
19569        1,
19570        0,
19571        papfs::Dscr,
19572        papfs::Dscr,
19573        Papfs_SPEC,
19574        crate::common::RW,
19575    > {
19576        crate::common::RegisterField::<
19577            10,
19578            0x3,
19579            1,
19580            0,
19581            papfs::Dscr,
19582            papfs::Dscr,
19583            Papfs_SPEC,
19584            crate::common::RW,
19585        >::from_register(self, 0)
19586    }
19587
19588    #[doc = "Event on Falling/Event on Rising"]
19589    #[inline(always)]
19590    pub fn eofr(
19591        self,
19592    ) -> crate::common::RegisterField<
19593        12,
19594        0x3,
19595        1,
19596        0,
19597        papfs::Eofr,
19598        papfs::Eofr,
19599        Papfs_SPEC,
19600        crate::common::RW,
19601    > {
19602        crate::common::RegisterField::<
19603            12,
19604            0x3,
19605            1,
19606            0,
19607            papfs::Eofr,
19608            papfs::Eofr,
19609            Papfs_SPEC,
19610            crate::common::RW,
19611        >::from_register(self, 0)
19612    }
19613
19614    #[doc = "IRQ Input Enable"]
19615    #[inline(always)]
19616    pub fn isel(
19617        self,
19618    ) -> crate::common::RegisterField<
19619        14,
19620        0x1,
19621        1,
19622        0,
19623        papfs::Isel,
19624        papfs::Isel,
19625        Papfs_SPEC,
19626        crate::common::RW,
19627    > {
19628        crate::common::RegisterField::<
19629            14,
19630            0x1,
19631            1,
19632            0,
19633            papfs::Isel,
19634            papfs::Isel,
19635            Papfs_SPEC,
19636            crate::common::RW,
19637        >::from_register(self, 0)
19638    }
19639
19640    #[doc = "Analog Input Enable"]
19641    #[inline(always)]
19642    pub fn asel(
19643        self,
19644    ) -> crate::common::RegisterField<
19645        15,
19646        0x1,
19647        1,
19648        0,
19649        papfs::Asel,
19650        papfs::Asel,
19651        Papfs_SPEC,
19652        crate::common::RW,
19653    > {
19654        crate::common::RegisterField::<
19655            15,
19656            0x1,
19657            1,
19658            0,
19659            papfs::Asel,
19660            papfs::Asel,
19661            Papfs_SPEC,
19662            crate::common::RW,
19663        >::from_register(self, 0)
19664    }
19665
19666    #[doc = "Port Mode Control"]
19667    #[inline(always)]
19668    pub fn pmr(
19669        self,
19670    ) -> crate::common::RegisterField<
19671        16,
19672        0x1,
19673        1,
19674        0,
19675        papfs::Pmr,
19676        papfs::Pmr,
19677        Papfs_SPEC,
19678        crate::common::RW,
19679    > {
19680        crate::common::RegisterField::<
19681            16,
19682            0x1,
19683            1,
19684            0,
19685            papfs::Pmr,
19686            papfs::Pmr,
19687            Papfs_SPEC,
19688            crate::common::RW,
19689        >::from_register(self, 0)
19690    }
19691
19692    #[doc = "Peripheral Select"]
19693    #[inline(always)]
19694    pub fn psel(
19695        self,
19696    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, Papfs_SPEC, crate::common::RW> {
19697        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,Papfs_SPEC,crate::common::RW>::from_register(self,0)
19698    }
19699}
19700impl ::core::default::Default for Papfs {
19701    #[inline(always)]
19702    fn default() -> Papfs {
19703        <crate::RegValueT<Papfs_SPEC> as RegisterValue<_>>::new(0)
19704    }
19705}
19706pub mod papfs {
19707
19708    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19709    pub struct Podr_SPEC;
19710    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
19711    impl Podr {
19712        #[doc = "Low output"]
19713        pub const _0: Self = Self::new(0);
19714
19715        #[doc = "High output"]
19716        pub const _1: Self = Self::new(1);
19717    }
19718    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19719    pub struct Pidr_SPEC;
19720    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
19721    impl Pidr {
19722        #[doc = "Low level"]
19723        pub const _0: Self = Self::new(0);
19724
19725        #[doc = "High level"]
19726        pub const _1: Self = Self::new(1);
19727    }
19728    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19729    pub struct Pdr_SPEC;
19730    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
19731    impl Pdr {
19732        #[doc = "Input (functions as an input pin)"]
19733        pub const _0: Self = Self::new(0);
19734
19735        #[doc = "Output (functions as an output pin)"]
19736        pub const _1: Self = Self::new(1);
19737    }
19738    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19739    pub struct Pcr_SPEC;
19740    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
19741    impl Pcr {
19742        #[doc = "Disable input pull-up"]
19743        pub const _0: Self = Self::new(0);
19744
19745        #[doc = "Enable input pull-up"]
19746        pub const _1: Self = Self::new(1);
19747    }
19748    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19749    pub struct Ncodr_SPEC;
19750    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
19751    impl Ncodr {
19752        #[doc = "CMOS output"]
19753        pub const _0: Self = Self::new(0);
19754
19755        #[doc = "NMOS open-drain output"]
19756        pub const _1: Self = Self::new(1);
19757    }
19758    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19759    pub struct Dscr_SPEC;
19760    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
19761    impl Dscr {
19762        #[doc = "Low drive"]
19763        pub const _00: Self = Self::new(0);
19764
19765        #[doc = "Middle drive"]
19766        pub const _01: Self = Self::new(1);
19767
19768        #[doc = "High-speed high-drive"]
19769        pub const _10: Self = Self::new(2);
19770
19771        #[doc = "High drive"]
19772        pub const _11: Self = Self::new(3);
19773    }
19774    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19775    pub struct Eofr_SPEC;
19776    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
19777    impl Eofr {
19778        #[doc = "Don\'t care"]
19779        pub const _00: Self = Self::new(0);
19780
19781        #[doc = "Detect rising edge"]
19782        pub const _01: Self = Self::new(1);
19783
19784        #[doc = "Detect falling edge"]
19785        pub const _10: Self = Self::new(2);
19786
19787        #[doc = "Detect both edges"]
19788        pub const _11: Self = Self::new(3);
19789    }
19790    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19791    pub struct Isel_SPEC;
19792    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
19793    impl Isel {
19794        #[doc = "Not used as an IRQn input pin"]
19795        pub const _0: Self = Self::new(0);
19796
19797        #[doc = "Used as an IRQn input pin"]
19798        pub const _1: Self = Self::new(1);
19799    }
19800    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19801    pub struct Asel_SPEC;
19802    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
19803    impl Asel {
19804        #[doc = "Not used as an analog pin"]
19805        pub const _0: Self = Self::new(0);
19806
19807        #[doc = "Used as an analog pin"]
19808        pub const _1: Self = Self::new(1);
19809    }
19810    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19811    pub struct Pmr_SPEC;
19812    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
19813    impl Pmr {
19814        #[doc = "Used as a general I/O pin"]
19815        pub const _0: Self = Self::new(0);
19816
19817        #[doc = "Used as an I/O port for peripheral functions"]
19818        pub const _1: Self = Self::new(1);
19819    }
19820}
19821#[doc(hidden)]
19822#[derive(Copy, Clone, Eq, PartialEq)]
19823pub struct PapfsHa_SPEC;
19824impl crate::sealed::RegSpec for PapfsHa_SPEC {
19825    type DataType = u16;
19826}
19827
19828#[doc = "Port An Pin Function Select Register"]
19829pub type PapfsHa = crate::RegValueT<PapfsHa_SPEC>;
19830
19831impl PapfsHa {
19832    #[doc = "Port Mode Control"]
19833    #[inline(always)]
19834    pub fn pmr(
19835        self,
19836    ) -> crate::common::RegisterField<
19837        0,
19838        0x1,
19839        1,
19840        0,
19841        papfs_ha::Pmr,
19842        papfs_ha::Pmr,
19843        PapfsHa_SPEC,
19844        crate::common::RW,
19845    > {
19846        crate::common::RegisterField::<
19847            0,
19848            0x1,
19849            1,
19850            0,
19851            papfs_ha::Pmr,
19852            papfs_ha::Pmr,
19853            PapfsHa_SPEC,
19854            crate::common::RW,
19855        >::from_register(self, 0)
19856    }
19857
19858    #[doc = "Peripheral Select"]
19859    #[inline(always)]
19860    pub fn psel(
19861        self,
19862    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, PapfsHa_SPEC, crate::common::RW> {
19863        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,PapfsHa_SPEC,crate::common::RW>::from_register(self,0)
19864    }
19865}
19866impl ::core::default::Default for PapfsHa {
19867    #[inline(always)]
19868    fn default() -> PapfsHa {
19869        <crate::RegValueT<PapfsHa_SPEC> as RegisterValue<_>>::new(0)
19870    }
19871}
19872pub mod papfs_ha {
19873
19874    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19875    pub struct Pmr_SPEC;
19876    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
19877    impl Pmr {
19878        #[doc = "Used as a general I/O pin"]
19879        pub const _0: Self = Self::new(0);
19880
19881        #[doc = "Used as an I/O port for peripheral functions"]
19882        pub const _1: Self = Self::new(1);
19883    }
19884}
19885#[doc(hidden)]
19886#[derive(Copy, Clone, Eq, PartialEq)]
19887pub struct PapfsBy_SPEC;
19888impl crate::sealed::RegSpec for PapfsBy_SPEC {
19889    type DataType = u8;
19890}
19891
19892#[doc = "Port An Pin Function Select Register"]
19893pub type PapfsBy = crate::RegValueT<PapfsBy_SPEC>;
19894
19895impl PapfsBy {
19896    #[doc = "Peripheral Select"]
19897    #[inline(always)]
19898    pub fn psel(
19899        self,
19900    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, PapfsBy_SPEC, crate::common::RW> {
19901        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,PapfsBy_SPEC,crate::common::RW>::from_register(self,0)
19902    }
19903}
19904impl ::core::default::Default for PapfsBy {
19905    #[inline(always)]
19906    fn default() -> PapfsBy {
19907        <crate::RegValueT<PapfsBy_SPEC> as RegisterValue<_>>::new(0)
19908    }
19909}
19910
19911#[doc(hidden)]
19912#[derive(Copy, Clone, Eq, PartialEq)]
19913pub struct Pb0Pfs_SPEC;
19914impl crate::sealed::RegSpec for Pb0Pfs_SPEC {
19915    type DataType = u32;
19916}
19917
19918#[doc = "Port B0%s Pin Function Select Register"]
19919pub type Pb0Pfs = crate::RegValueT<Pb0Pfs_SPEC>;
19920
19921impl Pb0Pfs {
19922    #[doc = "Port Output Data"]
19923    #[inline(always)]
19924    pub fn podr(
19925        self,
19926    ) -> crate::common::RegisterField<
19927        0,
19928        0x1,
19929        1,
19930        0,
19931        pb0pfs::Podr,
19932        pb0pfs::Podr,
19933        Pb0Pfs_SPEC,
19934        crate::common::RW,
19935    > {
19936        crate::common::RegisterField::<
19937            0,
19938            0x1,
19939            1,
19940            0,
19941            pb0pfs::Podr,
19942            pb0pfs::Podr,
19943            Pb0Pfs_SPEC,
19944            crate::common::RW,
19945        >::from_register(self, 0)
19946    }
19947
19948    #[doc = "Pmn State"]
19949    #[inline(always)]
19950    pub fn pidr(
19951        self,
19952    ) -> crate::common::RegisterField<
19953        1,
19954        0x1,
19955        1,
19956        0,
19957        pb0pfs::Pidr,
19958        pb0pfs::Pidr,
19959        Pb0Pfs_SPEC,
19960        crate::common::R,
19961    > {
19962        crate::common::RegisterField::<
19963            1,
19964            0x1,
19965            1,
19966            0,
19967            pb0pfs::Pidr,
19968            pb0pfs::Pidr,
19969            Pb0Pfs_SPEC,
19970            crate::common::R,
19971        >::from_register(self, 0)
19972    }
19973
19974    #[doc = "Port Direction"]
19975    #[inline(always)]
19976    pub fn pdr(
19977        self,
19978    ) -> crate::common::RegisterField<
19979        2,
19980        0x1,
19981        1,
19982        0,
19983        pb0pfs::Pdr,
19984        pb0pfs::Pdr,
19985        Pb0Pfs_SPEC,
19986        crate::common::RW,
19987    > {
19988        crate::common::RegisterField::<
19989            2,
19990            0x1,
19991            1,
19992            0,
19993            pb0pfs::Pdr,
19994            pb0pfs::Pdr,
19995            Pb0Pfs_SPEC,
19996            crate::common::RW,
19997        >::from_register(self, 0)
19998    }
19999
20000    #[doc = "Pull-up Control"]
20001    #[inline(always)]
20002    pub fn pcr(
20003        self,
20004    ) -> crate::common::RegisterField<
20005        4,
20006        0x1,
20007        1,
20008        0,
20009        pb0pfs::Pcr,
20010        pb0pfs::Pcr,
20011        Pb0Pfs_SPEC,
20012        crate::common::RW,
20013    > {
20014        crate::common::RegisterField::<
20015            4,
20016            0x1,
20017            1,
20018            0,
20019            pb0pfs::Pcr,
20020            pb0pfs::Pcr,
20021            Pb0Pfs_SPEC,
20022            crate::common::RW,
20023        >::from_register(self, 0)
20024    }
20025
20026    #[doc = "N-Channel Open-Drain Control"]
20027    #[inline(always)]
20028    pub fn ncodr(
20029        self,
20030    ) -> crate::common::RegisterField<
20031        6,
20032        0x1,
20033        1,
20034        0,
20035        pb0pfs::Ncodr,
20036        pb0pfs::Ncodr,
20037        Pb0Pfs_SPEC,
20038        crate::common::RW,
20039    > {
20040        crate::common::RegisterField::<
20041            6,
20042            0x1,
20043            1,
20044            0,
20045            pb0pfs::Ncodr,
20046            pb0pfs::Ncodr,
20047            Pb0Pfs_SPEC,
20048            crate::common::RW,
20049        >::from_register(self, 0)
20050    }
20051
20052    #[doc = "Port Drive Capability"]
20053    #[inline(always)]
20054    pub fn dscr(
20055        self,
20056    ) -> crate::common::RegisterField<
20057        10,
20058        0x3,
20059        1,
20060        0,
20061        pb0pfs::Dscr,
20062        pb0pfs::Dscr,
20063        Pb0Pfs_SPEC,
20064        crate::common::RW,
20065    > {
20066        crate::common::RegisterField::<
20067            10,
20068            0x3,
20069            1,
20070            0,
20071            pb0pfs::Dscr,
20072            pb0pfs::Dscr,
20073            Pb0Pfs_SPEC,
20074            crate::common::RW,
20075        >::from_register(self, 0)
20076    }
20077
20078    #[doc = "Event on Falling/Event on Rising"]
20079    #[inline(always)]
20080    pub fn eofr(
20081        self,
20082    ) -> crate::common::RegisterField<
20083        12,
20084        0x3,
20085        1,
20086        0,
20087        pb0pfs::Eofr,
20088        pb0pfs::Eofr,
20089        Pb0Pfs_SPEC,
20090        crate::common::RW,
20091    > {
20092        crate::common::RegisterField::<
20093            12,
20094            0x3,
20095            1,
20096            0,
20097            pb0pfs::Eofr,
20098            pb0pfs::Eofr,
20099            Pb0Pfs_SPEC,
20100            crate::common::RW,
20101        >::from_register(self, 0)
20102    }
20103
20104    #[doc = "IRQ Input Enable"]
20105    #[inline(always)]
20106    pub fn isel(
20107        self,
20108    ) -> crate::common::RegisterField<
20109        14,
20110        0x1,
20111        1,
20112        0,
20113        pb0pfs::Isel,
20114        pb0pfs::Isel,
20115        Pb0Pfs_SPEC,
20116        crate::common::RW,
20117    > {
20118        crate::common::RegisterField::<
20119            14,
20120            0x1,
20121            1,
20122            0,
20123            pb0pfs::Isel,
20124            pb0pfs::Isel,
20125            Pb0Pfs_SPEC,
20126            crate::common::RW,
20127        >::from_register(self, 0)
20128    }
20129
20130    #[doc = "Analog Input Enable"]
20131    #[inline(always)]
20132    pub fn asel(
20133        self,
20134    ) -> crate::common::RegisterField<
20135        15,
20136        0x1,
20137        1,
20138        0,
20139        pb0pfs::Asel,
20140        pb0pfs::Asel,
20141        Pb0Pfs_SPEC,
20142        crate::common::RW,
20143    > {
20144        crate::common::RegisterField::<
20145            15,
20146            0x1,
20147            1,
20148            0,
20149            pb0pfs::Asel,
20150            pb0pfs::Asel,
20151            Pb0Pfs_SPEC,
20152            crate::common::RW,
20153        >::from_register(self, 0)
20154    }
20155
20156    #[doc = "Port Mode Control"]
20157    #[inline(always)]
20158    pub fn pmr(
20159        self,
20160    ) -> crate::common::RegisterField<
20161        16,
20162        0x1,
20163        1,
20164        0,
20165        pb0pfs::Pmr,
20166        pb0pfs::Pmr,
20167        Pb0Pfs_SPEC,
20168        crate::common::RW,
20169    > {
20170        crate::common::RegisterField::<
20171            16,
20172            0x1,
20173            1,
20174            0,
20175            pb0pfs::Pmr,
20176            pb0pfs::Pmr,
20177            Pb0Pfs_SPEC,
20178            crate::common::RW,
20179        >::from_register(self, 0)
20180    }
20181
20182    #[doc = "Peripheral Select"]
20183    #[inline(always)]
20184    pub fn psel(
20185        self,
20186    ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, Pb0Pfs_SPEC, crate::common::RW> {
20187        crate::common::RegisterField::<24,0x1f,1,0,u8,u8,Pb0Pfs_SPEC,crate::common::RW>::from_register(self,0)
20188    }
20189}
20190impl ::core::default::Default for Pb0Pfs {
20191    #[inline(always)]
20192    fn default() -> Pb0Pfs {
20193        <crate::RegValueT<Pb0Pfs_SPEC> as RegisterValue<_>>::new(0)
20194    }
20195}
20196pub mod pb0pfs {
20197
20198    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20199    pub struct Podr_SPEC;
20200    pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
20201    impl Podr {
20202        #[doc = "Low output"]
20203        pub const _0: Self = Self::new(0);
20204
20205        #[doc = "High output"]
20206        pub const _1: Self = Self::new(1);
20207    }
20208    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20209    pub struct Pidr_SPEC;
20210    pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
20211    impl Pidr {
20212        #[doc = "Low level"]
20213        pub const _0: Self = Self::new(0);
20214
20215        #[doc = "High level"]
20216        pub const _1: Self = Self::new(1);
20217    }
20218    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20219    pub struct Pdr_SPEC;
20220    pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
20221    impl Pdr {
20222        #[doc = "Input (functions as an input pin)"]
20223        pub const _0: Self = Self::new(0);
20224
20225        #[doc = "Output (functions as an output pin)"]
20226        pub const _1: Self = Self::new(1);
20227    }
20228    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20229    pub struct Pcr_SPEC;
20230    pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
20231    impl Pcr {
20232        #[doc = "Disable input pull-up"]
20233        pub const _0: Self = Self::new(0);
20234
20235        #[doc = "Enable input pull-up"]
20236        pub const _1: Self = Self::new(1);
20237    }
20238    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20239    pub struct Ncodr_SPEC;
20240    pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
20241    impl Ncodr {
20242        #[doc = "CMOS output"]
20243        pub const _0: Self = Self::new(0);
20244
20245        #[doc = "NMOS open-drain output"]
20246        pub const _1: Self = Self::new(1);
20247    }
20248    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20249    pub struct Dscr_SPEC;
20250    pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
20251    impl Dscr {
20252        #[doc = "Low drive"]
20253        pub const _00: Self = Self::new(0);
20254
20255        #[doc = "Middle drive"]
20256        pub const _01: Self = Self::new(1);
20257
20258        #[doc = "High-speed high-drive"]
20259        pub const _10: Self = Self::new(2);
20260
20261        #[doc = "High drive"]
20262        pub const _11: Self = Self::new(3);
20263    }
20264    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20265    pub struct Eofr_SPEC;
20266    pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
20267    impl Eofr {
20268        #[doc = "Don\'t care"]
20269        pub const _00: Self = Self::new(0);
20270
20271        #[doc = "Detect rising edge"]
20272        pub const _01: Self = Self::new(1);
20273
20274        #[doc = "Detect falling edge"]
20275        pub const _10: Self = Self::new(2);
20276
20277        #[doc = "Detect both edges"]
20278        pub const _11: Self = Self::new(3);
20279    }
20280    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20281    pub struct Isel_SPEC;
20282    pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
20283    impl Isel {
20284        #[doc = "Not used as an IRQn input pin"]
20285        pub const _0: Self = Self::new(0);
20286
20287        #[doc = "Used as an IRQn input pin"]
20288        pub const _1: Self = Self::new(1);
20289    }
20290    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20291    pub struct Asel_SPEC;
20292    pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
20293    impl Asel {
20294        #[doc = "Not used as an analog pin"]
20295        pub const _0: Self = Self::new(0);
20296
20297        #[doc = "Used as an analog pin"]
20298        pub const _1: Self = Self::new(1);
20299    }
20300    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20301    pub struct Pmr_SPEC;
20302    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
20303    impl Pmr {
20304        #[doc = "Used as a general I/O pin"]
20305        pub const _0: Self = Self::new(0);
20306
20307        #[doc = "Used as an I/O port for peripheral functions"]
20308        pub const _1: Self = Self::new(1);
20309    }
20310}
20311#[doc(hidden)]
20312#[derive(Copy, Clone, Eq, PartialEq)]
20313pub struct Pb0PfsHa_SPEC;
20314impl crate::sealed::RegSpec for Pb0PfsHa_SPEC {
20315    type DataType = u16;
20316}
20317
20318#[doc = "Port B0%s Pin Function Select Register"]
20319pub type Pb0PfsHa = crate::RegValueT<Pb0PfsHa_SPEC>;
20320
20321impl Pb0PfsHa {
20322    #[doc = "Port Mode Control"]
20323    #[inline(always)]
20324    pub fn pmr(
20325        self,
20326    ) -> crate::common::RegisterField<
20327        0,
20328        0x1,
20329        1,
20330        0,
20331        pb0pfs_ha::Pmr,
20332        pb0pfs_ha::Pmr,
20333        Pb0PfsHa_SPEC,
20334        crate::common::RW,
20335    > {
20336        crate::common::RegisterField::<
20337            0,
20338            0x1,
20339            1,
20340            0,
20341            pb0pfs_ha::Pmr,
20342            pb0pfs_ha::Pmr,
20343            Pb0PfsHa_SPEC,
20344            crate::common::RW,
20345        >::from_register(self, 0)
20346    }
20347
20348    #[doc = "Peripheral Select"]
20349    #[inline(always)]
20350    pub fn psel(
20351        self,
20352    ) -> crate::common::RegisterField<8, 0x1f, 1, 0, u8, u8, Pb0PfsHa_SPEC, crate::common::RW> {
20353        crate::common::RegisterField::<8,0x1f,1,0,u8,u8,Pb0PfsHa_SPEC,crate::common::RW>::from_register(self,0)
20354    }
20355}
20356impl ::core::default::Default for Pb0PfsHa {
20357    #[inline(always)]
20358    fn default() -> Pb0PfsHa {
20359        <crate::RegValueT<Pb0PfsHa_SPEC> as RegisterValue<_>>::new(0)
20360    }
20361}
20362pub mod pb0pfs_ha {
20363
20364    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20365    pub struct Pmr_SPEC;
20366    pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
20367    impl Pmr {
20368        #[doc = "Used as a general I/O pin"]
20369        pub const _0: Self = Self::new(0);
20370
20371        #[doc = "Used as an I/O port for peripheral functions"]
20372        pub const _1: Self = Self::new(1);
20373    }
20374}
20375#[doc(hidden)]
20376#[derive(Copy, Clone, Eq, PartialEq)]
20377pub struct Pb0PfsBy_SPEC;
20378impl crate::sealed::RegSpec for Pb0PfsBy_SPEC {
20379    type DataType = u8;
20380}
20381
20382#[doc = "Port B0%s Pin Function Select Register"]
20383pub type Pb0PfsBy = crate::RegValueT<Pb0PfsBy_SPEC>;
20384
20385impl Pb0PfsBy {
20386    #[doc = "Peripheral Select"]
20387    #[inline(always)]
20388    pub fn psel(
20389        self,
20390    ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, Pb0PfsBy_SPEC, crate::common::RW> {
20391        crate::common::RegisterField::<0,0x1f,1,0,u8,u8,Pb0PfsBy_SPEC,crate::common::RW>::from_register(self,0)
20392    }
20393}
20394impl ::core::default::Default for Pb0PfsBy {
20395    #[inline(always)]
20396    fn default() -> Pb0PfsBy {
20397        <crate::RegValueT<Pb0PfsBy_SPEC> as RegisterValue<_>>::new(0)
20398    }
20399}
20400
20401#[doc(hidden)]
20402#[derive(Copy, Clone, Eq, PartialEq)]
20403pub struct PwprS_SPEC;
20404impl crate::sealed::RegSpec for PwprS_SPEC {
20405    type DataType = u8;
20406}
20407
20408#[doc = "Write-Protect Register for Secure"]
20409pub type PwprS = crate::RegValueT<PwprS_SPEC>;
20410
20411impl PwprS {
20412    #[doc = "PmnPFS Register Write Enable"]
20413    #[inline(always)]
20414    pub fn pfswe(
20415        self,
20416    ) -> crate::common::RegisterField<
20417        6,
20418        0x1,
20419        1,
20420        0,
20421        pwpr_s::Pfswe,
20422        pwpr_s::Pfswe,
20423        PwprS_SPEC,
20424        crate::common::RW,
20425    > {
20426        crate::common::RegisterField::<
20427            6,
20428            0x1,
20429            1,
20430            0,
20431            pwpr_s::Pfswe,
20432            pwpr_s::Pfswe,
20433            PwprS_SPEC,
20434            crate::common::RW,
20435        >::from_register(self, 0)
20436    }
20437
20438    #[doc = "PFSWE Bit Write Disable"]
20439    #[inline(always)]
20440    pub fn b0wi(
20441        self,
20442    ) -> crate::common::RegisterField<
20443        7,
20444        0x1,
20445        1,
20446        0,
20447        pwpr_s::B0Wi,
20448        pwpr_s::B0Wi,
20449        PwprS_SPEC,
20450        crate::common::RW,
20451    > {
20452        crate::common::RegisterField::<
20453            7,
20454            0x1,
20455            1,
20456            0,
20457            pwpr_s::B0Wi,
20458            pwpr_s::B0Wi,
20459            PwprS_SPEC,
20460            crate::common::RW,
20461        >::from_register(self, 0)
20462    }
20463}
20464impl ::core::default::Default for PwprS {
20465    #[inline(always)]
20466    fn default() -> PwprS {
20467        <crate::RegValueT<PwprS_SPEC> as RegisterValue<_>>::new(128)
20468    }
20469}
20470pub mod pwpr_s {
20471
20472    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20473    pub struct Pfswe_SPEC;
20474    pub type Pfswe = crate::EnumBitfieldStruct<u8, Pfswe_SPEC>;
20475    impl Pfswe {
20476        #[doc = "Disable writes to the PmnPFS register"]
20477        pub const _0: Self = Self::new(0);
20478
20479        #[doc = "Enable writes to the PmnPFS register"]
20480        pub const _1: Self = Self::new(1);
20481    }
20482    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20483    pub struct B0Wi_SPEC;
20484    pub type B0Wi = crate::EnumBitfieldStruct<u8, B0Wi_SPEC>;
20485    impl B0Wi {
20486        #[doc = "Enable writes the PFSWE bit"]
20487        pub const _0: Self = Self::new(0);
20488
20489        #[doc = "Disable writes to the PFSWE bit"]
20490        pub const _1: Self = Self::new(1);
20491    }
20492}
20493#[doc(hidden)]
20494#[derive(Copy, Clone, Eq, PartialEq)]
20495pub struct Psar_SPEC;
20496impl crate::sealed::RegSpec for Psar_SPEC {
20497    type DataType = u16;
20498}
20499
20500#[doc = "Port Security Attribution register"]
20501pub type Psar = crate::RegValueT<Psar_SPEC>;
20502
20503impl Psar {
20504    #[doc = "Pmn Security Attribution"]
20505    #[inline(always)]
20506    pub fn pmnsa(
20507        self,
20508    ) -> crate::common::RegisterField<
20509        0,
20510        0xffff,
20511        1,
20512        0,
20513        psar::Pmnsa,
20514        psar::Pmnsa,
20515        Psar_SPEC,
20516        crate::common::RW,
20517    > {
20518        crate::common::RegisterField::<
20519            0,
20520            0xffff,
20521            1,
20522            0,
20523            psar::Pmnsa,
20524            psar::Pmnsa,
20525            Psar_SPEC,
20526            crate::common::RW,
20527        >::from_register(self, 0)
20528    }
20529}
20530impl ::core::default::Default for Psar {
20531    #[inline(always)]
20532    fn default() -> Psar {
20533        <crate::RegValueT<Psar_SPEC> as RegisterValue<_>>::new(0)
20534    }
20535}
20536pub mod psar {
20537
20538    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20539    pub struct Pmnsa_SPEC;
20540    pub type Pmnsa = crate::EnumBitfieldStruct<u8, Pmnsa_SPEC>;
20541    impl Pmnsa {
20542        #[doc = "Secure"]
20543        pub const _0: Self = Self::new(0);
20544
20545        #[doc = "Non Secure"]
20546        pub const _1: Self = Self::new(1);
20547    }
20548}