1#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"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 8,
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
131 #[doc = "Port 00%s Pin Function Select Register"]
132 #[inline(always)]
133 pub const fn p00pfs_ha(
134 &self,
135 ) -> &'static crate::common::ClusterRegisterArray<
136 crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW>,
137 8,
138 0x4,
139 > {
140 unsafe {
141 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x2usize))
142 }
143 }
144 #[inline(always)]
145 pub const fn p000pfs_ha(
146 &self,
147 ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
148 unsafe {
149 crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
150 self._svd2pac_as_ptr().add(0x2usize),
151 )
152 }
153 }
154 #[inline(always)]
155 pub const fn p001pfs_ha(
156 &self,
157 ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
158 unsafe {
159 crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
160 self._svd2pac_as_ptr().add(0x6usize),
161 )
162 }
163 }
164 #[inline(always)]
165 pub const fn p002pfs_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(0xausize),
171 )
172 }
173 }
174 #[inline(always)]
175 pub const fn p003pfs_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(0xeusize),
181 )
182 }
183 }
184 #[inline(always)]
185 pub const fn p004pfs_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(0x12usize),
191 )
192 }
193 }
194 #[inline(always)]
195 pub const fn p005pfs_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(0x16usize),
201 )
202 }
203 }
204 #[inline(always)]
205 pub const fn p006pfs_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(0x1ausize),
211 )
212 }
213 }
214 #[inline(always)]
215 pub const fn p007pfs_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(0x1eusize),
221 )
222 }
223 }
224
225 #[doc = "Port 00%s Pin Function Select Register"]
226 #[inline(always)]
227 pub const fn p00pfs_by(
228 &self,
229 ) -> &'static crate::common::ClusterRegisterArray<
230 crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW>,
231 8,
232 0x4,
233 > {
234 unsafe {
235 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x3usize))
236 }
237 }
238 #[inline(always)]
239 pub const fn p000pfs_by(
240 &self,
241 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
242 unsafe {
243 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
244 self._svd2pac_as_ptr().add(0x3usize),
245 )
246 }
247 }
248 #[inline(always)]
249 pub const fn p001pfs_by(
250 &self,
251 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
252 unsafe {
253 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
254 self._svd2pac_as_ptr().add(0x7usize),
255 )
256 }
257 }
258 #[inline(always)]
259 pub const fn p002pfs_by(
260 &self,
261 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
262 unsafe {
263 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
264 self._svd2pac_as_ptr().add(0xbusize),
265 )
266 }
267 }
268 #[inline(always)]
269 pub const fn p003pfs_by(
270 &self,
271 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
272 unsafe {
273 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
274 self._svd2pac_as_ptr().add(0xfusize),
275 )
276 }
277 }
278 #[inline(always)]
279 pub const fn p004pfs_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(0x13usize),
285 )
286 }
287 }
288 #[inline(always)]
289 pub const fn p005pfs_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(0x17usize),
295 )
296 }
297 }
298 #[inline(always)]
299 pub const fn p006pfs_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(0x1busize),
305 )
306 }
307 }
308 #[inline(always)]
309 pub const fn p007pfs_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(0x1fusize),
315 )
316 }
317 }
318
319 #[doc = "Port 008 Pin Function Select Register"]
320 #[inline(always)]
321 pub const fn p008pfs(
322 &self,
323 ) -> &'static crate::common::Reg<self::P008Pfs_SPEC, crate::common::RW> {
324 unsafe {
325 crate::common::Reg::<self::P008Pfs_SPEC, crate::common::RW>::from_ptr(
326 self._svd2pac_as_ptr().add(32usize),
327 )
328 }
329 }
330
331 #[doc = "Port 008 Pin Function Select Register"]
332 #[inline(always)]
333 pub const fn p008pfs_ha(
334 &self,
335 ) -> &'static crate::common::Reg<self::P008PfsHa_SPEC, crate::common::RW> {
336 unsafe {
337 crate::common::Reg::<self::P008PfsHa_SPEC, crate::common::RW>::from_ptr(
338 self._svd2pac_as_ptr().add(34usize),
339 )
340 }
341 }
342
343 #[doc = "Port 008 Pin Function Select Register"]
344 #[inline(always)]
345 pub const fn p008pfs_by(
346 &self,
347 ) -> &'static crate::common::Reg<self::P008PfsBy_SPEC, crate::common::RW> {
348 unsafe {
349 crate::common::Reg::<self::P008PfsBy_SPEC, crate::common::RW>::from_ptr(
350 self._svd2pac_as_ptr().add(35usize),
351 )
352 }
353 }
354
355 #[doc = "Port 009 Pin Function Select Register"]
356 #[inline(always)]
357 pub const fn p009pfs(
358 &self,
359 ) -> &'static crate::common::Reg<self::P009Pfs_SPEC, crate::common::RW> {
360 unsafe {
361 crate::common::Reg::<self::P009Pfs_SPEC, crate::common::RW>::from_ptr(
362 self._svd2pac_as_ptr().add(36usize),
363 )
364 }
365 }
366
367 #[doc = "Port 009 Pin Function Select Register"]
368 #[inline(always)]
369 pub const fn p009pfs_ha(
370 &self,
371 ) -> &'static crate::common::Reg<self::P009PfsHa_SPEC, crate::common::RW> {
372 unsafe {
373 crate::common::Reg::<self::P009PfsHa_SPEC, crate::common::RW>::from_ptr(
374 self._svd2pac_as_ptr().add(38usize),
375 )
376 }
377 }
378
379 #[doc = "Port 009 Pin Function Select Register"]
380 #[inline(always)]
381 pub const fn p009pfs_by(
382 &self,
383 ) -> &'static crate::common::Reg<self::P009PfsBy_SPEC, crate::common::RW> {
384 unsafe {
385 crate::common::Reg::<self::P009PfsBy_SPEC, crate::common::RW>::from_ptr(
386 self._svd2pac_as_ptr().add(39usize),
387 )
388 }
389 }
390
391 #[doc = "Port 0%s Pin Function Select Register"]
392 #[inline(always)]
393 pub const fn p0pfs(
394 &self,
395 ) -> &'static crate::common::ClusterRegisterArray<
396 crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW>,
397 2,
398 0x4,
399 > {
400 unsafe {
401 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x38usize))
402 }
403 }
404 #[inline(always)]
405 pub const fn p014pfs(
406 &self,
407 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
408 unsafe {
409 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
410 self._svd2pac_as_ptr().add(0x38usize),
411 )
412 }
413 }
414 #[inline(always)]
415 pub const fn p015pfs(
416 &self,
417 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
418 unsafe {
419 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
420 self._svd2pac_as_ptr().add(0x3cusize),
421 )
422 }
423 }
424
425 #[doc = "Port 0%s Pin Function Select Register"]
426 #[inline(always)]
427 pub const fn p0pfs_ha(
428 &self,
429 ) -> &'static crate::common::ClusterRegisterArray<
430 crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW>,
431 2,
432 0x4,
433 > {
434 unsafe {
435 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x3ausize))
436 }
437 }
438 #[inline(always)]
439 pub const fn p014pfs_ha(
440 &self,
441 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
442 unsafe {
443 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
444 self._svd2pac_as_ptr().add(0x3ausize),
445 )
446 }
447 }
448 #[inline(always)]
449 pub const fn p015pfs_ha(
450 &self,
451 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
452 unsafe {
453 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
454 self._svd2pac_as_ptr().add(0x3eusize),
455 )
456 }
457 }
458
459 #[doc = "Port 0%s Pin Function Select Register"]
460 #[inline(always)]
461 pub const fn p0pfs_by(
462 &self,
463 ) -> &'static crate::common::ClusterRegisterArray<
464 crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW>,
465 2,
466 0x4,
467 > {
468 unsafe {
469 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x3busize))
470 }
471 }
472 #[inline(always)]
473 pub const fn p014pfs_by(
474 &self,
475 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
476 unsafe {
477 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
478 self._svd2pac_as_ptr().add(0x3busize),
479 )
480 }
481 }
482 #[inline(always)]
483 pub const fn p015pfs_by(
484 &self,
485 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
486 unsafe {
487 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
488 self._svd2pac_as_ptr().add(0x3fusize),
489 )
490 }
491 }
492
493 #[doc = "Port 10%s Pin Function Select Register"]
494 #[inline(always)]
495 pub const fn p10pfs(
496 &self,
497 ) -> &'static crate::common::ClusterRegisterArray<
498 crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW>,
499 10,
500 0x4,
501 > {
502 unsafe {
503 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x40usize))
504 }
505 }
506 #[inline(always)]
507 pub const fn p100pfs(
508 &self,
509 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
510 unsafe {
511 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
512 self._svd2pac_as_ptr().add(0x40usize),
513 )
514 }
515 }
516 #[inline(always)]
517 pub const fn p101pfs(
518 &self,
519 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
520 unsafe {
521 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
522 self._svd2pac_as_ptr().add(0x44usize),
523 )
524 }
525 }
526 #[inline(always)]
527 pub const fn p102pfs(
528 &self,
529 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
530 unsafe {
531 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
532 self._svd2pac_as_ptr().add(0x48usize),
533 )
534 }
535 }
536 #[inline(always)]
537 pub const fn p103pfs(
538 &self,
539 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
540 unsafe {
541 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
542 self._svd2pac_as_ptr().add(0x4cusize),
543 )
544 }
545 }
546 #[inline(always)]
547 pub const fn p104pfs(
548 &self,
549 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
550 unsafe {
551 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
552 self._svd2pac_as_ptr().add(0x50usize),
553 )
554 }
555 }
556 #[inline(always)]
557 pub const fn p105pfs(
558 &self,
559 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
560 unsafe {
561 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
562 self._svd2pac_as_ptr().add(0x54usize),
563 )
564 }
565 }
566 #[inline(always)]
567 pub const fn p106pfs(
568 &self,
569 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
570 unsafe {
571 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
572 self._svd2pac_as_ptr().add(0x58usize),
573 )
574 }
575 }
576 #[inline(always)]
577 pub const fn p107pfs(
578 &self,
579 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
580 unsafe {
581 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
582 self._svd2pac_as_ptr().add(0x5cusize),
583 )
584 }
585 }
586 #[inline(always)]
587 pub const fn p108pfs(
588 &self,
589 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
590 unsafe {
591 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
592 self._svd2pac_as_ptr().add(0x60usize),
593 )
594 }
595 }
596 #[inline(always)]
597 pub const fn p109pfs(
598 &self,
599 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
600 unsafe {
601 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
602 self._svd2pac_as_ptr().add(0x64usize),
603 )
604 }
605 }
606
607 #[doc = "Port 10%s Pin Function Select Register"]
608 #[inline(always)]
609 pub const fn p10pfs_ha(
610 &self,
611 ) -> &'static crate::common::ClusterRegisterArray<
612 crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW>,
613 10,
614 0x4,
615 > {
616 unsafe {
617 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x42usize))
618 }
619 }
620 #[inline(always)]
621 pub const fn p100pfs_ha(
622 &self,
623 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
624 unsafe {
625 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
626 self._svd2pac_as_ptr().add(0x42usize),
627 )
628 }
629 }
630 #[inline(always)]
631 pub const fn p101pfs_ha(
632 &self,
633 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
634 unsafe {
635 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
636 self._svd2pac_as_ptr().add(0x46usize),
637 )
638 }
639 }
640 #[inline(always)]
641 pub const fn p102pfs_ha(
642 &self,
643 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
644 unsafe {
645 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
646 self._svd2pac_as_ptr().add(0x4ausize),
647 )
648 }
649 }
650 #[inline(always)]
651 pub const fn p103pfs_ha(
652 &self,
653 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
654 unsafe {
655 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
656 self._svd2pac_as_ptr().add(0x4eusize),
657 )
658 }
659 }
660 #[inline(always)]
661 pub const fn p104pfs_ha(
662 &self,
663 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
664 unsafe {
665 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
666 self._svd2pac_as_ptr().add(0x52usize),
667 )
668 }
669 }
670 #[inline(always)]
671 pub const fn p105pfs_ha(
672 &self,
673 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
674 unsafe {
675 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
676 self._svd2pac_as_ptr().add(0x56usize),
677 )
678 }
679 }
680 #[inline(always)]
681 pub const fn p106pfs_ha(
682 &self,
683 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
684 unsafe {
685 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
686 self._svd2pac_as_ptr().add(0x5ausize),
687 )
688 }
689 }
690 #[inline(always)]
691 pub const fn p107pfs_ha(
692 &self,
693 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
694 unsafe {
695 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
696 self._svd2pac_as_ptr().add(0x5eusize),
697 )
698 }
699 }
700 #[inline(always)]
701 pub const fn p108pfs_ha(
702 &self,
703 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
704 unsafe {
705 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
706 self._svd2pac_as_ptr().add(0x62usize),
707 )
708 }
709 }
710 #[inline(always)]
711 pub const fn p109pfs_ha(
712 &self,
713 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
714 unsafe {
715 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
716 self._svd2pac_as_ptr().add(0x66usize),
717 )
718 }
719 }
720
721 #[doc = "Port 10%s Pin Function Select Register"]
722 #[inline(always)]
723 pub const fn p10pfs_by(
724 &self,
725 ) -> &'static crate::common::ClusterRegisterArray<
726 crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW>,
727 10,
728 0x4,
729 > {
730 unsafe {
731 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x43usize))
732 }
733 }
734 #[inline(always)]
735 pub const fn p100pfs_by(
736 &self,
737 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
738 unsafe {
739 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
740 self._svd2pac_as_ptr().add(0x43usize),
741 )
742 }
743 }
744 #[inline(always)]
745 pub const fn p101pfs_by(
746 &self,
747 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
748 unsafe {
749 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
750 self._svd2pac_as_ptr().add(0x47usize),
751 )
752 }
753 }
754 #[inline(always)]
755 pub const fn p102pfs_by(
756 &self,
757 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
758 unsafe {
759 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
760 self._svd2pac_as_ptr().add(0x4busize),
761 )
762 }
763 }
764 #[inline(always)]
765 pub const fn p103pfs_by(
766 &self,
767 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
768 unsafe {
769 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
770 self._svd2pac_as_ptr().add(0x4fusize),
771 )
772 }
773 }
774 #[inline(always)]
775 pub const fn p104pfs_by(
776 &self,
777 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
778 unsafe {
779 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
780 self._svd2pac_as_ptr().add(0x53usize),
781 )
782 }
783 }
784 #[inline(always)]
785 pub const fn p105pfs_by(
786 &self,
787 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
788 unsafe {
789 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
790 self._svd2pac_as_ptr().add(0x57usize),
791 )
792 }
793 }
794 #[inline(always)]
795 pub const fn p106pfs_by(
796 &self,
797 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
798 unsafe {
799 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
800 self._svd2pac_as_ptr().add(0x5busize),
801 )
802 }
803 }
804 #[inline(always)]
805 pub const fn p107pfs_by(
806 &self,
807 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
808 unsafe {
809 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
810 self._svd2pac_as_ptr().add(0x5fusize),
811 )
812 }
813 }
814 #[inline(always)]
815 pub const fn p108pfs_by(
816 &self,
817 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
818 unsafe {
819 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
820 self._svd2pac_as_ptr().add(0x63usize),
821 )
822 }
823 }
824 #[inline(always)]
825 pub const fn p109pfs_by(
826 &self,
827 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
828 unsafe {
829 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
830 self._svd2pac_as_ptr().add(0x67usize),
831 )
832 }
833 }
834
835 #[doc = "Port 1%s Pin Function Select Register"]
836 #[inline(always)]
837 pub const fn p1pfs(
838 &self,
839 ) -> &'static crate::common::ClusterRegisterArray<
840 crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW>,
841 6,
842 0x4,
843 > {
844 unsafe {
845 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x68usize))
846 }
847 }
848 #[inline(always)]
849 pub const fn p110pfs(
850 &self,
851 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
852 unsafe {
853 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
854 self._svd2pac_as_ptr().add(0x68usize),
855 )
856 }
857 }
858 #[inline(always)]
859 pub const fn p111pfs(
860 &self,
861 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
862 unsafe {
863 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
864 self._svd2pac_as_ptr().add(0x6cusize),
865 )
866 }
867 }
868 #[inline(always)]
869 pub const fn p112pfs(
870 &self,
871 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
872 unsafe {
873 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
874 self._svd2pac_as_ptr().add(0x70usize),
875 )
876 }
877 }
878 #[inline(always)]
879 pub const fn p113pfs(
880 &self,
881 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
882 unsafe {
883 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
884 self._svd2pac_as_ptr().add(0x74usize),
885 )
886 }
887 }
888 #[inline(always)]
889 pub const fn p114pfs(
890 &self,
891 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
892 unsafe {
893 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
894 self._svd2pac_as_ptr().add(0x78usize),
895 )
896 }
897 }
898 #[inline(always)]
899 pub const fn p115pfs(
900 &self,
901 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
902 unsafe {
903 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
904 self._svd2pac_as_ptr().add(0x7cusize),
905 )
906 }
907 }
908
909 #[doc = "Port 1%s Pin Function Select Register"]
910 #[inline(always)]
911 pub const fn p1pfs_ha(
912 &self,
913 ) -> &'static crate::common::ClusterRegisterArray<
914 crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW>,
915 6,
916 0x4,
917 > {
918 unsafe {
919 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x6ausize))
920 }
921 }
922 #[inline(always)]
923 pub const fn p110pfs_ha(
924 &self,
925 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
926 unsafe {
927 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
928 self._svd2pac_as_ptr().add(0x6ausize),
929 )
930 }
931 }
932 #[inline(always)]
933 pub const fn p111pfs_ha(
934 &self,
935 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
936 unsafe {
937 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
938 self._svd2pac_as_ptr().add(0x6eusize),
939 )
940 }
941 }
942 #[inline(always)]
943 pub const fn p112pfs_ha(
944 &self,
945 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
946 unsafe {
947 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
948 self._svd2pac_as_ptr().add(0x72usize),
949 )
950 }
951 }
952 #[inline(always)]
953 pub const fn p113pfs_ha(
954 &self,
955 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
956 unsafe {
957 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
958 self._svd2pac_as_ptr().add(0x76usize),
959 )
960 }
961 }
962 #[inline(always)]
963 pub const fn p114pfs_ha(
964 &self,
965 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
966 unsafe {
967 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
968 self._svd2pac_as_ptr().add(0x7ausize),
969 )
970 }
971 }
972 #[inline(always)]
973 pub const fn p115pfs_ha(
974 &self,
975 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
976 unsafe {
977 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
978 self._svd2pac_as_ptr().add(0x7eusize),
979 )
980 }
981 }
982
983 #[doc = "Port 1%s Pin Function Select Register"]
984 #[inline(always)]
985 pub const fn p1pfs_by(
986 &self,
987 ) -> &'static crate::common::ClusterRegisterArray<
988 crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW>,
989 6,
990 0x4,
991 > {
992 unsafe {
993 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x6busize))
994 }
995 }
996 #[inline(always)]
997 pub const fn p110pfs_by(
998 &self,
999 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1000 unsafe {
1001 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1002 self._svd2pac_as_ptr().add(0x6busize),
1003 )
1004 }
1005 }
1006 #[inline(always)]
1007 pub const fn p111pfs_by(
1008 &self,
1009 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1010 unsafe {
1011 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1012 self._svd2pac_as_ptr().add(0x6fusize),
1013 )
1014 }
1015 }
1016 #[inline(always)]
1017 pub const fn p112pfs_by(
1018 &self,
1019 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1020 unsafe {
1021 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1022 self._svd2pac_as_ptr().add(0x73usize),
1023 )
1024 }
1025 }
1026 #[inline(always)]
1027 pub const fn p113pfs_by(
1028 &self,
1029 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1030 unsafe {
1031 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1032 self._svd2pac_as_ptr().add(0x77usize),
1033 )
1034 }
1035 }
1036 #[inline(always)]
1037 pub const fn p114pfs_by(
1038 &self,
1039 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1040 unsafe {
1041 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1042 self._svd2pac_as_ptr().add(0x7busize),
1043 )
1044 }
1045 }
1046 #[inline(always)]
1047 pub const fn p115pfs_by(
1048 &self,
1049 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1050 unsafe {
1051 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1052 self._svd2pac_as_ptr().add(0x7fusize),
1053 )
1054 }
1055 }
1056
1057 #[doc = "Port 200 Pin Function Select Register"]
1058 #[inline(always)]
1059 pub const fn p200pfs(
1060 &self,
1061 ) -> &'static crate::common::Reg<self::P200Pfs_SPEC, crate::common::RW> {
1062 unsafe {
1063 crate::common::Reg::<self::P200Pfs_SPEC, crate::common::RW>::from_ptr(
1064 self._svd2pac_as_ptr().add(128usize),
1065 )
1066 }
1067 }
1068
1069 #[doc = "Port 200 Pin Function Select Register"]
1070 #[inline(always)]
1071 pub const fn p200pfs_ha(
1072 &self,
1073 ) -> &'static crate::common::Reg<self::P200PfsHa_SPEC, crate::common::RW> {
1074 unsafe {
1075 crate::common::Reg::<self::P200PfsHa_SPEC, crate::common::RW>::from_ptr(
1076 self._svd2pac_as_ptr().add(130usize),
1077 )
1078 }
1079 }
1080
1081 #[doc = "Port 200 Pin Function Select Register"]
1082 #[inline(always)]
1083 pub const fn p200pfs_by(
1084 &self,
1085 ) -> &'static crate::common::Reg<self::P200PfsBy_SPEC, crate::common::RW> {
1086 unsafe {
1087 crate::common::Reg::<self::P200PfsBy_SPEC, crate::common::RW>::from_ptr(
1088 self._svd2pac_as_ptr().add(131usize),
1089 )
1090 }
1091 }
1092
1093 #[doc = "Port 201 Pin Function Select Register"]
1094 #[inline(always)]
1095 pub const fn p201pfs(
1096 &self,
1097 ) -> &'static crate::common::Reg<self::P201Pfs_SPEC, crate::common::RW> {
1098 unsafe {
1099 crate::common::Reg::<self::P201Pfs_SPEC, crate::common::RW>::from_ptr(
1100 self._svd2pac_as_ptr().add(132usize),
1101 )
1102 }
1103 }
1104
1105 #[doc = "Port 201 Pin Function Select Register"]
1106 #[inline(always)]
1107 pub const fn p201pfs_ha(
1108 &self,
1109 ) -> &'static crate::common::Reg<self::P201PfsHa_SPEC, crate::common::RW> {
1110 unsafe {
1111 crate::common::Reg::<self::P201PfsHa_SPEC, crate::common::RW>::from_ptr(
1112 self._svd2pac_as_ptr().add(134usize),
1113 )
1114 }
1115 }
1116
1117 #[doc = "Port 201 Pin Function Select Register"]
1118 #[inline(always)]
1119 pub const fn p201pfs_by(
1120 &self,
1121 ) -> &'static crate::common::Reg<self::P201PfsBy_SPEC, crate::common::RW> {
1122 unsafe {
1123 crate::common::Reg::<self::P201PfsBy_SPEC, crate::common::RW>::from_ptr(
1124 self._svd2pac_as_ptr().add(135usize),
1125 )
1126 }
1127 }
1128
1129 #[doc = "Port 20%s Pin Function Select Register"]
1130 #[inline(always)]
1131 pub const fn p20pfs(
1132 &self,
1133 ) -> &'static crate::common::ClusterRegisterArray<
1134 crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW>,
1135 8,
1136 0x4,
1137 > {
1138 unsafe {
1139 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x88usize))
1140 }
1141 }
1142 #[inline(always)]
1143 pub const fn p202pfs(
1144 &self,
1145 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1146 unsafe {
1147 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1148 self._svd2pac_as_ptr().add(0x88usize),
1149 )
1150 }
1151 }
1152 #[inline(always)]
1153 pub const fn p203pfs(
1154 &self,
1155 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1156 unsafe {
1157 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1158 self._svd2pac_as_ptr().add(0x8cusize),
1159 )
1160 }
1161 }
1162 #[inline(always)]
1163 pub const fn p204pfs(
1164 &self,
1165 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1166 unsafe {
1167 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1168 self._svd2pac_as_ptr().add(0x90usize),
1169 )
1170 }
1171 }
1172 #[inline(always)]
1173 pub const fn p205pfs(
1174 &self,
1175 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1176 unsafe {
1177 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1178 self._svd2pac_as_ptr().add(0x94usize),
1179 )
1180 }
1181 }
1182 #[inline(always)]
1183 pub const fn p206pfs(
1184 &self,
1185 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1186 unsafe {
1187 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1188 self._svd2pac_as_ptr().add(0x98usize),
1189 )
1190 }
1191 }
1192 #[inline(always)]
1193 pub const fn p207pfs(
1194 &self,
1195 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1196 unsafe {
1197 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1198 self._svd2pac_as_ptr().add(0x9cusize),
1199 )
1200 }
1201 }
1202 #[inline(always)]
1203 pub const fn p208pfs(
1204 &self,
1205 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1206 unsafe {
1207 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1208 self._svd2pac_as_ptr().add(0xa0usize),
1209 )
1210 }
1211 }
1212 #[inline(always)]
1213 pub const fn p209pfs(
1214 &self,
1215 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1216 unsafe {
1217 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1218 self._svd2pac_as_ptr().add(0xa4usize),
1219 )
1220 }
1221 }
1222
1223 #[doc = "Port 20%s Pin Function Select Register"]
1224 #[inline(always)]
1225 pub const fn p20pfs_ha(
1226 &self,
1227 ) -> &'static crate::common::ClusterRegisterArray<
1228 crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW>,
1229 8,
1230 0x4,
1231 > {
1232 unsafe {
1233 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x8ausize))
1234 }
1235 }
1236 #[inline(always)]
1237 pub const fn p202pfs_ha(
1238 &self,
1239 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1240 unsafe {
1241 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1242 self._svd2pac_as_ptr().add(0x8ausize),
1243 )
1244 }
1245 }
1246 #[inline(always)]
1247 pub const fn p203pfs_ha(
1248 &self,
1249 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1250 unsafe {
1251 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1252 self._svd2pac_as_ptr().add(0x8eusize),
1253 )
1254 }
1255 }
1256 #[inline(always)]
1257 pub const fn p204pfs_ha(
1258 &self,
1259 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1260 unsafe {
1261 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1262 self._svd2pac_as_ptr().add(0x92usize),
1263 )
1264 }
1265 }
1266 #[inline(always)]
1267 pub const fn p205pfs_ha(
1268 &self,
1269 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1270 unsafe {
1271 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1272 self._svd2pac_as_ptr().add(0x96usize),
1273 )
1274 }
1275 }
1276 #[inline(always)]
1277 pub const fn p206pfs_ha(
1278 &self,
1279 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1280 unsafe {
1281 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1282 self._svd2pac_as_ptr().add(0x9ausize),
1283 )
1284 }
1285 }
1286 #[inline(always)]
1287 pub const fn p207pfs_ha(
1288 &self,
1289 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1290 unsafe {
1291 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1292 self._svd2pac_as_ptr().add(0x9eusize),
1293 )
1294 }
1295 }
1296 #[inline(always)]
1297 pub const fn p208pfs_ha(
1298 &self,
1299 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1300 unsafe {
1301 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1302 self._svd2pac_as_ptr().add(0xa2usize),
1303 )
1304 }
1305 }
1306 #[inline(always)]
1307 pub const fn p209pfs_ha(
1308 &self,
1309 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1310 unsafe {
1311 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1312 self._svd2pac_as_ptr().add(0xa6usize),
1313 )
1314 }
1315 }
1316
1317 #[doc = "Port 20%s Pin Function Select Register"]
1318 #[inline(always)]
1319 pub const fn p20pfs_by(
1320 &self,
1321 ) -> &'static crate::common::ClusterRegisterArray<
1322 crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW>,
1323 8,
1324 0x4,
1325 > {
1326 unsafe {
1327 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x8busize))
1328 }
1329 }
1330 #[inline(always)]
1331 pub const fn p202pfs_by(
1332 &self,
1333 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1334 unsafe {
1335 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1336 self._svd2pac_as_ptr().add(0x8busize),
1337 )
1338 }
1339 }
1340 #[inline(always)]
1341 pub const fn p203pfs_by(
1342 &self,
1343 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1344 unsafe {
1345 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1346 self._svd2pac_as_ptr().add(0x8fusize),
1347 )
1348 }
1349 }
1350 #[inline(always)]
1351 pub const fn p204pfs_by(
1352 &self,
1353 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1354 unsafe {
1355 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1356 self._svd2pac_as_ptr().add(0x93usize),
1357 )
1358 }
1359 }
1360 #[inline(always)]
1361 pub const fn p205pfs_by(
1362 &self,
1363 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1364 unsafe {
1365 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1366 self._svd2pac_as_ptr().add(0x97usize),
1367 )
1368 }
1369 }
1370 #[inline(always)]
1371 pub const fn p206pfs_by(
1372 &self,
1373 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1374 unsafe {
1375 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1376 self._svd2pac_as_ptr().add(0x9busize),
1377 )
1378 }
1379 }
1380 #[inline(always)]
1381 pub const fn p207pfs_by(
1382 &self,
1383 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1384 unsafe {
1385 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1386 self._svd2pac_as_ptr().add(0x9fusize),
1387 )
1388 }
1389 }
1390 #[inline(always)]
1391 pub const fn p208pfs_by(
1392 &self,
1393 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1394 unsafe {
1395 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1396 self._svd2pac_as_ptr().add(0xa3usize),
1397 )
1398 }
1399 }
1400 #[inline(always)]
1401 pub const fn p209pfs_by(
1402 &self,
1403 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1404 unsafe {
1405 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1406 self._svd2pac_as_ptr().add(0xa7usize),
1407 )
1408 }
1409 }
1410
1411 #[doc = "Port 2%s Pin Function Select Register"]
1412 #[inline(always)]
1413 pub const fn p2pfs(
1414 &self,
1415 ) -> &'static crate::common::ClusterRegisterArray<
1416 crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW>,
1417 5,
1418 0x4,
1419 > {
1420 unsafe {
1421 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xa8usize))
1422 }
1423 }
1424 #[inline(always)]
1425 pub const fn p210pfs(
1426 &self,
1427 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1428 unsafe {
1429 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1430 self._svd2pac_as_ptr().add(0xa8usize),
1431 )
1432 }
1433 }
1434 #[inline(always)]
1435 pub const fn p211pfs(
1436 &self,
1437 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1438 unsafe {
1439 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1440 self._svd2pac_as_ptr().add(0xacusize),
1441 )
1442 }
1443 }
1444 #[inline(always)]
1445 pub const fn p212pfs(
1446 &self,
1447 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1448 unsafe {
1449 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1450 self._svd2pac_as_ptr().add(0xb0usize),
1451 )
1452 }
1453 }
1454 #[inline(always)]
1455 pub const fn p213pfs(
1456 &self,
1457 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1458 unsafe {
1459 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1460 self._svd2pac_as_ptr().add(0xb4usize),
1461 )
1462 }
1463 }
1464 #[inline(always)]
1465 pub const fn p214pfs(
1466 &self,
1467 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1468 unsafe {
1469 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1470 self._svd2pac_as_ptr().add(0xb8usize),
1471 )
1472 }
1473 }
1474
1475 #[doc = "Port 2%s Pin Function Select Register"]
1476 #[inline(always)]
1477 pub const fn p2pfs_ha(
1478 &self,
1479 ) -> &'static crate::common::ClusterRegisterArray<
1480 crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW>,
1481 5,
1482 0x4,
1483 > {
1484 unsafe {
1485 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xaausize))
1486 }
1487 }
1488 #[inline(always)]
1489 pub const fn p210pfs_ha(
1490 &self,
1491 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1492 unsafe {
1493 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1494 self._svd2pac_as_ptr().add(0xaausize),
1495 )
1496 }
1497 }
1498 #[inline(always)]
1499 pub const fn p211pfs_ha(
1500 &self,
1501 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1502 unsafe {
1503 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1504 self._svd2pac_as_ptr().add(0xaeusize),
1505 )
1506 }
1507 }
1508 #[inline(always)]
1509 pub const fn p212pfs_ha(
1510 &self,
1511 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1512 unsafe {
1513 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1514 self._svd2pac_as_ptr().add(0xb2usize),
1515 )
1516 }
1517 }
1518 #[inline(always)]
1519 pub const fn p213pfs_ha(
1520 &self,
1521 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1522 unsafe {
1523 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1524 self._svd2pac_as_ptr().add(0xb6usize),
1525 )
1526 }
1527 }
1528 #[inline(always)]
1529 pub const fn p214pfs_ha(
1530 &self,
1531 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1532 unsafe {
1533 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1534 self._svd2pac_as_ptr().add(0xbausize),
1535 )
1536 }
1537 }
1538
1539 #[doc = "Port 2%s Pin Function Select Register"]
1540 #[inline(always)]
1541 pub const fn p2pfs_by(
1542 &self,
1543 ) -> &'static crate::common::ClusterRegisterArray<
1544 crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW>,
1545 5,
1546 0x4,
1547 > {
1548 unsafe {
1549 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xabusize))
1550 }
1551 }
1552 #[inline(always)]
1553 pub const fn p210pfs_by(
1554 &self,
1555 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1556 unsafe {
1557 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1558 self._svd2pac_as_ptr().add(0xabusize),
1559 )
1560 }
1561 }
1562 #[inline(always)]
1563 pub const fn p211pfs_by(
1564 &self,
1565 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1566 unsafe {
1567 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1568 self._svd2pac_as_ptr().add(0xafusize),
1569 )
1570 }
1571 }
1572 #[inline(always)]
1573 pub const fn p212pfs_by(
1574 &self,
1575 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1576 unsafe {
1577 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1578 self._svd2pac_as_ptr().add(0xb3usize),
1579 )
1580 }
1581 }
1582 #[inline(always)]
1583 pub const fn p213pfs_by(
1584 &self,
1585 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1586 unsafe {
1587 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1588 self._svd2pac_as_ptr().add(0xb7usize),
1589 )
1590 }
1591 }
1592 #[inline(always)]
1593 pub const fn p214pfs_by(
1594 &self,
1595 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1596 unsafe {
1597 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1598 self._svd2pac_as_ptr().add(0xbbusize),
1599 )
1600 }
1601 }
1602
1603 #[doc = "Port 300 Pin Function Select Register"]
1604 #[inline(always)]
1605 pub const fn p300pfs(
1606 &self,
1607 ) -> &'static crate::common::Reg<self::P300Pfs_SPEC, crate::common::RW> {
1608 unsafe {
1609 crate::common::Reg::<self::P300Pfs_SPEC, crate::common::RW>::from_ptr(
1610 self._svd2pac_as_ptr().add(192usize),
1611 )
1612 }
1613 }
1614
1615 #[doc = "Port 300 Pin Function Select Register"]
1616 #[inline(always)]
1617 pub const fn p300pfs_ha(
1618 &self,
1619 ) -> &'static crate::common::Reg<self::P300PfsHa_SPEC, crate::common::RW> {
1620 unsafe {
1621 crate::common::Reg::<self::P300PfsHa_SPEC, crate::common::RW>::from_ptr(
1622 self._svd2pac_as_ptr().add(194usize),
1623 )
1624 }
1625 }
1626
1627 #[doc = "Port 300 Pin Function Select Register"]
1628 #[inline(always)]
1629 pub const fn p300pfs_by(
1630 &self,
1631 ) -> &'static crate::common::Reg<self::P300PfsBy_SPEC, crate::common::RW> {
1632 unsafe {
1633 crate::common::Reg::<self::P300PfsBy_SPEC, crate::common::RW>::from_ptr(
1634 self._svd2pac_as_ptr().add(195usize),
1635 )
1636 }
1637 }
1638
1639 #[doc = "Port 30%s Pin Function Select Register"]
1640 #[inline(always)]
1641 pub const fn p30pfs(
1642 &self,
1643 ) -> &'static crate::common::ClusterRegisterArray<
1644 crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW>,
1645 9,
1646 0x4,
1647 > {
1648 unsafe {
1649 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc4usize))
1650 }
1651 }
1652 #[inline(always)]
1653 pub const fn p301pfs(
1654 &self,
1655 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1656 unsafe {
1657 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1658 self._svd2pac_as_ptr().add(0xc4usize),
1659 )
1660 }
1661 }
1662 #[inline(always)]
1663 pub const fn p302pfs(
1664 &self,
1665 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1666 unsafe {
1667 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1668 self._svd2pac_as_ptr().add(0xc8usize),
1669 )
1670 }
1671 }
1672 #[inline(always)]
1673 pub const fn p303pfs(
1674 &self,
1675 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1676 unsafe {
1677 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1678 self._svd2pac_as_ptr().add(0xccusize),
1679 )
1680 }
1681 }
1682 #[inline(always)]
1683 pub const fn p304pfs(
1684 &self,
1685 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1686 unsafe {
1687 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1688 self._svd2pac_as_ptr().add(0xd0usize),
1689 )
1690 }
1691 }
1692 #[inline(always)]
1693 pub const fn p305pfs(
1694 &self,
1695 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1696 unsafe {
1697 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1698 self._svd2pac_as_ptr().add(0xd4usize),
1699 )
1700 }
1701 }
1702 #[inline(always)]
1703 pub const fn p306pfs(
1704 &self,
1705 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1706 unsafe {
1707 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1708 self._svd2pac_as_ptr().add(0xd8usize),
1709 )
1710 }
1711 }
1712 #[inline(always)]
1713 pub const fn p307pfs(
1714 &self,
1715 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1716 unsafe {
1717 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1718 self._svd2pac_as_ptr().add(0xdcusize),
1719 )
1720 }
1721 }
1722 #[inline(always)]
1723 pub const fn p308pfs(
1724 &self,
1725 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1726 unsafe {
1727 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1728 self._svd2pac_as_ptr().add(0xe0usize),
1729 )
1730 }
1731 }
1732 #[inline(always)]
1733 pub const fn p309pfs(
1734 &self,
1735 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1736 unsafe {
1737 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1738 self._svd2pac_as_ptr().add(0xe4usize),
1739 )
1740 }
1741 }
1742
1743 #[doc = "Port 30%s Pin Function Select Register"]
1744 #[inline(always)]
1745 pub const fn p30pfs_ha(
1746 &self,
1747 ) -> &'static crate::common::ClusterRegisterArray<
1748 crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW>,
1749 9,
1750 0x4,
1751 > {
1752 unsafe {
1753 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc6usize))
1754 }
1755 }
1756 #[inline(always)]
1757 pub const fn p301pfs_ha(
1758 &self,
1759 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1760 unsafe {
1761 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1762 self._svd2pac_as_ptr().add(0xc6usize),
1763 )
1764 }
1765 }
1766 #[inline(always)]
1767 pub const fn p302pfs_ha(
1768 &self,
1769 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1770 unsafe {
1771 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1772 self._svd2pac_as_ptr().add(0xcausize),
1773 )
1774 }
1775 }
1776 #[inline(always)]
1777 pub const fn p303pfs_ha(
1778 &self,
1779 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1780 unsafe {
1781 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1782 self._svd2pac_as_ptr().add(0xceusize),
1783 )
1784 }
1785 }
1786 #[inline(always)]
1787 pub const fn p304pfs_ha(
1788 &self,
1789 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1790 unsafe {
1791 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1792 self._svd2pac_as_ptr().add(0xd2usize),
1793 )
1794 }
1795 }
1796 #[inline(always)]
1797 pub const fn p305pfs_ha(
1798 &self,
1799 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1800 unsafe {
1801 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1802 self._svd2pac_as_ptr().add(0xd6usize),
1803 )
1804 }
1805 }
1806 #[inline(always)]
1807 pub const fn p306pfs_ha(
1808 &self,
1809 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1810 unsafe {
1811 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1812 self._svd2pac_as_ptr().add(0xdausize),
1813 )
1814 }
1815 }
1816 #[inline(always)]
1817 pub const fn p307pfs_ha(
1818 &self,
1819 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1820 unsafe {
1821 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1822 self._svd2pac_as_ptr().add(0xdeusize),
1823 )
1824 }
1825 }
1826 #[inline(always)]
1827 pub const fn p308pfs_ha(
1828 &self,
1829 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1830 unsafe {
1831 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1832 self._svd2pac_as_ptr().add(0xe2usize),
1833 )
1834 }
1835 }
1836 #[inline(always)]
1837 pub const fn p309pfs_ha(
1838 &self,
1839 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1840 unsafe {
1841 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1842 self._svd2pac_as_ptr().add(0xe6usize),
1843 )
1844 }
1845 }
1846
1847 #[doc = "Port 30%s Pin Function Select Register"]
1848 #[inline(always)]
1849 pub const fn p30pfs_by(
1850 &self,
1851 ) -> &'static crate::common::ClusterRegisterArray<
1852 crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW>,
1853 9,
1854 0x4,
1855 > {
1856 unsafe {
1857 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc7usize))
1858 }
1859 }
1860 #[inline(always)]
1861 pub const fn p301pfs_by(
1862 &self,
1863 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1864 unsafe {
1865 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1866 self._svd2pac_as_ptr().add(0xc7usize),
1867 )
1868 }
1869 }
1870 #[inline(always)]
1871 pub const fn p302pfs_by(
1872 &self,
1873 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1874 unsafe {
1875 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1876 self._svd2pac_as_ptr().add(0xcbusize),
1877 )
1878 }
1879 }
1880 #[inline(always)]
1881 pub const fn p303pfs_by(
1882 &self,
1883 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1884 unsafe {
1885 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1886 self._svd2pac_as_ptr().add(0xcfusize),
1887 )
1888 }
1889 }
1890 #[inline(always)]
1891 pub const fn p304pfs_by(
1892 &self,
1893 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1894 unsafe {
1895 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1896 self._svd2pac_as_ptr().add(0xd3usize),
1897 )
1898 }
1899 }
1900 #[inline(always)]
1901 pub const fn p305pfs_by(
1902 &self,
1903 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1904 unsafe {
1905 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1906 self._svd2pac_as_ptr().add(0xd7usize),
1907 )
1908 }
1909 }
1910 #[inline(always)]
1911 pub const fn p306pfs_by(
1912 &self,
1913 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1914 unsafe {
1915 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1916 self._svd2pac_as_ptr().add(0xdbusize),
1917 )
1918 }
1919 }
1920 #[inline(always)]
1921 pub const fn p307pfs_by(
1922 &self,
1923 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1924 unsafe {
1925 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1926 self._svd2pac_as_ptr().add(0xdfusize),
1927 )
1928 }
1929 }
1930 #[inline(always)]
1931 pub const fn p308pfs_by(
1932 &self,
1933 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1934 unsafe {
1935 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1936 self._svd2pac_as_ptr().add(0xe3usize),
1937 )
1938 }
1939 }
1940 #[inline(always)]
1941 pub const fn p309pfs_by(
1942 &self,
1943 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1944 unsafe {
1945 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1946 self._svd2pac_as_ptr().add(0xe7usize),
1947 )
1948 }
1949 }
1950
1951 #[doc = "Port 3%s Pin Function Select Register"]
1952 #[inline(always)]
1953 pub const fn p3pfs(
1954 &self,
1955 ) -> &'static crate::common::ClusterRegisterArray<
1956 crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW>,
1957 4,
1958 0x4,
1959 > {
1960 unsafe {
1961 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xe8usize))
1962 }
1963 }
1964 #[inline(always)]
1965 pub const fn p310pfs(
1966 &self,
1967 ) -> &'static crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW> {
1968 unsafe {
1969 crate::common::Reg::<self::P3Pfs_SPEC, crate::common::RW>::from_ptr(
1970 self._svd2pac_as_ptr().add(0xe8usize),
1971 )
1972 }
1973 }
1974 #[inline(always)]
1975 pub const fn p311pfs(
1976 &self,
1977 ) -> &'static crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW> {
1978 unsafe {
1979 crate::common::Reg::<self::P3Pfs_SPEC, crate::common::RW>::from_ptr(
1980 self._svd2pac_as_ptr().add(0xecusize),
1981 )
1982 }
1983 }
1984 #[inline(always)]
1985 pub const fn p312pfs(
1986 &self,
1987 ) -> &'static crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW> {
1988 unsafe {
1989 crate::common::Reg::<self::P3Pfs_SPEC, crate::common::RW>::from_ptr(
1990 self._svd2pac_as_ptr().add(0xf0usize),
1991 )
1992 }
1993 }
1994 #[inline(always)]
1995 pub const fn p313pfs(
1996 &self,
1997 ) -> &'static crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW> {
1998 unsafe {
1999 crate::common::Reg::<self::P3Pfs_SPEC, crate::common::RW>::from_ptr(
2000 self._svd2pac_as_ptr().add(0xf4usize),
2001 )
2002 }
2003 }
2004
2005 #[doc = "Port 3%s Pin Function Select Register"]
2006 #[inline(always)]
2007 pub const fn p3pfs_ha(
2008 &self,
2009 ) -> &'static crate::common::ClusterRegisterArray<
2010 crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW>,
2011 4,
2012 0x4,
2013 > {
2014 unsafe {
2015 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xeausize))
2016 }
2017 }
2018 #[inline(always)]
2019 pub const fn p310pfs_ha(
2020 &self,
2021 ) -> &'static crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW> {
2022 unsafe {
2023 crate::common::Reg::<self::P3PfsHa_SPEC, crate::common::RW>::from_ptr(
2024 self._svd2pac_as_ptr().add(0xeausize),
2025 )
2026 }
2027 }
2028 #[inline(always)]
2029 pub const fn p311pfs_ha(
2030 &self,
2031 ) -> &'static crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW> {
2032 unsafe {
2033 crate::common::Reg::<self::P3PfsHa_SPEC, crate::common::RW>::from_ptr(
2034 self._svd2pac_as_ptr().add(0xeeusize),
2035 )
2036 }
2037 }
2038 #[inline(always)]
2039 pub const fn p312pfs_ha(
2040 &self,
2041 ) -> &'static crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW> {
2042 unsafe {
2043 crate::common::Reg::<self::P3PfsHa_SPEC, crate::common::RW>::from_ptr(
2044 self._svd2pac_as_ptr().add(0xf2usize),
2045 )
2046 }
2047 }
2048 #[inline(always)]
2049 pub const fn p313pfs_ha(
2050 &self,
2051 ) -> &'static crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW> {
2052 unsafe {
2053 crate::common::Reg::<self::P3PfsHa_SPEC, crate::common::RW>::from_ptr(
2054 self._svd2pac_as_ptr().add(0xf6usize),
2055 )
2056 }
2057 }
2058
2059 #[doc = "Port 3%s Pin Function Select Register"]
2060 #[inline(always)]
2061 pub const fn p3pfs_by(
2062 &self,
2063 ) -> &'static crate::common::ClusterRegisterArray<
2064 crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW>,
2065 4,
2066 0x4,
2067 > {
2068 unsafe {
2069 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xebusize))
2070 }
2071 }
2072 #[inline(always)]
2073 pub const fn p310pfs_by(
2074 &self,
2075 ) -> &'static crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW> {
2076 unsafe {
2077 crate::common::Reg::<self::P3PfsBy_SPEC, crate::common::RW>::from_ptr(
2078 self._svd2pac_as_ptr().add(0xebusize),
2079 )
2080 }
2081 }
2082 #[inline(always)]
2083 pub const fn p311pfs_by(
2084 &self,
2085 ) -> &'static crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW> {
2086 unsafe {
2087 crate::common::Reg::<self::P3PfsBy_SPEC, crate::common::RW>::from_ptr(
2088 self._svd2pac_as_ptr().add(0xefusize),
2089 )
2090 }
2091 }
2092 #[inline(always)]
2093 pub const fn p312pfs_by(
2094 &self,
2095 ) -> &'static crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW> {
2096 unsafe {
2097 crate::common::Reg::<self::P3PfsBy_SPEC, crate::common::RW>::from_ptr(
2098 self._svd2pac_as_ptr().add(0xf3usize),
2099 )
2100 }
2101 }
2102 #[inline(always)]
2103 pub const fn p313pfs_by(
2104 &self,
2105 ) -> &'static crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW> {
2106 unsafe {
2107 crate::common::Reg::<self::P3PfsBy_SPEC, crate::common::RW>::from_ptr(
2108 self._svd2pac_as_ptr().add(0xf7usize),
2109 )
2110 }
2111 }
2112
2113 #[doc = "Port 40%s Pin Function Select Register"]
2114 #[inline(always)]
2115 pub const fn p40pfs(
2116 &self,
2117 ) -> &'static crate::common::ClusterRegisterArray<
2118 crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW>,
2119 10,
2120 0x4,
2121 > {
2122 unsafe {
2123 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x100usize))
2124 }
2125 }
2126 #[inline(always)]
2127 pub const fn p400pfs(
2128 &self,
2129 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2130 unsafe {
2131 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2132 self._svd2pac_as_ptr().add(0x100usize),
2133 )
2134 }
2135 }
2136 #[inline(always)]
2137 pub const fn p401pfs(
2138 &self,
2139 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2140 unsafe {
2141 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2142 self._svd2pac_as_ptr().add(0x104usize),
2143 )
2144 }
2145 }
2146 #[inline(always)]
2147 pub const fn p402pfs(
2148 &self,
2149 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2150 unsafe {
2151 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2152 self._svd2pac_as_ptr().add(0x108usize),
2153 )
2154 }
2155 }
2156 #[inline(always)]
2157 pub const fn p403pfs(
2158 &self,
2159 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2160 unsafe {
2161 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2162 self._svd2pac_as_ptr().add(0x10cusize),
2163 )
2164 }
2165 }
2166 #[inline(always)]
2167 pub const fn p404pfs(
2168 &self,
2169 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2170 unsafe {
2171 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2172 self._svd2pac_as_ptr().add(0x110usize),
2173 )
2174 }
2175 }
2176 #[inline(always)]
2177 pub const fn p405pfs(
2178 &self,
2179 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2180 unsafe {
2181 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2182 self._svd2pac_as_ptr().add(0x114usize),
2183 )
2184 }
2185 }
2186 #[inline(always)]
2187 pub const fn p406pfs(
2188 &self,
2189 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2190 unsafe {
2191 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2192 self._svd2pac_as_ptr().add(0x118usize),
2193 )
2194 }
2195 }
2196 #[inline(always)]
2197 pub const fn p407pfs(
2198 &self,
2199 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2200 unsafe {
2201 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2202 self._svd2pac_as_ptr().add(0x11cusize),
2203 )
2204 }
2205 }
2206 #[inline(always)]
2207 pub const fn p408pfs(
2208 &self,
2209 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2210 unsafe {
2211 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2212 self._svd2pac_as_ptr().add(0x120usize),
2213 )
2214 }
2215 }
2216 #[inline(always)]
2217 pub const fn p409pfs(
2218 &self,
2219 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2220 unsafe {
2221 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2222 self._svd2pac_as_ptr().add(0x124usize),
2223 )
2224 }
2225 }
2226
2227 #[doc = "Port 40%s Pin Function Select Register"]
2228 #[inline(always)]
2229 pub const fn p40pfs_ha(
2230 &self,
2231 ) -> &'static crate::common::ClusterRegisterArray<
2232 crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW>,
2233 10,
2234 0x4,
2235 > {
2236 unsafe {
2237 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x102usize))
2238 }
2239 }
2240 #[inline(always)]
2241 pub const fn p400pfs_ha(
2242 &self,
2243 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2244 unsafe {
2245 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2246 self._svd2pac_as_ptr().add(0x102usize),
2247 )
2248 }
2249 }
2250 #[inline(always)]
2251 pub const fn p401pfs_ha(
2252 &self,
2253 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2254 unsafe {
2255 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2256 self._svd2pac_as_ptr().add(0x106usize),
2257 )
2258 }
2259 }
2260 #[inline(always)]
2261 pub const fn p402pfs_ha(
2262 &self,
2263 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2264 unsafe {
2265 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2266 self._svd2pac_as_ptr().add(0x10ausize),
2267 )
2268 }
2269 }
2270 #[inline(always)]
2271 pub const fn p403pfs_ha(
2272 &self,
2273 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2274 unsafe {
2275 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2276 self._svd2pac_as_ptr().add(0x10eusize),
2277 )
2278 }
2279 }
2280 #[inline(always)]
2281 pub const fn p404pfs_ha(
2282 &self,
2283 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2284 unsafe {
2285 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2286 self._svd2pac_as_ptr().add(0x112usize),
2287 )
2288 }
2289 }
2290 #[inline(always)]
2291 pub const fn p405pfs_ha(
2292 &self,
2293 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2294 unsafe {
2295 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2296 self._svd2pac_as_ptr().add(0x116usize),
2297 )
2298 }
2299 }
2300 #[inline(always)]
2301 pub const fn p406pfs_ha(
2302 &self,
2303 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2304 unsafe {
2305 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2306 self._svd2pac_as_ptr().add(0x11ausize),
2307 )
2308 }
2309 }
2310 #[inline(always)]
2311 pub const fn p407pfs_ha(
2312 &self,
2313 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2314 unsafe {
2315 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2316 self._svd2pac_as_ptr().add(0x11eusize),
2317 )
2318 }
2319 }
2320 #[inline(always)]
2321 pub const fn p408pfs_ha(
2322 &self,
2323 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2324 unsafe {
2325 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2326 self._svd2pac_as_ptr().add(0x122usize),
2327 )
2328 }
2329 }
2330 #[inline(always)]
2331 pub const fn p409pfs_ha(
2332 &self,
2333 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2334 unsafe {
2335 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2336 self._svd2pac_as_ptr().add(0x126usize),
2337 )
2338 }
2339 }
2340
2341 #[doc = "Port 40%s Pin Function Select Register"]
2342 #[inline(always)]
2343 pub const fn p40pfs_by(
2344 &self,
2345 ) -> &'static crate::common::ClusterRegisterArray<
2346 crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW>,
2347 10,
2348 0x4,
2349 > {
2350 unsafe {
2351 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x103usize))
2352 }
2353 }
2354 #[inline(always)]
2355 pub const fn p400pfs_by(
2356 &self,
2357 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2358 unsafe {
2359 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2360 self._svd2pac_as_ptr().add(0x103usize),
2361 )
2362 }
2363 }
2364 #[inline(always)]
2365 pub const fn p401pfs_by(
2366 &self,
2367 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2368 unsafe {
2369 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2370 self._svd2pac_as_ptr().add(0x107usize),
2371 )
2372 }
2373 }
2374 #[inline(always)]
2375 pub const fn p402pfs_by(
2376 &self,
2377 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2378 unsafe {
2379 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2380 self._svd2pac_as_ptr().add(0x10busize),
2381 )
2382 }
2383 }
2384 #[inline(always)]
2385 pub const fn p403pfs_by(
2386 &self,
2387 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2388 unsafe {
2389 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2390 self._svd2pac_as_ptr().add(0x10fusize),
2391 )
2392 }
2393 }
2394 #[inline(always)]
2395 pub const fn p404pfs_by(
2396 &self,
2397 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2398 unsafe {
2399 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2400 self._svd2pac_as_ptr().add(0x113usize),
2401 )
2402 }
2403 }
2404 #[inline(always)]
2405 pub const fn p405pfs_by(
2406 &self,
2407 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2408 unsafe {
2409 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2410 self._svd2pac_as_ptr().add(0x117usize),
2411 )
2412 }
2413 }
2414 #[inline(always)]
2415 pub const fn p406pfs_by(
2416 &self,
2417 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2418 unsafe {
2419 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2420 self._svd2pac_as_ptr().add(0x11busize),
2421 )
2422 }
2423 }
2424 #[inline(always)]
2425 pub const fn p407pfs_by(
2426 &self,
2427 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2428 unsafe {
2429 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2430 self._svd2pac_as_ptr().add(0x11fusize),
2431 )
2432 }
2433 }
2434 #[inline(always)]
2435 pub const fn p408pfs_by(
2436 &self,
2437 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2438 unsafe {
2439 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2440 self._svd2pac_as_ptr().add(0x123usize),
2441 )
2442 }
2443 }
2444 #[inline(always)]
2445 pub const fn p409pfs_by(
2446 &self,
2447 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2448 unsafe {
2449 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2450 self._svd2pac_as_ptr().add(0x127usize),
2451 )
2452 }
2453 }
2454
2455 #[doc = "Port 4%s Pin Function Select Register"]
2456 #[inline(always)]
2457 pub const fn p4pfs(
2458 &self,
2459 ) -> &'static crate::common::ClusterRegisterArray<
2460 crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW>,
2461 6,
2462 0x4,
2463 > {
2464 unsafe {
2465 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x128usize))
2466 }
2467 }
2468 #[inline(always)]
2469 pub const fn p410pfs(
2470 &self,
2471 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2472 unsafe {
2473 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2474 self._svd2pac_as_ptr().add(0x128usize),
2475 )
2476 }
2477 }
2478 #[inline(always)]
2479 pub const fn p411pfs(
2480 &self,
2481 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2482 unsafe {
2483 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2484 self._svd2pac_as_ptr().add(0x12cusize),
2485 )
2486 }
2487 }
2488 #[inline(always)]
2489 pub const fn p412pfs(
2490 &self,
2491 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2492 unsafe {
2493 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2494 self._svd2pac_as_ptr().add(0x130usize),
2495 )
2496 }
2497 }
2498 #[inline(always)]
2499 pub const fn p413pfs(
2500 &self,
2501 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2502 unsafe {
2503 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2504 self._svd2pac_as_ptr().add(0x134usize),
2505 )
2506 }
2507 }
2508 #[inline(always)]
2509 pub const fn p414pfs(
2510 &self,
2511 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2512 unsafe {
2513 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2514 self._svd2pac_as_ptr().add(0x138usize),
2515 )
2516 }
2517 }
2518 #[inline(always)]
2519 pub const fn p415pfs(
2520 &self,
2521 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2522 unsafe {
2523 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2524 self._svd2pac_as_ptr().add(0x13cusize),
2525 )
2526 }
2527 }
2528
2529 #[doc = "Port 4%s Pin Function Select Register"]
2530 #[inline(always)]
2531 pub const fn p4pfs_ha(
2532 &self,
2533 ) -> &'static crate::common::ClusterRegisterArray<
2534 crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW>,
2535 6,
2536 0x4,
2537 > {
2538 unsafe {
2539 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x12ausize))
2540 }
2541 }
2542 #[inline(always)]
2543 pub const fn p410pfs_ha(
2544 &self,
2545 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2546 unsafe {
2547 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2548 self._svd2pac_as_ptr().add(0x12ausize),
2549 )
2550 }
2551 }
2552 #[inline(always)]
2553 pub const fn p411pfs_ha(
2554 &self,
2555 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2556 unsafe {
2557 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2558 self._svd2pac_as_ptr().add(0x12eusize),
2559 )
2560 }
2561 }
2562 #[inline(always)]
2563 pub const fn p412pfs_ha(
2564 &self,
2565 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2566 unsafe {
2567 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2568 self._svd2pac_as_ptr().add(0x132usize),
2569 )
2570 }
2571 }
2572 #[inline(always)]
2573 pub const fn p413pfs_ha(
2574 &self,
2575 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2576 unsafe {
2577 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2578 self._svd2pac_as_ptr().add(0x136usize),
2579 )
2580 }
2581 }
2582 #[inline(always)]
2583 pub const fn p414pfs_ha(
2584 &self,
2585 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2586 unsafe {
2587 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2588 self._svd2pac_as_ptr().add(0x13ausize),
2589 )
2590 }
2591 }
2592 #[inline(always)]
2593 pub const fn p415pfs_ha(
2594 &self,
2595 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2596 unsafe {
2597 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2598 self._svd2pac_as_ptr().add(0x13eusize),
2599 )
2600 }
2601 }
2602
2603 #[doc = "Port 4%s Pin Function Select Register"]
2604 #[inline(always)]
2605 pub const fn p4pfs_by(
2606 &self,
2607 ) -> &'static crate::common::ClusterRegisterArray<
2608 crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW>,
2609 6,
2610 0x4,
2611 > {
2612 unsafe {
2613 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x12busize))
2614 }
2615 }
2616 #[inline(always)]
2617 pub const fn p410pfs_by(
2618 &self,
2619 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2620 unsafe {
2621 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2622 self._svd2pac_as_ptr().add(0x12busize),
2623 )
2624 }
2625 }
2626 #[inline(always)]
2627 pub const fn p411pfs_by(
2628 &self,
2629 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2630 unsafe {
2631 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2632 self._svd2pac_as_ptr().add(0x12fusize),
2633 )
2634 }
2635 }
2636 #[inline(always)]
2637 pub const fn p412pfs_by(
2638 &self,
2639 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2640 unsafe {
2641 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2642 self._svd2pac_as_ptr().add(0x133usize),
2643 )
2644 }
2645 }
2646 #[inline(always)]
2647 pub const fn p413pfs_by(
2648 &self,
2649 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2650 unsafe {
2651 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2652 self._svd2pac_as_ptr().add(0x137usize),
2653 )
2654 }
2655 }
2656 #[inline(always)]
2657 pub const fn p414pfs_by(
2658 &self,
2659 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2660 unsafe {
2661 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2662 self._svd2pac_as_ptr().add(0x13busize),
2663 )
2664 }
2665 }
2666 #[inline(always)]
2667 pub const fn p415pfs_by(
2668 &self,
2669 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2670 unsafe {
2671 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2672 self._svd2pac_as_ptr().add(0x13fusize),
2673 )
2674 }
2675 }
2676
2677 #[doc = "Port 50%s Pin Function Select Register"]
2678 #[inline(always)]
2679 pub const fn p50pfs(
2680 &self,
2681 ) -> &'static crate::common::ClusterRegisterArray<
2682 crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW>,
2683 8,
2684 0x4,
2685 > {
2686 unsafe {
2687 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x140usize))
2688 }
2689 }
2690 #[inline(always)]
2691 pub const fn p500pfs(
2692 &self,
2693 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2694 unsafe {
2695 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2696 self._svd2pac_as_ptr().add(0x140usize),
2697 )
2698 }
2699 }
2700 #[inline(always)]
2701 pub const fn p501pfs(
2702 &self,
2703 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2704 unsafe {
2705 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2706 self._svd2pac_as_ptr().add(0x144usize),
2707 )
2708 }
2709 }
2710 #[inline(always)]
2711 pub const fn p502pfs(
2712 &self,
2713 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2714 unsafe {
2715 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2716 self._svd2pac_as_ptr().add(0x148usize),
2717 )
2718 }
2719 }
2720 #[inline(always)]
2721 pub const fn p503pfs(
2722 &self,
2723 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2724 unsafe {
2725 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2726 self._svd2pac_as_ptr().add(0x14cusize),
2727 )
2728 }
2729 }
2730 #[inline(always)]
2731 pub const fn p504pfs(
2732 &self,
2733 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2734 unsafe {
2735 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2736 self._svd2pac_as_ptr().add(0x150usize),
2737 )
2738 }
2739 }
2740 #[inline(always)]
2741 pub const fn p505pfs(
2742 &self,
2743 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2744 unsafe {
2745 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2746 self._svd2pac_as_ptr().add(0x154usize),
2747 )
2748 }
2749 }
2750 #[inline(always)]
2751 pub const fn p506pfs(
2752 &self,
2753 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2754 unsafe {
2755 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2756 self._svd2pac_as_ptr().add(0x158usize),
2757 )
2758 }
2759 }
2760 #[inline(always)]
2761 pub const fn p507pfs(
2762 &self,
2763 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2764 unsafe {
2765 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2766 self._svd2pac_as_ptr().add(0x15cusize),
2767 )
2768 }
2769 }
2770
2771 #[doc = "Port 50%s Pin Function Select Register"]
2772 #[inline(always)]
2773 pub const fn p50pfs_ha(
2774 &self,
2775 ) -> &'static crate::common::ClusterRegisterArray<
2776 crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW>,
2777 8,
2778 0x4,
2779 > {
2780 unsafe {
2781 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x142usize))
2782 }
2783 }
2784 #[inline(always)]
2785 pub const fn p500pfs_ha(
2786 &self,
2787 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2788 unsafe {
2789 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2790 self._svd2pac_as_ptr().add(0x142usize),
2791 )
2792 }
2793 }
2794 #[inline(always)]
2795 pub const fn p501pfs_ha(
2796 &self,
2797 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2798 unsafe {
2799 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2800 self._svd2pac_as_ptr().add(0x146usize),
2801 )
2802 }
2803 }
2804 #[inline(always)]
2805 pub const fn p502pfs_ha(
2806 &self,
2807 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2808 unsafe {
2809 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2810 self._svd2pac_as_ptr().add(0x14ausize),
2811 )
2812 }
2813 }
2814 #[inline(always)]
2815 pub const fn p503pfs_ha(
2816 &self,
2817 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2818 unsafe {
2819 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2820 self._svd2pac_as_ptr().add(0x14eusize),
2821 )
2822 }
2823 }
2824 #[inline(always)]
2825 pub const fn p504pfs_ha(
2826 &self,
2827 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2828 unsafe {
2829 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2830 self._svd2pac_as_ptr().add(0x152usize),
2831 )
2832 }
2833 }
2834 #[inline(always)]
2835 pub const fn p505pfs_ha(
2836 &self,
2837 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2838 unsafe {
2839 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2840 self._svd2pac_as_ptr().add(0x156usize),
2841 )
2842 }
2843 }
2844 #[inline(always)]
2845 pub const fn p506pfs_ha(
2846 &self,
2847 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2848 unsafe {
2849 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2850 self._svd2pac_as_ptr().add(0x15ausize),
2851 )
2852 }
2853 }
2854 #[inline(always)]
2855 pub const fn p507pfs_ha(
2856 &self,
2857 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2858 unsafe {
2859 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2860 self._svd2pac_as_ptr().add(0x15eusize),
2861 )
2862 }
2863 }
2864
2865 #[doc = "Port 50%s Pin Function Select Register"]
2866 #[inline(always)]
2867 pub const fn p50pfs_by(
2868 &self,
2869 ) -> &'static crate::common::ClusterRegisterArray<
2870 crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW>,
2871 8,
2872 0x4,
2873 > {
2874 unsafe {
2875 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x143usize))
2876 }
2877 }
2878 #[inline(always)]
2879 pub const fn p500pfs_by(
2880 &self,
2881 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2882 unsafe {
2883 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2884 self._svd2pac_as_ptr().add(0x143usize),
2885 )
2886 }
2887 }
2888 #[inline(always)]
2889 pub const fn p501pfs_by(
2890 &self,
2891 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2892 unsafe {
2893 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2894 self._svd2pac_as_ptr().add(0x147usize),
2895 )
2896 }
2897 }
2898 #[inline(always)]
2899 pub const fn p502pfs_by(
2900 &self,
2901 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2902 unsafe {
2903 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2904 self._svd2pac_as_ptr().add(0x14busize),
2905 )
2906 }
2907 }
2908 #[inline(always)]
2909 pub const fn p503pfs_by(
2910 &self,
2911 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2912 unsafe {
2913 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2914 self._svd2pac_as_ptr().add(0x14fusize),
2915 )
2916 }
2917 }
2918 #[inline(always)]
2919 pub const fn p504pfs_by(
2920 &self,
2921 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2922 unsafe {
2923 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2924 self._svd2pac_as_ptr().add(0x153usize),
2925 )
2926 }
2927 }
2928 #[inline(always)]
2929 pub const fn p505pfs_by(
2930 &self,
2931 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2932 unsafe {
2933 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2934 self._svd2pac_as_ptr().add(0x157usize),
2935 )
2936 }
2937 }
2938 #[inline(always)]
2939 pub const fn p506pfs_by(
2940 &self,
2941 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2942 unsafe {
2943 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2944 self._svd2pac_as_ptr().add(0x15busize),
2945 )
2946 }
2947 }
2948 #[inline(always)]
2949 pub const fn p507pfs_by(
2950 &self,
2951 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2952 unsafe {
2953 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2954 self._svd2pac_as_ptr().add(0x15fusize),
2955 )
2956 }
2957 }
2958
2959 #[doc = "Port 5%s Pin Function Select Register"]
2960 #[inline(always)]
2961 pub const fn p5pfs(
2962 &self,
2963 ) -> &'static crate::common::ClusterRegisterArray<
2964 crate::common::Reg<self::P5Pfs_SPEC, crate::common::RW>,
2965 2,
2966 0x4,
2967 > {
2968 unsafe {
2969 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x16cusize))
2970 }
2971 }
2972 #[inline(always)]
2973 pub const fn p511pfs(
2974 &self,
2975 ) -> &'static crate::common::Reg<self::P5Pfs_SPEC, crate::common::RW> {
2976 unsafe {
2977 crate::common::Reg::<self::P5Pfs_SPEC, crate::common::RW>::from_ptr(
2978 self._svd2pac_as_ptr().add(0x16cusize),
2979 )
2980 }
2981 }
2982 #[inline(always)]
2983 pub const fn p512pfs(
2984 &self,
2985 ) -> &'static crate::common::Reg<self::P5Pfs_SPEC, crate::common::RW> {
2986 unsafe {
2987 crate::common::Reg::<self::P5Pfs_SPEC, crate::common::RW>::from_ptr(
2988 self._svd2pac_as_ptr().add(0x170usize),
2989 )
2990 }
2991 }
2992
2993 #[doc = "Port 5%s Pin Function Select Register"]
2994 #[inline(always)]
2995 pub const fn p5pfs_ha(
2996 &self,
2997 ) -> &'static crate::common::ClusterRegisterArray<
2998 crate::common::Reg<self::P5PfsHa_SPEC, crate::common::RW>,
2999 2,
3000 0x4,
3001 > {
3002 unsafe {
3003 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x16eusize))
3004 }
3005 }
3006 #[inline(always)]
3007 pub const fn p511pfs_ha(
3008 &self,
3009 ) -> &'static crate::common::Reg<self::P5PfsHa_SPEC, crate::common::RW> {
3010 unsafe {
3011 crate::common::Reg::<self::P5PfsHa_SPEC, crate::common::RW>::from_ptr(
3012 self._svd2pac_as_ptr().add(0x16eusize),
3013 )
3014 }
3015 }
3016 #[inline(always)]
3017 pub const fn p512pfs_ha(
3018 &self,
3019 ) -> &'static crate::common::Reg<self::P5PfsHa_SPEC, crate::common::RW> {
3020 unsafe {
3021 crate::common::Reg::<self::P5PfsHa_SPEC, crate::common::RW>::from_ptr(
3022 self._svd2pac_as_ptr().add(0x172usize),
3023 )
3024 }
3025 }
3026
3027 #[doc = "Port 5%s Pin Function Select Register"]
3028 #[inline(always)]
3029 pub const fn p5pfs_by(
3030 &self,
3031 ) -> &'static crate::common::ClusterRegisterArray<
3032 crate::common::Reg<self::P5PfsBy_SPEC, crate::common::RW>,
3033 2,
3034 0x4,
3035 > {
3036 unsafe {
3037 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x16fusize))
3038 }
3039 }
3040 #[inline(always)]
3041 pub const fn p511pfs_by(
3042 &self,
3043 ) -> &'static crate::common::Reg<self::P5PfsBy_SPEC, crate::common::RW> {
3044 unsafe {
3045 crate::common::Reg::<self::P5PfsBy_SPEC, crate::common::RW>::from_ptr(
3046 self._svd2pac_as_ptr().add(0x16fusize),
3047 )
3048 }
3049 }
3050 #[inline(always)]
3051 pub const fn p512pfs_by(
3052 &self,
3053 ) -> &'static crate::common::Reg<self::P5PfsBy_SPEC, crate::common::RW> {
3054 unsafe {
3055 crate::common::Reg::<self::P5PfsBy_SPEC, crate::common::RW>::from_ptr(
3056 self._svd2pac_as_ptr().add(0x173usize),
3057 )
3058 }
3059 }
3060
3061 #[doc = "Port 60%s Pin Function Select Register"]
3062 #[inline(always)]
3063 pub const fn p60pfs(
3064 &self,
3065 ) -> &'static crate::common::ClusterRegisterArray<
3066 crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW>,
3067 2,
3068 0x4,
3069 > {
3070 unsafe {
3071 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a0usize))
3072 }
3073 }
3074 #[inline(always)]
3075 pub const fn p608pfs(
3076 &self,
3077 ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
3078 unsafe {
3079 crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
3080 self._svd2pac_as_ptr().add(0x1a0usize),
3081 )
3082 }
3083 }
3084 #[inline(always)]
3085 pub const fn p609pfs(
3086 &self,
3087 ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
3088 unsafe {
3089 crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
3090 self._svd2pac_as_ptr().add(0x1a4usize),
3091 )
3092 }
3093 }
3094
3095 #[doc = "Port 60%s Pin Function Select Register"]
3096 #[inline(always)]
3097 pub const fn p60pfs_ha(
3098 &self,
3099 ) -> &'static crate::common::ClusterRegisterArray<
3100 crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW>,
3101 2,
3102 0x4,
3103 > {
3104 unsafe {
3105 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a2usize))
3106 }
3107 }
3108 #[inline(always)]
3109 pub const fn p608pfs_ha(
3110 &self,
3111 ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
3112 unsafe {
3113 crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
3114 self._svd2pac_as_ptr().add(0x1a2usize),
3115 )
3116 }
3117 }
3118 #[inline(always)]
3119 pub const fn p609pfs_ha(
3120 &self,
3121 ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
3122 unsafe {
3123 crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
3124 self._svd2pac_as_ptr().add(0x1a6usize),
3125 )
3126 }
3127 }
3128
3129 #[doc = "Port 60%s Pin Function Select Register"]
3130 #[inline(always)]
3131 pub const fn p60pfs_by(
3132 &self,
3133 ) -> &'static crate::common::ClusterRegisterArray<
3134 crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW>,
3135 2,
3136 0x4,
3137 > {
3138 unsafe {
3139 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a3usize))
3140 }
3141 }
3142 #[inline(always)]
3143 pub const fn p608pfs_by(
3144 &self,
3145 ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
3146 unsafe {
3147 crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
3148 self._svd2pac_as_ptr().add(0x1a3usize),
3149 )
3150 }
3151 }
3152 #[inline(always)]
3153 pub const fn p609pfs_by(
3154 &self,
3155 ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
3156 unsafe {
3157 crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
3158 self._svd2pac_as_ptr().add(0x1a7usize),
3159 )
3160 }
3161 }
3162
3163 #[doc = "Port 6%s Pin Function Select Register"]
3164 #[inline(always)]
3165 pub const fn p6pfs(
3166 &self,
3167 ) -> &'static crate::common::ClusterRegisterArray<
3168 crate::common::Reg<self::P6Pfs_SPEC, crate::common::RW>,
3169 5,
3170 0x4,
3171 > {
3172 unsafe {
3173 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a8usize))
3174 }
3175 }
3176 #[inline(always)]
3177 pub const fn p610pfs(
3178 &self,
3179 ) -> &'static crate::common::Reg<self::P6Pfs_SPEC, crate::common::RW> {
3180 unsafe {
3181 crate::common::Reg::<self::P6Pfs_SPEC, crate::common::RW>::from_ptr(
3182 self._svd2pac_as_ptr().add(0x1a8usize),
3183 )
3184 }
3185 }
3186 #[inline(always)]
3187 pub const fn p611pfs(
3188 &self,
3189 ) -> &'static crate::common::Reg<self::P6Pfs_SPEC, crate::common::RW> {
3190 unsafe {
3191 crate::common::Reg::<self::P6Pfs_SPEC, crate::common::RW>::from_ptr(
3192 self._svd2pac_as_ptr().add(0x1acusize),
3193 )
3194 }
3195 }
3196 #[inline(always)]
3197 pub const fn p612pfs(
3198 &self,
3199 ) -> &'static crate::common::Reg<self::P6Pfs_SPEC, crate::common::RW> {
3200 unsafe {
3201 crate::common::Reg::<self::P6Pfs_SPEC, crate::common::RW>::from_ptr(
3202 self._svd2pac_as_ptr().add(0x1b0usize),
3203 )
3204 }
3205 }
3206 #[inline(always)]
3207 pub const fn p613pfs(
3208 &self,
3209 ) -> &'static crate::common::Reg<self::P6Pfs_SPEC, crate::common::RW> {
3210 unsafe {
3211 crate::common::Reg::<self::P6Pfs_SPEC, crate::common::RW>::from_ptr(
3212 self._svd2pac_as_ptr().add(0x1b4usize),
3213 )
3214 }
3215 }
3216 #[inline(always)]
3217 pub const fn p614pfs(
3218 &self,
3219 ) -> &'static crate::common::Reg<self::P6Pfs_SPEC, crate::common::RW> {
3220 unsafe {
3221 crate::common::Reg::<self::P6Pfs_SPEC, crate::common::RW>::from_ptr(
3222 self._svd2pac_as_ptr().add(0x1b8usize),
3223 )
3224 }
3225 }
3226
3227 #[doc = "Port 6%s Pin Function Select Register"]
3228 #[inline(always)]
3229 pub const fn p6pfs_ha(
3230 &self,
3231 ) -> &'static crate::common::ClusterRegisterArray<
3232 crate::common::Reg<self::P6PfsHa_SPEC, crate::common::RW>,
3233 5,
3234 0x4,
3235 > {
3236 unsafe {
3237 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1aausize))
3238 }
3239 }
3240 #[inline(always)]
3241 pub const fn p610pfs_ha(
3242 &self,
3243 ) -> &'static crate::common::Reg<self::P6PfsHa_SPEC, crate::common::RW> {
3244 unsafe {
3245 crate::common::Reg::<self::P6PfsHa_SPEC, crate::common::RW>::from_ptr(
3246 self._svd2pac_as_ptr().add(0x1aausize),
3247 )
3248 }
3249 }
3250 #[inline(always)]
3251 pub const fn p611pfs_ha(
3252 &self,
3253 ) -> &'static crate::common::Reg<self::P6PfsHa_SPEC, crate::common::RW> {
3254 unsafe {
3255 crate::common::Reg::<self::P6PfsHa_SPEC, crate::common::RW>::from_ptr(
3256 self._svd2pac_as_ptr().add(0x1aeusize),
3257 )
3258 }
3259 }
3260 #[inline(always)]
3261 pub const fn p612pfs_ha(
3262 &self,
3263 ) -> &'static crate::common::Reg<self::P6PfsHa_SPEC, crate::common::RW> {
3264 unsafe {
3265 crate::common::Reg::<self::P6PfsHa_SPEC, crate::common::RW>::from_ptr(
3266 self._svd2pac_as_ptr().add(0x1b2usize),
3267 )
3268 }
3269 }
3270 #[inline(always)]
3271 pub const fn p613pfs_ha(
3272 &self,
3273 ) -> &'static crate::common::Reg<self::P6PfsHa_SPEC, crate::common::RW> {
3274 unsafe {
3275 crate::common::Reg::<self::P6PfsHa_SPEC, crate::common::RW>::from_ptr(
3276 self._svd2pac_as_ptr().add(0x1b6usize),
3277 )
3278 }
3279 }
3280 #[inline(always)]
3281 pub const fn p614pfs_ha(
3282 &self,
3283 ) -> &'static crate::common::Reg<self::P6PfsHa_SPEC, crate::common::RW> {
3284 unsafe {
3285 crate::common::Reg::<self::P6PfsHa_SPEC, crate::common::RW>::from_ptr(
3286 self._svd2pac_as_ptr().add(0x1bausize),
3287 )
3288 }
3289 }
3290
3291 #[doc = "Port 6%s Pin Function Select Register"]
3292 #[inline(always)]
3293 pub const fn p6pfs_by(
3294 &self,
3295 ) -> &'static crate::common::ClusterRegisterArray<
3296 crate::common::Reg<self::P6PfsBy_SPEC, crate::common::RW>,
3297 5,
3298 0x4,
3299 > {
3300 unsafe {
3301 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1abusize))
3302 }
3303 }
3304 #[inline(always)]
3305 pub const fn p610pfs_by(
3306 &self,
3307 ) -> &'static crate::common::Reg<self::P6PfsBy_SPEC, crate::common::RW> {
3308 unsafe {
3309 crate::common::Reg::<self::P6PfsBy_SPEC, crate::common::RW>::from_ptr(
3310 self._svd2pac_as_ptr().add(0x1abusize),
3311 )
3312 }
3313 }
3314 #[inline(always)]
3315 pub const fn p611pfs_by(
3316 &self,
3317 ) -> &'static crate::common::Reg<self::P6PfsBy_SPEC, crate::common::RW> {
3318 unsafe {
3319 crate::common::Reg::<self::P6PfsBy_SPEC, crate::common::RW>::from_ptr(
3320 self._svd2pac_as_ptr().add(0x1afusize),
3321 )
3322 }
3323 }
3324 #[inline(always)]
3325 pub const fn p612pfs_by(
3326 &self,
3327 ) -> &'static crate::common::Reg<self::P6PfsBy_SPEC, crate::common::RW> {
3328 unsafe {
3329 crate::common::Reg::<self::P6PfsBy_SPEC, crate::common::RW>::from_ptr(
3330 self._svd2pac_as_ptr().add(0x1b3usize),
3331 )
3332 }
3333 }
3334 #[inline(always)]
3335 pub const fn p613pfs_by(
3336 &self,
3337 ) -> &'static crate::common::Reg<self::P6PfsBy_SPEC, crate::common::RW> {
3338 unsafe {
3339 crate::common::Reg::<self::P6PfsBy_SPEC, crate::common::RW>::from_ptr(
3340 self._svd2pac_as_ptr().add(0x1b7usize),
3341 )
3342 }
3343 }
3344 #[inline(always)]
3345 pub const fn p614pfs_by(
3346 &self,
3347 ) -> &'static crate::common::Reg<self::P6PfsBy_SPEC, crate::common::RW> {
3348 unsafe {
3349 crate::common::Reg::<self::P6PfsBy_SPEC, crate::common::RW>::from_ptr(
3350 self._svd2pac_as_ptr().add(0x1bbusize),
3351 )
3352 }
3353 }
3354
3355 #[doc = "Port 70%s Pin Function Select Register"]
3356 #[inline(always)]
3357 pub const fn p70pfs(
3358 &self,
3359 ) -> &'static crate::common::ClusterRegisterArray<
3360 crate::common::Reg<self::P70Pfs_SPEC, crate::common::RW>,
3361 2,
3362 0x4,
3363 > {
3364 unsafe {
3365 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1e0usize))
3366 }
3367 }
3368 #[inline(always)]
3369 pub const fn p708pfs(
3370 &self,
3371 ) -> &'static crate::common::Reg<self::P70Pfs_SPEC, crate::common::RW> {
3372 unsafe {
3373 crate::common::Reg::<self::P70Pfs_SPEC, crate::common::RW>::from_ptr(
3374 self._svd2pac_as_ptr().add(0x1e0usize),
3375 )
3376 }
3377 }
3378 #[inline(always)]
3379 pub const fn p709pfs(
3380 &self,
3381 ) -> &'static crate::common::Reg<self::P70Pfs_SPEC, crate::common::RW> {
3382 unsafe {
3383 crate::common::Reg::<self::P70Pfs_SPEC, crate::common::RW>::from_ptr(
3384 self._svd2pac_as_ptr().add(0x1e4usize),
3385 )
3386 }
3387 }
3388
3389 #[doc = "Port 70%s Pin Function Select Register"]
3390 #[inline(always)]
3391 pub const fn p70pfs_ha(
3392 &self,
3393 ) -> &'static crate::common::ClusterRegisterArray<
3394 crate::common::Reg<self::P70PfsHa_SPEC, crate::common::RW>,
3395 2,
3396 0x4,
3397 > {
3398 unsafe {
3399 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1e2usize))
3400 }
3401 }
3402 #[inline(always)]
3403 pub const fn p708pfs_ha(
3404 &self,
3405 ) -> &'static crate::common::Reg<self::P70PfsHa_SPEC, crate::common::RW> {
3406 unsafe {
3407 crate::common::Reg::<self::P70PfsHa_SPEC, crate::common::RW>::from_ptr(
3408 self._svd2pac_as_ptr().add(0x1e2usize),
3409 )
3410 }
3411 }
3412 #[inline(always)]
3413 pub const fn p709pfs_ha(
3414 &self,
3415 ) -> &'static crate::common::Reg<self::P70PfsHa_SPEC, crate::common::RW> {
3416 unsafe {
3417 crate::common::Reg::<self::P70PfsHa_SPEC, crate::common::RW>::from_ptr(
3418 self._svd2pac_as_ptr().add(0x1e6usize),
3419 )
3420 }
3421 }
3422
3423 #[doc = "Port 70%s Pin Function Select Register"]
3424 #[inline(always)]
3425 pub const fn p70pfs_by(
3426 &self,
3427 ) -> &'static crate::common::ClusterRegisterArray<
3428 crate::common::Reg<self::P70PfsBy_SPEC, crate::common::RW>,
3429 2,
3430 0x4,
3431 > {
3432 unsafe {
3433 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1e3usize))
3434 }
3435 }
3436 #[inline(always)]
3437 pub const fn p708pfs_by(
3438 &self,
3439 ) -> &'static crate::common::Reg<self::P70PfsBy_SPEC, crate::common::RW> {
3440 unsafe {
3441 crate::common::Reg::<self::P70PfsBy_SPEC, crate::common::RW>::from_ptr(
3442 self._svd2pac_as_ptr().add(0x1e3usize),
3443 )
3444 }
3445 }
3446 #[inline(always)]
3447 pub const fn p709pfs_by(
3448 &self,
3449 ) -> &'static crate::common::Reg<self::P70PfsBy_SPEC, crate::common::RW> {
3450 unsafe {
3451 crate::common::Reg::<self::P70PfsBy_SPEC, crate::common::RW>::from_ptr(
3452 self._svd2pac_as_ptr().add(0x1e7usize),
3453 )
3454 }
3455 }
3456
3457 #[doc = "Port 7%s Pin Function Select Register"]
3458 #[inline(always)]
3459 pub const fn p7pfs(
3460 &self,
3461 ) -> &'static crate::common::ClusterRegisterArray<
3462 crate::common::Reg<self::P7Pfs_SPEC, crate::common::RW>,
3463 4,
3464 0x4,
3465 > {
3466 unsafe {
3467 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1e8usize))
3468 }
3469 }
3470 #[inline(always)]
3471 pub const fn p710pfs(
3472 &self,
3473 ) -> &'static crate::common::Reg<self::P7Pfs_SPEC, crate::common::RW> {
3474 unsafe {
3475 crate::common::Reg::<self::P7Pfs_SPEC, crate::common::RW>::from_ptr(
3476 self._svd2pac_as_ptr().add(0x1e8usize),
3477 )
3478 }
3479 }
3480 #[inline(always)]
3481 pub const fn p711pfs(
3482 &self,
3483 ) -> &'static crate::common::Reg<self::P7Pfs_SPEC, crate::common::RW> {
3484 unsafe {
3485 crate::common::Reg::<self::P7Pfs_SPEC, crate::common::RW>::from_ptr(
3486 self._svd2pac_as_ptr().add(0x1ecusize),
3487 )
3488 }
3489 }
3490 #[inline(always)]
3491 pub const fn p712pfs(
3492 &self,
3493 ) -> &'static crate::common::Reg<self::P7Pfs_SPEC, crate::common::RW> {
3494 unsafe {
3495 crate::common::Reg::<self::P7Pfs_SPEC, crate::common::RW>::from_ptr(
3496 self._svd2pac_as_ptr().add(0x1f0usize),
3497 )
3498 }
3499 }
3500 #[inline(always)]
3501 pub const fn p713pfs(
3502 &self,
3503 ) -> &'static crate::common::Reg<self::P7Pfs_SPEC, crate::common::RW> {
3504 unsafe {
3505 crate::common::Reg::<self::P7Pfs_SPEC, crate::common::RW>::from_ptr(
3506 self._svd2pac_as_ptr().add(0x1f4usize),
3507 )
3508 }
3509 }
3510
3511 #[doc = "Port 7%s Pin Function Select Register"]
3512 #[inline(always)]
3513 pub const fn p7pfs_ha(
3514 &self,
3515 ) -> &'static crate::common::ClusterRegisterArray<
3516 crate::common::Reg<self::P7PfsHa_SPEC, crate::common::RW>,
3517 4,
3518 0x4,
3519 > {
3520 unsafe {
3521 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1eausize))
3522 }
3523 }
3524 #[inline(always)]
3525 pub const fn p710pfs_ha(
3526 &self,
3527 ) -> &'static crate::common::Reg<self::P7PfsHa_SPEC, crate::common::RW> {
3528 unsafe {
3529 crate::common::Reg::<self::P7PfsHa_SPEC, crate::common::RW>::from_ptr(
3530 self._svd2pac_as_ptr().add(0x1eausize),
3531 )
3532 }
3533 }
3534 #[inline(always)]
3535 pub const fn p711pfs_ha(
3536 &self,
3537 ) -> &'static crate::common::Reg<self::P7PfsHa_SPEC, crate::common::RW> {
3538 unsafe {
3539 crate::common::Reg::<self::P7PfsHa_SPEC, crate::common::RW>::from_ptr(
3540 self._svd2pac_as_ptr().add(0x1eeusize),
3541 )
3542 }
3543 }
3544 #[inline(always)]
3545 pub const fn p712pfs_ha(
3546 &self,
3547 ) -> &'static crate::common::Reg<self::P7PfsHa_SPEC, crate::common::RW> {
3548 unsafe {
3549 crate::common::Reg::<self::P7PfsHa_SPEC, crate::common::RW>::from_ptr(
3550 self._svd2pac_as_ptr().add(0x1f2usize),
3551 )
3552 }
3553 }
3554 #[inline(always)]
3555 pub const fn p713pfs_ha(
3556 &self,
3557 ) -> &'static crate::common::Reg<self::P7PfsHa_SPEC, crate::common::RW> {
3558 unsafe {
3559 crate::common::Reg::<self::P7PfsHa_SPEC, crate::common::RW>::from_ptr(
3560 self._svd2pac_as_ptr().add(0x1f6usize),
3561 )
3562 }
3563 }
3564
3565 #[doc = "Port 7%s Pin Function Select Register"]
3566 #[inline(always)]
3567 pub const fn p7pfs_by(
3568 &self,
3569 ) -> &'static crate::common::ClusterRegisterArray<
3570 crate::common::Reg<self::P7PfsBy_SPEC, crate::common::RW>,
3571 4,
3572 0x4,
3573 > {
3574 unsafe {
3575 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1ebusize))
3576 }
3577 }
3578 #[inline(always)]
3579 pub const fn p710pfs_by(
3580 &self,
3581 ) -> &'static crate::common::Reg<self::P7PfsBy_SPEC, crate::common::RW> {
3582 unsafe {
3583 crate::common::Reg::<self::P7PfsBy_SPEC, crate::common::RW>::from_ptr(
3584 self._svd2pac_as_ptr().add(0x1ebusize),
3585 )
3586 }
3587 }
3588 #[inline(always)]
3589 pub const fn p711pfs_by(
3590 &self,
3591 ) -> &'static crate::common::Reg<self::P7PfsBy_SPEC, crate::common::RW> {
3592 unsafe {
3593 crate::common::Reg::<self::P7PfsBy_SPEC, crate::common::RW>::from_ptr(
3594 self._svd2pac_as_ptr().add(0x1efusize),
3595 )
3596 }
3597 }
3598 #[inline(always)]
3599 pub const fn p712pfs_by(
3600 &self,
3601 ) -> &'static crate::common::Reg<self::P7PfsBy_SPEC, crate::common::RW> {
3602 unsafe {
3603 crate::common::Reg::<self::P7PfsBy_SPEC, crate::common::RW>::from_ptr(
3604 self._svd2pac_as_ptr().add(0x1f3usize),
3605 )
3606 }
3607 }
3608 #[inline(always)]
3609 pub const fn p713pfs_by(
3610 &self,
3611 ) -> &'static crate::common::Reg<self::P7PfsBy_SPEC, crate::common::RW> {
3612 unsafe {
3613 crate::common::Reg::<self::P7PfsBy_SPEC, crate::common::RW>::from_ptr(
3614 self._svd2pac_as_ptr().add(0x1f7usize),
3615 )
3616 }
3617 }
3618
3619 #[doc = "Port 80%s Pin Function Select Register"]
3620 #[inline(always)]
3621 pub const fn p80pfs(
3622 &self,
3623 ) -> &'static crate::common::ClusterRegisterArray<
3624 crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW>,
3625 2,
3626 0x4,
3627 > {
3628 unsafe {
3629 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x200usize))
3630 }
3631 }
3632 #[inline(always)]
3633 pub const fn p800pfs(
3634 &self,
3635 ) -> &'static crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW> {
3636 unsafe {
3637 crate::common::Reg::<self::P80Pfs_SPEC, crate::common::RW>::from_ptr(
3638 self._svd2pac_as_ptr().add(0x200usize),
3639 )
3640 }
3641 }
3642 #[inline(always)]
3643 pub const fn p801pfs(
3644 &self,
3645 ) -> &'static crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW> {
3646 unsafe {
3647 crate::common::Reg::<self::P80Pfs_SPEC, crate::common::RW>::from_ptr(
3648 self._svd2pac_as_ptr().add(0x204usize),
3649 )
3650 }
3651 }
3652
3653 #[doc = "Port 80%s Pin Function Select Register"]
3654 #[inline(always)]
3655 pub const fn p80pfs_ha(
3656 &self,
3657 ) -> &'static crate::common::ClusterRegisterArray<
3658 crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW>,
3659 2,
3660 0x4,
3661 > {
3662 unsafe {
3663 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x202usize))
3664 }
3665 }
3666 #[inline(always)]
3667 pub const fn p800pfs_ha(
3668 &self,
3669 ) -> &'static crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW> {
3670 unsafe {
3671 crate::common::Reg::<self::P80PfsHa_SPEC, crate::common::RW>::from_ptr(
3672 self._svd2pac_as_ptr().add(0x202usize),
3673 )
3674 }
3675 }
3676 #[inline(always)]
3677 pub const fn p801pfs_ha(
3678 &self,
3679 ) -> &'static crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW> {
3680 unsafe {
3681 crate::common::Reg::<self::P80PfsHa_SPEC, crate::common::RW>::from_ptr(
3682 self._svd2pac_as_ptr().add(0x206usize),
3683 )
3684 }
3685 }
3686
3687 #[doc = "Port 80%s Pin Function Select Register"]
3688 #[inline(always)]
3689 pub const fn p80pfs_by(
3690 &self,
3691 ) -> &'static crate::common::ClusterRegisterArray<
3692 crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW>,
3693 2,
3694 0x4,
3695 > {
3696 unsafe {
3697 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x203usize))
3698 }
3699 }
3700 #[inline(always)]
3701 pub const fn p800pfs_by(
3702 &self,
3703 ) -> &'static crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW> {
3704 unsafe {
3705 crate::common::Reg::<self::P80PfsBy_SPEC, crate::common::RW>::from_ptr(
3706 self._svd2pac_as_ptr().add(0x203usize),
3707 )
3708 }
3709 }
3710 #[inline(always)]
3711 pub const fn p801pfs_by(
3712 &self,
3713 ) -> &'static crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW> {
3714 unsafe {
3715 crate::common::Reg::<self::P80PfsBy_SPEC, crate::common::RW>::from_ptr(
3716 self._svd2pac_as_ptr().add(0x207usize),
3717 )
3718 }
3719 }
3720
3721 #[doc = "Write-Protect Register"]
3722 #[inline(always)]
3723 pub const fn pwpr(&self) -> &'static crate::common::Reg<self::Pwpr_SPEC, crate::common::RW> {
3724 unsafe {
3725 crate::common::Reg::<self::Pwpr_SPEC, crate::common::RW>::from_ptr(
3726 self._svd2pac_as_ptr().add(1283usize),
3727 )
3728 }
3729 }
3730
3731 #[doc = "Write-Protect Register for Secure"]
3732 #[inline(always)]
3733 pub const fn pwprs(&self) -> &'static crate::common::Reg<self::Pwprs_SPEC, crate::common::RW> {
3734 unsafe {
3735 crate::common::Reg::<self::Pwprs_SPEC, crate::common::RW>::from_ptr(
3736 self._svd2pac_as_ptr().add(1285usize),
3737 )
3738 }
3739 }
3740
3741 #[doc = "Port Security Attribution register"]
3742 #[inline(always)]
3743 pub const fn psar(
3744 &self,
3745 ) -> &'static crate::common::ClusterRegisterArray<
3746 crate::common::Reg<self::Psar_SPEC, crate::common::RW>,
3747 9,
3748 0x2,
3749 > {
3750 unsafe {
3751 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x510usize))
3752 }
3753 }
3754 #[inline(always)]
3755 pub const fn p0sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
3756 unsafe {
3757 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
3758 self._svd2pac_as_ptr().add(0x510usize),
3759 )
3760 }
3761 }
3762 #[inline(always)]
3763 pub const fn p1sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
3764 unsafe {
3765 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
3766 self._svd2pac_as_ptr().add(0x512usize),
3767 )
3768 }
3769 }
3770 #[inline(always)]
3771 pub const fn p2sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
3772 unsafe {
3773 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
3774 self._svd2pac_as_ptr().add(0x514usize),
3775 )
3776 }
3777 }
3778 #[inline(always)]
3779 pub const fn p3sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
3780 unsafe {
3781 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
3782 self._svd2pac_as_ptr().add(0x516usize),
3783 )
3784 }
3785 }
3786 #[inline(always)]
3787 pub const fn p4sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
3788 unsafe {
3789 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
3790 self._svd2pac_as_ptr().add(0x518usize),
3791 )
3792 }
3793 }
3794 #[inline(always)]
3795 pub const fn p5sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
3796 unsafe {
3797 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
3798 self._svd2pac_as_ptr().add(0x51ausize),
3799 )
3800 }
3801 }
3802 #[inline(always)]
3803 pub const fn p6sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
3804 unsafe {
3805 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
3806 self._svd2pac_as_ptr().add(0x51cusize),
3807 )
3808 }
3809 }
3810 #[inline(always)]
3811 pub const fn p7sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
3812 unsafe {
3813 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
3814 self._svd2pac_as_ptr().add(0x51eusize),
3815 )
3816 }
3817 }
3818 #[inline(always)]
3819 pub const fn p8sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
3820 unsafe {
3821 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
3822 self._svd2pac_as_ptr().add(0x520usize),
3823 )
3824 }
3825 }
3826}
3827#[doc(hidden)]
3828#[derive(Copy, Clone, Eq, PartialEq)]
3829pub struct P00Pfs_SPEC;
3830impl crate::sealed::RegSpec for P00Pfs_SPEC {
3831 type DataType = u32;
3832}
3833
3834#[doc = "Port 00%s Pin Function Select Register"]
3835pub type P00Pfs = crate::RegValueT<P00Pfs_SPEC>;
3836
3837impl P00Pfs {
3838 #[doc = "Port Output Data"]
3839 #[inline(always)]
3840 pub fn podr(
3841 self,
3842 ) -> crate::common::RegisterField<
3843 0,
3844 0x1,
3845 1,
3846 0,
3847 p00pfs::Podr,
3848 p00pfs::Podr,
3849 P00Pfs_SPEC,
3850 crate::common::RW,
3851 > {
3852 crate::common::RegisterField::<
3853 0,
3854 0x1,
3855 1,
3856 0,
3857 p00pfs::Podr,
3858 p00pfs::Podr,
3859 P00Pfs_SPEC,
3860 crate::common::RW,
3861 >::from_register(self, 0)
3862 }
3863
3864 #[doc = "Port State"]
3865 #[inline(always)]
3866 pub fn pidr(
3867 self,
3868 ) -> crate::common::RegisterField<
3869 1,
3870 0x1,
3871 1,
3872 0,
3873 p00pfs::Pidr,
3874 p00pfs::Pidr,
3875 P00Pfs_SPEC,
3876 crate::common::R,
3877 > {
3878 crate::common::RegisterField::<
3879 1,
3880 0x1,
3881 1,
3882 0,
3883 p00pfs::Pidr,
3884 p00pfs::Pidr,
3885 P00Pfs_SPEC,
3886 crate::common::R,
3887 >::from_register(self, 0)
3888 }
3889
3890 #[doc = "Port Direction"]
3891 #[inline(always)]
3892 pub fn pdr(
3893 self,
3894 ) -> crate::common::RegisterField<
3895 2,
3896 0x1,
3897 1,
3898 0,
3899 p00pfs::Pdr,
3900 p00pfs::Pdr,
3901 P00Pfs_SPEC,
3902 crate::common::RW,
3903 > {
3904 crate::common::RegisterField::<
3905 2,
3906 0x1,
3907 1,
3908 0,
3909 p00pfs::Pdr,
3910 p00pfs::Pdr,
3911 P00Pfs_SPEC,
3912 crate::common::RW,
3913 >::from_register(self, 0)
3914 }
3915
3916 #[doc = "Pull-up Control"]
3917 #[inline(always)]
3918 pub fn pcr(
3919 self,
3920 ) -> crate::common::RegisterField<
3921 4,
3922 0x1,
3923 1,
3924 0,
3925 p00pfs::Pcr,
3926 p00pfs::Pcr,
3927 P00Pfs_SPEC,
3928 crate::common::RW,
3929 > {
3930 crate::common::RegisterField::<
3931 4,
3932 0x1,
3933 1,
3934 0,
3935 p00pfs::Pcr,
3936 p00pfs::Pcr,
3937 P00Pfs_SPEC,
3938 crate::common::RW,
3939 >::from_register(self, 0)
3940 }
3941
3942 #[doc = "N-Channel Open-Drain Control"]
3943 #[inline(always)]
3944 pub fn ncodr(
3945 self,
3946 ) -> crate::common::RegisterField<
3947 6,
3948 0x1,
3949 1,
3950 0,
3951 p00pfs::Ncodr,
3952 p00pfs::Ncodr,
3953 P00Pfs_SPEC,
3954 crate::common::RW,
3955 > {
3956 crate::common::RegisterField::<
3957 6,
3958 0x1,
3959 1,
3960 0,
3961 p00pfs::Ncodr,
3962 p00pfs::Ncodr,
3963 P00Pfs_SPEC,
3964 crate::common::RW,
3965 >::from_register(self, 0)
3966 }
3967
3968 #[doc = "IRQ Input Enable"]
3969 #[inline(always)]
3970 pub fn isel(
3971 self,
3972 ) -> crate::common::RegisterField<
3973 14,
3974 0x1,
3975 1,
3976 0,
3977 p00pfs::Isel,
3978 p00pfs::Isel,
3979 P00Pfs_SPEC,
3980 crate::common::RW,
3981 > {
3982 crate::common::RegisterField::<
3983 14,
3984 0x1,
3985 1,
3986 0,
3987 p00pfs::Isel,
3988 p00pfs::Isel,
3989 P00Pfs_SPEC,
3990 crate::common::RW,
3991 >::from_register(self, 0)
3992 }
3993
3994 #[doc = "Analog Input Enable"]
3995 #[inline(always)]
3996 pub fn asel(
3997 self,
3998 ) -> crate::common::RegisterField<
3999 15,
4000 0x1,
4001 1,
4002 0,
4003 p00pfs::Asel,
4004 p00pfs::Asel,
4005 P00Pfs_SPEC,
4006 crate::common::RW,
4007 > {
4008 crate::common::RegisterField::<
4009 15,
4010 0x1,
4011 1,
4012 0,
4013 p00pfs::Asel,
4014 p00pfs::Asel,
4015 P00Pfs_SPEC,
4016 crate::common::RW,
4017 >::from_register(self, 0)
4018 }
4019
4020 #[doc = "Port Mode Control"]
4021 #[inline(always)]
4022 pub fn pmr(
4023 self,
4024 ) -> crate::common::RegisterField<
4025 16,
4026 0x1,
4027 1,
4028 0,
4029 p00pfs::Pmr,
4030 p00pfs::Pmr,
4031 P00Pfs_SPEC,
4032 crate::common::RW,
4033 > {
4034 crate::common::RegisterField::<
4035 16,
4036 0x1,
4037 1,
4038 0,
4039 p00pfs::Pmr,
4040 p00pfs::Pmr,
4041 P00Pfs_SPEC,
4042 crate::common::RW,
4043 >::from_register(self, 0)
4044 }
4045
4046 #[doc = "Peripheral Select"]
4047 #[inline(always)]
4048 pub fn psel(
4049 self,
4050 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P00Pfs_SPEC, crate::common::RW> {
4051 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P00Pfs_SPEC,crate::common::RW>::from_register(self,0)
4052 }
4053}
4054impl ::core::default::Default for P00Pfs {
4055 #[inline(always)]
4056 fn default() -> P00Pfs {
4057 <crate::RegValueT<P00Pfs_SPEC> as RegisterValue<_>>::new(0)
4058 }
4059}
4060pub mod p00pfs {
4061
4062 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4063 pub struct Podr_SPEC;
4064 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4065 impl Podr {
4066 #[doc = "Output low"]
4067 pub const _0: Self = Self::new(0);
4068
4069 #[doc = "Output high"]
4070 pub const _1: Self = Self::new(1);
4071 }
4072 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4073 pub struct Pidr_SPEC;
4074 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4075 impl Pidr {
4076 #[doc = "Low level"]
4077 pub const _0: Self = Self::new(0);
4078
4079 #[doc = "High level"]
4080 pub const _1: Self = Self::new(1);
4081 }
4082 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4083 pub struct Pdr_SPEC;
4084 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4085 impl Pdr {
4086 #[doc = "Input (functions as an input pin)"]
4087 pub const _0: Self = Self::new(0);
4088
4089 #[doc = "Output (functions as an output pin)"]
4090 pub const _1: Self = Self::new(1);
4091 }
4092 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4093 pub struct Pcr_SPEC;
4094 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4095 impl Pcr {
4096 #[doc = "Disable input pull-up"]
4097 pub const _0: Self = Self::new(0);
4098
4099 #[doc = "Enable input pull-up"]
4100 pub const _1: Self = Self::new(1);
4101 }
4102 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4103 pub struct Ncodr_SPEC;
4104 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4105 impl Ncodr {
4106 #[doc = "Output CMOS"]
4107 pub const _0: Self = Self::new(0);
4108
4109 #[doc = "Output NMOS open-drain"]
4110 pub const _1: Self = Self::new(1);
4111 }
4112 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4113 pub struct Isel_SPEC;
4114 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4115 impl Isel {
4116 #[doc = "Do not use as IRQn input pin"]
4117 pub const _0: Self = Self::new(0);
4118
4119 #[doc = "Use as IRQn input pin"]
4120 pub const _1: Self = Self::new(1);
4121 }
4122 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4123 pub struct Asel_SPEC;
4124 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4125 impl Asel {
4126 #[doc = "Do not use as analog pin"]
4127 pub const _0: Self = Self::new(0);
4128
4129 #[doc = "Use as analog pin"]
4130 pub const _1: Self = Self::new(1);
4131 }
4132 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4133 pub struct Pmr_SPEC;
4134 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
4135 impl Pmr {
4136 #[doc = "Use as general I/O pin"]
4137 pub const _0: Self = Self::new(0);
4138
4139 #[doc = "Use as I/O port for peripheral functions"]
4140 pub const _1: Self = Self::new(1);
4141 }
4142}
4143#[doc(hidden)]
4144#[derive(Copy, Clone, Eq, PartialEq)]
4145pub struct P00PfsHa_SPEC;
4146impl crate::sealed::RegSpec for P00PfsHa_SPEC {
4147 type DataType = u16;
4148}
4149
4150#[doc = "Port 00%s Pin Function Select Register"]
4151pub type P00PfsHa = crate::RegValueT<P00PfsHa_SPEC>;
4152
4153impl P00PfsHa {
4154 #[doc = "Port Output Data"]
4155 #[inline(always)]
4156 pub fn podr(
4157 self,
4158 ) -> crate::common::RegisterField<
4159 0,
4160 0x1,
4161 1,
4162 0,
4163 p00pfs_ha::Podr,
4164 p00pfs_ha::Podr,
4165 P00PfsHa_SPEC,
4166 crate::common::RW,
4167 > {
4168 crate::common::RegisterField::<
4169 0,
4170 0x1,
4171 1,
4172 0,
4173 p00pfs_ha::Podr,
4174 p00pfs_ha::Podr,
4175 P00PfsHa_SPEC,
4176 crate::common::RW,
4177 >::from_register(self, 0)
4178 }
4179
4180 #[doc = "Port State"]
4181 #[inline(always)]
4182 pub fn pidr(
4183 self,
4184 ) -> crate::common::RegisterField<
4185 1,
4186 0x1,
4187 1,
4188 0,
4189 p00pfs_ha::Pidr,
4190 p00pfs_ha::Pidr,
4191 P00PfsHa_SPEC,
4192 crate::common::R,
4193 > {
4194 crate::common::RegisterField::<
4195 1,
4196 0x1,
4197 1,
4198 0,
4199 p00pfs_ha::Pidr,
4200 p00pfs_ha::Pidr,
4201 P00PfsHa_SPEC,
4202 crate::common::R,
4203 >::from_register(self, 0)
4204 }
4205
4206 #[doc = "Port Direction"]
4207 #[inline(always)]
4208 pub fn pdr(
4209 self,
4210 ) -> crate::common::RegisterField<
4211 2,
4212 0x1,
4213 1,
4214 0,
4215 p00pfs_ha::Pdr,
4216 p00pfs_ha::Pdr,
4217 P00PfsHa_SPEC,
4218 crate::common::RW,
4219 > {
4220 crate::common::RegisterField::<
4221 2,
4222 0x1,
4223 1,
4224 0,
4225 p00pfs_ha::Pdr,
4226 p00pfs_ha::Pdr,
4227 P00PfsHa_SPEC,
4228 crate::common::RW,
4229 >::from_register(self, 0)
4230 }
4231
4232 #[doc = "Pull-up Control"]
4233 #[inline(always)]
4234 pub fn pcr(
4235 self,
4236 ) -> crate::common::RegisterField<
4237 4,
4238 0x1,
4239 1,
4240 0,
4241 p00pfs_ha::Pcr,
4242 p00pfs_ha::Pcr,
4243 P00PfsHa_SPEC,
4244 crate::common::RW,
4245 > {
4246 crate::common::RegisterField::<
4247 4,
4248 0x1,
4249 1,
4250 0,
4251 p00pfs_ha::Pcr,
4252 p00pfs_ha::Pcr,
4253 P00PfsHa_SPEC,
4254 crate::common::RW,
4255 >::from_register(self, 0)
4256 }
4257
4258 #[doc = "N-Channel Open-Drain Control"]
4259 #[inline(always)]
4260 pub fn ncodr(
4261 self,
4262 ) -> crate::common::RegisterField<
4263 6,
4264 0x1,
4265 1,
4266 0,
4267 p00pfs_ha::Ncodr,
4268 p00pfs_ha::Ncodr,
4269 P00PfsHa_SPEC,
4270 crate::common::RW,
4271 > {
4272 crate::common::RegisterField::<
4273 6,
4274 0x1,
4275 1,
4276 0,
4277 p00pfs_ha::Ncodr,
4278 p00pfs_ha::Ncodr,
4279 P00PfsHa_SPEC,
4280 crate::common::RW,
4281 >::from_register(self, 0)
4282 }
4283
4284 #[doc = "IRQ Input Enable"]
4285 #[inline(always)]
4286 pub fn isel(
4287 self,
4288 ) -> crate::common::RegisterField<
4289 14,
4290 0x1,
4291 1,
4292 0,
4293 p00pfs_ha::Isel,
4294 p00pfs_ha::Isel,
4295 P00PfsHa_SPEC,
4296 crate::common::RW,
4297 > {
4298 crate::common::RegisterField::<
4299 14,
4300 0x1,
4301 1,
4302 0,
4303 p00pfs_ha::Isel,
4304 p00pfs_ha::Isel,
4305 P00PfsHa_SPEC,
4306 crate::common::RW,
4307 >::from_register(self, 0)
4308 }
4309
4310 #[doc = "Analog Input Enable"]
4311 #[inline(always)]
4312 pub fn asel(
4313 self,
4314 ) -> crate::common::RegisterField<
4315 15,
4316 0x1,
4317 1,
4318 0,
4319 p00pfs_ha::Asel,
4320 p00pfs_ha::Asel,
4321 P00PfsHa_SPEC,
4322 crate::common::RW,
4323 > {
4324 crate::common::RegisterField::<
4325 15,
4326 0x1,
4327 1,
4328 0,
4329 p00pfs_ha::Asel,
4330 p00pfs_ha::Asel,
4331 P00PfsHa_SPEC,
4332 crate::common::RW,
4333 >::from_register(self, 0)
4334 }
4335}
4336impl ::core::default::Default for P00PfsHa {
4337 #[inline(always)]
4338 fn default() -> P00PfsHa {
4339 <crate::RegValueT<P00PfsHa_SPEC> as RegisterValue<_>>::new(0)
4340 }
4341}
4342pub mod p00pfs_ha {
4343
4344 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4345 pub struct Podr_SPEC;
4346 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4347 impl Podr {
4348 #[doc = "Output low"]
4349 pub const _0: Self = Self::new(0);
4350
4351 #[doc = "Output high"]
4352 pub const _1: Self = Self::new(1);
4353 }
4354 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4355 pub struct Pidr_SPEC;
4356 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4357 impl Pidr {
4358 #[doc = "Low level"]
4359 pub const _0: Self = Self::new(0);
4360
4361 #[doc = "High level"]
4362 pub const _1: Self = Self::new(1);
4363 }
4364 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4365 pub struct Pdr_SPEC;
4366 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4367 impl Pdr {
4368 #[doc = "Input (functions as an input pin)"]
4369 pub const _0: Self = Self::new(0);
4370
4371 #[doc = "Output (functions as an output pin)"]
4372 pub const _1: Self = Self::new(1);
4373 }
4374 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4375 pub struct Pcr_SPEC;
4376 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4377 impl Pcr {
4378 #[doc = "Disable input pull-up"]
4379 pub const _0: Self = Self::new(0);
4380
4381 #[doc = "Enable input pull-up"]
4382 pub const _1: Self = Self::new(1);
4383 }
4384 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4385 pub struct Ncodr_SPEC;
4386 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4387 impl Ncodr {
4388 #[doc = "Output CMOS"]
4389 pub const _0: Self = Self::new(0);
4390
4391 #[doc = "Output NMOS open-drain"]
4392 pub const _1: Self = Self::new(1);
4393 }
4394 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4395 pub struct Isel_SPEC;
4396 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4397 impl Isel {
4398 #[doc = "Do not use as IRQn input pin"]
4399 pub const _0: Self = Self::new(0);
4400
4401 #[doc = "Use as IRQn input pin"]
4402 pub const _1: Self = Self::new(1);
4403 }
4404 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4405 pub struct Asel_SPEC;
4406 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4407 impl Asel {
4408 #[doc = "Do not use as analog pin"]
4409 pub const _0: Self = Self::new(0);
4410
4411 #[doc = "Use as analog pin"]
4412 pub const _1: Self = Self::new(1);
4413 }
4414}
4415#[doc(hidden)]
4416#[derive(Copy, Clone, Eq, PartialEq)]
4417pub struct P00PfsBy_SPEC;
4418impl crate::sealed::RegSpec for P00PfsBy_SPEC {
4419 type DataType = u8;
4420}
4421
4422#[doc = "Port 00%s Pin Function Select Register"]
4423pub type P00PfsBy = crate::RegValueT<P00PfsBy_SPEC>;
4424
4425impl P00PfsBy {
4426 #[doc = "Port Output Data"]
4427 #[inline(always)]
4428 pub fn podr(
4429 self,
4430 ) -> crate::common::RegisterField<
4431 0,
4432 0x1,
4433 1,
4434 0,
4435 p00pfs_by::Podr,
4436 p00pfs_by::Podr,
4437 P00PfsBy_SPEC,
4438 crate::common::RW,
4439 > {
4440 crate::common::RegisterField::<
4441 0,
4442 0x1,
4443 1,
4444 0,
4445 p00pfs_by::Podr,
4446 p00pfs_by::Podr,
4447 P00PfsBy_SPEC,
4448 crate::common::RW,
4449 >::from_register(self, 0)
4450 }
4451
4452 #[doc = "Port State"]
4453 #[inline(always)]
4454 pub fn pidr(
4455 self,
4456 ) -> crate::common::RegisterField<
4457 1,
4458 0x1,
4459 1,
4460 0,
4461 p00pfs_by::Pidr,
4462 p00pfs_by::Pidr,
4463 P00PfsBy_SPEC,
4464 crate::common::R,
4465 > {
4466 crate::common::RegisterField::<
4467 1,
4468 0x1,
4469 1,
4470 0,
4471 p00pfs_by::Pidr,
4472 p00pfs_by::Pidr,
4473 P00PfsBy_SPEC,
4474 crate::common::R,
4475 >::from_register(self, 0)
4476 }
4477
4478 #[doc = "Port Direction"]
4479 #[inline(always)]
4480 pub fn pdr(
4481 self,
4482 ) -> crate::common::RegisterField<
4483 2,
4484 0x1,
4485 1,
4486 0,
4487 p00pfs_by::Pdr,
4488 p00pfs_by::Pdr,
4489 P00PfsBy_SPEC,
4490 crate::common::RW,
4491 > {
4492 crate::common::RegisterField::<
4493 2,
4494 0x1,
4495 1,
4496 0,
4497 p00pfs_by::Pdr,
4498 p00pfs_by::Pdr,
4499 P00PfsBy_SPEC,
4500 crate::common::RW,
4501 >::from_register(self, 0)
4502 }
4503
4504 #[doc = "Pull-up Control"]
4505 #[inline(always)]
4506 pub fn pcr(
4507 self,
4508 ) -> crate::common::RegisterField<
4509 4,
4510 0x1,
4511 1,
4512 0,
4513 p00pfs_by::Pcr,
4514 p00pfs_by::Pcr,
4515 P00PfsBy_SPEC,
4516 crate::common::RW,
4517 > {
4518 crate::common::RegisterField::<
4519 4,
4520 0x1,
4521 1,
4522 0,
4523 p00pfs_by::Pcr,
4524 p00pfs_by::Pcr,
4525 P00PfsBy_SPEC,
4526 crate::common::RW,
4527 >::from_register(self, 0)
4528 }
4529
4530 #[doc = "N-Channel Open-Drain Control"]
4531 #[inline(always)]
4532 pub fn ncodr(
4533 self,
4534 ) -> crate::common::RegisterField<
4535 6,
4536 0x1,
4537 1,
4538 0,
4539 p00pfs_by::Ncodr,
4540 p00pfs_by::Ncodr,
4541 P00PfsBy_SPEC,
4542 crate::common::RW,
4543 > {
4544 crate::common::RegisterField::<
4545 6,
4546 0x1,
4547 1,
4548 0,
4549 p00pfs_by::Ncodr,
4550 p00pfs_by::Ncodr,
4551 P00PfsBy_SPEC,
4552 crate::common::RW,
4553 >::from_register(self, 0)
4554 }
4555}
4556impl ::core::default::Default for P00PfsBy {
4557 #[inline(always)]
4558 fn default() -> P00PfsBy {
4559 <crate::RegValueT<P00PfsBy_SPEC> as RegisterValue<_>>::new(0)
4560 }
4561}
4562pub mod p00pfs_by {
4563
4564 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4565 pub struct Podr_SPEC;
4566 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4567 impl Podr {
4568 #[doc = "Output low"]
4569 pub const _0: Self = Self::new(0);
4570
4571 #[doc = "Output high"]
4572 pub const _1: Self = Self::new(1);
4573 }
4574 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4575 pub struct Pidr_SPEC;
4576 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4577 impl Pidr {
4578 #[doc = "Low level"]
4579 pub const _0: Self = Self::new(0);
4580
4581 #[doc = "High level"]
4582 pub const _1: Self = Self::new(1);
4583 }
4584 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4585 pub struct Pdr_SPEC;
4586 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4587 impl Pdr {
4588 #[doc = "Input (functions as an input pin)"]
4589 pub const _0: Self = Self::new(0);
4590
4591 #[doc = "Output (functions as an output pin)"]
4592 pub const _1: Self = Self::new(1);
4593 }
4594 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4595 pub struct Pcr_SPEC;
4596 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4597 impl Pcr {
4598 #[doc = "Disable input pull-up"]
4599 pub const _0: Self = Self::new(0);
4600
4601 #[doc = "Enable input pull-up"]
4602 pub const _1: Self = Self::new(1);
4603 }
4604 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4605 pub struct Ncodr_SPEC;
4606 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4607 impl Ncodr {
4608 #[doc = "Output CMOS"]
4609 pub const _0: Self = Self::new(0);
4610
4611 #[doc = "Output NMOS open-drain"]
4612 pub const _1: Self = Self::new(1);
4613 }
4614}
4615#[doc(hidden)]
4616#[derive(Copy, Clone, Eq, PartialEq)]
4617pub struct P008Pfs_SPEC;
4618impl crate::sealed::RegSpec for P008Pfs_SPEC {
4619 type DataType = u32;
4620}
4621
4622#[doc = "Port 008 Pin Function Select Register"]
4623pub type P008Pfs = crate::RegValueT<P008Pfs_SPEC>;
4624
4625impl P008Pfs {
4626 #[doc = "Port Output Data"]
4627 #[inline(always)]
4628 pub fn podr(
4629 self,
4630 ) -> crate::common::RegisterField<
4631 0,
4632 0x1,
4633 1,
4634 0,
4635 p008pfs::Podr,
4636 p008pfs::Podr,
4637 P008Pfs_SPEC,
4638 crate::common::RW,
4639 > {
4640 crate::common::RegisterField::<
4641 0,
4642 0x1,
4643 1,
4644 0,
4645 p008pfs::Podr,
4646 p008pfs::Podr,
4647 P008Pfs_SPEC,
4648 crate::common::RW,
4649 >::from_register(self, 0)
4650 }
4651
4652 #[doc = "Port State"]
4653 #[inline(always)]
4654 pub fn pidr(
4655 self,
4656 ) -> crate::common::RegisterField<
4657 1,
4658 0x1,
4659 1,
4660 0,
4661 p008pfs::Pidr,
4662 p008pfs::Pidr,
4663 P008Pfs_SPEC,
4664 crate::common::R,
4665 > {
4666 crate::common::RegisterField::<
4667 1,
4668 0x1,
4669 1,
4670 0,
4671 p008pfs::Pidr,
4672 p008pfs::Pidr,
4673 P008Pfs_SPEC,
4674 crate::common::R,
4675 >::from_register(self, 0)
4676 }
4677
4678 #[doc = "Port Direction"]
4679 #[inline(always)]
4680 pub fn pdr(
4681 self,
4682 ) -> crate::common::RegisterField<
4683 2,
4684 0x1,
4685 1,
4686 0,
4687 p008pfs::Pdr,
4688 p008pfs::Pdr,
4689 P008Pfs_SPEC,
4690 crate::common::RW,
4691 > {
4692 crate::common::RegisterField::<
4693 2,
4694 0x1,
4695 1,
4696 0,
4697 p008pfs::Pdr,
4698 p008pfs::Pdr,
4699 P008Pfs_SPEC,
4700 crate::common::RW,
4701 >::from_register(self, 0)
4702 }
4703
4704 #[doc = "Pull-up Control"]
4705 #[inline(always)]
4706 pub fn pcr(
4707 self,
4708 ) -> crate::common::RegisterField<
4709 4,
4710 0x1,
4711 1,
4712 0,
4713 p008pfs::Pcr,
4714 p008pfs::Pcr,
4715 P008Pfs_SPEC,
4716 crate::common::RW,
4717 > {
4718 crate::common::RegisterField::<
4719 4,
4720 0x1,
4721 1,
4722 0,
4723 p008pfs::Pcr,
4724 p008pfs::Pcr,
4725 P008Pfs_SPEC,
4726 crate::common::RW,
4727 >::from_register(self, 0)
4728 }
4729
4730 #[doc = "N-Channel Open-Drain Control"]
4731 #[inline(always)]
4732 pub fn ncodr(
4733 self,
4734 ) -> crate::common::RegisterField<
4735 6,
4736 0x1,
4737 1,
4738 0,
4739 p008pfs::Ncodr,
4740 p008pfs::Ncodr,
4741 P008Pfs_SPEC,
4742 crate::common::RW,
4743 > {
4744 crate::common::RegisterField::<
4745 6,
4746 0x1,
4747 1,
4748 0,
4749 p008pfs::Ncodr,
4750 p008pfs::Ncodr,
4751 P008Pfs_SPEC,
4752 crate::common::RW,
4753 >::from_register(self, 0)
4754 }
4755
4756 #[doc = "IRQ Input Enable"]
4757 #[inline(always)]
4758 pub fn isel(
4759 self,
4760 ) -> crate::common::RegisterField<
4761 14,
4762 0x1,
4763 1,
4764 0,
4765 p008pfs::Isel,
4766 p008pfs::Isel,
4767 P008Pfs_SPEC,
4768 crate::common::RW,
4769 > {
4770 crate::common::RegisterField::<
4771 14,
4772 0x1,
4773 1,
4774 0,
4775 p008pfs::Isel,
4776 p008pfs::Isel,
4777 P008Pfs_SPEC,
4778 crate::common::RW,
4779 >::from_register(self, 0)
4780 }
4781
4782 #[doc = "Analog Input Enable"]
4783 #[inline(always)]
4784 pub fn asel(
4785 self,
4786 ) -> crate::common::RegisterField<
4787 15,
4788 0x1,
4789 1,
4790 0,
4791 p008pfs::Asel,
4792 p008pfs::Asel,
4793 P008Pfs_SPEC,
4794 crate::common::RW,
4795 > {
4796 crate::common::RegisterField::<
4797 15,
4798 0x1,
4799 1,
4800 0,
4801 p008pfs::Asel,
4802 p008pfs::Asel,
4803 P008Pfs_SPEC,
4804 crate::common::RW,
4805 >::from_register(self, 0)
4806 }
4807
4808 #[doc = "Port Mode Control"]
4809 #[inline(always)]
4810 pub fn pmr(
4811 self,
4812 ) -> crate::common::RegisterField<
4813 16,
4814 0x1,
4815 1,
4816 0,
4817 p008pfs::Pmr,
4818 p008pfs::Pmr,
4819 P008Pfs_SPEC,
4820 crate::common::RW,
4821 > {
4822 crate::common::RegisterField::<
4823 16,
4824 0x1,
4825 1,
4826 0,
4827 p008pfs::Pmr,
4828 p008pfs::Pmr,
4829 P008Pfs_SPEC,
4830 crate::common::RW,
4831 >::from_register(self, 0)
4832 }
4833
4834 #[doc = "Peripheral Select"]
4835 #[inline(always)]
4836 pub fn psel(
4837 self,
4838 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P008Pfs_SPEC, crate::common::RW> {
4839 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P008Pfs_SPEC,crate::common::RW>::from_register(self,0)
4840 }
4841}
4842impl ::core::default::Default for P008Pfs {
4843 #[inline(always)]
4844 fn default() -> P008Pfs {
4845 <crate::RegValueT<P008Pfs_SPEC> as RegisterValue<_>>::new(66576)
4846 }
4847}
4848pub mod p008pfs {
4849
4850 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4851 pub struct Podr_SPEC;
4852 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4853 impl Podr {
4854 #[doc = "Output low"]
4855 pub const _0: Self = Self::new(0);
4856
4857 #[doc = "Output high"]
4858 pub const _1: Self = Self::new(1);
4859 }
4860 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4861 pub struct Pidr_SPEC;
4862 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4863 impl Pidr {
4864 #[doc = "Low level"]
4865 pub const _0: Self = Self::new(0);
4866
4867 #[doc = "High level"]
4868 pub const _1: Self = Self::new(1);
4869 }
4870 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4871 pub struct Pdr_SPEC;
4872 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4873 impl Pdr {
4874 #[doc = "Input (functions as an input pin)"]
4875 pub const _0: Self = Self::new(0);
4876
4877 #[doc = "Output (functions as an output pin)"]
4878 pub const _1: Self = Self::new(1);
4879 }
4880 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4881 pub struct Pcr_SPEC;
4882 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4883 impl Pcr {
4884 #[doc = "Disable input pull-up"]
4885 pub const _0: Self = Self::new(0);
4886
4887 #[doc = "Enable input pull-up"]
4888 pub const _1: Self = Self::new(1);
4889 }
4890 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4891 pub struct Ncodr_SPEC;
4892 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4893 impl Ncodr {
4894 #[doc = "Output CMOS"]
4895 pub const _0: Self = Self::new(0);
4896
4897 #[doc = "Output NMOS open-drain"]
4898 pub const _1: Self = Self::new(1);
4899 }
4900 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4901 pub struct Isel_SPEC;
4902 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4903 impl Isel {
4904 #[doc = "Do not use as IRQn input pin"]
4905 pub const _0: Self = Self::new(0);
4906
4907 #[doc = "Use as IRQn input pin"]
4908 pub const _1: Self = Self::new(1);
4909 }
4910 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4911 pub struct Asel_SPEC;
4912 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4913 impl Asel {
4914 #[doc = "Do not use as analog pin"]
4915 pub const _0: Self = Self::new(0);
4916
4917 #[doc = "Use as analog pin"]
4918 pub const _1: Self = Self::new(1);
4919 }
4920 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4921 pub struct Pmr_SPEC;
4922 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
4923 impl Pmr {
4924 #[doc = "Use as general I/O pin"]
4925 pub const _0: Self = Self::new(0);
4926
4927 #[doc = "Use as I/O port for peripheral functions"]
4928 pub const _1: Self = Self::new(1);
4929 }
4930}
4931#[doc(hidden)]
4932#[derive(Copy, Clone, Eq, PartialEq)]
4933pub struct P008PfsHa_SPEC;
4934impl crate::sealed::RegSpec for P008PfsHa_SPEC {
4935 type DataType = u16;
4936}
4937
4938#[doc = "Port 008 Pin Function Select Register"]
4939pub type P008PfsHa = crate::RegValueT<P008PfsHa_SPEC>;
4940
4941impl P008PfsHa {
4942 #[doc = "Port Output Data"]
4943 #[inline(always)]
4944 pub fn podr(
4945 self,
4946 ) -> crate::common::RegisterField<
4947 0,
4948 0x1,
4949 1,
4950 0,
4951 p008pfs_ha::Podr,
4952 p008pfs_ha::Podr,
4953 P008PfsHa_SPEC,
4954 crate::common::RW,
4955 > {
4956 crate::common::RegisterField::<
4957 0,
4958 0x1,
4959 1,
4960 0,
4961 p008pfs_ha::Podr,
4962 p008pfs_ha::Podr,
4963 P008PfsHa_SPEC,
4964 crate::common::RW,
4965 >::from_register(self, 0)
4966 }
4967
4968 #[doc = "Port State"]
4969 #[inline(always)]
4970 pub fn pidr(
4971 self,
4972 ) -> crate::common::RegisterField<
4973 1,
4974 0x1,
4975 1,
4976 0,
4977 p008pfs_ha::Pidr,
4978 p008pfs_ha::Pidr,
4979 P008PfsHa_SPEC,
4980 crate::common::R,
4981 > {
4982 crate::common::RegisterField::<
4983 1,
4984 0x1,
4985 1,
4986 0,
4987 p008pfs_ha::Pidr,
4988 p008pfs_ha::Pidr,
4989 P008PfsHa_SPEC,
4990 crate::common::R,
4991 >::from_register(self, 0)
4992 }
4993
4994 #[doc = "Port Direction"]
4995 #[inline(always)]
4996 pub fn pdr(
4997 self,
4998 ) -> crate::common::RegisterField<
4999 2,
5000 0x1,
5001 1,
5002 0,
5003 p008pfs_ha::Pdr,
5004 p008pfs_ha::Pdr,
5005 P008PfsHa_SPEC,
5006 crate::common::RW,
5007 > {
5008 crate::common::RegisterField::<
5009 2,
5010 0x1,
5011 1,
5012 0,
5013 p008pfs_ha::Pdr,
5014 p008pfs_ha::Pdr,
5015 P008PfsHa_SPEC,
5016 crate::common::RW,
5017 >::from_register(self, 0)
5018 }
5019
5020 #[doc = "Pull-up Control"]
5021 #[inline(always)]
5022 pub fn pcr(
5023 self,
5024 ) -> crate::common::RegisterField<
5025 4,
5026 0x1,
5027 1,
5028 0,
5029 p008pfs_ha::Pcr,
5030 p008pfs_ha::Pcr,
5031 P008PfsHa_SPEC,
5032 crate::common::RW,
5033 > {
5034 crate::common::RegisterField::<
5035 4,
5036 0x1,
5037 1,
5038 0,
5039 p008pfs_ha::Pcr,
5040 p008pfs_ha::Pcr,
5041 P008PfsHa_SPEC,
5042 crate::common::RW,
5043 >::from_register(self, 0)
5044 }
5045
5046 #[doc = "N-Channel Open-Drain Control"]
5047 #[inline(always)]
5048 pub fn ncodr(
5049 self,
5050 ) -> crate::common::RegisterField<
5051 6,
5052 0x1,
5053 1,
5054 0,
5055 p008pfs_ha::Ncodr,
5056 p008pfs_ha::Ncodr,
5057 P008PfsHa_SPEC,
5058 crate::common::RW,
5059 > {
5060 crate::common::RegisterField::<
5061 6,
5062 0x1,
5063 1,
5064 0,
5065 p008pfs_ha::Ncodr,
5066 p008pfs_ha::Ncodr,
5067 P008PfsHa_SPEC,
5068 crate::common::RW,
5069 >::from_register(self, 0)
5070 }
5071
5072 #[doc = "IRQ Input Enable"]
5073 #[inline(always)]
5074 pub fn isel(
5075 self,
5076 ) -> crate::common::RegisterField<
5077 14,
5078 0x1,
5079 1,
5080 0,
5081 p008pfs_ha::Isel,
5082 p008pfs_ha::Isel,
5083 P008PfsHa_SPEC,
5084 crate::common::RW,
5085 > {
5086 crate::common::RegisterField::<
5087 14,
5088 0x1,
5089 1,
5090 0,
5091 p008pfs_ha::Isel,
5092 p008pfs_ha::Isel,
5093 P008PfsHa_SPEC,
5094 crate::common::RW,
5095 >::from_register(self, 0)
5096 }
5097
5098 #[doc = "Analog Input Enable"]
5099 #[inline(always)]
5100 pub fn asel(
5101 self,
5102 ) -> crate::common::RegisterField<
5103 15,
5104 0x1,
5105 1,
5106 0,
5107 p008pfs_ha::Asel,
5108 p008pfs_ha::Asel,
5109 P008PfsHa_SPEC,
5110 crate::common::RW,
5111 > {
5112 crate::common::RegisterField::<
5113 15,
5114 0x1,
5115 1,
5116 0,
5117 p008pfs_ha::Asel,
5118 p008pfs_ha::Asel,
5119 P008PfsHa_SPEC,
5120 crate::common::RW,
5121 >::from_register(self, 0)
5122 }
5123}
5124impl ::core::default::Default for P008PfsHa {
5125 #[inline(always)]
5126 fn default() -> P008PfsHa {
5127 <crate::RegValueT<P008PfsHa_SPEC> as RegisterValue<_>>::new(1040)
5128 }
5129}
5130pub mod p008pfs_ha {
5131
5132 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5133 pub struct Podr_SPEC;
5134 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5135 impl Podr {
5136 #[doc = "Output low"]
5137 pub const _0: Self = Self::new(0);
5138
5139 #[doc = "Output high"]
5140 pub const _1: Self = Self::new(1);
5141 }
5142 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5143 pub struct Pidr_SPEC;
5144 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5145 impl Pidr {
5146 #[doc = "Low level"]
5147 pub const _0: Self = Self::new(0);
5148
5149 #[doc = "High level"]
5150 pub const _1: Self = Self::new(1);
5151 }
5152 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5153 pub struct Pdr_SPEC;
5154 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5155 impl Pdr {
5156 #[doc = "Input (functions as an input pin)"]
5157 pub const _0: Self = Self::new(0);
5158
5159 #[doc = "Output (functions as an output pin)"]
5160 pub const _1: Self = Self::new(1);
5161 }
5162 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5163 pub struct Pcr_SPEC;
5164 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5165 impl Pcr {
5166 #[doc = "Disable input pull-up"]
5167 pub const _0: Self = Self::new(0);
5168
5169 #[doc = "Enable input pull-up"]
5170 pub const _1: Self = Self::new(1);
5171 }
5172 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5173 pub struct Ncodr_SPEC;
5174 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5175 impl Ncodr {
5176 #[doc = "Output CMOS"]
5177 pub const _0: Self = Self::new(0);
5178
5179 #[doc = "Output NMOS open-drain"]
5180 pub const _1: Self = Self::new(1);
5181 }
5182 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5183 pub struct Isel_SPEC;
5184 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5185 impl Isel {
5186 #[doc = "Do not use as IRQn input pin"]
5187 pub const _0: Self = Self::new(0);
5188
5189 #[doc = "Use as IRQn input pin"]
5190 pub const _1: Self = Self::new(1);
5191 }
5192 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5193 pub struct Asel_SPEC;
5194 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5195 impl Asel {
5196 #[doc = "Do not use as analog pin"]
5197 pub const _0: Self = Self::new(0);
5198
5199 #[doc = "Use as analog pin"]
5200 pub const _1: Self = Self::new(1);
5201 }
5202}
5203#[doc(hidden)]
5204#[derive(Copy, Clone, Eq, PartialEq)]
5205pub struct P008PfsBy_SPEC;
5206impl crate::sealed::RegSpec for P008PfsBy_SPEC {
5207 type DataType = u8;
5208}
5209
5210#[doc = "Port 008 Pin Function Select Register"]
5211pub type P008PfsBy = crate::RegValueT<P008PfsBy_SPEC>;
5212
5213impl P008PfsBy {
5214 #[doc = "Port Output Data"]
5215 #[inline(always)]
5216 pub fn podr(
5217 self,
5218 ) -> crate::common::RegisterField<
5219 0,
5220 0x1,
5221 1,
5222 0,
5223 p008pfs_by::Podr,
5224 p008pfs_by::Podr,
5225 P008PfsBy_SPEC,
5226 crate::common::RW,
5227 > {
5228 crate::common::RegisterField::<
5229 0,
5230 0x1,
5231 1,
5232 0,
5233 p008pfs_by::Podr,
5234 p008pfs_by::Podr,
5235 P008PfsBy_SPEC,
5236 crate::common::RW,
5237 >::from_register(self, 0)
5238 }
5239
5240 #[doc = "Port State"]
5241 #[inline(always)]
5242 pub fn pidr(
5243 self,
5244 ) -> crate::common::RegisterField<
5245 1,
5246 0x1,
5247 1,
5248 0,
5249 p008pfs_by::Pidr,
5250 p008pfs_by::Pidr,
5251 P008PfsBy_SPEC,
5252 crate::common::R,
5253 > {
5254 crate::common::RegisterField::<
5255 1,
5256 0x1,
5257 1,
5258 0,
5259 p008pfs_by::Pidr,
5260 p008pfs_by::Pidr,
5261 P008PfsBy_SPEC,
5262 crate::common::R,
5263 >::from_register(self, 0)
5264 }
5265
5266 #[doc = "Port Direction"]
5267 #[inline(always)]
5268 pub fn pdr(
5269 self,
5270 ) -> crate::common::RegisterField<
5271 2,
5272 0x1,
5273 1,
5274 0,
5275 p008pfs_by::Pdr,
5276 p008pfs_by::Pdr,
5277 P008PfsBy_SPEC,
5278 crate::common::RW,
5279 > {
5280 crate::common::RegisterField::<
5281 2,
5282 0x1,
5283 1,
5284 0,
5285 p008pfs_by::Pdr,
5286 p008pfs_by::Pdr,
5287 P008PfsBy_SPEC,
5288 crate::common::RW,
5289 >::from_register(self, 0)
5290 }
5291
5292 #[doc = "Pull-up Control"]
5293 #[inline(always)]
5294 pub fn pcr(
5295 self,
5296 ) -> crate::common::RegisterField<
5297 4,
5298 0x1,
5299 1,
5300 0,
5301 p008pfs_by::Pcr,
5302 p008pfs_by::Pcr,
5303 P008PfsBy_SPEC,
5304 crate::common::RW,
5305 > {
5306 crate::common::RegisterField::<
5307 4,
5308 0x1,
5309 1,
5310 0,
5311 p008pfs_by::Pcr,
5312 p008pfs_by::Pcr,
5313 P008PfsBy_SPEC,
5314 crate::common::RW,
5315 >::from_register(self, 0)
5316 }
5317
5318 #[doc = "N-Channel Open-Drain Control"]
5319 #[inline(always)]
5320 pub fn ncodr(
5321 self,
5322 ) -> crate::common::RegisterField<
5323 6,
5324 0x1,
5325 1,
5326 0,
5327 p008pfs_by::Ncodr,
5328 p008pfs_by::Ncodr,
5329 P008PfsBy_SPEC,
5330 crate::common::RW,
5331 > {
5332 crate::common::RegisterField::<
5333 6,
5334 0x1,
5335 1,
5336 0,
5337 p008pfs_by::Ncodr,
5338 p008pfs_by::Ncodr,
5339 P008PfsBy_SPEC,
5340 crate::common::RW,
5341 >::from_register(self, 0)
5342 }
5343}
5344impl ::core::default::Default for P008PfsBy {
5345 #[inline(always)]
5346 fn default() -> P008PfsBy {
5347 <crate::RegValueT<P008PfsBy_SPEC> as RegisterValue<_>>::new(16)
5348 }
5349}
5350pub mod p008pfs_by {
5351
5352 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5353 pub struct Podr_SPEC;
5354 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5355 impl Podr {
5356 #[doc = "Output low"]
5357 pub const _0: Self = Self::new(0);
5358
5359 #[doc = "Output high"]
5360 pub const _1: Self = Self::new(1);
5361 }
5362 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5363 pub struct Pidr_SPEC;
5364 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5365 impl Pidr {
5366 #[doc = "Low level"]
5367 pub const _0: Self = Self::new(0);
5368
5369 #[doc = "High level"]
5370 pub const _1: Self = Self::new(1);
5371 }
5372 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5373 pub struct Pdr_SPEC;
5374 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5375 impl Pdr {
5376 #[doc = "Input (functions as an input pin)"]
5377 pub const _0: Self = Self::new(0);
5378
5379 #[doc = "Output (functions as an output pin)"]
5380 pub const _1: Self = Self::new(1);
5381 }
5382 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5383 pub struct Pcr_SPEC;
5384 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5385 impl Pcr {
5386 #[doc = "Disable input pull-up"]
5387 pub const _0: Self = Self::new(0);
5388
5389 #[doc = "Enable input pull-up"]
5390 pub const _1: Self = Self::new(1);
5391 }
5392 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5393 pub struct Ncodr_SPEC;
5394 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5395 impl Ncodr {
5396 #[doc = "Output CMOS"]
5397 pub const _0: Self = Self::new(0);
5398
5399 #[doc = "Output NMOS open-drain"]
5400 pub const _1: Self = Self::new(1);
5401 }
5402}
5403#[doc(hidden)]
5404#[derive(Copy, Clone, Eq, PartialEq)]
5405pub struct P009Pfs_SPEC;
5406impl crate::sealed::RegSpec for P009Pfs_SPEC {
5407 type DataType = u32;
5408}
5409
5410#[doc = "Port 009 Pin Function Select Register"]
5411pub type P009Pfs = crate::RegValueT<P009Pfs_SPEC>;
5412
5413impl P009Pfs {
5414 #[doc = "Port Output Data"]
5415 #[inline(always)]
5416 pub fn podr(
5417 self,
5418 ) -> crate::common::RegisterField<
5419 0,
5420 0x1,
5421 1,
5422 0,
5423 p009pfs::Podr,
5424 p009pfs::Podr,
5425 P009Pfs_SPEC,
5426 crate::common::RW,
5427 > {
5428 crate::common::RegisterField::<
5429 0,
5430 0x1,
5431 1,
5432 0,
5433 p009pfs::Podr,
5434 p009pfs::Podr,
5435 P009Pfs_SPEC,
5436 crate::common::RW,
5437 >::from_register(self, 0)
5438 }
5439
5440 #[doc = "Port State"]
5441 #[inline(always)]
5442 pub fn pidr(
5443 self,
5444 ) -> crate::common::RegisterField<
5445 1,
5446 0x1,
5447 1,
5448 0,
5449 p009pfs::Pidr,
5450 p009pfs::Pidr,
5451 P009Pfs_SPEC,
5452 crate::common::R,
5453 > {
5454 crate::common::RegisterField::<
5455 1,
5456 0x1,
5457 1,
5458 0,
5459 p009pfs::Pidr,
5460 p009pfs::Pidr,
5461 P009Pfs_SPEC,
5462 crate::common::R,
5463 >::from_register(self, 0)
5464 }
5465
5466 #[doc = "Port Direction"]
5467 #[inline(always)]
5468 pub fn pdr(
5469 self,
5470 ) -> crate::common::RegisterField<
5471 2,
5472 0x1,
5473 1,
5474 0,
5475 p009pfs::Pdr,
5476 p009pfs::Pdr,
5477 P009Pfs_SPEC,
5478 crate::common::RW,
5479 > {
5480 crate::common::RegisterField::<
5481 2,
5482 0x1,
5483 1,
5484 0,
5485 p009pfs::Pdr,
5486 p009pfs::Pdr,
5487 P009Pfs_SPEC,
5488 crate::common::RW,
5489 >::from_register(self, 0)
5490 }
5491
5492 #[doc = "Pull-up Control"]
5493 #[inline(always)]
5494 pub fn pcr(
5495 self,
5496 ) -> crate::common::RegisterField<
5497 4,
5498 0x1,
5499 1,
5500 0,
5501 p009pfs::Pcr,
5502 p009pfs::Pcr,
5503 P009Pfs_SPEC,
5504 crate::common::RW,
5505 > {
5506 crate::common::RegisterField::<
5507 4,
5508 0x1,
5509 1,
5510 0,
5511 p009pfs::Pcr,
5512 p009pfs::Pcr,
5513 P009Pfs_SPEC,
5514 crate::common::RW,
5515 >::from_register(self, 0)
5516 }
5517
5518 #[doc = "N-Channel Open-Drain Control"]
5519 #[inline(always)]
5520 pub fn ncodr(
5521 self,
5522 ) -> crate::common::RegisterField<
5523 6,
5524 0x1,
5525 1,
5526 0,
5527 p009pfs::Ncodr,
5528 p009pfs::Ncodr,
5529 P009Pfs_SPEC,
5530 crate::common::RW,
5531 > {
5532 crate::common::RegisterField::<
5533 6,
5534 0x1,
5535 1,
5536 0,
5537 p009pfs::Ncodr,
5538 p009pfs::Ncodr,
5539 P009Pfs_SPEC,
5540 crate::common::RW,
5541 >::from_register(self, 0)
5542 }
5543
5544 #[doc = "IRQ Input Enable"]
5545 #[inline(always)]
5546 pub fn isel(
5547 self,
5548 ) -> crate::common::RegisterField<
5549 14,
5550 0x1,
5551 1,
5552 0,
5553 p009pfs::Isel,
5554 p009pfs::Isel,
5555 P009Pfs_SPEC,
5556 crate::common::RW,
5557 > {
5558 crate::common::RegisterField::<
5559 14,
5560 0x1,
5561 1,
5562 0,
5563 p009pfs::Isel,
5564 p009pfs::Isel,
5565 P009Pfs_SPEC,
5566 crate::common::RW,
5567 >::from_register(self, 0)
5568 }
5569
5570 #[doc = "Analog Input Enable"]
5571 #[inline(always)]
5572 pub fn asel(
5573 self,
5574 ) -> crate::common::RegisterField<
5575 15,
5576 0x1,
5577 1,
5578 0,
5579 p009pfs::Asel,
5580 p009pfs::Asel,
5581 P009Pfs_SPEC,
5582 crate::common::RW,
5583 > {
5584 crate::common::RegisterField::<
5585 15,
5586 0x1,
5587 1,
5588 0,
5589 p009pfs::Asel,
5590 p009pfs::Asel,
5591 P009Pfs_SPEC,
5592 crate::common::RW,
5593 >::from_register(self, 0)
5594 }
5595
5596 #[doc = "Port Mode Control"]
5597 #[inline(always)]
5598 pub fn pmr(
5599 self,
5600 ) -> crate::common::RegisterField<
5601 16,
5602 0x1,
5603 1,
5604 0,
5605 p009pfs::Pmr,
5606 p009pfs::Pmr,
5607 P009Pfs_SPEC,
5608 crate::common::RW,
5609 > {
5610 crate::common::RegisterField::<
5611 16,
5612 0x1,
5613 1,
5614 0,
5615 p009pfs::Pmr,
5616 p009pfs::Pmr,
5617 P009Pfs_SPEC,
5618 crate::common::RW,
5619 >::from_register(self, 0)
5620 }
5621
5622 #[doc = "Peripheral Select"]
5623 #[inline(always)]
5624 pub fn psel(
5625 self,
5626 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P009Pfs_SPEC, crate::common::RW> {
5627 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P009Pfs_SPEC,crate::common::RW>::from_register(self,0)
5628 }
5629}
5630impl ::core::default::Default for P009Pfs {
5631 #[inline(always)]
5632 fn default() -> P009Pfs {
5633 <crate::RegValueT<P009Pfs_SPEC> as RegisterValue<_>>::new(66560)
5634 }
5635}
5636pub mod p009pfs {
5637
5638 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5639 pub struct Podr_SPEC;
5640 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5641 impl Podr {
5642 #[doc = "Output low"]
5643 pub const _0: Self = Self::new(0);
5644
5645 #[doc = "Output high"]
5646 pub const _1: Self = Self::new(1);
5647 }
5648 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5649 pub struct Pidr_SPEC;
5650 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5651 impl Pidr {
5652 #[doc = "Low level"]
5653 pub const _0: Self = Self::new(0);
5654
5655 #[doc = "High level"]
5656 pub const _1: Self = Self::new(1);
5657 }
5658 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5659 pub struct Pdr_SPEC;
5660 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5661 impl Pdr {
5662 #[doc = "Input (functions as an input pin)"]
5663 pub const _0: Self = Self::new(0);
5664
5665 #[doc = "Output (functions as an output pin)"]
5666 pub const _1: Self = Self::new(1);
5667 }
5668 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5669 pub struct Pcr_SPEC;
5670 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5671 impl Pcr {
5672 #[doc = "Disable input pull-up"]
5673 pub const _0: Self = Self::new(0);
5674
5675 #[doc = "Enable input pull-up"]
5676 pub const _1: Self = Self::new(1);
5677 }
5678 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5679 pub struct Ncodr_SPEC;
5680 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5681 impl Ncodr {
5682 #[doc = "Output CMOS"]
5683 pub const _0: Self = Self::new(0);
5684
5685 #[doc = "Output NMOS open-drain"]
5686 pub const _1: Self = Self::new(1);
5687 }
5688 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5689 pub struct Isel_SPEC;
5690 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5691 impl Isel {
5692 #[doc = "Do not use as IRQn input pin"]
5693 pub const _0: Self = Self::new(0);
5694
5695 #[doc = "Use as IRQn input pin"]
5696 pub const _1: Self = Self::new(1);
5697 }
5698 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5699 pub struct Asel_SPEC;
5700 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5701 impl Asel {
5702 #[doc = "Do not use as analog pin"]
5703 pub const _0: Self = Self::new(0);
5704
5705 #[doc = "Use as analog pin"]
5706 pub const _1: Self = Self::new(1);
5707 }
5708 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5709 pub struct Pmr_SPEC;
5710 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
5711 impl Pmr {
5712 #[doc = "Use as general I/O pin"]
5713 pub const _0: Self = Self::new(0);
5714
5715 #[doc = "Use as I/O port for peripheral functions"]
5716 pub const _1: Self = Self::new(1);
5717 }
5718}
5719#[doc(hidden)]
5720#[derive(Copy, Clone, Eq, PartialEq)]
5721pub struct P009PfsHa_SPEC;
5722impl crate::sealed::RegSpec for P009PfsHa_SPEC {
5723 type DataType = u16;
5724}
5725
5726#[doc = "Port 009 Pin Function Select Register"]
5727pub type P009PfsHa = crate::RegValueT<P009PfsHa_SPEC>;
5728
5729impl P009PfsHa {
5730 #[doc = "Port Output Data"]
5731 #[inline(always)]
5732 pub fn podr(
5733 self,
5734 ) -> crate::common::RegisterField<
5735 0,
5736 0x1,
5737 1,
5738 0,
5739 p009pfs_ha::Podr,
5740 p009pfs_ha::Podr,
5741 P009PfsHa_SPEC,
5742 crate::common::RW,
5743 > {
5744 crate::common::RegisterField::<
5745 0,
5746 0x1,
5747 1,
5748 0,
5749 p009pfs_ha::Podr,
5750 p009pfs_ha::Podr,
5751 P009PfsHa_SPEC,
5752 crate::common::RW,
5753 >::from_register(self, 0)
5754 }
5755
5756 #[doc = "Port State"]
5757 #[inline(always)]
5758 pub fn pidr(
5759 self,
5760 ) -> crate::common::RegisterField<
5761 1,
5762 0x1,
5763 1,
5764 0,
5765 p009pfs_ha::Pidr,
5766 p009pfs_ha::Pidr,
5767 P009PfsHa_SPEC,
5768 crate::common::R,
5769 > {
5770 crate::common::RegisterField::<
5771 1,
5772 0x1,
5773 1,
5774 0,
5775 p009pfs_ha::Pidr,
5776 p009pfs_ha::Pidr,
5777 P009PfsHa_SPEC,
5778 crate::common::R,
5779 >::from_register(self, 0)
5780 }
5781
5782 #[doc = "Port Direction"]
5783 #[inline(always)]
5784 pub fn pdr(
5785 self,
5786 ) -> crate::common::RegisterField<
5787 2,
5788 0x1,
5789 1,
5790 0,
5791 p009pfs_ha::Pdr,
5792 p009pfs_ha::Pdr,
5793 P009PfsHa_SPEC,
5794 crate::common::RW,
5795 > {
5796 crate::common::RegisterField::<
5797 2,
5798 0x1,
5799 1,
5800 0,
5801 p009pfs_ha::Pdr,
5802 p009pfs_ha::Pdr,
5803 P009PfsHa_SPEC,
5804 crate::common::RW,
5805 >::from_register(self, 0)
5806 }
5807
5808 #[doc = "Pull-up Control"]
5809 #[inline(always)]
5810 pub fn pcr(
5811 self,
5812 ) -> crate::common::RegisterField<
5813 4,
5814 0x1,
5815 1,
5816 0,
5817 p009pfs_ha::Pcr,
5818 p009pfs_ha::Pcr,
5819 P009PfsHa_SPEC,
5820 crate::common::RW,
5821 > {
5822 crate::common::RegisterField::<
5823 4,
5824 0x1,
5825 1,
5826 0,
5827 p009pfs_ha::Pcr,
5828 p009pfs_ha::Pcr,
5829 P009PfsHa_SPEC,
5830 crate::common::RW,
5831 >::from_register(self, 0)
5832 }
5833
5834 #[doc = "N-Channel Open-Drain Control"]
5835 #[inline(always)]
5836 pub fn ncodr(
5837 self,
5838 ) -> crate::common::RegisterField<
5839 6,
5840 0x1,
5841 1,
5842 0,
5843 p009pfs_ha::Ncodr,
5844 p009pfs_ha::Ncodr,
5845 P009PfsHa_SPEC,
5846 crate::common::RW,
5847 > {
5848 crate::common::RegisterField::<
5849 6,
5850 0x1,
5851 1,
5852 0,
5853 p009pfs_ha::Ncodr,
5854 p009pfs_ha::Ncodr,
5855 P009PfsHa_SPEC,
5856 crate::common::RW,
5857 >::from_register(self, 0)
5858 }
5859
5860 #[doc = "IRQ Input Enable"]
5861 #[inline(always)]
5862 pub fn isel(
5863 self,
5864 ) -> crate::common::RegisterField<
5865 14,
5866 0x1,
5867 1,
5868 0,
5869 p009pfs_ha::Isel,
5870 p009pfs_ha::Isel,
5871 P009PfsHa_SPEC,
5872 crate::common::RW,
5873 > {
5874 crate::common::RegisterField::<
5875 14,
5876 0x1,
5877 1,
5878 0,
5879 p009pfs_ha::Isel,
5880 p009pfs_ha::Isel,
5881 P009PfsHa_SPEC,
5882 crate::common::RW,
5883 >::from_register(self, 0)
5884 }
5885
5886 #[doc = "Analog Input Enable"]
5887 #[inline(always)]
5888 pub fn asel(
5889 self,
5890 ) -> crate::common::RegisterField<
5891 15,
5892 0x1,
5893 1,
5894 0,
5895 p009pfs_ha::Asel,
5896 p009pfs_ha::Asel,
5897 P009PfsHa_SPEC,
5898 crate::common::RW,
5899 > {
5900 crate::common::RegisterField::<
5901 15,
5902 0x1,
5903 1,
5904 0,
5905 p009pfs_ha::Asel,
5906 p009pfs_ha::Asel,
5907 P009PfsHa_SPEC,
5908 crate::common::RW,
5909 >::from_register(self, 0)
5910 }
5911}
5912impl ::core::default::Default for P009PfsHa {
5913 #[inline(always)]
5914 fn default() -> P009PfsHa {
5915 <crate::RegValueT<P009PfsHa_SPEC> as RegisterValue<_>>::new(1024)
5916 }
5917}
5918pub mod p009pfs_ha {
5919
5920 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5921 pub struct Podr_SPEC;
5922 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5923 impl Podr {
5924 #[doc = "Output low"]
5925 pub const _0: Self = Self::new(0);
5926
5927 #[doc = "Output high"]
5928 pub const _1: Self = Self::new(1);
5929 }
5930 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5931 pub struct Pidr_SPEC;
5932 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5933 impl Pidr {
5934 #[doc = "Low level"]
5935 pub const _0: Self = Self::new(0);
5936
5937 #[doc = "High level"]
5938 pub const _1: Self = Self::new(1);
5939 }
5940 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5941 pub struct Pdr_SPEC;
5942 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5943 impl Pdr {
5944 #[doc = "Input (functions as an input pin)"]
5945 pub const _0: Self = Self::new(0);
5946
5947 #[doc = "Output (functions as an output pin)"]
5948 pub const _1: Self = Self::new(1);
5949 }
5950 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5951 pub struct Pcr_SPEC;
5952 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5953 impl Pcr {
5954 #[doc = "Disable input pull-up"]
5955 pub const _0: Self = Self::new(0);
5956
5957 #[doc = "Enable input pull-up"]
5958 pub const _1: Self = Self::new(1);
5959 }
5960 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5961 pub struct Ncodr_SPEC;
5962 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5963 impl Ncodr {
5964 #[doc = "Output CMOS"]
5965 pub const _0: Self = Self::new(0);
5966
5967 #[doc = "Output NMOS open-drain"]
5968 pub const _1: Self = Self::new(1);
5969 }
5970 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5971 pub struct Isel_SPEC;
5972 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5973 impl Isel {
5974 #[doc = "Do not use as IRQn input pin"]
5975 pub const _0: Self = Self::new(0);
5976
5977 #[doc = "Use as IRQn input pin"]
5978 pub const _1: Self = Self::new(1);
5979 }
5980 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5981 pub struct Asel_SPEC;
5982 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5983 impl Asel {
5984 #[doc = "Do not use as analog pin"]
5985 pub const _0: Self = Self::new(0);
5986
5987 #[doc = "Use as analog pin"]
5988 pub const _1: Self = Self::new(1);
5989 }
5990}
5991#[doc(hidden)]
5992#[derive(Copy, Clone, Eq, PartialEq)]
5993pub struct P009PfsBy_SPEC;
5994impl crate::sealed::RegSpec for P009PfsBy_SPEC {
5995 type DataType = u8;
5996}
5997
5998#[doc = "Port 009 Pin Function Select Register"]
5999pub type P009PfsBy = crate::RegValueT<P009PfsBy_SPEC>;
6000
6001impl P009PfsBy {
6002 #[doc = "Port Output Data"]
6003 #[inline(always)]
6004 pub fn podr(
6005 self,
6006 ) -> crate::common::RegisterField<
6007 0,
6008 0x1,
6009 1,
6010 0,
6011 p009pfs_by::Podr,
6012 p009pfs_by::Podr,
6013 P009PfsBy_SPEC,
6014 crate::common::RW,
6015 > {
6016 crate::common::RegisterField::<
6017 0,
6018 0x1,
6019 1,
6020 0,
6021 p009pfs_by::Podr,
6022 p009pfs_by::Podr,
6023 P009PfsBy_SPEC,
6024 crate::common::RW,
6025 >::from_register(self, 0)
6026 }
6027
6028 #[doc = "Port State"]
6029 #[inline(always)]
6030 pub fn pidr(
6031 self,
6032 ) -> crate::common::RegisterField<
6033 1,
6034 0x1,
6035 1,
6036 0,
6037 p009pfs_by::Pidr,
6038 p009pfs_by::Pidr,
6039 P009PfsBy_SPEC,
6040 crate::common::R,
6041 > {
6042 crate::common::RegisterField::<
6043 1,
6044 0x1,
6045 1,
6046 0,
6047 p009pfs_by::Pidr,
6048 p009pfs_by::Pidr,
6049 P009PfsBy_SPEC,
6050 crate::common::R,
6051 >::from_register(self, 0)
6052 }
6053
6054 #[doc = "Port Direction"]
6055 #[inline(always)]
6056 pub fn pdr(
6057 self,
6058 ) -> crate::common::RegisterField<
6059 2,
6060 0x1,
6061 1,
6062 0,
6063 p009pfs_by::Pdr,
6064 p009pfs_by::Pdr,
6065 P009PfsBy_SPEC,
6066 crate::common::RW,
6067 > {
6068 crate::common::RegisterField::<
6069 2,
6070 0x1,
6071 1,
6072 0,
6073 p009pfs_by::Pdr,
6074 p009pfs_by::Pdr,
6075 P009PfsBy_SPEC,
6076 crate::common::RW,
6077 >::from_register(self, 0)
6078 }
6079
6080 #[doc = "Pull-up Control"]
6081 #[inline(always)]
6082 pub fn pcr(
6083 self,
6084 ) -> crate::common::RegisterField<
6085 4,
6086 0x1,
6087 1,
6088 0,
6089 p009pfs_by::Pcr,
6090 p009pfs_by::Pcr,
6091 P009PfsBy_SPEC,
6092 crate::common::RW,
6093 > {
6094 crate::common::RegisterField::<
6095 4,
6096 0x1,
6097 1,
6098 0,
6099 p009pfs_by::Pcr,
6100 p009pfs_by::Pcr,
6101 P009PfsBy_SPEC,
6102 crate::common::RW,
6103 >::from_register(self, 0)
6104 }
6105
6106 #[doc = "N-Channel Open-Drain Control"]
6107 #[inline(always)]
6108 pub fn ncodr(
6109 self,
6110 ) -> crate::common::RegisterField<
6111 6,
6112 0x1,
6113 1,
6114 0,
6115 p009pfs_by::Ncodr,
6116 p009pfs_by::Ncodr,
6117 P009PfsBy_SPEC,
6118 crate::common::RW,
6119 > {
6120 crate::common::RegisterField::<
6121 6,
6122 0x1,
6123 1,
6124 0,
6125 p009pfs_by::Ncodr,
6126 p009pfs_by::Ncodr,
6127 P009PfsBy_SPEC,
6128 crate::common::RW,
6129 >::from_register(self, 0)
6130 }
6131}
6132impl ::core::default::Default for P009PfsBy {
6133 #[inline(always)]
6134 fn default() -> P009PfsBy {
6135 <crate::RegValueT<P009PfsBy_SPEC> as RegisterValue<_>>::new(0)
6136 }
6137}
6138pub mod p009pfs_by {
6139
6140 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6141 pub struct Podr_SPEC;
6142 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6143 impl Podr {
6144 #[doc = "Output low"]
6145 pub const _0: Self = Self::new(0);
6146
6147 #[doc = "Output high"]
6148 pub const _1: Self = Self::new(1);
6149 }
6150 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6151 pub struct Pidr_SPEC;
6152 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6153 impl Pidr {
6154 #[doc = "Low level"]
6155 pub const _0: Self = Self::new(0);
6156
6157 #[doc = "High level"]
6158 pub const _1: Self = Self::new(1);
6159 }
6160 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6161 pub struct Pdr_SPEC;
6162 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6163 impl Pdr {
6164 #[doc = "Input (functions as an input pin)"]
6165 pub const _0: Self = Self::new(0);
6166
6167 #[doc = "Output (functions as an output pin)"]
6168 pub const _1: Self = Self::new(1);
6169 }
6170 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6171 pub struct Pcr_SPEC;
6172 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6173 impl Pcr {
6174 #[doc = "Disable input pull-up"]
6175 pub const _0: Self = Self::new(0);
6176
6177 #[doc = "Enable input pull-up"]
6178 pub const _1: Self = Self::new(1);
6179 }
6180 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6181 pub struct Ncodr_SPEC;
6182 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6183 impl Ncodr {
6184 #[doc = "Output CMOS"]
6185 pub const _0: Self = Self::new(0);
6186
6187 #[doc = "Output NMOS open-drain"]
6188 pub const _1: Self = Self::new(1);
6189 }
6190}
6191#[doc(hidden)]
6192#[derive(Copy, Clone, Eq, PartialEq)]
6193pub struct P0Pfs_SPEC;
6194impl crate::sealed::RegSpec for P0Pfs_SPEC {
6195 type DataType = u32;
6196}
6197
6198#[doc = "Port 0%s Pin Function Select Register"]
6199pub type P0Pfs = crate::RegValueT<P0Pfs_SPEC>;
6200
6201impl P0Pfs {
6202 #[doc = "Port Output Data"]
6203 #[inline(always)]
6204 pub fn podr(
6205 self,
6206 ) -> crate::common::RegisterField<
6207 0,
6208 0x1,
6209 1,
6210 0,
6211 p0pfs::Podr,
6212 p0pfs::Podr,
6213 P0Pfs_SPEC,
6214 crate::common::RW,
6215 > {
6216 crate::common::RegisterField::<
6217 0,
6218 0x1,
6219 1,
6220 0,
6221 p0pfs::Podr,
6222 p0pfs::Podr,
6223 P0Pfs_SPEC,
6224 crate::common::RW,
6225 >::from_register(self, 0)
6226 }
6227
6228 #[doc = "Port State"]
6229 #[inline(always)]
6230 pub fn pidr(
6231 self,
6232 ) -> crate::common::RegisterField<
6233 1,
6234 0x1,
6235 1,
6236 0,
6237 p0pfs::Pidr,
6238 p0pfs::Pidr,
6239 P0Pfs_SPEC,
6240 crate::common::R,
6241 > {
6242 crate::common::RegisterField::<
6243 1,
6244 0x1,
6245 1,
6246 0,
6247 p0pfs::Pidr,
6248 p0pfs::Pidr,
6249 P0Pfs_SPEC,
6250 crate::common::R,
6251 >::from_register(self, 0)
6252 }
6253
6254 #[doc = "Port Direction"]
6255 #[inline(always)]
6256 pub fn pdr(
6257 self,
6258 ) -> crate::common::RegisterField<
6259 2,
6260 0x1,
6261 1,
6262 0,
6263 p0pfs::Pdr,
6264 p0pfs::Pdr,
6265 P0Pfs_SPEC,
6266 crate::common::RW,
6267 > {
6268 crate::common::RegisterField::<
6269 2,
6270 0x1,
6271 1,
6272 0,
6273 p0pfs::Pdr,
6274 p0pfs::Pdr,
6275 P0Pfs_SPEC,
6276 crate::common::RW,
6277 >::from_register(self, 0)
6278 }
6279
6280 #[doc = "Pull-up Control"]
6281 #[inline(always)]
6282 pub fn pcr(
6283 self,
6284 ) -> crate::common::RegisterField<
6285 4,
6286 0x1,
6287 1,
6288 0,
6289 p0pfs::Pcr,
6290 p0pfs::Pcr,
6291 P0Pfs_SPEC,
6292 crate::common::RW,
6293 > {
6294 crate::common::RegisterField::<
6295 4,
6296 0x1,
6297 1,
6298 0,
6299 p0pfs::Pcr,
6300 p0pfs::Pcr,
6301 P0Pfs_SPEC,
6302 crate::common::RW,
6303 >::from_register(self, 0)
6304 }
6305
6306 #[doc = "N-Channel Open-Drain Control"]
6307 #[inline(always)]
6308 pub fn ncodr(
6309 self,
6310 ) -> crate::common::RegisterField<
6311 6,
6312 0x1,
6313 1,
6314 0,
6315 p0pfs::Ncodr,
6316 p0pfs::Ncodr,
6317 P0Pfs_SPEC,
6318 crate::common::RW,
6319 > {
6320 crate::common::RegisterField::<
6321 6,
6322 0x1,
6323 1,
6324 0,
6325 p0pfs::Ncodr,
6326 p0pfs::Ncodr,
6327 P0Pfs_SPEC,
6328 crate::common::RW,
6329 >::from_register(self, 0)
6330 }
6331
6332 #[doc = "IRQ Input Enable"]
6333 #[inline(always)]
6334 pub fn isel(
6335 self,
6336 ) -> crate::common::RegisterField<
6337 14,
6338 0x1,
6339 1,
6340 0,
6341 p0pfs::Isel,
6342 p0pfs::Isel,
6343 P0Pfs_SPEC,
6344 crate::common::RW,
6345 > {
6346 crate::common::RegisterField::<
6347 14,
6348 0x1,
6349 1,
6350 0,
6351 p0pfs::Isel,
6352 p0pfs::Isel,
6353 P0Pfs_SPEC,
6354 crate::common::RW,
6355 >::from_register(self, 0)
6356 }
6357
6358 #[doc = "Analog Input Enable"]
6359 #[inline(always)]
6360 pub fn asel(
6361 self,
6362 ) -> crate::common::RegisterField<
6363 15,
6364 0x1,
6365 1,
6366 0,
6367 p0pfs::Asel,
6368 p0pfs::Asel,
6369 P0Pfs_SPEC,
6370 crate::common::RW,
6371 > {
6372 crate::common::RegisterField::<
6373 15,
6374 0x1,
6375 1,
6376 0,
6377 p0pfs::Asel,
6378 p0pfs::Asel,
6379 P0Pfs_SPEC,
6380 crate::common::RW,
6381 >::from_register(self, 0)
6382 }
6383
6384 #[doc = "Port Mode Control"]
6385 #[inline(always)]
6386 pub fn pmr(
6387 self,
6388 ) -> crate::common::RegisterField<
6389 16,
6390 0x1,
6391 1,
6392 0,
6393 p0pfs::Pmr,
6394 p0pfs::Pmr,
6395 P0Pfs_SPEC,
6396 crate::common::RW,
6397 > {
6398 crate::common::RegisterField::<
6399 16,
6400 0x1,
6401 1,
6402 0,
6403 p0pfs::Pmr,
6404 p0pfs::Pmr,
6405 P0Pfs_SPEC,
6406 crate::common::RW,
6407 >::from_register(self, 0)
6408 }
6409
6410 #[doc = "Peripheral Select"]
6411 #[inline(always)]
6412 pub fn psel(
6413 self,
6414 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P0Pfs_SPEC, crate::common::RW> {
6415 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P0Pfs_SPEC,crate::common::RW>::from_register(self,0)
6416 }
6417}
6418impl ::core::default::Default for P0Pfs {
6419 #[inline(always)]
6420 fn default() -> P0Pfs {
6421 <crate::RegValueT<P0Pfs_SPEC> as RegisterValue<_>>::new(0)
6422 }
6423}
6424pub mod p0pfs {
6425
6426 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6427 pub struct Podr_SPEC;
6428 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6429 impl Podr {
6430 #[doc = "Output low"]
6431 pub const _0: Self = Self::new(0);
6432
6433 #[doc = "Output high"]
6434 pub const _1: Self = Self::new(1);
6435 }
6436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6437 pub struct Pidr_SPEC;
6438 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6439 impl Pidr {
6440 #[doc = "Low level"]
6441 pub const _0: Self = Self::new(0);
6442
6443 #[doc = "High level"]
6444 pub const _1: Self = Self::new(1);
6445 }
6446 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6447 pub struct Pdr_SPEC;
6448 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6449 impl Pdr {
6450 #[doc = "Input (functions as an input pin)"]
6451 pub const _0: Self = Self::new(0);
6452
6453 #[doc = "Output (functions as an output pin)"]
6454 pub const _1: Self = Self::new(1);
6455 }
6456 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6457 pub struct Pcr_SPEC;
6458 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6459 impl Pcr {
6460 #[doc = "Disable input pull-up"]
6461 pub const _0: Self = Self::new(0);
6462
6463 #[doc = "Enable input pull-up"]
6464 pub const _1: Self = Self::new(1);
6465 }
6466 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6467 pub struct Ncodr_SPEC;
6468 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6469 impl Ncodr {
6470 #[doc = "Output CMOS"]
6471 pub const _0: Self = Self::new(0);
6472
6473 #[doc = "Output NMOS open-drain"]
6474 pub const _1: Self = Self::new(1);
6475 }
6476 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6477 pub struct Isel_SPEC;
6478 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6479 impl Isel {
6480 #[doc = "Do not use as IRQn input pin"]
6481 pub const _0: Self = Self::new(0);
6482
6483 #[doc = "Use as IRQn input pin"]
6484 pub const _1: Self = Self::new(1);
6485 }
6486 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6487 pub struct Asel_SPEC;
6488 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6489 impl Asel {
6490 #[doc = "Do not use as analog pin"]
6491 pub const _0: Self = Self::new(0);
6492
6493 #[doc = "Use as analog pin"]
6494 pub const _1: Self = Self::new(1);
6495 }
6496 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6497 pub struct Pmr_SPEC;
6498 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
6499 impl Pmr {
6500 #[doc = "Use as general I/O pin"]
6501 pub const _0: Self = Self::new(0);
6502
6503 #[doc = "Use as I/O port for peripheral functions"]
6504 pub const _1: Self = Self::new(1);
6505 }
6506}
6507#[doc(hidden)]
6508#[derive(Copy, Clone, Eq, PartialEq)]
6509pub struct P0PfsHa_SPEC;
6510impl crate::sealed::RegSpec for P0PfsHa_SPEC {
6511 type DataType = u16;
6512}
6513
6514#[doc = "Port 0%s Pin Function Select Register"]
6515pub type P0PfsHa = crate::RegValueT<P0PfsHa_SPEC>;
6516
6517impl P0PfsHa {
6518 #[doc = "Port Output Data"]
6519 #[inline(always)]
6520 pub fn podr(
6521 self,
6522 ) -> crate::common::RegisterField<
6523 0,
6524 0x1,
6525 1,
6526 0,
6527 p0pfs_ha::Podr,
6528 p0pfs_ha::Podr,
6529 P0PfsHa_SPEC,
6530 crate::common::RW,
6531 > {
6532 crate::common::RegisterField::<
6533 0,
6534 0x1,
6535 1,
6536 0,
6537 p0pfs_ha::Podr,
6538 p0pfs_ha::Podr,
6539 P0PfsHa_SPEC,
6540 crate::common::RW,
6541 >::from_register(self, 0)
6542 }
6543
6544 #[doc = "Port State"]
6545 #[inline(always)]
6546 pub fn pidr(
6547 self,
6548 ) -> crate::common::RegisterField<
6549 1,
6550 0x1,
6551 1,
6552 0,
6553 p0pfs_ha::Pidr,
6554 p0pfs_ha::Pidr,
6555 P0PfsHa_SPEC,
6556 crate::common::R,
6557 > {
6558 crate::common::RegisterField::<
6559 1,
6560 0x1,
6561 1,
6562 0,
6563 p0pfs_ha::Pidr,
6564 p0pfs_ha::Pidr,
6565 P0PfsHa_SPEC,
6566 crate::common::R,
6567 >::from_register(self, 0)
6568 }
6569
6570 #[doc = "Port Direction"]
6571 #[inline(always)]
6572 pub fn pdr(
6573 self,
6574 ) -> crate::common::RegisterField<
6575 2,
6576 0x1,
6577 1,
6578 0,
6579 p0pfs_ha::Pdr,
6580 p0pfs_ha::Pdr,
6581 P0PfsHa_SPEC,
6582 crate::common::RW,
6583 > {
6584 crate::common::RegisterField::<
6585 2,
6586 0x1,
6587 1,
6588 0,
6589 p0pfs_ha::Pdr,
6590 p0pfs_ha::Pdr,
6591 P0PfsHa_SPEC,
6592 crate::common::RW,
6593 >::from_register(self, 0)
6594 }
6595
6596 #[doc = "Pull-up Control"]
6597 #[inline(always)]
6598 pub fn pcr(
6599 self,
6600 ) -> crate::common::RegisterField<
6601 4,
6602 0x1,
6603 1,
6604 0,
6605 p0pfs_ha::Pcr,
6606 p0pfs_ha::Pcr,
6607 P0PfsHa_SPEC,
6608 crate::common::RW,
6609 > {
6610 crate::common::RegisterField::<
6611 4,
6612 0x1,
6613 1,
6614 0,
6615 p0pfs_ha::Pcr,
6616 p0pfs_ha::Pcr,
6617 P0PfsHa_SPEC,
6618 crate::common::RW,
6619 >::from_register(self, 0)
6620 }
6621
6622 #[doc = "N-Channel Open-Drain Control"]
6623 #[inline(always)]
6624 pub fn ncodr(
6625 self,
6626 ) -> crate::common::RegisterField<
6627 6,
6628 0x1,
6629 1,
6630 0,
6631 p0pfs_ha::Ncodr,
6632 p0pfs_ha::Ncodr,
6633 P0PfsHa_SPEC,
6634 crate::common::RW,
6635 > {
6636 crate::common::RegisterField::<
6637 6,
6638 0x1,
6639 1,
6640 0,
6641 p0pfs_ha::Ncodr,
6642 p0pfs_ha::Ncodr,
6643 P0PfsHa_SPEC,
6644 crate::common::RW,
6645 >::from_register(self, 0)
6646 }
6647
6648 #[doc = "IRQ Input Enable"]
6649 #[inline(always)]
6650 pub fn isel(
6651 self,
6652 ) -> crate::common::RegisterField<
6653 14,
6654 0x1,
6655 1,
6656 0,
6657 p0pfs_ha::Isel,
6658 p0pfs_ha::Isel,
6659 P0PfsHa_SPEC,
6660 crate::common::RW,
6661 > {
6662 crate::common::RegisterField::<
6663 14,
6664 0x1,
6665 1,
6666 0,
6667 p0pfs_ha::Isel,
6668 p0pfs_ha::Isel,
6669 P0PfsHa_SPEC,
6670 crate::common::RW,
6671 >::from_register(self, 0)
6672 }
6673
6674 #[doc = "Analog Input Enable"]
6675 #[inline(always)]
6676 pub fn asel(
6677 self,
6678 ) -> crate::common::RegisterField<
6679 15,
6680 0x1,
6681 1,
6682 0,
6683 p0pfs_ha::Asel,
6684 p0pfs_ha::Asel,
6685 P0PfsHa_SPEC,
6686 crate::common::RW,
6687 > {
6688 crate::common::RegisterField::<
6689 15,
6690 0x1,
6691 1,
6692 0,
6693 p0pfs_ha::Asel,
6694 p0pfs_ha::Asel,
6695 P0PfsHa_SPEC,
6696 crate::common::RW,
6697 >::from_register(self, 0)
6698 }
6699}
6700impl ::core::default::Default for P0PfsHa {
6701 #[inline(always)]
6702 fn default() -> P0PfsHa {
6703 <crate::RegValueT<P0PfsHa_SPEC> as RegisterValue<_>>::new(0)
6704 }
6705}
6706pub mod p0pfs_ha {
6707
6708 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6709 pub struct Podr_SPEC;
6710 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6711 impl Podr {
6712 #[doc = "Output low"]
6713 pub const _0: Self = Self::new(0);
6714
6715 #[doc = "Output high"]
6716 pub const _1: Self = Self::new(1);
6717 }
6718 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6719 pub struct Pidr_SPEC;
6720 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6721 impl Pidr {
6722 #[doc = "Low level"]
6723 pub const _0: Self = Self::new(0);
6724
6725 #[doc = "High level"]
6726 pub const _1: Self = Self::new(1);
6727 }
6728 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6729 pub struct Pdr_SPEC;
6730 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6731 impl Pdr {
6732 #[doc = "Input (functions as an input pin)"]
6733 pub const _0: Self = Self::new(0);
6734
6735 #[doc = "Output (functions as an output pin)"]
6736 pub const _1: Self = Self::new(1);
6737 }
6738 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6739 pub struct Pcr_SPEC;
6740 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6741 impl Pcr {
6742 #[doc = "Disable input pull-up"]
6743 pub const _0: Self = Self::new(0);
6744
6745 #[doc = "Enable input pull-up"]
6746 pub const _1: Self = Self::new(1);
6747 }
6748 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6749 pub struct Ncodr_SPEC;
6750 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6751 impl Ncodr {
6752 #[doc = "Output CMOS"]
6753 pub const _0: Self = Self::new(0);
6754
6755 #[doc = "Output NMOS open-drain"]
6756 pub const _1: Self = Self::new(1);
6757 }
6758 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6759 pub struct Isel_SPEC;
6760 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6761 impl Isel {
6762 #[doc = "Do not use as IRQn input pin"]
6763 pub const _0: Self = Self::new(0);
6764
6765 #[doc = "Use as IRQn input pin"]
6766 pub const _1: Self = Self::new(1);
6767 }
6768 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6769 pub struct Asel_SPEC;
6770 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6771 impl Asel {
6772 #[doc = "Do not use as analog pin"]
6773 pub const _0: Self = Self::new(0);
6774
6775 #[doc = "Use as analog pin"]
6776 pub const _1: Self = Self::new(1);
6777 }
6778}
6779#[doc(hidden)]
6780#[derive(Copy, Clone, Eq, PartialEq)]
6781pub struct P0PfsBy_SPEC;
6782impl crate::sealed::RegSpec for P0PfsBy_SPEC {
6783 type DataType = u8;
6784}
6785
6786#[doc = "Port 0%s Pin Function Select Register"]
6787pub type P0PfsBy = crate::RegValueT<P0PfsBy_SPEC>;
6788
6789impl P0PfsBy {
6790 #[doc = "Port Output Data"]
6791 #[inline(always)]
6792 pub fn podr(
6793 self,
6794 ) -> crate::common::RegisterField<
6795 0,
6796 0x1,
6797 1,
6798 0,
6799 p0pfs_by::Podr,
6800 p0pfs_by::Podr,
6801 P0PfsBy_SPEC,
6802 crate::common::RW,
6803 > {
6804 crate::common::RegisterField::<
6805 0,
6806 0x1,
6807 1,
6808 0,
6809 p0pfs_by::Podr,
6810 p0pfs_by::Podr,
6811 P0PfsBy_SPEC,
6812 crate::common::RW,
6813 >::from_register(self, 0)
6814 }
6815
6816 #[doc = "Port State"]
6817 #[inline(always)]
6818 pub fn pidr(
6819 self,
6820 ) -> crate::common::RegisterField<
6821 1,
6822 0x1,
6823 1,
6824 0,
6825 p0pfs_by::Pidr,
6826 p0pfs_by::Pidr,
6827 P0PfsBy_SPEC,
6828 crate::common::R,
6829 > {
6830 crate::common::RegisterField::<
6831 1,
6832 0x1,
6833 1,
6834 0,
6835 p0pfs_by::Pidr,
6836 p0pfs_by::Pidr,
6837 P0PfsBy_SPEC,
6838 crate::common::R,
6839 >::from_register(self, 0)
6840 }
6841
6842 #[doc = "Port Direction"]
6843 #[inline(always)]
6844 pub fn pdr(
6845 self,
6846 ) -> crate::common::RegisterField<
6847 2,
6848 0x1,
6849 1,
6850 0,
6851 p0pfs_by::Pdr,
6852 p0pfs_by::Pdr,
6853 P0PfsBy_SPEC,
6854 crate::common::RW,
6855 > {
6856 crate::common::RegisterField::<
6857 2,
6858 0x1,
6859 1,
6860 0,
6861 p0pfs_by::Pdr,
6862 p0pfs_by::Pdr,
6863 P0PfsBy_SPEC,
6864 crate::common::RW,
6865 >::from_register(self, 0)
6866 }
6867
6868 #[doc = "Pull-up Control"]
6869 #[inline(always)]
6870 pub fn pcr(
6871 self,
6872 ) -> crate::common::RegisterField<
6873 4,
6874 0x1,
6875 1,
6876 0,
6877 p0pfs_by::Pcr,
6878 p0pfs_by::Pcr,
6879 P0PfsBy_SPEC,
6880 crate::common::RW,
6881 > {
6882 crate::common::RegisterField::<
6883 4,
6884 0x1,
6885 1,
6886 0,
6887 p0pfs_by::Pcr,
6888 p0pfs_by::Pcr,
6889 P0PfsBy_SPEC,
6890 crate::common::RW,
6891 >::from_register(self, 0)
6892 }
6893
6894 #[doc = "N-Channel Open-Drain Control"]
6895 #[inline(always)]
6896 pub fn ncodr(
6897 self,
6898 ) -> crate::common::RegisterField<
6899 6,
6900 0x1,
6901 1,
6902 0,
6903 p0pfs_by::Ncodr,
6904 p0pfs_by::Ncodr,
6905 P0PfsBy_SPEC,
6906 crate::common::RW,
6907 > {
6908 crate::common::RegisterField::<
6909 6,
6910 0x1,
6911 1,
6912 0,
6913 p0pfs_by::Ncodr,
6914 p0pfs_by::Ncodr,
6915 P0PfsBy_SPEC,
6916 crate::common::RW,
6917 >::from_register(self, 0)
6918 }
6919}
6920impl ::core::default::Default for P0PfsBy {
6921 #[inline(always)]
6922 fn default() -> P0PfsBy {
6923 <crate::RegValueT<P0PfsBy_SPEC> as RegisterValue<_>>::new(0)
6924 }
6925}
6926pub mod p0pfs_by {
6927
6928 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6929 pub struct Podr_SPEC;
6930 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6931 impl Podr {
6932 #[doc = "Output low"]
6933 pub const _0: Self = Self::new(0);
6934
6935 #[doc = "Output high"]
6936 pub const _1: Self = Self::new(1);
6937 }
6938 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6939 pub struct Pidr_SPEC;
6940 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6941 impl Pidr {
6942 #[doc = "Low level"]
6943 pub const _0: Self = Self::new(0);
6944
6945 #[doc = "High level"]
6946 pub const _1: Self = Self::new(1);
6947 }
6948 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6949 pub struct Pdr_SPEC;
6950 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6951 impl Pdr {
6952 #[doc = "Input (functions as an input pin)"]
6953 pub const _0: Self = Self::new(0);
6954
6955 #[doc = "Output (functions as an output pin)"]
6956 pub const _1: Self = Self::new(1);
6957 }
6958 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6959 pub struct Pcr_SPEC;
6960 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6961 impl Pcr {
6962 #[doc = "Disable input pull-up"]
6963 pub const _0: Self = Self::new(0);
6964
6965 #[doc = "Enable input pull-up"]
6966 pub const _1: Self = Self::new(1);
6967 }
6968 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6969 pub struct Ncodr_SPEC;
6970 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6971 impl Ncodr {
6972 #[doc = "Output CMOS"]
6973 pub const _0: Self = Self::new(0);
6974
6975 #[doc = "Output NMOS open-drain"]
6976 pub const _1: Self = Self::new(1);
6977 }
6978}
6979#[doc(hidden)]
6980#[derive(Copy, Clone, Eq, PartialEq)]
6981pub struct P10Pfs_SPEC;
6982impl crate::sealed::RegSpec for P10Pfs_SPEC {
6983 type DataType = u32;
6984}
6985
6986#[doc = "Port 10%s Pin Function Select Register"]
6987pub type P10Pfs = crate::RegValueT<P10Pfs_SPEC>;
6988
6989impl P10Pfs {
6990 #[doc = "Port Output Data"]
6991 #[inline(always)]
6992 pub fn podr(
6993 self,
6994 ) -> crate::common::RegisterField<
6995 0,
6996 0x1,
6997 1,
6998 0,
6999 p10pfs::Podr,
7000 p10pfs::Podr,
7001 P10Pfs_SPEC,
7002 crate::common::RW,
7003 > {
7004 crate::common::RegisterField::<
7005 0,
7006 0x1,
7007 1,
7008 0,
7009 p10pfs::Podr,
7010 p10pfs::Podr,
7011 P10Pfs_SPEC,
7012 crate::common::RW,
7013 >::from_register(self, 0)
7014 }
7015
7016 #[doc = "Port State"]
7017 #[inline(always)]
7018 pub fn pidr(
7019 self,
7020 ) -> crate::common::RegisterField<
7021 1,
7022 0x1,
7023 1,
7024 0,
7025 p10pfs::Pidr,
7026 p10pfs::Pidr,
7027 P10Pfs_SPEC,
7028 crate::common::R,
7029 > {
7030 crate::common::RegisterField::<
7031 1,
7032 0x1,
7033 1,
7034 0,
7035 p10pfs::Pidr,
7036 p10pfs::Pidr,
7037 P10Pfs_SPEC,
7038 crate::common::R,
7039 >::from_register(self, 0)
7040 }
7041
7042 #[doc = "Port Direction"]
7043 #[inline(always)]
7044 pub fn pdr(
7045 self,
7046 ) -> crate::common::RegisterField<
7047 2,
7048 0x1,
7049 1,
7050 0,
7051 p10pfs::Pdr,
7052 p10pfs::Pdr,
7053 P10Pfs_SPEC,
7054 crate::common::RW,
7055 > {
7056 crate::common::RegisterField::<
7057 2,
7058 0x1,
7059 1,
7060 0,
7061 p10pfs::Pdr,
7062 p10pfs::Pdr,
7063 P10Pfs_SPEC,
7064 crate::common::RW,
7065 >::from_register(self, 0)
7066 }
7067
7068 #[doc = "Pull-up Control"]
7069 #[inline(always)]
7070 pub fn pcr(
7071 self,
7072 ) -> crate::common::RegisterField<
7073 4,
7074 0x1,
7075 1,
7076 0,
7077 p10pfs::Pcr,
7078 p10pfs::Pcr,
7079 P10Pfs_SPEC,
7080 crate::common::RW,
7081 > {
7082 crate::common::RegisterField::<
7083 4,
7084 0x1,
7085 1,
7086 0,
7087 p10pfs::Pcr,
7088 p10pfs::Pcr,
7089 P10Pfs_SPEC,
7090 crate::common::RW,
7091 >::from_register(self, 0)
7092 }
7093
7094 #[doc = "N-Channel Open-Drain Control"]
7095 #[inline(always)]
7096 pub fn ncodr(
7097 self,
7098 ) -> crate::common::RegisterField<
7099 6,
7100 0x1,
7101 1,
7102 0,
7103 p10pfs::Ncodr,
7104 p10pfs::Ncodr,
7105 P10Pfs_SPEC,
7106 crate::common::RW,
7107 > {
7108 crate::common::RegisterField::<
7109 6,
7110 0x1,
7111 1,
7112 0,
7113 p10pfs::Ncodr,
7114 p10pfs::Ncodr,
7115 P10Pfs_SPEC,
7116 crate::common::RW,
7117 >::from_register(self, 0)
7118 }
7119
7120 #[doc = "Event on Falling/Event on Rising"]
7121 #[inline(always)]
7122 pub fn eofr(
7123 self,
7124 ) -> crate::common::RegisterField<
7125 12,
7126 0x3,
7127 1,
7128 0,
7129 p10pfs::Eofr,
7130 p10pfs::Eofr,
7131 P10Pfs_SPEC,
7132 crate::common::RW,
7133 > {
7134 crate::common::RegisterField::<
7135 12,
7136 0x3,
7137 1,
7138 0,
7139 p10pfs::Eofr,
7140 p10pfs::Eofr,
7141 P10Pfs_SPEC,
7142 crate::common::RW,
7143 >::from_register(self, 0)
7144 }
7145
7146 #[doc = "IRQ Input Enable"]
7147 #[inline(always)]
7148 pub fn isel(
7149 self,
7150 ) -> crate::common::RegisterField<
7151 14,
7152 0x1,
7153 1,
7154 0,
7155 p10pfs::Isel,
7156 p10pfs::Isel,
7157 P10Pfs_SPEC,
7158 crate::common::RW,
7159 > {
7160 crate::common::RegisterField::<
7161 14,
7162 0x1,
7163 1,
7164 0,
7165 p10pfs::Isel,
7166 p10pfs::Isel,
7167 P10Pfs_SPEC,
7168 crate::common::RW,
7169 >::from_register(self, 0)
7170 }
7171
7172 #[doc = "Analog Input Enable"]
7173 #[inline(always)]
7174 pub fn asel(
7175 self,
7176 ) -> crate::common::RegisterField<
7177 15,
7178 0x1,
7179 1,
7180 0,
7181 p10pfs::Asel,
7182 p10pfs::Asel,
7183 P10Pfs_SPEC,
7184 crate::common::RW,
7185 > {
7186 crate::common::RegisterField::<
7187 15,
7188 0x1,
7189 1,
7190 0,
7191 p10pfs::Asel,
7192 p10pfs::Asel,
7193 P10Pfs_SPEC,
7194 crate::common::RW,
7195 >::from_register(self, 0)
7196 }
7197
7198 #[doc = "Port Mode Control"]
7199 #[inline(always)]
7200 pub fn pmr(
7201 self,
7202 ) -> crate::common::RegisterField<
7203 16,
7204 0x1,
7205 1,
7206 0,
7207 p10pfs::Pmr,
7208 p10pfs::Pmr,
7209 P10Pfs_SPEC,
7210 crate::common::RW,
7211 > {
7212 crate::common::RegisterField::<
7213 16,
7214 0x1,
7215 1,
7216 0,
7217 p10pfs::Pmr,
7218 p10pfs::Pmr,
7219 P10Pfs_SPEC,
7220 crate::common::RW,
7221 >::from_register(self, 0)
7222 }
7223
7224 #[doc = "Peripheral Select"]
7225 #[inline(always)]
7226 pub fn psel(
7227 self,
7228 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P10Pfs_SPEC, crate::common::RW> {
7229 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P10Pfs_SPEC,crate::common::RW>::from_register(self,0)
7230 }
7231}
7232impl ::core::default::Default for P10Pfs {
7233 #[inline(always)]
7234 fn default() -> P10Pfs {
7235 <crate::RegValueT<P10Pfs_SPEC> as RegisterValue<_>>::new(0)
7236 }
7237}
7238pub mod p10pfs {
7239
7240 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7241 pub struct Podr_SPEC;
7242 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7243 impl Podr {
7244 #[doc = "Output low"]
7245 pub const _0: Self = Self::new(0);
7246
7247 #[doc = "Output high"]
7248 pub const _1: Self = Self::new(1);
7249 }
7250 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7251 pub struct Pidr_SPEC;
7252 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7253 impl Pidr {
7254 #[doc = "Low level"]
7255 pub const _0: Self = Self::new(0);
7256
7257 #[doc = "High level"]
7258 pub const _1: Self = Self::new(1);
7259 }
7260 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7261 pub struct Pdr_SPEC;
7262 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7263 impl Pdr {
7264 #[doc = "Input (functions as an input pin)"]
7265 pub const _0: Self = Self::new(0);
7266
7267 #[doc = "Output (functions as an output pin)"]
7268 pub const _1: Self = Self::new(1);
7269 }
7270 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7271 pub struct Pcr_SPEC;
7272 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7273 impl Pcr {
7274 #[doc = "Disable input pull-up"]
7275 pub const _0: Self = Self::new(0);
7276
7277 #[doc = "Enable input pull-up"]
7278 pub const _1: Self = Self::new(1);
7279 }
7280 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7281 pub struct Ncodr_SPEC;
7282 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7283 impl Ncodr {
7284 #[doc = "Output CMOS"]
7285 pub const _0: Self = Self::new(0);
7286
7287 #[doc = "Output NMOS open-drain"]
7288 pub const _1: Self = Self::new(1);
7289 }
7290 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7291 pub struct Eofr_SPEC;
7292 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7293 impl Eofr {
7294 #[doc = "Don\'t care"]
7295 pub const _00: Self = Self::new(0);
7296
7297 #[doc = "Detect rising edge"]
7298 pub const _01: Self = Self::new(1);
7299
7300 #[doc = "Detect falling edge"]
7301 pub const _10: Self = Self::new(2);
7302
7303 #[doc = "Detect both edges"]
7304 pub const _11: Self = Self::new(3);
7305 }
7306 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7307 pub struct Isel_SPEC;
7308 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7309 impl Isel {
7310 #[doc = "Do not use as IRQn input pin"]
7311 pub const _0: Self = Self::new(0);
7312
7313 #[doc = "Use as IRQn input pin"]
7314 pub const _1: Self = Self::new(1);
7315 }
7316 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7317 pub struct Asel_SPEC;
7318 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7319 impl Asel {
7320 #[doc = "Do not use as analog pin"]
7321 pub const _0: Self = Self::new(0);
7322
7323 #[doc = "Use as analog pin"]
7324 pub const _1: Self = Self::new(1);
7325 }
7326 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7327 pub struct Pmr_SPEC;
7328 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
7329 impl Pmr {
7330 #[doc = "Use as general I/O pin"]
7331 pub const _0: Self = Self::new(0);
7332
7333 #[doc = "Use as I/O port for peripheral functions"]
7334 pub const _1: Self = Self::new(1);
7335 }
7336}
7337#[doc(hidden)]
7338#[derive(Copy, Clone, Eq, PartialEq)]
7339pub struct P10PfsHa_SPEC;
7340impl crate::sealed::RegSpec for P10PfsHa_SPEC {
7341 type DataType = u16;
7342}
7343
7344#[doc = "Port 10%s Pin Function Select Register"]
7345pub type P10PfsHa = crate::RegValueT<P10PfsHa_SPEC>;
7346
7347impl P10PfsHa {
7348 #[doc = "Port Output Data"]
7349 #[inline(always)]
7350 pub fn podr(
7351 self,
7352 ) -> crate::common::RegisterField<
7353 0,
7354 0x1,
7355 1,
7356 0,
7357 p10pfs_ha::Podr,
7358 p10pfs_ha::Podr,
7359 P10PfsHa_SPEC,
7360 crate::common::RW,
7361 > {
7362 crate::common::RegisterField::<
7363 0,
7364 0x1,
7365 1,
7366 0,
7367 p10pfs_ha::Podr,
7368 p10pfs_ha::Podr,
7369 P10PfsHa_SPEC,
7370 crate::common::RW,
7371 >::from_register(self, 0)
7372 }
7373
7374 #[doc = "Port State"]
7375 #[inline(always)]
7376 pub fn pidr(
7377 self,
7378 ) -> crate::common::RegisterField<
7379 1,
7380 0x1,
7381 1,
7382 0,
7383 p10pfs_ha::Pidr,
7384 p10pfs_ha::Pidr,
7385 P10PfsHa_SPEC,
7386 crate::common::R,
7387 > {
7388 crate::common::RegisterField::<
7389 1,
7390 0x1,
7391 1,
7392 0,
7393 p10pfs_ha::Pidr,
7394 p10pfs_ha::Pidr,
7395 P10PfsHa_SPEC,
7396 crate::common::R,
7397 >::from_register(self, 0)
7398 }
7399
7400 #[doc = "Port Direction"]
7401 #[inline(always)]
7402 pub fn pdr(
7403 self,
7404 ) -> crate::common::RegisterField<
7405 2,
7406 0x1,
7407 1,
7408 0,
7409 p10pfs_ha::Pdr,
7410 p10pfs_ha::Pdr,
7411 P10PfsHa_SPEC,
7412 crate::common::RW,
7413 > {
7414 crate::common::RegisterField::<
7415 2,
7416 0x1,
7417 1,
7418 0,
7419 p10pfs_ha::Pdr,
7420 p10pfs_ha::Pdr,
7421 P10PfsHa_SPEC,
7422 crate::common::RW,
7423 >::from_register(self, 0)
7424 }
7425
7426 #[doc = "Pull-up Control"]
7427 #[inline(always)]
7428 pub fn pcr(
7429 self,
7430 ) -> crate::common::RegisterField<
7431 4,
7432 0x1,
7433 1,
7434 0,
7435 p10pfs_ha::Pcr,
7436 p10pfs_ha::Pcr,
7437 P10PfsHa_SPEC,
7438 crate::common::RW,
7439 > {
7440 crate::common::RegisterField::<
7441 4,
7442 0x1,
7443 1,
7444 0,
7445 p10pfs_ha::Pcr,
7446 p10pfs_ha::Pcr,
7447 P10PfsHa_SPEC,
7448 crate::common::RW,
7449 >::from_register(self, 0)
7450 }
7451
7452 #[doc = "N-Channel Open-Drain Control"]
7453 #[inline(always)]
7454 pub fn ncodr(
7455 self,
7456 ) -> crate::common::RegisterField<
7457 6,
7458 0x1,
7459 1,
7460 0,
7461 p10pfs_ha::Ncodr,
7462 p10pfs_ha::Ncodr,
7463 P10PfsHa_SPEC,
7464 crate::common::RW,
7465 > {
7466 crate::common::RegisterField::<
7467 6,
7468 0x1,
7469 1,
7470 0,
7471 p10pfs_ha::Ncodr,
7472 p10pfs_ha::Ncodr,
7473 P10PfsHa_SPEC,
7474 crate::common::RW,
7475 >::from_register(self, 0)
7476 }
7477
7478 #[doc = "Event on Falling/Event on Rising"]
7479 #[inline(always)]
7480 pub fn eofr(
7481 self,
7482 ) -> crate::common::RegisterField<
7483 12,
7484 0x3,
7485 1,
7486 0,
7487 p10pfs_ha::Eofr,
7488 p10pfs_ha::Eofr,
7489 P10PfsHa_SPEC,
7490 crate::common::RW,
7491 > {
7492 crate::common::RegisterField::<
7493 12,
7494 0x3,
7495 1,
7496 0,
7497 p10pfs_ha::Eofr,
7498 p10pfs_ha::Eofr,
7499 P10PfsHa_SPEC,
7500 crate::common::RW,
7501 >::from_register(self, 0)
7502 }
7503
7504 #[doc = "IRQ Input Enable"]
7505 #[inline(always)]
7506 pub fn isel(
7507 self,
7508 ) -> crate::common::RegisterField<
7509 14,
7510 0x1,
7511 1,
7512 0,
7513 p10pfs_ha::Isel,
7514 p10pfs_ha::Isel,
7515 P10PfsHa_SPEC,
7516 crate::common::RW,
7517 > {
7518 crate::common::RegisterField::<
7519 14,
7520 0x1,
7521 1,
7522 0,
7523 p10pfs_ha::Isel,
7524 p10pfs_ha::Isel,
7525 P10PfsHa_SPEC,
7526 crate::common::RW,
7527 >::from_register(self, 0)
7528 }
7529
7530 #[doc = "Analog Input Enable"]
7531 #[inline(always)]
7532 pub fn asel(
7533 self,
7534 ) -> crate::common::RegisterField<
7535 15,
7536 0x1,
7537 1,
7538 0,
7539 p10pfs_ha::Asel,
7540 p10pfs_ha::Asel,
7541 P10PfsHa_SPEC,
7542 crate::common::RW,
7543 > {
7544 crate::common::RegisterField::<
7545 15,
7546 0x1,
7547 1,
7548 0,
7549 p10pfs_ha::Asel,
7550 p10pfs_ha::Asel,
7551 P10PfsHa_SPEC,
7552 crate::common::RW,
7553 >::from_register(self, 0)
7554 }
7555}
7556impl ::core::default::Default for P10PfsHa {
7557 #[inline(always)]
7558 fn default() -> P10PfsHa {
7559 <crate::RegValueT<P10PfsHa_SPEC> as RegisterValue<_>>::new(0)
7560 }
7561}
7562pub mod p10pfs_ha {
7563
7564 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7565 pub struct Podr_SPEC;
7566 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7567 impl Podr {
7568 #[doc = "Output low"]
7569 pub const _0: Self = Self::new(0);
7570
7571 #[doc = "Output high"]
7572 pub const _1: Self = Self::new(1);
7573 }
7574 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7575 pub struct Pidr_SPEC;
7576 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7577 impl Pidr {
7578 #[doc = "Low level"]
7579 pub const _0: Self = Self::new(0);
7580
7581 #[doc = "High level"]
7582 pub const _1: Self = Self::new(1);
7583 }
7584 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7585 pub struct Pdr_SPEC;
7586 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7587 impl Pdr {
7588 #[doc = "Input (functions as an input pin)"]
7589 pub const _0: Self = Self::new(0);
7590
7591 #[doc = "Output (functions as an output pin)"]
7592 pub const _1: Self = Self::new(1);
7593 }
7594 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7595 pub struct Pcr_SPEC;
7596 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7597 impl Pcr {
7598 #[doc = "Disable input pull-up"]
7599 pub const _0: Self = Self::new(0);
7600
7601 #[doc = "Enable input pull-up"]
7602 pub const _1: Self = Self::new(1);
7603 }
7604 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7605 pub struct Ncodr_SPEC;
7606 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7607 impl Ncodr {
7608 #[doc = "Output CMOS"]
7609 pub const _0: Self = Self::new(0);
7610
7611 #[doc = "Output NMOS open-drain"]
7612 pub const _1: Self = Self::new(1);
7613 }
7614 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7615 pub struct Eofr_SPEC;
7616 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7617 impl Eofr {
7618 #[doc = "Don\'t care"]
7619 pub const _00: Self = Self::new(0);
7620
7621 #[doc = "Detect rising edge"]
7622 pub const _01: Self = Self::new(1);
7623
7624 #[doc = "Detect falling edge"]
7625 pub const _10: Self = Self::new(2);
7626
7627 #[doc = "Detect both edges"]
7628 pub const _11: Self = Self::new(3);
7629 }
7630 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7631 pub struct Isel_SPEC;
7632 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7633 impl Isel {
7634 #[doc = "Do not use as IRQn input pin"]
7635 pub const _0: Self = Self::new(0);
7636
7637 #[doc = "Use as IRQn input pin"]
7638 pub const _1: Self = Self::new(1);
7639 }
7640 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7641 pub struct Asel_SPEC;
7642 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7643 impl Asel {
7644 #[doc = "Do not use as analog pin"]
7645 pub const _0: Self = Self::new(0);
7646
7647 #[doc = "Use as analog pin"]
7648 pub const _1: Self = Self::new(1);
7649 }
7650}
7651#[doc(hidden)]
7652#[derive(Copy, Clone, Eq, PartialEq)]
7653pub struct P10PfsBy_SPEC;
7654impl crate::sealed::RegSpec for P10PfsBy_SPEC {
7655 type DataType = u8;
7656}
7657
7658#[doc = "Port 10%s Pin Function Select Register"]
7659pub type P10PfsBy = crate::RegValueT<P10PfsBy_SPEC>;
7660
7661impl P10PfsBy {
7662 #[doc = "Port Output Data"]
7663 #[inline(always)]
7664 pub fn podr(
7665 self,
7666 ) -> crate::common::RegisterField<
7667 0,
7668 0x1,
7669 1,
7670 0,
7671 p10pfs_by::Podr,
7672 p10pfs_by::Podr,
7673 P10PfsBy_SPEC,
7674 crate::common::RW,
7675 > {
7676 crate::common::RegisterField::<
7677 0,
7678 0x1,
7679 1,
7680 0,
7681 p10pfs_by::Podr,
7682 p10pfs_by::Podr,
7683 P10PfsBy_SPEC,
7684 crate::common::RW,
7685 >::from_register(self, 0)
7686 }
7687
7688 #[doc = "Port State"]
7689 #[inline(always)]
7690 pub fn pidr(
7691 self,
7692 ) -> crate::common::RegisterField<
7693 1,
7694 0x1,
7695 1,
7696 0,
7697 p10pfs_by::Pidr,
7698 p10pfs_by::Pidr,
7699 P10PfsBy_SPEC,
7700 crate::common::R,
7701 > {
7702 crate::common::RegisterField::<
7703 1,
7704 0x1,
7705 1,
7706 0,
7707 p10pfs_by::Pidr,
7708 p10pfs_by::Pidr,
7709 P10PfsBy_SPEC,
7710 crate::common::R,
7711 >::from_register(self, 0)
7712 }
7713
7714 #[doc = "Port Direction"]
7715 #[inline(always)]
7716 pub fn pdr(
7717 self,
7718 ) -> crate::common::RegisterField<
7719 2,
7720 0x1,
7721 1,
7722 0,
7723 p10pfs_by::Pdr,
7724 p10pfs_by::Pdr,
7725 P10PfsBy_SPEC,
7726 crate::common::RW,
7727 > {
7728 crate::common::RegisterField::<
7729 2,
7730 0x1,
7731 1,
7732 0,
7733 p10pfs_by::Pdr,
7734 p10pfs_by::Pdr,
7735 P10PfsBy_SPEC,
7736 crate::common::RW,
7737 >::from_register(self, 0)
7738 }
7739
7740 #[doc = "Pull-up Control"]
7741 #[inline(always)]
7742 pub fn pcr(
7743 self,
7744 ) -> crate::common::RegisterField<
7745 4,
7746 0x1,
7747 1,
7748 0,
7749 p10pfs_by::Pcr,
7750 p10pfs_by::Pcr,
7751 P10PfsBy_SPEC,
7752 crate::common::RW,
7753 > {
7754 crate::common::RegisterField::<
7755 4,
7756 0x1,
7757 1,
7758 0,
7759 p10pfs_by::Pcr,
7760 p10pfs_by::Pcr,
7761 P10PfsBy_SPEC,
7762 crate::common::RW,
7763 >::from_register(self, 0)
7764 }
7765
7766 #[doc = "N-Channel Open-Drain Control"]
7767 #[inline(always)]
7768 pub fn ncodr(
7769 self,
7770 ) -> crate::common::RegisterField<
7771 6,
7772 0x1,
7773 1,
7774 0,
7775 p10pfs_by::Ncodr,
7776 p10pfs_by::Ncodr,
7777 P10PfsBy_SPEC,
7778 crate::common::RW,
7779 > {
7780 crate::common::RegisterField::<
7781 6,
7782 0x1,
7783 1,
7784 0,
7785 p10pfs_by::Ncodr,
7786 p10pfs_by::Ncodr,
7787 P10PfsBy_SPEC,
7788 crate::common::RW,
7789 >::from_register(self, 0)
7790 }
7791}
7792impl ::core::default::Default for P10PfsBy {
7793 #[inline(always)]
7794 fn default() -> P10PfsBy {
7795 <crate::RegValueT<P10PfsBy_SPEC> as RegisterValue<_>>::new(0)
7796 }
7797}
7798pub mod p10pfs_by {
7799
7800 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7801 pub struct Podr_SPEC;
7802 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7803 impl Podr {
7804 #[doc = "Output low"]
7805 pub const _0: Self = Self::new(0);
7806
7807 #[doc = "Output high"]
7808 pub const _1: Self = Self::new(1);
7809 }
7810 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7811 pub struct Pidr_SPEC;
7812 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7813 impl Pidr {
7814 #[doc = "Low level"]
7815 pub const _0: Self = Self::new(0);
7816
7817 #[doc = "High level"]
7818 pub const _1: Self = Self::new(1);
7819 }
7820 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7821 pub struct Pdr_SPEC;
7822 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7823 impl Pdr {
7824 #[doc = "Input (functions as an input pin)"]
7825 pub const _0: Self = Self::new(0);
7826
7827 #[doc = "Output (functions as an output pin)"]
7828 pub const _1: Self = Self::new(1);
7829 }
7830 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7831 pub struct Pcr_SPEC;
7832 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7833 impl Pcr {
7834 #[doc = "Disable input pull-up"]
7835 pub const _0: Self = Self::new(0);
7836
7837 #[doc = "Enable input pull-up"]
7838 pub const _1: Self = Self::new(1);
7839 }
7840 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7841 pub struct Ncodr_SPEC;
7842 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7843 impl Ncodr {
7844 #[doc = "Output CMOS"]
7845 pub const _0: Self = Self::new(0);
7846
7847 #[doc = "Output NMOS open-drain"]
7848 pub const _1: Self = Self::new(1);
7849 }
7850}
7851#[doc(hidden)]
7852#[derive(Copy, Clone, Eq, PartialEq)]
7853pub struct P1Pfs_SPEC;
7854impl crate::sealed::RegSpec for P1Pfs_SPEC {
7855 type DataType = u32;
7856}
7857
7858#[doc = "Port 1%s Pin Function Select Register"]
7859pub type P1Pfs = crate::RegValueT<P1Pfs_SPEC>;
7860
7861impl P1Pfs {
7862 #[doc = "Port Output Data"]
7863 #[inline(always)]
7864 pub fn podr(
7865 self,
7866 ) -> crate::common::RegisterField<
7867 0,
7868 0x1,
7869 1,
7870 0,
7871 p1pfs::Podr,
7872 p1pfs::Podr,
7873 P1Pfs_SPEC,
7874 crate::common::RW,
7875 > {
7876 crate::common::RegisterField::<
7877 0,
7878 0x1,
7879 1,
7880 0,
7881 p1pfs::Podr,
7882 p1pfs::Podr,
7883 P1Pfs_SPEC,
7884 crate::common::RW,
7885 >::from_register(self, 0)
7886 }
7887
7888 #[doc = "Port State"]
7889 #[inline(always)]
7890 pub fn pidr(
7891 self,
7892 ) -> crate::common::RegisterField<
7893 1,
7894 0x1,
7895 1,
7896 0,
7897 p1pfs::Pidr,
7898 p1pfs::Pidr,
7899 P1Pfs_SPEC,
7900 crate::common::R,
7901 > {
7902 crate::common::RegisterField::<
7903 1,
7904 0x1,
7905 1,
7906 0,
7907 p1pfs::Pidr,
7908 p1pfs::Pidr,
7909 P1Pfs_SPEC,
7910 crate::common::R,
7911 >::from_register(self, 0)
7912 }
7913
7914 #[doc = "Port Direction"]
7915 #[inline(always)]
7916 pub fn pdr(
7917 self,
7918 ) -> crate::common::RegisterField<
7919 2,
7920 0x1,
7921 1,
7922 0,
7923 p1pfs::Pdr,
7924 p1pfs::Pdr,
7925 P1Pfs_SPEC,
7926 crate::common::RW,
7927 > {
7928 crate::common::RegisterField::<
7929 2,
7930 0x1,
7931 1,
7932 0,
7933 p1pfs::Pdr,
7934 p1pfs::Pdr,
7935 P1Pfs_SPEC,
7936 crate::common::RW,
7937 >::from_register(self, 0)
7938 }
7939
7940 #[doc = "Pull-up Control"]
7941 #[inline(always)]
7942 pub fn pcr(
7943 self,
7944 ) -> crate::common::RegisterField<
7945 4,
7946 0x1,
7947 1,
7948 0,
7949 p1pfs::Pcr,
7950 p1pfs::Pcr,
7951 P1Pfs_SPEC,
7952 crate::common::RW,
7953 > {
7954 crate::common::RegisterField::<
7955 4,
7956 0x1,
7957 1,
7958 0,
7959 p1pfs::Pcr,
7960 p1pfs::Pcr,
7961 P1Pfs_SPEC,
7962 crate::common::RW,
7963 >::from_register(self, 0)
7964 }
7965
7966 #[doc = "N-Channel Open-Drain Control"]
7967 #[inline(always)]
7968 pub fn ncodr(
7969 self,
7970 ) -> crate::common::RegisterField<
7971 6,
7972 0x1,
7973 1,
7974 0,
7975 p1pfs::Ncodr,
7976 p1pfs::Ncodr,
7977 P1Pfs_SPEC,
7978 crate::common::RW,
7979 > {
7980 crate::common::RegisterField::<
7981 6,
7982 0x1,
7983 1,
7984 0,
7985 p1pfs::Ncodr,
7986 p1pfs::Ncodr,
7987 P1Pfs_SPEC,
7988 crate::common::RW,
7989 >::from_register(self, 0)
7990 }
7991
7992 #[doc = "Event on Falling/Event on Rising"]
7993 #[inline(always)]
7994 pub fn eofr(
7995 self,
7996 ) -> crate::common::RegisterField<
7997 12,
7998 0x3,
7999 1,
8000 0,
8001 p1pfs::Eofr,
8002 p1pfs::Eofr,
8003 P1Pfs_SPEC,
8004 crate::common::RW,
8005 > {
8006 crate::common::RegisterField::<
8007 12,
8008 0x3,
8009 1,
8010 0,
8011 p1pfs::Eofr,
8012 p1pfs::Eofr,
8013 P1Pfs_SPEC,
8014 crate::common::RW,
8015 >::from_register(self, 0)
8016 }
8017
8018 #[doc = "IRQ Input Enable"]
8019 #[inline(always)]
8020 pub fn isel(
8021 self,
8022 ) -> crate::common::RegisterField<
8023 14,
8024 0x1,
8025 1,
8026 0,
8027 p1pfs::Isel,
8028 p1pfs::Isel,
8029 P1Pfs_SPEC,
8030 crate::common::RW,
8031 > {
8032 crate::common::RegisterField::<
8033 14,
8034 0x1,
8035 1,
8036 0,
8037 p1pfs::Isel,
8038 p1pfs::Isel,
8039 P1Pfs_SPEC,
8040 crate::common::RW,
8041 >::from_register(self, 0)
8042 }
8043
8044 #[doc = "Analog Input Enable"]
8045 #[inline(always)]
8046 pub fn asel(
8047 self,
8048 ) -> crate::common::RegisterField<
8049 15,
8050 0x1,
8051 1,
8052 0,
8053 p1pfs::Asel,
8054 p1pfs::Asel,
8055 P1Pfs_SPEC,
8056 crate::common::RW,
8057 > {
8058 crate::common::RegisterField::<
8059 15,
8060 0x1,
8061 1,
8062 0,
8063 p1pfs::Asel,
8064 p1pfs::Asel,
8065 P1Pfs_SPEC,
8066 crate::common::RW,
8067 >::from_register(self, 0)
8068 }
8069
8070 #[doc = "Port Mode Control"]
8071 #[inline(always)]
8072 pub fn pmr(
8073 self,
8074 ) -> crate::common::RegisterField<
8075 16,
8076 0x1,
8077 1,
8078 0,
8079 p1pfs::Pmr,
8080 p1pfs::Pmr,
8081 P1Pfs_SPEC,
8082 crate::common::RW,
8083 > {
8084 crate::common::RegisterField::<
8085 16,
8086 0x1,
8087 1,
8088 0,
8089 p1pfs::Pmr,
8090 p1pfs::Pmr,
8091 P1Pfs_SPEC,
8092 crate::common::RW,
8093 >::from_register(self, 0)
8094 }
8095
8096 #[doc = "Peripheral Select"]
8097 #[inline(always)]
8098 pub fn psel(
8099 self,
8100 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P1Pfs_SPEC, crate::common::RW> {
8101 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P1Pfs_SPEC,crate::common::RW>::from_register(self,0)
8102 }
8103}
8104impl ::core::default::Default for P1Pfs {
8105 #[inline(always)]
8106 fn default() -> P1Pfs {
8107 <crate::RegValueT<P1Pfs_SPEC> as RegisterValue<_>>::new(0)
8108 }
8109}
8110pub mod p1pfs {
8111
8112 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8113 pub struct Podr_SPEC;
8114 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8115 impl Podr {
8116 #[doc = "Output low"]
8117 pub const _0: Self = Self::new(0);
8118
8119 #[doc = "Output high"]
8120 pub const _1: Self = Self::new(1);
8121 }
8122 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8123 pub struct Pidr_SPEC;
8124 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8125 impl Pidr {
8126 #[doc = "Low level"]
8127 pub const _0: Self = Self::new(0);
8128
8129 #[doc = "High level"]
8130 pub const _1: Self = Self::new(1);
8131 }
8132 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8133 pub struct Pdr_SPEC;
8134 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8135 impl Pdr {
8136 #[doc = "Input (functions as an input pin)"]
8137 pub const _0: Self = Self::new(0);
8138
8139 #[doc = "Output (functions as an output pin)"]
8140 pub const _1: Self = Self::new(1);
8141 }
8142 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8143 pub struct Pcr_SPEC;
8144 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8145 impl Pcr {
8146 #[doc = "Disable input pull-up"]
8147 pub const _0: Self = Self::new(0);
8148
8149 #[doc = "Enable input pull-up"]
8150 pub const _1: Self = Self::new(1);
8151 }
8152 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8153 pub struct Ncodr_SPEC;
8154 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8155 impl Ncodr {
8156 #[doc = "Output CMOS"]
8157 pub const _0: Self = Self::new(0);
8158
8159 #[doc = "Output NMOS open-drain"]
8160 pub const _1: Self = Self::new(1);
8161 }
8162 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8163 pub struct Eofr_SPEC;
8164 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8165 impl Eofr {
8166 #[doc = "Don\'t care"]
8167 pub const _00: Self = Self::new(0);
8168
8169 #[doc = "Detect rising edge"]
8170 pub const _01: Self = Self::new(1);
8171
8172 #[doc = "Detect falling edge"]
8173 pub const _10: Self = Self::new(2);
8174
8175 #[doc = "Detect both edges"]
8176 pub const _11: Self = Self::new(3);
8177 }
8178 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8179 pub struct Isel_SPEC;
8180 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8181 impl Isel {
8182 #[doc = "Do not use as IRQn input pin"]
8183 pub const _0: Self = Self::new(0);
8184
8185 #[doc = "Use as IRQn input pin"]
8186 pub const _1: Self = Self::new(1);
8187 }
8188 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8189 pub struct Asel_SPEC;
8190 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8191 impl Asel {
8192 #[doc = "Do not use as analog pin"]
8193 pub const _0: Self = Self::new(0);
8194
8195 #[doc = "Use as analog pin"]
8196 pub const _1: Self = Self::new(1);
8197 }
8198 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8199 pub struct Pmr_SPEC;
8200 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
8201 impl Pmr {
8202 #[doc = "Use as general I/O pin"]
8203 pub const _0: Self = Self::new(0);
8204
8205 #[doc = "Use as I/O port for peripheral functions"]
8206 pub const _1: Self = Self::new(1);
8207 }
8208}
8209#[doc(hidden)]
8210#[derive(Copy, Clone, Eq, PartialEq)]
8211pub struct P1PfsHa_SPEC;
8212impl crate::sealed::RegSpec for P1PfsHa_SPEC {
8213 type DataType = u16;
8214}
8215
8216#[doc = "Port 1%s Pin Function Select Register"]
8217pub type P1PfsHa = crate::RegValueT<P1PfsHa_SPEC>;
8218
8219impl P1PfsHa {
8220 #[doc = "Port Output Data"]
8221 #[inline(always)]
8222 pub fn podr(
8223 self,
8224 ) -> crate::common::RegisterField<
8225 0,
8226 0x1,
8227 1,
8228 0,
8229 p1pfs_ha::Podr,
8230 p1pfs_ha::Podr,
8231 P1PfsHa_SPEC,
8232 crate::common::RW,
8233 > {
8234 crate::common::RegisterField::<
8235 0,
8236 0x1,
8237 1,
8238 0,
8239 p1pfs_ha::Podr,
8240 p1pfs_ha::Podr,
8241 P1PfsHa_SPEC,
8242 crate::common::RW,
8243 >::from_register(self, 0)
8244 }
8245
8246 #[doc = "Port State"]
8247 #[inline(always)]
8248 pub fn pidr(
8249 self,
8250 ) -> crate::common::RegisterField<
8251 1,
8252 0x1,
8253 1,
8254 0,
8255 p1pfs_ha::Pidr,
8256 p1pfs_ha::Pidr,
8257 P1PfsHa_SPEC,
8258 crate::common::R,
8259 > {
8260 crate::common::RegisterField::<
8261 1,
8262 0x1,
8263 1,
8264 0,
8265 p1pfs_ha::Pidr,
8266 p1pfs_ha::Pidr,
8267 P1PfsHa_SPEC,
8268 crate::common::R,
8269 >::from_register(self, 0)
8270 }
8271
8272 #[doc = "Port Direction"]
8273 #[inline(always)]
8274 pub fn pdr(
8275 self,
8276 ) -> crate::common::RegisterField<
8277 2,
8278 0x1,
8279 1,
8280 0,
8281 p1pfs_ha::Pdr,
8282 p1pfs_ha::Pdr,
8283 P1PfsHa_SPEC,
8284 crate::common::RW,
8285 > {
8286 crate::common::RegisterField::<
8287 2,
8288 0x1,
8289 1,
8290 0,
8291 p1pfs_ha::Pdr,
8292 p1pfs_ha::Pdr,
8293 P1PfsHa_SPEC,
8294 crate::common::RW,
8295 >::from_register(self, 0)
8296 }
8297
8298 #[doc = "Pull-up Control"]
8299 #[inline(always)]
8300 pub fn pcr(
8301 self,
8302 ) -> crate::common::RegisterField<
8303 4,
8304 0x1,
8305 1,
8306 0,
8307 p1pfs_ha::Pcr,
8308 p1pfs_ha::Pcr,
8309 P1PfsHa_SPEC,
8310 crate::common::RW,
8311 > {
8312 crate::common::RegisterField::<
8313 4,
8314 0x1,
8315 1,
8316 0,
8317 p1pfs_ha::Pcr,
8318 p1pfs_ha::Pcr,
8319 P1PfsHa_SPEC,
8320 crate::common::RW,
8321 >::from_register(self, 0)
8322 }
8323
8324 #[doc = "N-Channel Open-Drain Control"]
8325 #[inline(always)]
8326 pub fn ncodr(
8327 self,
8328 ) -> crate::common::RegisterField<
8329 6,
8330 0x1,
8331 1,
8332 0,
8333 p1pfs_ha::Ncodr,
8334 p1pfs_ha::Ncodr,
8335 P1PfsHa_SPEC,
8336 crate::common::RW,
8337 > {
8338 crate::common::RegisterField::<
8339 6,
8340 0x1,
8341 1,
8342 0,
8343 p1pfs_ha::Ncodr,
8344 p1pfs_ha::Ncodr,
8345 P1PfsHa_SPEC,
8346 crate::common::RW,
8347 >::from_register(self, 0)
8348 }
8349
8350 #[doc = "Event on Falling/Event on Rising"]
8351 #[inline(always)]
8352 pub fn eofr(
8353 self,
8354 ) -> crate::common::RegisterField<
8355 12,
8356 0x3,
8357 1,
8358 0,
8359 p1pfs_ha::Eofr,
8360 p1pfs_ha::Eofr,
8361 P1PfsHa_SPEC,
8362 crate::common::RW,
8363 > {
8364 crate::common::RegisterField::<
8365 12,
8366 0x3,
8367 1,
8368 0,
8369 p1pfs_ha::Eofr,
8370 p1pfs_ha::Eofr,
8371 P1PfsHa_SPEC,
8372 crate::common::RW,
8373 >::from_register(self, 0)
8374 }
8375
8376 #[doc = "IRQ Input Enable"]
8377 #[inline(always)]
8378 pub fn isel(
8379 self,
8380 ) -> crate::common::RegisterField<
8381 14,
8382 0x1,
8383 1,
8384 0,
8385 p1pfs_ha::Isel,
8386 p1pfs_ha::Isel,
8387 P1PfsHa_SPEC,
8388 crate::common::RW,
8389 > {
8390 crate::common::RegisterField::<
8391 14,
8392 0x1,
8393 1,
8394 0,
8395 p1pfs_ha::Isel,
8396 p1pfs_ha::Isel,
8397 P1PfsHa_SPEC,
8398 crate::common::RW,
8399 >::from_register(self, 0)
8400 }
8401
8402 #[doc = "Analog Input Enable"]
8403 #[inline(always)]
8404 pub fn asel(
8405 self,
8406 ) -> crate::common::RegisterField<
8407 15,
8408 0x1,
8409 1,
8410 0,
8411 p1pfs_ha::Asel,
8412 p1pfs_ha::Asel,
8413 P1PfsHa_SPEC,
8414 crate::common::RW,
8415 > {
8416 crate::common::RegisterField::<
8417 15,
8418 0x1,
8419 1,
8420 0,
8421 p1pfs_ha::Asel,
8422 p1pfs_ha::Asel,
8423 P1PfsHa_SPEC,
8424 crate::common::RW,
8425 >::from_register(self, 0)
8426 }
8427}
8428impl ::core::default::Default for P1PfsHa {
8429 #[inline(always)]
8430 fn default() -> P1PfsHa {
8431 <crate::RegValueT<P1PfsHa_SPEC> as RegisterValue<_>>::new(0)
8432 }
8433}
8434pub mod p1pfs_ha {
8435
8436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8437 pub struct Podr_SPEC;
8438 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8439 impl Podr {
8440 #[doc = "Output low"]
8441 pub const _0: Self = Self::new(0);
8442
8443 #[doc = "Output high"]
8444 pub const _1: Self = Self::new(1);
8445 }
8446 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8447 pub struct Pidr_SPEC;
8448 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8449 impl Pidr {
8450 #[doc = "Low level"]
8451 pub const _0: Self = Self::new(0);
8452
8453 #[doc = "High level"]
8454 pub const _1: Self = Self::new(1);
8455 }
8456 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8457 pub struct Pdr_SPEC;
8458 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8459 impl Pdr {
8460 #[doc = "Input (functions as an input pin)"]
8461 pub const _0: Self = Self::new(0);
8462
8463 #[doc = "Output (functions as an output pin)"]
8464 pub const _1: Self = Self::new(1);
8465 }
8466 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8467 pub struct Pcr_SPEC;
8468 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8469 impl Pcr {
8470 #[doc = "Disable input pull-up"]
8471 pub const _0: Self = Self::new(0);
8472
8473 #[doc = "Enable input pull-up"]
8474 pub const _1: Self = Self::new(1);
8475 }
8476 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8477 pub struct Ncodr_SPEC;
8478 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8479 impl Ncodr {
8480 #[doc = "Output CMOS"]
8481 pub const _0: Self = Self::new(0);
8482
8483 #[doc = "Output NMOS open-drain"]
8484 pub const _1: Self = Self::new(1);
8485 }
8486 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8487 pub struct Eofr_SPEC;
8488 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8489 impl Eofr {
8490 #[doc = "Don\'t care"]
8491 pub const _00: Self = Self::new(0);
8492
8493 #[doc = "Detect rising edge"]
8494 pub const _01: Self = Self::new(1);
8495
8496 #[doc = "Detect falling edge"]
8497 pub const _10: Self = Self::new(2);
8498
8499 #[doc = "Detect both edges"]
8500 pub const _11: Self = Self::new(3);
8501 }
8502 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8503 pub struct Isel_SPEC;
8504 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8505 impl Isel {
8506 #[doc = "Do not use as IRQn input pin"]
8507 pub const _0: Self = Self::new(0);
8508
8509 #[doc = "Use as IRQn input pin"]
8510 pub const _1: Self = Self::new(1);
8511 }
8512 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8513 pub struct Asel_SPEC;
8514 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8515 impl Asel {
8516 #[doc = "Do not use as analog pin"]
8517 pub const _0: Self = Self::new(0);
8518
8519 #[doc = "Use as analog pin"]
8520 pub const _1: Self = Self::new(1);
8521 }
8522}
8523#[doc(hidden)]
8524#[derive(Copy, Clone, Eq, PartialEq)]
8525pub struct P1PfsBy_SPEC;
8526impl crate::sealed::RegSpec for P1PfsBy_SPEC {
8527 type DataType = u8;
8528}
8529
8530#[doc = "Port 1%s Pin Function Select Register"]
8531pub type P1PfsBy = crate::RegValueT<P1PfsBy_SPEC>;
8532
8533impl P1PfsBy {
8534 #[doc = "Port Output Data"]
8535 #[inline(always)]
8536 pub fn podr(
8537 self,
8538 ) -> crate::common::RegisterField<
8539 0,
8540 0x1,
8541 1,
8542 0,
8543 p1pfs_by::Podr,
8544 p1pfs_by::Podr,
8545 P1PfsBy_SPEC,
8546 crate::common::RW,
8547 > {
8548 crate::common::RegisterField::<
8549 0,
8550 0x1,
8551 1,
8552 0,
8553 p1pfs_by::Podr,
8554 p1pfs_by::Podr,
8555 P1PfsBy_SPEC,
8556 crate::common::RW,
8557 >::from_register(self, 0)
8558 }
8559
8560 #[doc = "Port State"]
8561 #[inline(always)]
8562 pub fn pidr(
8563 self,
8564 ) -> crate::common::RegisterField<
8565 1,
8566 0x1,
8567 1,
8568 0,
8569 p1pfs_by::Pidr,
8570 p1pfs_by::Pidr,
8571 P1PfsBy_SPEC,
8572 crate::common::R,
8573 > {
8574 crate::common::RegisterField::<
8575 1,
8576 0x1,
8577 1,
8578 0,
8579 p1pfs_by::Pidr,
8580 p1pfs_by::Pidr,
8581 P1PfsBy_SPEC,
8582 crate::common::R,
8583 >::from_register(self, 0)
8584 }
8585
8586 #[doc = "Port Direction"]
8587 #[inline(always)]
8588 pub fn pdr(
8589 self,
8590 ) -> crate::common::RegisterField<
8591 2,
8592 0x1,
8593 1,
8594 0,
8595 p1pfs_by::Pdr,
8596 p1pfs_by::Pdr,
8597 P1PfsBy_SPEC,
8598 crate::common::RW,
8599 > {
8600 crate::common::RegisterField::<
8601 2,
8602 0x1,
8603 1,
8604 0,
8605 p1pfs_by::Pdr,
8606 p1pfs_by::Pdr,
8607 P1PfsBy_SPEC,
8608 crate::common::RW,
8609 >::from_register(self, 0)
8610 }
8611
8612 #[doc = "Pull-up Control"]
8613 #[inline(always)]
8614 pub fn pcr(
8615 self,
8616 ) -> crate::common::RegisterField<
8617 4,
8618 0x1,
8619 1,
8620 0,
8621 p1pfs_by::Pcr,
8622 p1pfs_by::Pcr,
8623 P1PfsBy_SPEC,
8624 crate::common::RW,
8625 > {
8626 crate::common::RegisterField::<
8627 4,
8628 0x1,
8629 1,
8630 0,
8631 p1pfs_by::Pcr,
8632 p1pfs_by::Pcr,
8633 P1PfsBy_SPEC,
8634 crate::common::RW,
8635 >::from_register(self, 0)
8636 }
8637
8638 #[doc = "N-Channel Open-Drain Control"]
8639 #[inline(always)]
8640 pub fn ncodr(
8641 self,
8642 ) -> crate::common::RegisterField<
8643 6,
8644 0x1,
8645 1,
8646 0,
8647 p1pfs_by::Ncodr,
8648 p1pfs_by::Ncodr,
8649 P1PfsBy_SPEC,
8650 crate::common::RW,
8651 > {
8652 crate::common::RegisterField::<
8653 6,
8654 0x1,
8655 1,
8656 0,
8657 p1pfs_by::Ncodr,
8658 p1pfs_by::Ncodr,
8659 P1PfsBy_SPEC,
8660 crate::common::RW,
8661 >::from_register(self, 0)
8662 }
8663}
8664impl ::core::default::Default for P1PfsBy {
8665 #[inline(always)]
8666 fn default() -> P1PfsBy {
8667 <crate::RegValueT<P1PfsBy_SPEC> as RegisterValue<_>>::new(0)
8668 }
8669}
8670pub mod p1pfs_by {
8671
8672 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8673 pub struct Podr_SPEC;
8674 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8675 impl Podr {
8676 #[doc = "Output low"]
8677 pub const _0: Self = Self::new(0);
8678
8679 #[doc = "Output high"]
8680 pub const _1: Self = Self::new(1);
8681 }
8682 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8683 pub struct Pidr_SPEC;
8684 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8685 impl Pidr {
8686 #[doc = "Low level"]
8687 pub const _0: Self = Self::new(0);
8688
8689 #[doc = "High level"]
8690 pub const _1: Self = Self::new(1);
8691 }
8692 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8693 pub struct Pdr_SPEC;
8694 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8695 impl Pdr {
8696 #[doc = "Input (functions as an input pin)"]
8697 pub const _0: Self = Self::new(0);
8698
8699 #[doc = "Output (functions as an output pin)"]
8700 pub const _1: Self = Self::new(1);
8701 }
8702 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8703 pub struct Pcr_SPEC;
8704 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8705 impl Pcr {
8706 #[doc = "Disable input pull-up"]
8707 pub const _0: Self = Self::new(0);
8708
8709 #[doc = "Enable input pull-up"]
8710 pub const _1: Self = Self::new(1);
8711 }
8712 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8713 pub struct Ncodr_SPEC;
8714 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8715 impl Ncodr {
8716 #[doc = "Output CMOS"]
8717 pub const _0: Self = Self::new(0);
8718
8719 #[doc = "Output NMOS open-drain"]
8720 pub const _1: Self = Self::new(1);
8721 }
8722}
8723#[doc(hidden)]
8724#[derive(Copy, Clone, Eq, PartialEq)]
8725pub struct P200Pfs_SPEC;
8726impl crate::sealed::RegSpec for P200Pfs_SPEC {
8727 type DataType = u32;
8728}
8729
8730#[doc = "Port 200 Pin Function Select Register"]
8731pub type P200Pfs = crate::RegValueT<P200Pfs_SPEC>;
8732
8733impl P200Pfs {
8734 #[doc = "Port Output Data"]
8735 #[inline(always)]
8736 pub fn podr(
8737 self,
8738 ) -> crate::common::RegisterField<
8739 0,
8740 0x1,
8741 1,
8742 0,
8743 p200pfs::Podr,
8744 p200pfs::Podr,
8745 P200Pfs_SPEC,
8746 crate::common::RW,
8747 > {
8748 crate::common::RegisterField::<
8749 0,
8750 0x1,
8751 1,
8752 0,
8753 p200pfs::Podr,
8754 p200pfs::Podr,
8755 P200Pfs_SPEC,
8756 crate::common::RW,
8757 >::from_register(self, 0)
8758 }
8759
8760 #[doc = "Port State"]
8761 #[inline(always)]
8762 pub fn pidr(
8763 self,
8764 ) -> crate::common::RegisterField<
8765 1,
8766 0x1,
8767 1,
8768 0,
8769 p200pfs::Pidr,
8770 p200pfs::Pidr,
8771 P200Pfs_SPEC,
8772 crate::common::R,
8773 > {
8774 crate::common::RegisterField::<
8775 1,
8776 0x1,
8777 1,
8778 0,
8779 p200pfs::Pidr,
8780 p200pfs::Pidr,
8781 P200Pfs_SPEC,
8782 crate::common::R,
8783 >::from_register(self, 0)
8784 }
8785
8786 #[doc = "Port Direction"]
8787 #[inline(always)]
8788 pub fn pdr(
8789 self,
8790 ) -> crate::common::RegisterField<
8791 2,
8792 0x1,
8793 1,
8794 0,
8795 p200pfs::Pdr,
8796 p200pfs::Pdr,
8797 P200Pfs_SPEC,
8798 crate::common::RW,
8799 > {
8800 crate::common::RegisterField::<
8801 2,
8802 0x1,
8803 1,
8804 0,
8805 p200pfs::Pdr,
8806 p200pfs::Pdr,
8807 P200Pfs_SPEC,
8808 crate::common::RW,
8809 >::from_register(self, 0)
8810 }
8811
8812 #[doc = "Pull-up Control"]
8813 #[inline(always)]
8814 pub fn pcr(
8815 self,
8816 ) -> crate::common::RegisterField<
8817 4,
8818 0x1,
8819 1,
8820 0,
8821 p200pfs::Pcr,
8822 p200pfs::Pcr,
8823 P200Pfs_SPEC,
8824 crate::common::RW,
8825 > {
8826 crate::common::RegisterField::<
8827 4,
8828 0x1,
8829 1,
8830 0,
8831 p200pfs::Pcr,
8832 p200pfs::Pcr,
8833 P200Pfs_SPEC,
8834 crate::common::RW,
8835 >::from_register(self, 0)
8836 }
8837
8838 #[doc = "N-Channel Open-Drain Control"]
8839 #[inline(always)]
8840 pub fn ncodr(
8841 self,
8842 ) -> crate::common::RegisterField<
8843 6,
8844 0x1,
8845 1,
8846 0,
8847 p200pfs::Ncodr,
8848 p200pfs::Ncodr,
8849 P200Pfs_SPEC,
8850 crate::common::RW,
8851 > {
8852 crate::common::RegisterField::<
8853 6,
8854 0x1,
8855 1,
8856 0,
8857 p200pfs::Ncodr,
8858 p200pfs::Ncodr,
8859 P200Pfs_SPEC,
8860 crate::common::RW,
8861 >::from_register(self, 0)
8862 }
8863
8864 #[doc = "Event on Falling/Event on Rising"]
8865 #[inline(always)]
8866 pub fn eofr(
8867 self,
8868 ) -> crate::common::RegisterField<
8869 12,
8870 0x3,
8871 1,
8872 0,
8873 p200pfs::Eofr,
8874 p200pfs::Eofr,
8875 P200Pfs_SPEC,
8876 crate::common::RW,
8877 > {
8878 crate::common::RegisterField::<
8879 12,
8880 0x3,
8881 1,
8882 0,
8883 p200pfs::Eofr,
8884 p200pfs::Eofr,
8885 P200Pfs_SPEC,
8886 crate::common::RW,
8887 >::from_register(self, 0)
8888 }
8889
8890 #[doc = "IRQ Input Enable"]
8891 #[inline(always)]
8892 pub fn isel(
8893 self,
8894 ) -> crate::common::RegisterField<
8895 14,
8896 0x1,
8897 1,
8898 0,
8899 p200pfs::Isel,
8900 p200pfs::Isel,
8901 P200Pfs_SPEC,
8902 crate::common::RW,
8903 > {
8904 crate::common::RegisterField::<
8905 14,
8906 0x1,
8907 1,
8908 0,
8909 p200pfs::Isel,
8910 p200pfs::Isel,
8911 P200Pfs_SPEC,
8912 crate::common::RW,
8913 >::from_register(self, 0)
8914 }
8915
8916 #[doc = "Analog Input Enable"]
8917 #[inline(always)]
8918 pub fn asel(
8919 self,
8920 ) -> crate::common::RegisterField<
8921 15,
8922 0x1,
8923 1,
8924 0,
8925 p200pfs::Asel,
8926 p200pfs::Asel,
8927 P200Pfs_SPEC,
8928 crate::common::RW,
8929 > {
8930 crate::common::RegisterField::<
8931 15,
8932 0x1,
8933 1,
8934 0,
8935 p200pfs::Asel,
8936 p200pfs::Asel,
8937 P200Pfs_SPEC,
8938 crate::common::RW,
8939 >::from_register(self, 0)
8940 }
8941
8942 #[doc = "Port Mode Control"]
8943 #[inline(always)]
8944 pub fn pmr(
8945 self,
8946 ) -> crate::common::RegisterField<
8947 16,
8948 0x1,
8949 1,
8950 0,
8951 p200pfs::Pmr,
8952 p200pfs::Pmr,
8953 P200Pfs_SPEC,
8954 crate::common::RW,
8955 > {
8956 crate::common::RegisterField::<
8957 16,
8958 0x1,
8959 1,
8960 0,
8961 p200pfs::Pmr,
8962 p200pfs::Pmr,
8963 P200Pfs_SPEC,
8964 crate::common::RW,
8965 >::from_register(self, 0)
8966 }
8967
8968 #[doc = "Peripheral Select"]
8969 #[inline(always)]
8970 pub fn psel(
8971 self,
8972 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P200Pfs_SPEC, crate::common::RW> {
8973 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P200Pfs_SPEC,crate::common::RW>::from_register(self,0)
8974 }
8975}
8976impl ::core::default::Default for P200Pfs {
8977 #[inline(always)]
8978 fn default() -> P200Pfs {
8979 <crate::RegValueT<P200Pfs_SPEC> as RegisterValue<_>>::new(0)
8980 }
8981}
8982pub mod p200pfs {
8983
8984 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8985 pub struct Podr_SPEC;
8986 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8987 impl Podr {
8988 #[doc = "Output low"]
8989 pub const _0: Self = Self::new(0);
8990
8991 #[doc = "Output high"]
8992 pub const _1: Self = Self::new(1);
8993 }
8994 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8995 pub struct Pidr_SPEC;
8996 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8997 impl Pidr {
8998 #[doc = "Low level"]
8999 pub const _0: Self = Self::new(0);
9000
9001 #[doc = "High level"]
9002 pub const _1: Self = Self::new(1);
9003 }
9004 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9005 pub struct Pdr_SPEC;
9006 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9007 impl Pdr {
9008 #[doc = "Input (functions as an input pin)"]
9009 pub const _0: Self = Self::new(0);
9010
9011 #[doc = "Output (functions as an output pin)"]
9012 pub const _1: Self = Self::new(1);
9013 }
9014 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9015 pub struct Pcr_SPEC;
9016 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9017 impl Pcr {
9018 #[doc = "Disable input pull-up"]
9019 pub const _0: Self = Self::new(0);
9020
9021 #[doc = "Enable input pull-up"]
9022 pub const _1: Self = Self::new(1);
9023 }
9024 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9025 pub struct Ncodr_SPEC;
9026 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9027 impl Ncodr {
9028 #[doc = "Output CMOS"]
9029 pub const _0: Self = Self::new(0);
9030
9031 #[doc = "Output NMOS open-drain"]
9032 pub const _1: Self = Self::new(1);
9033 }
9034 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9035 pub struct Eofr_SPEC;
9036 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9037 impl Eofr {
9038 #[doc = "Don\'t care"]
9039 pub const _00: Self = Self::new(0);
9040
9041 #[doc = "Detect rising edge"]
9042 pub const _01: Self = Self::new(1);
9043
9044 #[doc = "Detect falling edge"]
9045 pub const _10: Self = Self::new(2);
9046
9047 #[doc = "Detect both edges"]
9048 pub const _11: Self = Self::new(3);
9049 }
9050 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9051 pub struct Isel_SPEC;
9052 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9053 impl Isel {
9054 #[doc = "Do not use as IRQn input pin"]
9055 pub const _0: Self = Self::new(0);
9056
9057 #[doc = "Use as IRQn input pin"]
9058 pub const _1: Self = Self::new(1);
9059 }
9060 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9061 pub struct Asel_SPEC;
9062 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9063 impl Asel {
9064 #[doc = "Do not use as analog pin"]
9065 pub const _0: Self = Self::new(0);
9066
9067 #[doc = "Use as analog pin"]
9068 pub const _1: Self = Self::new(1);
9069 }
9070 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9071 pub struct Pmr_SPEC;
9072 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
9073 impl Pmr {
9074 #[doc = "Use as general I/O pin"]
9075 pub const _0: Self = Self::new(0);
9076
9077 #[doc = "Use as I/O port for peripheral functions"]
9078 pub const _1: Self = Self::new(1);
9079 }
9080}
9081#[doc(hidden)]
9082#[derive(Copy, Clone, Eq, PartialEq)]
9083pub struct P200PfsHa_SPEC;
9084impl crate::sealed::RegSpec for P200PfsHa_SPEC {
9085 type DataType = u16;
9086}
9087
9088#[doc = "Port 200 Pin Function Select Register"]
9089pub type P200PfsHa = crate::RegValueT<P200PfsHa_SPEC>;
9090
9091impl P200PfsHa {
9092 #[doc = "Port Output Data"]
9093 #[inline(always)]
9094 pub fn podr(
9095 self,
9096 ) -> crate::common::RegisterField<
9097 0,
9098 0x1,
9099 1,
9100 0,
9101 p200pfs_ha::Podr,
9102 p200pfs_ha::Podr,
9103 P200PfsHa_SPEC,
9104 crate::common::RW,
9105 > {
9106 crate::common::RegisterField::<
9107 0,
9108 0x1,
9109 1,
9110 0,
9111 p200pfs_ha::Podr,
9112 p200pfs_ha::Podr,
9113 P200PfsHa_SPEC,
9114 crate::common::RW,
9115 >::from_register(self, 0)
9116 }
9117
9118 #[doc = "Port State"]
9119 #[inline(always)]
9120 pub fn pidr(
9121 self,
9122 ) -> crate::common::RegisterField<
9123 1,
9124 0x1,
9125 1,
9126 0,
9127 p200pfs_ha::Pidr,
9128 p200pfs_ha::Pidr,
9129 P200PfsHa_SPEC,
9130 crate::common::R,
9131 > {
9132 crate::common::RegisterField::<
9133 1,
9134 0x1,
9135 1,
9136 0,
9137 p200pfs_ha::Pidr,
9138 p200pfs_ha::Pidr,
9139 P200PfsHa_SPEC,
9140 crate::common::R,
9141 >::from_register(self, 0)
9142 }
9143
9144 #[doc = "Port Direction"]
9145 #[inline(always)]
9146 pub fn pdr(
9147 self,
9148 ) -> crate::common::RegisterField<
9149 2,
9150 0x1,
9151 1,
9152 0,
9153 p200pfs_ha::Pdr,
9154 p200pfs_ha::Pdr,
9155 P200PfsHa_SPEC,
9156 crate::common::RW,
9157 > {
9158 crate::common::RegisterField::<
9159 2,
9160 0x1,
9161 1,
9162 0,
9163 p200pfs_ha::Pdr,
9164 p200pfs_ha::Pdr,
9165 P200PfsHa_SPEC,
9166 crate::common::RW,
9167 >::from_register(self, 0)
9168 }
9169
9170 #[doc = "Pull-up Control"]
9171 #[inline(always)]
9172 pub fn pcr(
9173 self,
9174 ) -> crate::common::RegisterField<
9175 4,
9176 0x1,
9177 1,
9178 0,
9179 p200pfs_ha::Pcr,
9180 p200pfs_ha::Pcr,
9181 P200PfsHa_SPEC,
9182 crate::common::RW,
9183 > {
9184 crate::common::RegisterField::<
9185 4,
9186 0x1,
9187 1,
9188 0,
9189 p200pfs_ha::Pcr,
9190 p200pfs_ha::Pcr,
9191 P200PfsHa_SPEC,
9192 crate::common::RW,
9193 >::from_register(self, 0)
9194 }
9195
9196 #[doc = "N-Channel Open-Drain Control"]
9197 #[inline(always)]
9198 pub fn ncodr(
9199 self,
9200 ) -> crate::common::RegisterField<
9201 6,
9202 0x1,
9203 1,
9204 0,
9205 p200pfs_ha::Ncodr,
9206 p200pfs_ha::Ncodr,
9207 P200PfsHa_SPEC,
9208 crate::common::RW,
9209 > {
9210 crate::common::RegisterField::<
9211 6,
9212 0x1,
9213 1,
9214 0,
9215 p200pfs_ha::Ncodr,
9216 p200pfs_ha::Ncodr,
9217 P200PfsHa_SPEC,
9218 crate::common::RW,
9219 >::from_register(self, 0)
9220 }
9221
9222 #[doc = "Event on Falling/Event on Rising"]
9223 #[inline(always)]
9224 pub fn eofr(
9225 self,
9226 ) -> crate::common::RegisterField<
9227 12,
9228 0x3,
9229 1,
9230 0,
9231 p200pfs_ha::Eofr,
9232 p200pfs_ha::Eofr,
9233 P200PfsHa_SPEC,
9234 crate::common::RW,
9235 > {
9236 crate::common::RegisterField::<
9237 12,
9238 0x3,
9239 1,
9240 0,
9241 p200pfs_ha::Eofr,
9242 p200pfs_ha::Eofr,
9243 P200PfsHa_SPEC,
9244 crate::common::RW,
9245 >::from_register(self, 0)
9246 }
9247
9248 #[doc = "IRQ Input Enable"]
9249 #[inline(always)]
9250 pub fn isel(
9251 self,
9252 ) -> crate::common::RegisterField<
9253 14,
9254 0x1,
9255 1,
9256 0,
9257 p200pfs_ha::Isel,
9258 p200pfs_ha::Isel,
9259 P200PfsHa_SPEC,
9260 crate::common::RW,
9261 > {
9262 crate::common::RegisterField::<
9263 14,
9264 0x1,
9265 1,
9266 0,
9267 p200pfs_ha::Isel,
9268 p200pfs_ha::Isel,
9269 P200PfsHa_SPEC,
9270 crate::common::RW,
9271 >::from_register(self, 0)
9272 }
9273
9274 #[doc = "Analog Input Enable"]
9275 #[inline(always)]
9276 pub fn asel(
9277 self,
9278 ) -> crate::common::RegisterField<
9279 15,
9280 0x1,
9281 1,
9282 0,
9283 p200pfs_ha::Asel,
9284 p200pfs_ha::Asel,
9285 P200PfsHa_SPEC,
9286 crate::common::RW,
9287 > {
9288 crate::common::RegisterField::<
9289 15,
9290 0x1,
9291 1,
9292 0,
9293 p200pfs_ha::Asel,
9294 p200pfs_ha::Asel,
9295 P200PfsHa_SPEC,
9296 crate::common::RW,
9297 >::from_register(self, 0)
9298 }
9299}
9300impl ::core::default::Default for P200PfsHa {
9301 #[inline(always)]
9302 fn default() -> P200PfsHa {
9303 <crate::RegValueT<P200PfsHa_SPEC> as RegisterValue<_>>::new(0)
9304 }
9305}
9306pub mod p200pfs_ha {
9307
9308 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9309 pub struct Podr_SPEC;
9310 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9311 impl Podr {
9312 #[doc = "Output low"]
9313 pub const _0: Self = Self::new(0);
9314
9315 #[doc = "Output high"]
9316 pub const _1: Self = Self::new(1);
9317 }
9318 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9319 pub struct Pidr_SPEC;
9320 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9321 impl Pidr {
9322 #[doc = "Low level"]
9323 pub const _0: Self = Self::new(0);
9324
9325 #[doc = "High level"]
9326 pub const _1: Self = Self::new(1);
9327 }
9328 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9329 pub struct Pdr_SPEC;
9330 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9331 impl Pdr {
9332 #[doc = "Input (functions as an input pin)"]
9333 pub const _0: Self = Self::new(0);
9334
9335 #[doc = "Output (functions as an output pin)"]
9336 pub const _1: Self = Self::new(1);
9337 }
9338 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9339 pub struct Pcr_SPEC;
9340 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9341 impl Pcr {
9342 #[doc = "Disable input pull-up"]
9343 pub const _0: Self = Self::new(0);
9344
9345 #[doc = "Enable input pull-up"]
9346 pub const _1: Self = Self::new(1);
9347 }
9348 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9349 pub struct Ncodr_SPEC;
9350 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9351 impl Ncodr {
9352 #[doc = "Output CMOS"]
9353 pub const _0: Self = Self::new(0);
9354
9355 #[doc = "Output NMOS open-drain"]
9356 pub const _1: Self = Self::new(1);
9357 }
9358 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9359 pub struct Eofr_SPEC;
9360 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9361 impl Eofr {
9362 #[doc = "Don\'t care"]
9363 pub const _00: Self = Self::new(0);
9364
9365 #[doc = "Detect rising edge"]
9366 pub const _01: Self = Self::new(1);
9367
9368 #[doc = "Detect falling edge"]
9369 pub const _10: Self = Self::new(2);
9370
9371 #[doc = "Detect both edges"]
9372 pub const _11: Self = Self::new(3);
9373 }
9374 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9375 pub struct Isel_SPEC;
9376 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9377 impl Isel {
9378 #[doc = "Do not use as IRQn input pin"]
9379 pub const _0: Self = Self::new(0);
9380
9381 #[doc = "Use as IRQn input pin"]
9382 pub const _1: Self = Self::new(1);
9383 }
9384 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9385 pub struct Asel_SPEC;
9386 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9387 impl Asel {
9388 #[doc = "Do not use as analog pin"]
9389 pub const _0: Self = Self::new(0);
9390
9391 #[doc = "Use as analog pin"]
9392 pub const _1: Self = Self::new(1);
9393 }
9394}
9395#[doc(hidden)]
9396#[derive(Copy, Clone, Eq, PartialEq)]
9397pub struct P200PfsBy_SPEC;
9398impl crate::sealed::RegSpec for P200PfsBy_SPEC {
9399 type DataType = u8;
9400}
9401
9402#[doc = "Port 200 Pin Function Select Register"]
9403pub type P200PfsBy = crate::RegValueT<P200PfsBy_SPEC>;
9404
9405impl P200PfsBy {
9406 #[doc = "Port Output Data"]
9407 #[inline(always)]
9408 pub fn podr(
9409 self,
9410 ) -> crate::common::RegisterField<
9411 0,
9412 0x1,
9413 1,
9414 0,
9415 p200pfs_by::Podr,
9416 p200pfs_by::Podr,
9417 P200PfsBy_SPEC,
9418 crate::common::RW,
9419 > {
9420 crate::common::RegisterField::<
9421 0,
9422 0x1,
9423 1,
9424 0,
9425 p200pfs_by::Podr,
9426 p200pfs_by::Podr,
9427 P200PfsBy_SPEC,
9428 crate::common::RW,
9429 >::from_register(self, 0)
9430 }
9431
9432 #[doc = "Port State"]
9433 #[inline(always)]
9434 pub fn pidr(
9435 self,
9436 ) -> crate::common::RegisterField<
9437 1,
9438 0x1,
9439 1,
9440 0,
9441 p200pfs_by::Pidr,
9442 p200pfs_by::Pidr,
9443 P200PfsBy_SPEC,
9444 crate::common::R,
9445 > {
9446 crate::common::RegisterField::<
9447 1,
9448 0x1,
9449 1,
9450 0,
9451 p200pfs_by::Pidr,
9452 p200pfs_by::Pidr,
9453 P200PfsBy_SPEC,
9454 crate::common::R,
9455 >::from_register(self, 0)
9456 }
9457
9458 #[doc = "Port Direction"]
9459 #[inline(always)]
9460 pub fn pdr(
9461 self,
9462 ) -> crate::common::RegisterField<
9463 2,
9464 0x1,
9465 1,
9466 0,
9467 p200pfs_by::Pdr,
9468 p200pfs_by::Pdr,
9469 P200PfsBy_SPEC,
9470 crate::common::RW,
9471 > {
9472 crate::common::RegisterField::<
9473 2,
9474 0x1,
9475 1,
9476 0,
9477 p200pfs_by::Pdr,
9478 p200pfs_by::Pdr,
9479 P200PfsBy_SPEC,
9480 crate::common::RW,
9481 >::from_register(self, 0)
9482 }
9483
9484 #[doc = "Pull-up Control"]
9485 #[inline(always)]
9486 pub fn pcr(
9487 self,
9488 ) -> crate::common::RegisterField<
9489 4,
9490 0x1,
9491 1,
9492 0,
9493 p200pfs_by::Pcr,
9494 p200pfs_by::Pcr,
9495 P200PfsBy_SPEC,
9496 crate::common::RW,
9497 > {
9498 crate::common::RegisterField::<
9499 4,
9500 0x1,
9501 1,
9502 0,
9503 p200pfs_by::Pcr,
9504 p200pfs_by::Pcr,
9505 P200PfsBy_SPEC,
9506 crate::common::RW,
9507 >::from_register(self, 0)
9508 }
9509
9510 #[doc = "N-Channel Open-Drain Control"]
9511 #[inline(always)]
9512 pub fn ncodr(
9513 self,
9514 ) -> crate::common::RegisterField<
9515 6,
9516 0x1,
9517 1,
9518 0,
9519 p200pfs_by::Ncodr,
9520 p200pfs_by::Ncodr,
9521 P200PfsBy_SPEC,
9522 crate::common::RW,
9523 > {
9524 crate::common::RegisterField::<
9525 6,
9526 0x1,
9527 1,
9528 0,
9529 p200pfs_by::Ncodr,
9530 p200pfs_by::Ncodr,
9531 P200PfsBy_SPEC,
9532 crate::common::RW,
9533 >::from_register(self, 0)
9534 }
9535}
9536impl ::core::default::Default for P200PfsBy {
9537 #[inline(always)]
9538 fn default() -> P200PfsBy {
9539 <crate::RegValueT<P200PfsBy_SPEC> as RegisterValue<_>>::new(0)
9540 }
9541}
9542pub mod p200pfs_by {
9543
9544 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9545 pub struct Podr_SPEC;
9546 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9547 impl Podr {
9548 #[doc = "Output low"]
9549 pub const _0: Self = Self::new(0);
9550
9551 #[doc = "Output high"]
9552 pub const _1: Self = Self::new(1);
9553 }
9554 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9555 pub struct Pidr_SPEC;
9556 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9557 impl Pidr {
9558 #[doc = "Low level"]
9559 pub const _0: Self = Self::new(0);
9560
9561 #[doc = "High level"]
9562 pub const _1: Self = Self::new(1);
9563 }
9564 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9565 pub struct Pdr_SPEC;
9566 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9567 impl Pdr {
9568 #[doc = "Input (functions as an input pin)"]
9569 pub const _0: Self = Self::new(0);
9570
9571 #[doc = "Output (functions as an output pin)"]
9572 pub const _1: Self = Self::new(1);
9573 }
9574 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9575 pub struct Pcr_SPEC;
9576 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9577 impl Pcr {
9578 #[doc = "Disable input pull-up"]
9579 pub const _0: Self = Self::new(0);
9580
9581 #[doc = "Enable input pull-up"]
9582 pub const _1: Self = Self::new(1);
9583 }
9584 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9585 pub struct Ncodr_SPEC;
9586 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9587 impl Ncodr {
9588 #[doc = "Output CMOS"]
9589 pub const _0: Self = Self::new(0);
9590
9591 #[doc = "Output NMOS open-drain"]
9592 pub const _1: Self = Self::new(1);
9593 }
9594}
9595#[doc(hidden)]
9596#[derive(Copy, Clone, Eq, PartialEq)]
9597pub struct P201Pfs_SPEC;
9598impl crate::sealed::RegSpec for P201Pfs_SPEC {
9599 type DataType = u32;
9600}
9601
9602#[doc = "Port 201 Pin Function Select Register"]
9603pub type P201Pfs = crate::RegValueT<P201Pfs_SPEC>;
9604
9605impl P201Pfs {
9606 #[doc = "Port Output Data"]
9607 #[inline(always)]
9608 pub fn podr(
9609 self,
9610 ) -> crate::common::RegisterField<
9611 0,
9612 0x1,
9613 1,
9614 0,
9615 p201pfs::Podr,
9616 p201pfs::Podr,
9617 P201Pfs_SPEC,
9618 crate::common::RW,
9619 > {
9620 crate::common::RegisterField::<
9621 0,
9622 0x1,
9623 1,
9624 0,
9625 p201pfs::Podr,
9626 p201pfs::Podr,
9627 P201Pfs_SPEC,
9628 crate::common::RW,
9629 >::from_register(self, 0)
9630 }
9631
9632 #[doc = "Port State"]
9633 #[inline(always)]
9634 pub fn pidr(
9635 self,
9636 ) -> crate::common::RegisterField<
9637 1,
9638 0x1,
9639 1,
9640 0,
9641 p201pfs::Pidr,
9642 p201pfs::Pidr,
9643 P201Pfs_SPEC,
9644 crate::common::R,
9645 > {
9646 crate::common::RegisterField::<
9647 1,
9648 0x1,
9649 1,
9650 0,
9651 p201pfs::Pidr,
9652 p201pfs::Pidr,
9653 P201Pfs_SPEC,
9654 crate::common::R,
9655 >::from_register(self, 0)
9656 }
9657
9658 #[doc = "Port Direction"]
9659 #[inline(always)]
9660 pub fn pdr(
9661 self,
9662 ) -> crate::common::RegisterField<
9663 2,
9664 0x1,
9665 1,
9666 0,
9667 p201pfs::Pdr,
9668 p201pfs::Pdr,
9669 P201Pfs_SPEC,
9670 crate::common::RW,
9671 > {
9672 crate::common::RegisterField::<
9673 2,
9674 0x1,
9675 1,
9676 0,
9677 p201pfs::Pdr,
9678 p201pfs::Pdr,
9679 P201Pfs_SPEC,
9680 crate::common::RW,
9681 >::from_register(self, 0)
9682 }
9683
9684 #[doc = "Pull-up Control"]
9685 #[inline(always)]
9686 pub fn pcr(
9687 self,
9688 ) -> crate::common::RegisterField<
9689 4,
9690 0x1,
9691 1,
9692 0,
9693 p201pfs::Pcr,
9694 p201pfs::Pcr,
9695 P201Pfs_SPEC,
9696 crate::common::RW,
9697 > {
9698 crate::common::RegisterField::<
9699 4,
9700 0x1,
9701 1,
9702 0,
9703 p201pfs::Pcr,
9704 p201pfs::Pcr,
9705 P201Pfs_SPEC,
9706 crate::common::RW,
9707 >::from_register(self, 0)
9708 }
9709
9710 #[doc = "N-Channel Open-Drain Control"]
9711 #[inline(always)]
9712 pub fn ncodr(
9713 self,
9714 ) -> crate::common::RegisterField<
9715 6,
9716 0x1,
9717 1,
9718 0,
9719 p201pfs::Ncodr,
9720 p201pfs::Ncodr,
9721 P201Pfs_SPEC,
9722 crate::common::RW,
9723 > {
9724 crate::common::RegisterField::<
9725 6,
9726 0x1,
9727 1,
9728 0,
9729 p201pfs::Ncodr,
9730 p201pfs::Ncodr,
9731 P201Pfs_SPEC,
9732 crate::common::RW,
9733 >::from_register(self, 0)
9734 }
9735
9736 #[doc = "Event on Falling/Event on Rising"]
9737 #[inline(always)]
9738 pub fn eofr(
9739 self,
9740 ) -> crate::common::RegisterField<
9741 12,
9742 0x3,
9743 1,
9744 0,
9745 p201pfs::Eofr,
9746 p201pfs::Eofr,
9747 P201Pfs_SPEC,
9748 crate::common::RW,
9749 > {
9750 crate::common::RegisterField::<
9751 12,
9752 0x3,
9753 1,
9754 0,
9755 p201pfs::Eofr,
9756 p201pfs::Eofr,
9757 P201Pfs_SPEC,
9758 crate::common::RW,
9759 >::from_register(self, 0)
9760 }
9761
9762 #[doc = "IRQ Input Enable"]
9763 #[inline(always)]
9764 pub fn isel(
9765 self,
9766 ) -> crate::common::RegisterField<
9767 14,
9768 0x1,
9769 1,
9770 0,
9771 p201pfs::Isel,
9772 p201pfs::Isel,
9773 P201Pfs_SPEC,
9774 crate::common::RW,
9775 > {
9776 crate::common::RegisterField::<
9777 14,
9778 0x1,
9779 1,
9780 0,
9781 p201pfs::Isel,
9782 p201pfs::Isel,
9783 P201Pfs_SPEC,
9784 crate::common::RW,
9785 >::from_register(self, 0)
9786 }
9787
9788 #[doc = "Analog Input Enable"]
9789 #[inline(always)]
9790 pub fn asel(
9791 self,
9792 ) -> crate::common::RegisterField<
9793 15,
9794 0x1,
9795 1,
9796 0,
9797 p201pfs::Asel,
9798 p201pfs::Asel,
9799 P201Pfs_SPEC,
9800 crate::common::RW,
9801 > {
9802 crate::common::RegisterField::<
9803 15,
9804 0x1,
9805 1,
9806 0,
9807 p201pfs::Asel,
9808 p201pfs::Asel,
9809 P201Pfs_SPEC,
9810 crate::common::RW,
9811 >::from_register(self, 0)
9812 }
9813
9814 #[doc = "Port Mode Control"]
9815 #[inline(always)]
9816 pub fn pmr(
9817 self,
9818 ) -> crate::common::RegisterField<
9819 16,
9820 0x1,
9821 1,
9822 0,
9823 p201pfs::Pmr,
9824 p201pfs::Pmr,
9825 P201Pfs_SPEC,
9826 crate::common::RW,
9827 > {
9828 crate::common::RegisterField::<
9829 16,
9830 0x1,
9831 1,
9832 0,
9833 p201pfs::Pmr,
9834 p201pfs::Pmr,
9835 P201Pfs_SPEC,
9836 crate::common::RW,
9837 >::from_register(self, 0)
9838 }
9839
9840 #[doc = "Peripheral Select"]
9841 #[inline(always)]
9842 pub fn psel(
9843 self,
9844 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P201Pfs_SPEC, crate::common::RW> {
9845 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P201Pfs_SPEC,crate::common::RW>::from_register(self,0)
9846 }
9847}
9848impl ::core::default::Default for P201Pfs {
9849 #[inline(always)]
9850 fn default() -> P201Pfs {
9851 <crate::RegValueT<P201Pfs_SPEC> as RegisterValue<_>>::new(16)
9852 }
9853}
9854pub mod p201pfs {
9855
9856 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9857 pub struct Podr_SPEC;
9858 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9859 impl Podr {
9860 #[doc = "Output low"]
9861 pub const _0: Self = Self::new(0);
9862
9863 #[doc = "Output high"]
9864 pub const _1: Self = Self::new(1);
9865 }
9866 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9867 pub struct Pidr_SPEC;
9868 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9869 impl Pidr {
9870 #[doc = "Low level"]
9871 pub const _0: Self = Self::new(0);
9872
9873 #[doc = "High level"]
9874 pub const _1: Self = Self::new(1);
9875 }
9876 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9877 pub struct Pdr_SPEC;
9878 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9879 impl Pdr {
9880 #[doc = "Input (functions as an input pin)"]
9881 pub const _0: Self = Self::new(0);
9882
9883 #[doc = "Output (functions as an output pin)"]
9884 pub const _1: Self = Self::new(1);
9885 }
9886 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9887 pub struct Pcr_SPEC;
9888 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9889 impl Pcr {
9890 #[doc = "Disable input pull-up"]
9891 pub const _0: Self = Self::new(0);
9892
9893 #[doc = "Enable input pull-up"]
9894 pub const _1: Self = Self::new(1);
9895 }
9896 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9897 pub struct Ncodr_SPEC;
9898 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9899 impl Ncodr {
9900 #[doc = "Output CMOS"]
9901 pub const _0: Self = Self::new(0);
9902
9903 #[doc = "Output NMOS open-drain"]
9904 pub const _1: Self = Self::new(1);
9905 }
9906 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9907 pub struct Eofr_SPEC;
9908 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9909 impl Eofr {
9910 #[doc = "Don\'t care"]
9911 pub const _00: Self = Self::new(0);
9912
9913 #[doc = "Detect rising edge"]
9914 pub const _01: Self = Self::new(1);
9915
9916 #[doc = "Detect falling edge"]
9917 pub const _10: Self = Self::new(2);
9918
9919 #[doc = "Detect both edges"]
9920 pub const _11: Self = Self::new(3);
9921 }
9922 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9923 pub struct Isel_SPEC;
9924 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9925 impl Isel {
9926 #[doc = "Do not use as IRQn input pin"]
9927 pub const _0: Self = Self::new(0);
9928
9929 #[doc = "Use as IRQn input pin"]
9930 pub const _1: Self = Self::new(1);
9931 }
9932 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9933 pub struct Asel_SPEC;
9934 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9935 impl Asel {
9936 #[doc = "Do not use as analog pin"]
9937 pub const _0: Self = Self::new(0);
9938
9939 #[doc = "Use as analog pin"]
9940 pub const _1: Self = Self::new(1);
9941 }
9942 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9943 pub struct Pmr_SPEC;
9944 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
9945 impl Pmr {
9946 #[doc = "Use as general I/O pin"]
9947 pub const _0: Self = Self::new(0);
9948
9949 #[doc = "Use as I/O port for peripheral functions"]
9950 pub const _1: Self = Self::new(1);
9951 }
9952}
9953#[doc(hidden)]
9954#[derive(Copy, Clone, Eq, PartialEq)]
9955pub struct P201PfsHa_SPEC;
9956impl crate::sealed::RegSpec for P201PfsHa_SPEC {
9957 type DataType = u16;
9958}
9959
9960#[doc = "Port 201 Pin Function Select Register"]
9961pub type P201PfsHa = crate::RegValueT<P201PfsHa_SPEC>;
9962
9963impl P201PfsHa {
9964 #[doc = "Port Output Data"]
9965 #[inline(always)]
9966 pub fn podr(
9967 self,
9968 ) -> crate::common::RegisterField<
9969 0,
9970 0x1,
9971 1,
9972 0,
9973 p201pfs_ha::Podr,
9974 p201pfs_ha::Podr,
9975 P201PfsHa_SPEC,
9976 crate::common::RW,
9977 > {
9978 crate::common::RegisterField::<
9979 0,
9980 0x1,
9981 1,
9982 0,
9983 p201pfs_ha::Podr,
9984 p201pfs_ha::Podr,
9985 P201PfsHa_SPEC,
9986 crate::common::RW,
9987 >::from_register(self, 0)
9988 }
9989
9990 #[doc = "Port State"]
9991 #[inline(always)]
9992 pub fn pidr(
9993 self,
9994 ) -> crate::common::RegisterField<
9995 1,
9996 0x1,
9997 1,
9998 0,
9999 p201pfs_ha::Pidr,
10000 p201pfs_ha::Pidr,
10001 P201PfsHa_SPEC,
10002 crate::common::R,
10003 > {
10004 crate::common::RegisterField::<
10005 1,
10006 0x1,
10007 1,
10008 0,
10009 p201pfs_ha::Pidr,
10010 p201pfs_ha::Pidr,
10011 P201PfsHa_SPEC,
10012 crate::common::R,
10013 >::from_register(self, 0)
10014 }
10015
10016 #[doc = "Port Direction"]
10017 #[inline(always)]
10018 pub fn pdr(
10019 self,
10020 ) -> crate::common::RegisterField<
10021 2,
10022 0x1,
10023 1,
10024 0,
10025 p201pfs_ha::Pdr,
10026 p201pfs_ha::Pdr,
10027 P201PfsHa_SPEC,
10028 crate::common::RW,
10029 > {
10030 crate::common::RegisterField::<
10031 2,
10032 0x1,
10033 1,
10034 0,
10035 p201pfs_ha::Pdr,
10036 p201pfs_ha::Pdr,
10037 P201PfsHa_SPEC,
10038 crate::common::RW,
10039 >::from_register(self, 0)
10040 }
10041
10042 #[doc = "Pull-up Control"]
10043 #[inline(always)]
10044 pub fn pcr(
10045 self,
10046 ) -> crate::common::RegisterField<
10047 4,
10048 0x1,
10049 1,
10050 0,
10051 p201pfs_ha::Pcr,
10052 p201pfs_ha::Pcr,
10053 P201PfsHa_SPEC,
10054 crate::common::RW,
10055 > {
10056 crate::common::RegisterField::<
10057 4,
10058 0x1,
10059 1,
10060 0,
10061 p201pfs_ha::Pcr,
10062 p201pfs_ha::Pcr,
10063 P201PfsHa_SPEC,
10064 crate::common::RW,
10065 >::from_register(self, 0)
10066 }
10067
10068 #[doc = "N-Channel Open-Drain Control"]
10069 #[inline(always)]
10070 pub fn ncodr(
10071 self,
10072 ) -> crate::common::RegisterField<
10073 6,
10074 0x1,
10075 1,
10076 0,
10077 p201pfs_ha::Ncodr,
10078 p201pfs_ha::Ncodr,
10079 P201PfsHa_SPEC,
10080 crate::common::RW,
10081 > {
10082 crate::common::RegisterField::<
10083 6,
10084 0x1,
10085 1,
10086 0,
10087 p201pfs_ha::Ncodr,
10088 p201pfs_ha::Ncodr,
10089 P201PfsHa_SPEC,
10090 crate::common::RW,
10091 >::from_register(self, 0)
10092 }
10093
10094 #[doc = "Event on Falling/Event on Rising"]
10095 #[inline(always)]
10096 pub fn eofr(
10097 self,
10098 ) -> crate::common::RegisterField<
10099 12,
10100 0x3,
10101 1,
10102 0,
10103 p201pfs_ha::Eofr,
10104 p201pfs_ha::Eofr,
10105 P201PfsHa_SPEC,
10106 crate::common::RW,
10107 > {
10108 crate::common::RegisterField::<
10109 12,
10110 0x3,
10111 1,
10112 0,
10113 p201pfs_ha::Eofr,
10114 p201pfs_ha::Eofr,
10115 P201PfsHa_SPEC,
10116 crate::common::RW,
10117 >::from_register(self, 0)
10118 }
10119
10120 #[doc = "IRQ Input Enable"]
10121 #[inline(always)]
10122 pub fn isel(
10123 self,
10124 ) -> crate::common::RegisterField<
10125 14,
10126 0x1,
10127 1,
10128 0,
10129 p201pfs_ha::Isel,
10130 p201pfs_ha::Isel,
10131 P201PfsHa_SPEC,
10132 crate::common::RW,
10133 > {
10134 crate::common::RegisterField::<
10135 14,
10136 0x1,
10137 1,
10138 0,
10139 p201pfs_ha::Isel,
10140 p201pfs_ha::Isel,
10141 P201PfsHa_SPEC,
10142 crate::common::RW,
10143 >::from_register(self, 0)
10144 }
10145
10146 #[doc = "Analog Input Enable"]
10147 #[inline(always)]
10148 pub fn asel(
10149 self,
10150 ) -> crate::common::RegisterField<
10151 15,
10152 0x1,
10153 1,
10154 0,
10155 p201pfs_ha::Asel,
10156 p201pfs_ha::Asel,
10157 P201PfsHa_SPEC,
10158 crate::common::RW,
10159 > {
10160 crate::common::RegisterField::<
10161 15,
10162 0x1,
10163 1,
10164 0,
10165 p201pfs_ha::Asel,
10166 p201pfs_ha::Asel,
10167 P201PfsHa_SPEC,
10168 crate::common::RW,
10169 >::from_register(self, 0)
10170 }
10171}
10172impl ::core::default::Default for P201PfsHa {
10173 #[inline(always)]
10174 fn default() -> P201PfsHa {
10175 <crate::RegValueT<P201PfsHa_SPEC> as RegisterValue<_>>::new(16)
10176 }
10177}
10178pub mod p201pfs_ha {
10179
10180 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10181 pub struct Podr_SPEC;
10182 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10183 impl Podr {
10184 #[doc = "Output low"]
10185 pub const _0: Self = Self::new(0);
10186
10187 #[doc = "Output high"]
10188 pub const _1: Self = Self::new(1);
10189 }
10190 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10191 pub struct Pidr_SPEC;
10192 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10193 impl Pidr {
10194 #[doc = "Low level"]
10195 pub const _0: Self = Self::new(0);
10196
10197 #[doc = "High level"]
10198 pub const _1: Self = Self::new(1);
10199 }
10200 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10201 pub struct Pdr_SPEC;
10202 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10203 impl Pdr {
10204 #[doc = "Input (functions as an input pin)"]
10205 pub const _0: Self = Self::new(0);
10206
10207 #[doc = "Output (functions as an output pin)"]
10208 pub const _1: Self = Self::new(1);
10209 }
10210 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10211 pub struct Pcr_SPEC;
10212 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10213 impl Pcr {
10214 #[doc = "Disable input pull-up"]
10215 pub const _0: Self = Self::new(0);
10216
10217 #[doc = "Enable input pull-up"]
10218 pub const _1: Self = Self::new(1);
10219 }
10220 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10221 pub struct Ncodr_SPEC;
10222 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10223 impl Ncodr {
10224 #[doc = "Output CMOS"]
10225 pub const _0: Self = Self::new(0);
10226
10227 #[doc = "Output NMOS open-drain"]
10228 pub const _1: Self = Self::new(1);
10229 }
10230 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10231 pub struct Eofr_SPEC;
10232 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10233 impl Eofr {
10234 #[doc = "Don\'t care"]
10235 pub const _00: Self = Self::new(0);
10236
10237 #[doc = "Detect rising edge"]
10238 pub const _01: Self = Self::new(1);
10239
10240 #[doc = "Detect falling edge"]
10241 pub const _10: Self = Self::new(2);
10242
10243 #[doc = "Detect both edges"]
10244 pub const _11: Self = Self::new(3);
10245 }
10246 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10247 pub struct Isel_SPEC;
10248 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10249 impl Isel {
10250 #[doc = "Do not use as IRQn input pin"]
10251 pub const _0: Self = Self::new(0);
10252
10253 #[doc = "Use as IRQn input pin"]
10254 pub const _1: Self = Self::new(1);
10255 }
10256 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10257 pub struct Asel_SPEC;
10258 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10259 impl Asel {
10260 #[doc = "Do not use as analog pin"]
10261 pub const _0: Self = Self::new(0);
10262
10263 #[doc = "Use as analog pin"]
10264 pub const _1: Self = Self::new(1);
10265 }
10266}
10267#[doc(hidden)]
10268#[derive(Copy, Clone, Eq, PartialEq)]
10269pub struct P201PfsBy_SPEC;
10270impl crate::sealed::RegSpec for P201PfsBy_SPEC {
10271 type DataType = u8;
10272}
10273
10274#[doc = "Port 201 Pin Function Select Register"]
10275pub type P201PfsBy = crate::RegValueT<P201PfsBy_SPEC>;
10276
10277impl P201PfsBy {
10278 #[doc = "Port Output Data"]
10279 #[inline(always)]
10280 pub fn podr(
10281 self,
10282 ) -> crate::common::RegisterField<
10283 0,
10284 0x1,
10285 1,
10286 0,
10287 p201pfs_by::Podr,
10288 p201pfs_by::Podr,
10289 P201PfsBy_SPEC,
10290 crate::common::RW,
10291 > {
10292 crate::common::RegisterField::<
10293 0,
10294 0x1,
10295 1,
10296 0,
10297 p201pfs_by::Podr,
10298 p201pfs_by::Podr,
10299 P201PfsBy_SPEC,
10300 crate::common::RW,
10301 >::from_register(self, 0)
10302 }
10303
10304 #[doc = "Port State"]
10305 #[inline(always)]
10306 pub fn pidr(
10307 self,
10308 ) -> crate::common::RegisterField<
10309 1,
10310 0x1,
10311 1,
10312 0,
10313 p201pfs_by::Pidr,
10314 p201pfs_by::Pidr,
10315 P201PfsBy_SPEC,
10316 crate::common::R,
10317 > {
10318 crate::common::RegisterField::<
10319 1,
10320 0x1,
10321 1,
10322 0,
10323 p201pfs_by::Pidr,
10324 p201pfs_by::Pidr,
10325 P201PfsBy_SPEC,
10326 crate::common::R,
10327 >::from_register(self, 0)
10328 }
10329
10330 #[doc = "Port Direction"]
10331 #[inline(always)]
10332 pub fn pdr(
10333 self,
10334 ) -> crate::common::RegisterField<
10335 2,
10336 0x1,
10337 1,
10338 0,
10339 p201pfs_by::Pdr,
10340 p201pfs_by::Pdr,
10341 P201PfsBy_SPEC,
10342 crate::common::RW,
10343 > {
10344 crate::common::RegisterField::<
10345 2,
10346 0x1,
10347 1,
10348 0,
10349 p201pfs_by::Pdr,
10350 p201pfs_by::Pdr,
10351 P201PfsBy_SPEC,
10352 crate::common::RW,
10353 >::from_register(self, 0)
10354 }
10355
10356 #[doc = "Pull-up Control"]
10357 #[inline(always)]
10358 pub fn pcr(
10359 self,
10360 ) -> crate::common::RegisterField<
10361 4,
10362 0x1,
10363 1,
10364 0,
10365 p201pfs_by::Pcr,
10366 p201pfs_by::Pcr,
10367 P201PfsBy_SPEC,
10368 crate::common::RW,
10369 > {
10370 crate::common::RegisterField::<
10371 4,
10372 0x1,
10373 1,
10374 0,
10375 p201pfs_by::Pcr,
10376 p201pfs_by::Pcr,
10377 P201PfsBy_SPEC,
10378 crate::common::RW,
10379 >::from_register(self, 0)
10380 }
10381
10382 #[doc = "N-Channel Open-Drain Control"]
10383 #[inline(always)]
10384 pub fn ncodr(
10385 self,
10386 ) -> crate::common::RegisterField<
10387 6,
10388 0x1,
10389 1,
10390 0,
10391 p201pfs_by::Ncodr,
10392 p201pfs_by::Ncodr,
10393 P201PfsBy_SPEC,
10394 crate::common::RW,
10395 > {
10396 crate::common::RegisterField::<
10397 6,
10398 0x1,
10399 1,
10400 0,
10401 p201pfs_by::Ncodr,
10402 p201pfs_by::Ncodr,
10403 P201PfsBy_SPEC,
10404 crate::common::RW,
10405 >::from_register(self, 0)
10406 }
10407}
10408impl ::core::default::Default for P201PfsBy {
10409 #[inline(always)]
10410 fn default() -> P201PfsBy {
10411 <crate::RegValueT<P201PfsBy_SPEC> as RegisterValue<_>>::new(16)
10412 }
10413}
10414pub mod p201pfs_by {
10415
10416 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10417 pub struct Podr_SPEC;
10418 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10419 impl Podr {
10420 #[doc = "Output low"]
10421 pub const _0: Self = Self::new(0);
10422
10423 #[doc = "Output high"]
10424 pub const _1: Self = Self::new(1);
10425 }
10426 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10427 pub struct Pidr_SPEC;
10428 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10429 impl Pidr {
10430 #[doc = "Low level"]
10431 pub const _0: Self = Self::new(0);
10432
10433 #[doc = "High level"]
10434 pub const _1: Self = Self::new(1);
10435 }
10436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10437 pub struct Pdr_SPEC;
10438 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10439 impl Pdr {
10440 #[doc = "Input (functions as an input pin)"]
10441 pub const _0: Self = Self::new(0);
10442
10443 #[doc = "Output (functions as an output pin)"]
10444 pub const _1: Self = Self::new(1);
10445 }
10446 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10447 pub struct Pcr_SPEC;
10448 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10449 impl Pcr {
10450 #[doc = "Disable input pull-up"]
10451 pub const _0: Self = Self::new(0);
10452
10453 #[doc = "Enable input pull-up"]
10454 pub const _1: Self = Self::new(1);
10455 }
10456 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10457 pub struct Ncodr_SPEC;
10458 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10459 impl Ncodr {
10460 #[doc = "Output CMOS"]
10461 pub const _0: Self = Self::new(0);
10462
10463 #[doc = "Output NMOS open-drain"]
10464 pub const _1: Self = Self::new(1);
10465 }
10466}
10467#[doc(hidden)]
10468#[derive(Copy, Clone, Eq, PartialEq)]
10469pub struct P20Pfs_SPEC;
10470impl crate::sealed::RegSpec for P20Pfs_SPEC {
10471 type DataType = u32;
10472}
10473
10474#[doc = "Port 20%s Pin Function Select Register"]
10475pub type P20Pfs = crate::RegValueT<P20Pfs_SPEC>;
10476
10477impl P20Pfs {
10478 #[doc = "Port Output Data"]
10479 #[inline(always)]
10480 pub fn podr(
10481 self,
10482 ) -> crate::common::RegisterField<
10483 0,
10484 0x1,
10485 1,
10486 0,
10487 p20pfs::Podr,
10488 p20pfs::Podr,
10489 P20Pfs_SPEC,
10490 crate::common::RW,
10491 > {
10492 crate::common::RegisterField::<
10493 0,
10494 0x1,
10495 1,
10496 0,
10497 p20pfs::Podr,
10498 p20pfs::Podr,
10499 P20Pfs_SPEC,
10500 crate::common::RW,
10501 >::from_register(self, 0)
10502 }
10503
10504 #[doc = "Port State"]
10505 #[inline(always)]
10506 pub fn pidr(
10507 self,
10508 ) -> crate::common::RegisterField<
10509 1,
10510 0x1,
10511 1,
10512 0,
10513 p20pfs::Pidr,
10514 p20pfs::Pidr,
10515 P20Pfs_SPEC,
10516 crate::common::R,
10517 > {
10518 crate::common::RegisterField::<
10519 1,
10520 0x1,
10521 1,
10522 0,
10523 p20pfs::Pidr,
10524 p20pfs::Pidr,
10525 P20Pfs_SPEC,
10526 crate::common::R,
10527 >::from_register(self, 0)
10528 }
10529
10530 #[doc = "Port Direction"]
10531 #[inline(always)]
10532 pub fn pdr(
10533 self,
10534 ) -> crate::common::RegisterField<
10535 2,
10536 0x1,
10537 1,
10538 0,
10539 p20pfs::Pdr,
10540 p20pfs::Pdr,
10541 P20Pfs_SPEC,
10542 crate::common::RW,
10543 > {
10544 crate::common::RegisterField::<
10545 2,
10546 0x1,
10547 1,
10548 0,
10549 p20pfs::Pdr,
10550 p20pfs::Pdr,
10551 P20Pfs_SPEC,
10552 crate::common::RW,
10553 >::from_register(self, 0)
10554 }
10555
10556 #[doc = "Pull-up Control"]
10557 #[inline(always)]
10558 pub fn pcr(
10559 self,
10560 ) -> crate::common::RegisterField<
10561 4,
10562 0x1,
10563 1,
10564 0,
10565 p20pfs::Pcr,
10566 p20pfs::Pcr,
10567 P20Pfs_SPEC,
10568 crate::common::RW,
10569 > {
10570 crate::common::RegisterField::<
10571 4,
10572 0x1,
10573 1,
10574 0,
10575 p20pfs::Pcr,
10576 p20pfs::Pcr,
10577 P20Pfs_SPEC,
10578 crate::common::RW,
10579 >::from_register(self, 0)
10580 }
10581
10582 #[doc = "N-Channel Open-Drain Control"]
10583 #[inline(always)]
10584 pub fn ncodr(
10585 self,
10586 ) -> crate::common::RegisterField<
10587 6,
10588 0x1,
10589 1,
10590 0,
10591 p20pfs::Ncodr,
10592 p20pfs::Ncodr,
10593 P20Pfs_SPEC,
10594 crate::common::RW,
10595 > {
10596 crate::common::RegisterField::<
10597 6,
10598 0x1,
10599 1,
10600 0,
10601 p20pfs::Ncodr,
10602 p20pfs::Ncodr,
10603 P20Pfs_SPEC,
10604 crate::common::RW,
10605 >::from_register(self, 0)
10606 }
10607
10608 #[doc = "Event on Falling/Event on Rising"]
10609 #[inline(always)]
10610 pub fn eofr(
10611 self,
10612 ) -> crate::common::RegisterField<
10613 12,
10614 0x3,
10615 1,
10616 0,
10617 p20pfs::Eofr,
10618 p20pfs::Eofr,
10619 P20Pfs_SPEC,
10620 crate::common::RW,
10621 > {
10622 crate::common::RegisterField::<
10623 12,
10624 0x3,
10625 1,
10626 0,
10627 p20pfs::Eofr,
10628 p20pfs::Eofr,
10629 P20Pfs_SPEC,
10630 crate::common::RW,
10631 >::from_register(self, 0)
10632 }
10633
10634 #[doc = "IRQ Input Enable"]
10635 #[inline(always)]
10636 pub fn isel(
10637 self,
10638 ) -> crate::common::RegisterField<
10639 14,
10640 0x1,
10641 1,
10642 0,
10643 p20pfs::Isel,
10644 p20pfs::Isel,
10645 P20Pfs_SPEC,
10646 crate::common::RW,
10647 > {
10648 crate::common::RegisterField::<
10649 14,
10650 0x1,
10651 1,
10652 0,
10653 p20pfs::Isel,
10654 p20pfs::Isel,
10655 P20Pfs_SPEC,
10656 crate::common::RW,
10657 >::from_register(self, 0)
10658 }
10659
10660 #[doc = "Analog Input Enable"]
10661 #[inline(always)]
10662 pub fn asel(
10663 self,
10664 ) -> crate::common::RegisterField<
10665 15,
10666 0x1,
10667 1,
10668 0,
10669 p20pfs::Asel,
10670 p20pfs::Asel,
10671 P20Pfs_SPEC,
10672 crate::common::RW,
10673 > {
10674 crate::common::RegisterField::<
10675 15,
10676 0x1,
10677 1,
10678 0,
10679 p20pfs::Asel,
10680 p20pfs::Asel,
10681 P20Pfs_SPEC,
10682 crate::common::RW,
10683 >::from_register(self, 0)
10684 }
10685
10686 #[doc = "Port Mode Control"]
10687 #[inline(always)]
10688 pub fn pmr(
10689 self,
10690 ) -> crate::common::RegisterField<
10691 16,
10692 0x1,
10693 1,
10694 0,
10695 p20pfs::Pmr,
10696 p20pfs::Pmr,
10697 P20Pfs_SPEC,
10698 crate::common::RW,
10699 > {
10700 crate::common::RegisterField::<
10701 16,
10702 0x1,
10703 1,
10704 0,
10705 p20pfs::Pmr,
10706 p20pfs::Pmr,
10707 P20Pfs_SPEC,
10708 crate::common::RW,
10709 >::from_register(self, 0)
10710 }
10711
10712 #[doc = "Peripheral Select"]
10713 #[inline(always)]
10714 pub fn psel(
10715 self,
10716 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P20Pfs_SPEC, crate::common::RW> {
10717 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P20Pfs_SPEC,crate::common::RW>::from_register(self,0)
10718 }
10719}
10720impl ::core::default::Default for P20Pfs {
10721 #[inline(always)]
10722 fn default() -> P20Pfs {
10723 <crate::RegValueT<P20Pfs_SPEC> as RegisterValue<_>>::new(0)
10724 }
10725}
10726pub mod p20pfs {
10727
10728 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10729 pub struct Podr_SPEC;
10730 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10731 impl Podr {
10732 #[doc = "Output low"]
10733 pub const _0: Self = Self::new(0);
10734
10735 #[doc = "Output high"]
10736 pub const _1: Self = Self::new(1);
10737 }
10738 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10739 pub struct Pidr_SPEC;
10740 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10741 impl Pidr {
10742 #[doc = "Low level"]
10743 pub const _0: Self = Self::new(0);
10744
10745 #[doc = "High level"]
10746 pub const _1: Self = Self::new(1);
10747 }
10748 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10749 pub struct Pdr_SPEC;
10750 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10751 impl Pdr {
10752 #[doc = "Input (functions as an input pin)"]
10753 pub const _0: Self = Self::new(0);
10754
10755 #[doc = "Output (functions as an output pin)"]
10756 pub const _1: Self = Self::new(1);
10757 }
10758 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10759 pub struct Pcr_SPEC;
10760 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10761 impl Pcr {
10762 #[doc = "Disable input pull-up"]
10763 pub const _0: Self = Self::new(0);
10764
10765 #[doc = "Enable input pull-up"]
10766 pub const _1: Self = Self::new(1);
10767 }
10768 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10769 pub struct Ncodr_SPEC;
10770 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10771 impl Ncodr {
10772 #[doc = "Output CMOS"]
10773 pub const _0: Self = Self::new(0);
10774
10775 #[doc = "Output NMOS open-drain"]
10776 pub const _1: Self = Self::new(1);
10777 }
10778 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10779 pub struct Eofr_SPEC;
10780 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10781 impl Eofr {
10782 #[doc = "Don\'t care"]
10783 pub const _00: Self = Self::new(0);
10784
10785 #[doc = "Detect rising edge"]
10786 pub const _01: Self = Self::new(1);
10787
10788 #[doc = "Detect falling edge"]
10789 pub const _10: Self = Self::new(2);
10790
10791 #[doc = "Detect both edges"]
10792 pub const _11: Self = Self::new(3);
10793 }
10794 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10795 pub struct Isel_SPEC;
10796 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10797 impl Isel {
10798 #[doc = "Do not use as IRQn input pin"]
10799 pub const _0: Self = Self::new(0);
10800
10801 #[doc = "Use as IRQn input pin"]
10802 pub const _1: Self = Self::new(1);
10803 }
10804 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10805 pub struct Asel_SPEC;
10806 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10807 impl Asel {
10808 #[doc = "Do not use as analog pin"]
10809 pub const _0: Self = Self::new(0);
10810
10811 #[doc = "Use as analog pin"]
10812 pub const _1: Self = Self::new(1);
10813 }
10814 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10815 pub struct Pmr_SPEC;
10816 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
10817 impl Pmr {
10818 #[doc = "Use as general I/O pin"]
10819 pub const _0: Self = Self::new(0);
10820
10821 #[doc = "Use as I/O port for peripheral functions"]
10822 pub const _1: Self = Self::new(1);
10823 }
10824}
10825#[doc(hidden)]
10826#[derive(Copy, Clone, Eq, PartialEq)]
10827pub struct P20PfsHa_SPEC;
10828impl crate::sealed::RegSpec for P20PfsHa_SPEC {
10829 type DataType = u16;
10830}
10831
10832#[doc = "Port 20%s Pin Function Select Register"]
10833pub type P20PfsHa = crate::RegValueT<P20PfsHa_SPEC>;
10834
10835impl P20PfsHa {
10836 #[doc = "Port Output Data"]
10837 #[inline(always)]
10838 pub fn podr(
10839 self,
10840 ) -> crate::common::RegisterField<
10841 0,
10842 0x1,
10843 1,
10844 0,
10845 p20pfs_ha::Podr,
10846 p20pfs_ha::Podr,
10847 P20PfsHa_SPEC,
10848 crate::common::RW,
10849 > {
10850 crate::common::RegisterField::<
10851 0,
10852 0x1,
10853 1,
10854 0,
10855 p20pfs_ha::Podr,
10856 p20pfs_ha::Podr,
10857 P20PfsHa_SPEC,
10858 crate::common::RW,
10859 >::from_register(self, 0)
10860 }
10861
10862 #[doc = "Port State"]
10863 #[inline(always)]
10864 pub fn pidr(
10865 self,
10866 ) -> crate::common::RegisterField<
10867 1,
10868 0x1,
10869 1,
10870 0,
10871 p20pfs_ha::Pidr,
10872 p20pfs_ha::Pidr,
10873 P20PfsHa_SPEC,
10874 crate::common::R,
10875 > {
10876 crate::common::RegisterField::<
10877 1,
10878 0x1,
10879 1,
10880 0,
10881 p20pfs_ha::Pidr,
10882 p20pfs_ha::Pidr,
10883 P20PfsHa_SPEC,
10884 crate::common::R,
10885 >::from_register(self, 0)
10886 }
10887
10888 #[doc = "Port Direction"]
10889 #[inline(always)]
10890 pub fn pdr(
10891 self,
10892 ) -> crate::common::RegisterField<
10893 2,
10894 0x1,
10895 1,
10896 0,
10897 p20pfs_ha::Pdr,
10898 p20pfs_ha::Pdr,
10899 P20PfsHa_SPEC,
10900 crate::common::RW,
10901 > {
10902 crate::common::RegisterField::<
10903 2,
10904 0x1,
10905 1,
10906 0,
10907 p20pfs_ha::Pdr,
10908 p20pfs_ha::Pdr,
10909 P20PfsHa_SPEC,
10910 crate::common::RW,
10911 >::from_register(self, 0)
10912 }
10913
10914 #[doc = "Pull-up Control"]
10915 #[inline(always)]
10916 pub fn pcr(
10917 self,
10918 ) -> crate::common::RegisterField<
10919 4,
10920 0x1,
10921 1,
10922 0,
10923 p20pfs_ha::Pcr,
10924 p20pfs_ha::Pcr,
10925 P20PfsHa_SPEC,
10926 crate::common::RW,
10927 > {
10928 crate::common::RegisterField::<
10929 4,
10930 0x1,
10931 1,
10932 0,
10933 p20pfs_ha::Pcr,
10934 p20pfs_ha::Pcr,
10935 P20PfsHa_SPEC,
10936 crate::common::RW,
10937 >::from_register(self, 0)
10938 }
10939
10940 #[doc = "N-Channel Open-Drain Control"]
10941 #[inline(always)]
10942 pub fn ncodr(
10943 self,
10944 ) -> crate::common::RegisterField<
10945 6,
10946 0x1,
10947 1,
10948 0,
10949 p20pfs_ha::Ncodr,
10950 p20pfs_ha::Ncodr,
10951 P20PfsHa_SPEC,
10952 crate::common::RW,
10953 > {
10954 crate::common::RegisterField::<
10955 6,
10956 0x1,
10957 1,
10958 0,
10959 p20pfs_ha::Ncodr,
10960 p20pfs_ha::Ncodr,
10961 P20PfsHa_SPEC,
10962 crate::common::RW,
10963 >::from_register(self, 0)
10964 }
10965
10966 #[doc = "Event on Falling/Event on Rising"]
10967 #[inline(always)]
10968 pub fn eofr(
10969 self,
10970 ) -> crate::common::RegisterField<
10971 12,
10972 0x3,
10973 1,
10974 0,
10975 p20pfs_ha::Eofr,
10976 p20pfs_ha::Eofr,
10977 P20PfsHa_SPEC,
10978 crate::common::RW,
10979 > {
10980 crate::common::RegisterField::<
10981 12,
10982 0x3,
10983 1,
10984 0,
10985 p20pfs_ha::Eofr,
10986 p20pfs_ha::Eofr,
10987 P20PfsHa_SPEC,
10988 crate::common::RW,
10989 >::from_register(self, 0)
10990 }
10991
10992 #[doc = "IRQ Input Enable"]
10993 #[inline(always)]
10994 pub fn isel(
10995 self,
10996 ) -> crate::common::RegisterField<
10997 14,
10998 0x1,
10999 1,
11000 0,
11001 p20pfs_ha::Isel,
11002 p20pfs_ha::Isel,
11003 P20PfsHa_SPEC,
11004 crate::common::RW,
11005 > {
11006 crate::common::RegisterField::<
11007 14,
11008 0x1,
11009 1,
11010 0,
11011 p20pfs_ha::Isel,
11012 p20pfs_ha::Isel,
11013 P20PfsHa_SPEC,
11014 crate::common::RW,
11015 >::from_register(self, 0)
11016 }
11017
11018 #[doc = "Analog Input Enable"]
11019 #[inline(always)]
11020 pub fn asel(
11021 self,
11022 ) -> crate::common::RegisterField<
11023 15,
11024 0x1,
11025 1,
11026 0,
11027 p20pfs_ha::Asel,
11028 p20pfs_ha::Asel,
11029 P20PfsHa_SPEC,
11030 crate::common::RW,
11031 > {
11032 crate::common::RegisterField::<
11033 15,
11034 0x1,
11035 1,
11036 0,
11037 p20pfs_ha::Asel,
11038 p20pfs_ha::Asel,
11039 P20PfsHa_SPEC,
11040 crate::common::RW,
11041 >::from_register(self, 0)
11042 }
11043}
11044impl ::core::default::Default for P20PfsHa {
11045 #[inline(always)]
11046 fn default() -> P20PfsHa {
11047 <crate::RegValueT<P20PfsHa_SPEC> as RegisterValue<_>>::new(0)
11048 }
11049}
11050pub mod p20pfs_ha {
11051
11052 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11053 pub struct Podr_SPEC;
11054 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11055 impl Podr {
11056 #[doc = "Output low"]
11057 pub const _0: Self = Self::new(0);
11058
11059 #[doc = "Output high"]
11060 pub const _1: Self = Self::new(1);
11061 }
11062 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11063 pub struct Pidr_SPEC;
11064 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11065 impl Pidr {
11066 #[doc = "Low level"]
11067 pub const _0: Self = Self::new(0);
11068
11069 #[doc = "High level"]
11070 pub const _1: Self = Self::new(1);
11071 }
11072 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11073 pub struct Pdr_SPEC;
11074 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11075 impl Pdr {
11076 #[doc = "Input (functions as an input pin)"]
11077 pub const _0: Self = Self::new(0);
11078
11079 #[doc = "Output (functions as an output pin)"]
11080 pub const _1: Self = Self::new(1);
11081 }
11082 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11083 pub struct Pcr_SPEC;
11084 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11085 impl Pcr {
11086 #[doc = "Disable input pull-up"]
11087 pub const _0: Self = Self::new(0);
11088
11089 #[doc = "Enable input pull-up"]
11090 pub const _1: Self = Self::new(1);
11091 }
11092 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11093 pub struct Ncodr_SPEC;
11094 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11095 impl Ncodr {
11096 #[doc = "Output CMOS"]
11097 pub const _0: Self = Self::new(0);
11098
11099 #[doc = "Output NMOS open-drain"]
11100 pub const _1: Self = Self::new(1);
11101 }
11102 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11103 pub struct Eofr_SPEC;
11104 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
11105 impl Eofr {
11106 #[doc = "Don\'t care"]
11107 pub const _00: Self = Self::new(0);
11108
11109 #[doc = "Detect rising edge"]
11110 pub const _01: Self = Self::new(1);
11111
11112 #[doc = "Detect falling edge"]
11113 pub const _10: Self = Self::new(2);
11114
11115 #[doc = "Detect both edges"]
11116 pub const _11: Self = Self::new(3);
11117 }
11118 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11119 pub struct Isel_SPEC;
11120 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11121 impl Isel {
11122 #[doc = "Do not use as IRQn input pin"]
11123 pub const _0: Self = Self::new(0);
11124
11125 #[doc = "Use as IRQn input pin"]
11126 pub const _1: Self = Self::new(1);
11127 }
11128 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11129 pub struct Asel_SPEC;
11130 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11131 impl Asel {
11132 #[doc = "Do not use as analog pin"]
11133 pub const _0: Self = Self::new(0);
11134
11135 #[doc = "Use as analog pin"]
11136 pub const _1: Self = Self::new(1);
11137 }
11138}
11139#[doc(hidden)]
11140#[derive(Copy, Clone, Eq, PartialEq)]
11141pub struct P20PfsBy_SPEC;
11142impl crate::sealed::RegSpec for P20PfsBy_SPEC {
11143 type DataType = u8;
11144}
11145
11146#[doc = "Port 20%s Pin Function Select Register"]
11147pub type P20PfsBy = crate::RegValueT<P20PfsBy_SPEC>;
11148
11149impl P20PfsBy {
11150 #[doc = "Port Output Data"]
11151 #[inline(always)]
11152 pub fn podr(
11153 self,
11154 ) -> crate::common::RegisterField<
11155 0,
11156 0x1,
11157 1,
11158 0,
11159 p20pfs_by::Podr,
11160 p20pfs_by::Podr,
11161 P20PfsBy_SPEC,
11162 crate::common::RW,
11163 > {
11164 crate::common::RegisterField::<
11165 0,
11166 0x1,
11167 1,
11168 0,
11169 p20pfs_by::Podr,
11170 p20pfs_by::Podr,
11171 P20PfsBy_SPEC,
11172 crate::common::RW,
11173 >::from_register(self, 0)
11174 }
11175
11176 #[doc = "Port State"]
11177 #[inline(always)]
11178 pub fn pidr(
11179 self,
11180 ) -> crate::common::RegisterField<
11181 1,
11182 0x1,
11183 1,
11184 0,
11185 p20pfs_by::Pidr,
11186 p20pfs_by::Pidr,
11187 P20PfsBy_SPEC,
11188 crate::common::R,
11189 > {
11190 crate::common::RegisterField::<
11191 1,
11192 0x1,
11193 1,
11194 0,
11195 p20pfs_by::Pidr,
11196 p20pfs_by::Pidr,
11197 P20PfsBy_SPEC,
11198 crate::common::R,
11199 >::from_register(self, 0)
11200 }
11201
11202 #[doc = "Port Direction"]
11203 #[inline(always)]
11204 pub fn pdr(
11205 self,
11206 ) -> crate::common::RegisterField<
11207 2,
11208 0x1,
11209 1,
11210 0,
11211 p20pfs_by::Pdr,
11212 p20pfs_by::Pdr,
11213 P20PfsBy_SPEC,
11214 crate::common::RW,
11215 > {
11216 crate::common::RegisterField::<
11217 2,
11218 0x1,
11219 1,
11220 0,
11221 p20pfs_by::Pdr,
11222 p20pfs_by::Pdr,
11223 P20PfsBy_SPEC,
11224 crate::common::RW,
11225 >::from_register(self, 0)
11226 }
11227
11228 #[doc = "Pull-up Control"]
11229 #[inline(always)]
11230 pub fn pcr(
11231 self,
11232 ) -> crate::common::RegisterField<
11233 4,
11234 0x1,
11235 1,
11236 0,
11237 p20pfs_by::Pcr,
11238 p20pfs_by::Pcr,
11239 P20PfsBy_SPEC,
11240 crate::common::RW,
11241 > {
11242 crate::common::RegisterField::<
11243 4,
11244 0x1,
11245 1,
11246 0,
11247 p20pfs_by::Pcr,
11248 p20pfs_by::Pcr,
11249 P20PfsBy_SPEC,
11250 crate::common::RW,
11251 >::from_register(self, 0)
11252 }
11253
11254 #[doc = "N-Channel Open-Drain Control"]
11255 #[inline(always)]
11256 pub fn ncodr(
11257 self,
11258 ) -> crate::common::RegisterField<
11259 6,
11260 0x1,
11261 1,
11262 0,
11263 p20pfs_by::Ncodr,
11264 p20pfs_by::Ncodr,
11265 P20PfsBy_SPEC,
11266 crate::common::RW,
11267 > {
11268 crate::common::RegisterField::<
11269 6,
11270 0x1,
11271 1,
11272 0,
11273 p20pfs_by::Ncodr,
11274 p20pfs_by::Ncodr,
11275 P20PfsBy_SPEC,
11276 crate::common::RW,
11277 >::from_register(self, 0)
11278 }
11279}
11280impl ::core::default::Default for P20PfsBy {
11281 #[inline(always)]
11282 fn default() -> P20PfsBy {
11283 <crate::RegValueT<P20PfsBy_SPEC> as RegisterValue<_>>::new(0)
11284 }
11285}
11286pub mod p20pfs_by {
11287
11288 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11289 pub struct Podr_SPEC;
11290 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11291 impl Podr {
11292 #[doc = "Output low"]
11293 pub const _0: Self = Self::new(0);
11294
11295 #[doc = "Output high"]
11296 pub const _1: Self = Self::new(1);
11297 }
11298 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11299 pub struct Pidr_SPEC;
11300 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11301 impl Pidr {
11302 #[doc = "Low level"]
11303 pub const _0: Self = Self::new(0);
11304
11305 #[doc = "High level"]
11306 pub const _1: Self = Self::new(1);
11307 }
11308 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11309 pub struct Pdr_SPEC;
11310 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11311 impl Pdr {
11312 #[doc = "Input (functions as an input pin)"]
11313 pub const _0: Self = Self::new(0);
11314
11315 #[doc = "Output (functions as an output pin)"]
11316 pub const _1: Self = Self::new(1);
11317 }
11318 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11319 pub struct Pcr_SPEC;
11320 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11321 impl Pcr {
11322 #[doc = "Disable input pull-up"]
11323 pub const _0: Self = Self::new(0);
11324
11325 #[doc = "Enable input pull-up"]
11326 pub const _1: Self = Self::new(1);
11327 }
11328 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11329 pub struct Ncodr_SPEC;
11330 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11331 impl Ncodr {
11332 #[doc = "Output CMOS"]
11333 pub const _0: Self = Self::new(0);
11334
11335 #[doc = "Output NMOS open-drain"]
11336 pub const _1: Self = Self::new(1);
11337 }
11338}
11339#[doc(hidden)]
11340#[derive(Copy, Clone, Eq, PartialEq)]
11341pub struct P2Pfs_SPEC;
11342impl crate::sealed::RegSpec for P2Pfs_SPEC {
11343 type DataType = u32;
11344}
11345
11346#[doc = "Port 2%s Pin Function Select Register"]
11347pub type P2Pfs = crate::RegValueT<P2Pfs_SPEC>;
11348
11349impl P2Pfs {
11350 #[doc = "Port Output Data"]
11351 #[inline(always)]
11352 pub fn podr(
11353 self,
11354 ) -> crate::common::RegisterField<
11355 0,
11356 0x1,
11357 1,
11358 0,
11359 p2pfs::Podr,
11360 p2pfs::Podr,
11361 P2Pfs_SPEC,
11362 crate::common::RW,
11363 > {
11364 crate::common::RegisterField::<
11365 0,
11366 0x1,
11367 1,
11368 0,
11369 p2pfs::Podr,
11370 p2pfs::Podr,
11371 P2Pfs_SPEC,
11372 crate::common::RW,
11373 >::from_register(self, 0)
11374 }
11375
11376 #[doc = "Port State"]
11377 #[inline(always)]
11378 pub fn pidr(
11379 self,
11380 ) -> crate::common::RegisterField<
11381 1,
11382 0x1,
11383 1,
11384 0,
11385 p2pfs::Pidr,
11386 p2pfs::Pidr,
11387 P2Pfs_SPEC,
11388 crate::common::R,
11389 > {
11390 crate::common::RegisterField::<
11391 1,
11392 0x1,
11393 1,
11394 0,
11395 p2pfs::Pidr,
11396 p2pfs::Pidr,
11397 P2Pfs_SPEC,
11398 crate::common::R,
11399 >::from_register(self, 0)
11400 }
11401
11402 #[doc = "Port Direction"]
11403 #[inline(always)]
11404 pub fn pdr(
11405 self,
11406 ) -> crate::common::RegisterField<
11407 2,
11408 0x1,
11409 1,
11410 0,
11411 p2pfs::Pdr,
11412 p2pfs::Pdr,
11413 P2Pfs_SPEC,
11414 crate::common::RW,
11415 > {
11416 crate::common::RegisterField::<
11417 2,
11418 0x1,
11419 1,
11420 0,
11421 p2pfs::Pdr,
11422 p2pfs::Pdr,
11423 P2Pfs_SPEC,
11424 crate::common::RW,
11425 >::from_register(self, 0)
11426 }
11427
11428 #[doc = "Pull-up Control"]
11429 #[inline(always)]
11430 pub fn pcr(
11431 self,
11432 ) -> crate::common::RegisterField<
11433 4,
11434 0x1,
11435 1,
11436 0,
11437 p2pfs::Pcr,
11438 p2pfs::Pcr,
11439 P2Pfs_SPEC,
11440 crate::common::RW,
11441 > {
11442 crate::common::RegisterField::<
11443 4,
11444 0x1,
11445 1,
11446 0,
11447 p2pfs::Pcr,
11448 p2pfs::Pcr,
11449 P2Pfs_SPEC,
11450 crate::common::RW,
11451 >::from_register(self, 0)
11452 }
11453
11454 #[doc = "N-Channel Open-Drain Control"]
11455 #[inline(always)]
11456 pub fn ncodr(
11457 self,
11458 ) -> crate::common::RegisterField<
11459 6,
11460 0x1,
11461 1,
11462 0,
11463 p2pfs::Ncodr,
11464 p2pfs::Ncodr,
11465 P2Pfs_SPEC,
11466 crate::common::RW,
11467 > {
11468 crate::common::RegisterField::<
11469 6,
11470 0x1,
11471 1,
11472 0,
11473 p2pfs::Ncodr,
11474 p2pfs::Ncodr,
11475 P2Pfs_SPEC,
11476 crate::common::RW,
11477 >::from_register(self, 0)
11478 }
11479
11480 #[doc = "Event on Falling/Event on Rising"]
11481 #[inline(always)]
11482 pub fn eofr(
11483 self,
11484 ) -> crate::common::RegisterField<
11485 12,
11486 0x3,
11487 1,
11488 0,
11489 p2pfs::Eofr,
11490 p2pfs::Eofr,
11491 P2Pfs_SPEC,
11492 crate::common::RW,
11493 > {
11494 crate::common::RegisterField::<
11495 12,
11496 0x3,
11497 1,
11498 0,
11499 p2pfs::Eofr,
11500 p2pfs::Eofr,
11501 P2Pfs_SPEC,
11502 crate::common::RW,
11503 >::from_register(self, 0)
11504 }
11505
11506 #[doc = "IRQ Input Enable"]
11507 #[inline(always)]
11508 pub fn isel(
11509 self,
11510 ) -> crate::common::RegisterField<
11511 14,
11512 0x1,
11513 1,
11514 0,
11515 p2pfs::Isel,
11516 p2pfs::Isel,
11517 P2Pfs_SPEC,
11518 crate::common::RW,
11519 > {
11520 crate::common::RegisterField::<
11521 14,
11522 0x1,
11523 1,
11524 0,
11525 p2pfs::Isel,
11526 p2pfs::Isel,
11527 P2Pfs_SPEC,
11528 crate::common::RW,
11529 >::from_register(self, 0)
11530 }
11531
11532 #[doc = "Analog Input Enable"]
11533 #[inline(always)]
11534 pub fn asel(
11535 self,
11536 ) -> crate::common::RegisterField<
11537 15,
11538 0x1,
11539 1,
11540 0,
11541 p2pfs::Asel,
11542 p2pfs::Asel,
11543 P2Pfs_SPEC,
11544 crate::common::RW,
11545 > {
11546 crate::common::RegisterField::<
11547 15,
11548 0x1,
11549 1,
11550 0,
11551 p2pfs::Asel,
11552 p2pfs::Asel,
11553 P2Pfs_SPEC,
11554 crate::common::RW,
11555 >::from_register(self, 0)
11556 }
11557
11558 #[doc = "Port Mode Control"]
11559 #[inline(always)]
11560 pub fn pmr(
11561 self,
11562 ) -> crate::common::RegisterField<
11563 16,
11564 0x1,
11565 1,
11566 0,
11567 p2pfs::Pmr,
11568 p2pfs::Pmr,
11569 P2Pfs_SPEC,
11570 crate::common::RW,
11571 > {
11572 crate::common::RegisterField::<
11573 16,
11574 0x1,
11575 1,
11576 0,
11577 p2pfs::Pmr,
11578 p2pfs::Pmr,
11579 P2Pfs_SPEC,
11580 crate::common::RW,
11581 >::from_register(self, 0)
11582 }
11583
11584 #[doc = "Peripheral Select"]
11585 #[inline(always)]
11586 pub fn psel(
11587 self,
11588 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P2Pfs_SPEC, crate::common::RW> {
11589 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P2Pfs_SPEC,crate::common::RW>::from_register(self,0)
11590 }
11591}
11592impl ::core::default::Default for P2Pfs {
11593 #[inline(always)]
11594 fn default() -> P2Pfs {
11595 <crate::RegValueT<P2Pfs_SPEC> as RegisterValue<_>>::new(0)
11596 }
11597}
11598pub mod p2pfs {
11599
11600 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11601 pub struct Podr_SPEC;
11602 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11603 impl Podr {
11604 #[doc = "Output low"]
11605 pub const _0: Self = Self::new(0);
11606
11607 #[doc = "Output high"]
11608 pub const _1: Self = Self::new(1);
11609 }
11610 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11611 pub struct Pidr_SPEC;
11612 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11613 impl Pidr {
11614 #[doc = "Low level"]
11615 pub const _0: Self = Self::new(0);
11616
11617 #[doc = "High level"]
11618 pub const _1: Self = Self::new(1);
11619 }
11620 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11621 pub struct Pdr_SPEC;
11622 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11623 impl Pdr {
11624 #[doc = "Input (functions as an input pin)"]
11625 pub const _0: Self = Self::new(0);
11626
11627 #[doc = "Output (functions as an output pin)"]
11628 pub const _1: Self = Self::new(1);
11629 }
11630 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11631 pub struct Pcr_SPEC;
11632 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11633 impl Pcr {
11634 #[doc = "Disable input pull-up"]
11635 pub const _0: Self = Self::new(0);
11636
11637 #[doc = "Enable input pull-up"]
11638 pub const _1: Self = Self::new(1);
11639 }
11640 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11641 pub struct Ncodr_SPEC;
11642 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11643 impl Ncodr {
11644 #[doc = "Output CMOS"]
11645 pub const _0: Self = Self::new(0);
11646
11647 #[doc = "Output NMOS open-drain"]
11648 pub const _1: Self = Self::new(1);
11649 }
11650 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11651 pub struct Eofr_SPEC;
11652 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
11653 impl Eofr {
11654 #[doc = "Don\'t care"]
11655 pub const _00: Self = Self::new(0);
11656
11657 #[doc = "Detect rising edge"]
11658 pub const _01: Self = Self::new(1);
11659
11660 #[doc = "Detect falling edge"]
11661 pub const _10: Self = Self::new(2);
11662
11663 #[doc = "Detect both edges"]
11664 pub const _11: Self = Self::new(3);
11665 }
11666 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11667 pub struct Isel_SPEC;
11668 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11669 impl Isel {
11670 #[doc = "Do not use as IRQn input pin"]
11671 pub const _0: Self = Self::new(0);
11672
11673 #[doc = "Use as IRQn input pin"]
11674 pub const _1: Self = Self::new(1);
11675 }
11676 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11677 pub struct Asel_SPEC;
11678 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11679 impl Asel {
11680 #[doc = "Do not use as analog pin"]
11681 pub const _0: Self = Self::new(0);
11682
11683 #[doc = "Use as analog pin"]
11684 pub const _1: Self = Self::new(1);
11685 }
11686 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11687 pub struct Pmr_SPEC;
11688 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
11689 impl Pmr {
11690 #[doc = "Use as general I/O pin"]
11691 pub const _0: Self = Self::new(0);
11692
11693 #[doc = "Use as I/O port for peripheral functions"]
11694 pub const _1: Self = Self::new(1);
11695 }
11696}
11697#[doc(hidden)]
11698#[derive(Copy, Clone, Eq, PartialEq)]
11699pub struct P2PfsHa_SPEC;
11700impl crate::sealed::RegSpec for P2PfsHa_SPEC {
11701 type DataType = u16;
11702}
11703
11704#[doc = "Port 2%s Pin Function Select Register"]
11705pub type P2PfsHa = crate::RegValueT<P2PfsHa_SPEC>;
11706
11707impl P2PfsHa {
11708 #[doc = "Port Output Data"]
11709 #[inline(always)]
11710 pub fn podr(
11711 self,
11712 ) -> crate::common::RegisterField<
11713 0,
11714 0x1,
11715 1,
11716 0,
11717 p2pfs_ha::Podr,
11718 p2pfs_ha::Podr,
11719 P2PfsHa_SPEC,
11720 crate::common::RW,
11721 > {
11722 crate::common::RegisterField::<
11723 0,
11724 0x1,
11725 1,
11726 0,
11727 p2pfs_ha::Podr,
11728 p2pfs_ha::Podr,
11729 P2PfsHa_SPEC,
11730 crate::common::RW,
11731 >::from_register(self, 0)
11732 }
11733
11734 #[doc = "Port State"]
11735 #[inline(always)]
11736 pub fn pidr(
11737 self,
11738 ) -> crate::common::RegisterField<
11739 1,
11740 0x1,
11741 1,
11742 0,
11743 p2pfs_ha::Pidr,
11744 p2pfs_ha::Pidr,
11745 P2PfsHa_SPEC,
11746 crate::common::R,
11747 > {
11748 crate::common::RegisterField::<
11749 1,
11750 0x1,
11751 1,
11752 0,
11753 p2pfs_ha::Pidr,
11754 p2pfs_ha::Pidr,
11755 P2PfsHa_SPEC,
11756 crate::common::R,
11757 >::from_register(self, 0)
11758 }
11759
11760 #[doc = "Port Direction"]
11761 #[inline(always)]
11762 pub fn pdr(
11763 self,
11764 ) -> crate::common::RegisterField<
11765 2,
11766 0x1,
11767 1,
11768 0,
11769 p2pfs_ha::Pdr,
11770 p2pfs_ha::Pdr,
11771 P2PfsHa_SPEC,
11772 crate::common::RW,
11773 > {
11774 crate::common::RegisterField::<
11775 2,
11776 0x1,
11777 1,
11778 0,
11779 p2pfs_ha::Pdr,
11780 p2pfs_ha::Pdr,
11781 P2PfsHa_SPEC,
11782 crate::common::RW,
11783 >::from_register(self, 0)
11784 }
11785
11786 #[doc = "Pull-up Control"]
11787 #[inline(always)]
11788 pub fn pcr(
11789 self,
11790 ) -> crate::common::RegisterField<
11791 4,
11792 0x1,
11793 1,
11794 0,
11795 p2pfs_ha::Pcr,
11796 p2pfs_ha::Pcr,
11797 P2PfsHa_SPEC,
11798 crate::common::RW,
11799 > {
11800 crate::common::RegisterField::<
11801 4,
11802 0x1,
11803 1,
11804 0,
11805 p2pfs_ha::Pcr,
11806 p2pfs_ha::Pcr,
11807 P2PfsHa_SPEC,
11808 crate::common::RW,
11809 >::from_register(self, 0)
11810 }
11811
11812 #[doc = "N-Channel Open-Drain Control"]
11813 #[inline(always)]
11814 pub fn ncodr(
11815 self,
11816 ) -> crate::common::RegisterField<
11817 6,
11818 0x1,
11819 1,
11820 0,
11821 p2pfs_ha::Ncodr,
11822 p2pfs_ha::Ncodr,
11823 P2PfsHa_SPEC,
11824 crate::common::RW,
11825 > {
11826 crate::common::RegisterField::<
11827 6,
11828 0x1,
11829 1,
11830 0,
11831 p2pfs_ha::Ncodr,
11832 p2pfs_ha::Ncodr,
11833 P2PfsHa_SPEC,
11834 crate::common::RW,
11835 >::from_register(self, 0)
11836 }
11837
11838 #[doc = "Event on Falling/Event on Rising"]
11839 #[inline(always)]
11840 pub fn eofr(
11841 self,
11842 ) -> crate::common::RegisterField<
11843 12,
11844 0x3,
11845 1,
11846 0,
11847 p2pfs_ha::Eofr,
11848 p2pfs_ha::Eofr,
11849 P2PfsHa_SPEC,
11850 crate::common::RW,
11851 > {
11852 crate::common::RegisterField::<
11853 12,
11854 0x3,
11855 1,
11856 0,
11857 p2pfs_ha::Eofr,
11858 p2pfs_ha::Eofr,
11859 P2PfsHa_SPEC,
11860 crate::common::RW,
11861 >::from_register(self, 0)
11862 }
11863
11864 #[doc = "IRQ Input Enable"]
11865 #[inline(always)]
11866 pub fn isel(
11867 self,
11868 ) -> crate::common::RegisterField<
11869 14,
11870 0x1,
11871 1,
11872 0,
11873 p2pfs_ha::Isel,
11874 p2pfs_ha::Isel,
11875 P2PfsHa_SPEC,
11876 crate::common::RW,
11877 > {
11878 crate::common::RegisterField::<
11879 14,
11880 0x1,
11881 1,
11882 0,
11883 p2pfs_ha::Isel,
11884 p2pfs_ha::Isel,
11885 P2PfsHa_SPEC,
11886 crate::common::RW,
11887 >::from_register(self, 0)
11888 }
11889
11890 #[doc = "Analog Input Enable"]
11891 #[inline(always)]
11892 pub fn asel(
11893 self,
11894 ) -> crate::common::RegisterField<
11895 15,
11896 0x1,
11897 1,
11898 0,
11899 p2pfs_ha::Asel,
11900 p2pfs_ha::Asel,
11901 P2PfsHa_SPEC,
11902 crate::common::RW,
11903 > {
11904 crate::common::RegisterField::<
11905 15,
11906 0x1,
11907 1,
11908 0,
11909 p2pfs_ha::Asel,
11910 p2pfs_ha::Asel,
11911 P2PfsHa_SPEC,
11912 crate::common::RW,
11913 >::from_register(self, 0)
11914 }
11915}
11916impl ::core::default::Default for P2PfsHa {
11917 #[inline(always)]
11918 fn default() -> P2PfsHa {
11919 <crate::RegValueT<P2PfsHa_SPEC> as RegisterValue<_>>::new(0)
11920 }
11921}
11922pub mod p2pfs_ha {
11923
11924 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11925 pub struct Podr_SPEC;
11926 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11927 impl Podr {
11928 #[doc = "Output low"]
11929 pub const _0: Self = Self::new(0);
11930
11931 #[doc = "Output high"]
11932 pub const _1: Self = Self::new(1);
11933 }
11934 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11935 pub struct Pidr_SPEC;
11936 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11937 impl Pidr {
11938 #[doc = "Low level"]
11939 pub const _0: Self = Self::new(0);
11940
11941 #[doc = "High level"]
11942 pub const _1: Self = Self::new(1);
11943 }
11944 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11945 pub struct Pdr_SPEC;
11946 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11947 impl Pdr {
11948 #[doc = "Input (functions as an input pin)"]
11949 pub const _0: Self = Self::new(0);
11950
11951 #[doc = "Output (functions as an output pin)"]
11952 pub const _1: Self = Self::new(1);
11953 }
11954 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11955 pub struct Pcr_SPEC;
11956 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11957 impl Pcr {
11958 #[doc = "Disable input pull-up"]
11959 pub const _0: Self = Self::new(0);
11960
11961 #[doc = "Enable input pull-up"]
11962 pub const _1: Self = Self::new(1);
11963 }
11964 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11965 pub struct Ncodr_SPEC;
11966 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11967 impl Ncodr {
11968 #[doc = "Output CMOS"]
11969 pub const _0: Self = Self::new(0);
11970
11971 #[doc = "Output NMOS open-drain"]
11972 pub const _1: Self = Self::new(1);
11973 }
11974 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11975 pub struct Eofr_SPEC;
11976 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
11977 impl Eofr {
11978 #[doc = "Don\'t care"]
11979 pub const _00: Self = Self::new(0);
11980
11981 #[doc = "Detect rising edge"]
11982 pub const _01: Self = Self::new(1);
11983
11984 #[doc = "Detect falling edge"]
11985 pub const _10: Self = Self::new(2);
11986
11987 #[doc = "Detect both edges"]
11988 pub const _11: Self = Self::new(3);
11989 }
11990 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11991 pub struct Isel_SPEC;
11992 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11993 impl Isel {
11994 #[doc = "Do not use as IRQn input pin"]
11995 pub const _0: Self = Self::new(0);
11996
11997 #[doc = "Use as IRQn input pin"]
11998 pub const _1: Self = Self::new(1);
11999 }
12000 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12001 pub struct Asel_SPEC;
12002 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12003 impl Asel {
12004 #[doc = "Do not use as analog pin"]
12005 pub const _0: Self = Self::new(0);
12006
12007 #[doc = "Use as analog pin"]
12008 pub const _1: Self = Self::new(1);
12009 }
12010}
12011#[doc(hidden)]
12012#[derive(Copy, Clone, Eq, PartialEq)]
12013pub struct P2PfsBy_SPEC;
12014impl crate::sealed::RegSpec for P2PfsBy_SPEC {
12015 type DataType = u8;
12016}
12017
12018#[doc = "Port 2%s Pin Function Select Register"]
12019pub type P2PfsBy = crate::RegValueT<P2PfsBy_SPEC>;
12020
12021impl P2PfsBy {
12022 #[doc = "Port Output Data"]
12023 #[inline(always)]
12024 pub fn podr(
12025 self,
12026 ) -> crate::common::RegisterField<
12027 0,
12028 0x1,
12029 1,
12030 0,
12031 p2pfs_by::Podr,
12032 p2pfs_by::Podr,
12033 P2PfsBy_SPEC,
12034 crate::common::RW,
12035 > {
12036 crate::common::RegisterField::<
12037 0,
12038 0x1,
12039 1,
12040 0,
12041 p2pfs_by::Podr,
12042 p2pfs_by::Podr,
12043 P2PfsBy_SPEC,
12044 crate::common::RW,
12045 >::from_register(self, 0)
12046 }
12047
12048 #[doc = "Port State"]
12049 #[inline(always)]
12050 pub fn pidr(
12051 self,
12052 ) -> crate::common::RegisterField<
12053 1,
12054 0x1,
12055 1,
12056 0,
12057 p2pfs_by::Pidr,
12058 p2pfs_by::Pidr,
12059 P2PfsBy_SPEC,
12060 crate::common::R,
12061 > {
12062 crate::common::RegisterField::<
12063 1,
12064 0x1,
12065 1,
12066 0,
12067 p2pfs_by::Pidr,
12068 p2pfs_by::Pidr,
12069 P2PfsBy_SPEC,
12070 crate::common::R,
12071 >::from_register(self, 0)
12072 }
12073
12074 #[doc = "Port Direction"]
12075 #[inline(always)]
12076 pub fn pdr(
12077 self,
12078 ) -> crate::common::RegisterField<
12079 2,
12080 0x1,
12081 1,
12082 0,
12083 p2pfs_by::Pdr,
12084 p2pfs_by::Pdr,
12085 P2PfsBy_SPEC,
12086 crate::common::RW,
12087 > {
12088 crate::common::RegisterField::<
12089 2,
12090 0x1,
12091 1,
12092 0,
12093 p2pfs_by::Pdr,
12094 p2pfs_by::Pdr,
12095 P2PfsBy_SPEC,
12096 crate::common::RW,
12097 >::from_register(self, 0)
12098 }
12099
12100 #[doc = "Pull-up Control"]
12101 #[inline(always)]
12102 pub fn pcr(
12103 self,
12104 ) -> crate::common::RegisterField<
12105 4,
12106 0x1,
12107 1,
12108 0,
12109 p2pfs_by::Pcr,
12110 p2pfs_by::Pcr,
12111 P2PfsBy_SPEC,
12112 crate::common::RW,
12113 > {
12114 crate::common::RegisterField::<
12115 4,
12116 0x1,
12117 1,
12118 0,
12119 p2pfs_by::Pcr,
12120 p2pfs_by::Pcr,
12121 P2PfsBy_SPEC,
12122 crate::common::RW,
12123 >::from_register(self, 0)
12124 }
12125
12126 #[doc = "N-Channel Open-Drain Control"]
12127 #[inline(always)]
12128 pub fn ncodr(
12129 self,
12130 ) -> crate::common::RegisterField<
12131 6,
12132 0x1,
12133 1,
12134 0,
12135 p2pfs_by::Ncodr,
12136 p2pfs_by::Ncodr,
12137 P2PfsBy_SPEC,
12138 crate::common::RW,
12139 > {
12140 crate::common::RegisterField::<
12141 6,
12142 0x1,
12143 1,
12144 0,
12145 p2pfs_by::Ncodr,
12146 p2pfs_by::Ncodr,
12147 P2PfsBy_SPEC,
12148 crate::common::RW,
12149 >::from_register(self, 0)
12150 }
12151}
12152impl ::core::default::Default for P2PfsBy {
12153 #[inline(always)]
12154 fn default() -> P2PfsBy {
12155 <crate::RegValueT<P2PfsBy_SPEC> as RegisterValue<_>>::new(0)
12156 }
12157}
12158pub mod p2pfs_by {
12159
12160 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12161 pub struct Podr_SPEC;
12162 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12163 impl Podr {
12164 #[doc = "Output low"]
12165 pub const _0: Self = Self::new(0);
12166
12167 #[doc = "Output high"]
12168 pub const _1: Self = Self::new(1);
12169 }
12170 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12171 pub struct Pidr_SPEC;
12172 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12173 impl Pidr {
12174 #[doc = "Low level"]
12175 pub const _0: Self = Self::new(0);
12176
12177 #[doc = "High level"]
12178 pub const _1: Self = Self::new(1);
12179 }
12180 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12181 pub struct Pdr_SPEC;
12182 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12183 impl Pdr {
12184 #[doc = "Input (functions as an input pin)"]
12185 pub const _0: Self = Self::new(0);
12186
12187 #[doc = "Output (functions as an output pin)"]
12188 pub const _1: Self = Self::new(1);
12189 }
12190 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12191 pub struct Pcr_SPEC;
12192 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12193 impl Pcr {
12194 #[doc = "Disable input pull-up"]
12195 pub const _0: Self = Self::new(0);
12196
12197 #[doc = "Enable input pull-up"]
12198 pub const _1: Self = Self::new(1);
12199 }
12200 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12201 pub struct Ncodr_SPEC;
12202 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12203 impl Ncodr {
12204 #[doc = "Output CMOS"]
12205 pub const _0: Self = Self::new(0);
12206
12207 #[doc = "Output NMOS open-drain"]
12208 pub const _1: Self = Self::new(1);
12209 }
12210}
12211#[doc(hidden)]
12212#[derive(Copy, Clone, Eq, PartialEq)]
12213pub struct P300Pfs_SPEC;
12214impl crate::sealed::RegSpec for P300Pfs_SPEC {
12215 type DataType = u32;
12216}
12217
12218#[doc = "Port 300 Pin Function Select Register"]
12219pub type P300Pfs = crate::RegValueT<P300Pfs_SPEC>;
12220
12221impl P300Pfs {
12222 #[doc = "Port Output Data"]
12223 #[inline(always)]
12224 pub fn podr(
12225 self,
12226 ) -> crate::common::RegisterField<
12227 0,
12228 0x1,
12229 1,
12230 0,
12231 p300pfs::Podr,
12232 p300pfs::Podr,
12233 P300Pfs_SPEC,
12234 crate::common::RW,
12235 > {
12236 crate::common::RegisterField::<
12237 0,
12238 0x1,
12239 1,
12240 0,
12241 p300pfs::Podr,
12242 p300pfs::Podr,
12243 P300Pfs_SPEC,
12244 crate::common::RW,
12245 >::from_register(self, 0)
12246 }
12247
12248 #[doc = "Port State"]
12249 #[inline(always)]
12250 pub fn pidr(
12251 self,
12252 ) -> crate::common::RegisterField<
12253 1,
12254 0x1,
12255 1,
12256 0,
12257 p300pfs::Pidr,
12258 p300pfs::Pidr,
12259 P300Pfs_SPEC,
12260 crate::common::R,
12261 > {
12262 crate::common::RegisterField::<
12263 1,
12264 0x1,
12265 1,
12266 0,
12267 p300pfs::Pidr,
12268 p300pfs::Pidr,
12269 P300Pfs_SPEC,
12270 crate::common::R,
12271 >::from_register(self, 0)
12272 }
12273
12274 #[doc = "Port Direction"]
12275 #[inline(always)]
12276 pub fn pdr(
12277 self,
12278 ) -> crate::common::RegisterField<
12279 2,
12280 0x1,
12281 1,
12282 0,
12283 p300pfs::Pdr,
12284 p300pfs::Pdr,
12285 P300Pfs_SPEC,
12286 crate::common::RW,
12287 > {
12288 crate::common::RegisterField::<
12289 2,
12290 0x1,
12291 1,
12292 0,
12293 p300pfs::Pdr,
12294 p300pfs::Pdr,
12295 P300Pfs_SPEC,
12296 crate::common::RW,
12297 >::from_register(self, 0)
12298 }
12299
12300 #[doc = "Pull-up Control"]
12301 #[inline(always)]
12302 pub fn pcr(
12303 self,
12304 ) -> crate::common::RegisterField<
12305 4,
12306 0x1,
12307 1,
12308 0,
12309 p300pfs::Pcr,
12310 p300pfs::Pcr,
12311 P300Pfs_SPEC,
12312 crate::common::RW,
12313 > {
12314 crate::common::RegisterField::<
12315 4,
12316 0x1,
12317 1,
12318 0,
12319 p300pfs::Pcr,
12320 p300pfs::Pcr,
12321 P300Pfs_SPEC,
12322 crate::common::RW,
12323 >::from_register(self, 0)
12324 }
12325
12326 #[doc = "N-Channel Open-Drain Control"]
12327 #[inline(always)]
12328 pub fn ncodr(
12329 self,
12330 ) -> crate::common::RegisterField<
12331 6,
12332 0x1,
12333 1,
12334 0,
12335 p300pfs::Ncodr,
12336 p300pfs::Ncodr,
12337 P300Pfs_SPEC,
12338 crate::common::RW,
12339 > {
12340 crate::common::RegisterField::<
12341 6,
12342 0x1,
12343 1,
12344 0,
12345 p300pfs::Ncodr,
12346 p300pfs::Ncodr,
12347 P300Pfs_SPEC,
12348 crate::common::RW,
12349 >::from_register(self, 0)
12350 }
12351
12352 #[doc = "Event on Falling/Event on Rising"]
12353 #[inline(always)]
12354 pub fn eofr(
12355 self,
12356 ) -> crate::common::RegisterField<
12357 12,
12358 0x3,
12359 1,
12360 0,
12361 p300pfs::Eofr,
12362 p300pfs::Eofr,
12363 P300Pfs_SPEC,
12364 crate::common::RW,
12365 > {
12366 crate::common::RegisterField::<
12367 12,
12368 0x3,
12369 1,
12370 0,
12371 p300pfs::Eofr,
12372 p300pfs::Eofr,
12373 P300Pfs_SPEC,
12374 crate::common::RW,
12375 >::from_register(self, 0)
12376 }
12377
12378 #[doc = "IRQ Input Enable"]
12379 #[inline(always)]
12380 pub fn isel(
12381 self,
12382 ) -> crate::common::RegisterField<
12383 14,
12384 0x1,
12385 1,
12386 0,
12387 p300pfs::Isel,
12388 p300pfs::Isel,
12389 P300Pfs_SPEC,
12390 crate::common::RW,
12391 > {
12392 crate::common::RegisterField::<
12393 14,
12394 0x1,
12395 1,
12396 0,
12397 p300pfs::Isel,
12398 p300pfs::Isel,
12399 P300Pfs_SPEC,
12400 crate::common::RW,
12401 >::from_register(self, 0)
12402 }
12403
12404 #[doc = "Analog Input Enable"]
12405 #[inline(always)]
12406 pub fn asel(
12407 self,
12408 ) -> crate::common::RegisterField<
12409 15,
12410 0x1,
12411 1,
12412 0,
12413 p300pfs::Asel,
12414 p300pfs::Asel,
12415 P300Pfs_SPEC,
12416 crate::common::RW,
12417 > {
12418 crate::common::RegisterField::<
12419 15,
12420 0x1,
12421 1,
12422 0,
12423 p300pfs::Asel,
12424 p300pfs::Asel,
12425 P300Pfs_SPEC,
12426 crate::common::RW,
12427 >::from_register(self, 0)
12428 }
12429
12430 #[doc = "Port Mode Control"]
12431 #[inline(always)]
12432 pub fn pmr(
12433 self,
12434 ) -> crate::common::RegisterField<
12435 16,
12436 0x1,
12437 1,
12438 0,
12439 p300pfs::Pmr,
12440 p300pfs::Pmr,
12441 P300Pfs_SPEC,
12442 crate::common::RW,
12443 > {
12444 crate::common::RegisterField::<
12445 16,
12446 0x1,
12447 1,
12448 0,
12449 p300pfs::Pmr,
12450 p300pfs::Pmr,
12451 P300Pfs_SPEC,
12452 crate::common::RW,
12453 >::from_register(self, 0)
12454 }
12455
12456 #[doc = "Peripheral Select"]
12457 #[inline(always)]
12458 pub fn psel(
12459 self,
12460 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P300Pfs_SPEC, crate::common::RW> {
12461 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P300Pfs_SPEC,crate::common::RW>::from_register(self,0)
12462 }
12463}
12464impl ::core::default::Default for P300Pfs {
12465 #[inline(always)]
12466 fn default() -> P300Pfs {
12467 <crate::RegValueT<P300Pfs_SPEC> as RegisterValue<_>>::new(65552)
12468 }
12469}
12470pub mod p300pfs {
12471
12472 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12473 pub struct Podr_SPEC;
12474 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12475 impl Podr {
12476 #[doc = "Output low"]
12477 pub const _0: Self = Self::new(0);
12478
12479 #[doc = "Output high"]
12480 pub const _1: Self = Self::new(1);
12481 }
12482 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12483 pub struct Pidr_SPEC;
12484 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12485 impl Pidr {
12486 #[doc = "Low level"]
12487 pub const _0: Self = Self::new(0);
12488
12489 #[doc = "High level"]
12490 pub const _1: Self = Self::new(1);
12491 }
12492 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12493 pub struct Pdr_SPEC;
12494 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12495 impl Pdr {
12496 #[doc = "Input (functions as an input pin)"]
12497 pub const _0: Self = Self::new(0);
12498
12499 #[doc = "Output (functions as an output pin)"]
12500 pub const _1: Self = Self::new(1);
12501 }
12502 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12503 pub struct Pcr_SPEC;
12504 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12505 impl Pcr {
12506 #[doc = "Disable input pull-up"]
12507 pub const _0: Self = Self::new(0);
12508
12509 #[doc = "Enable input pull-up"]
12510 pub const _1: Self = Self::new(1);
12511 }
12512 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12513 pub struct Ncodr_SPEC;
12514 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12515 impl Ncodr {
12516 #[doc = "Output CMOS"]
12517 pub const _0: Self = Self::new(0);
12518
12519 #[doc = "Output NMOS open-drain"]
12520 pub const _1: Self = Self::new(1);
12521 }
12522 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12523 pub struct Eofr_SPEC;
12524 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
12525 impl Eofr {
12526 #[doc = "Don\'t care"]
12527 pub const _00: Self = Self::new(0);
12528
12529 #[doc = "Detect rising edge"]
12530 pub const _01: Self = Self::new(1);
12531
12532 #[doc = "Detect falling edge"]
12533 pub const _10: Self = Self::new(2);
12534
12535 #[doc = "Detect both edges"]
12536 pub const _11: Self = Self::new(3);
12537 }
12538 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12539 pub struct Isel_SPEC;
12540 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12541 impl Isel {
12542 #[doc = "Do not use as IRQn input pin"]
12543 pub const _0: Self = Self::new(0);
12544
12545 #[doc = "Use as IRQn input pin"]
12546 pub const _1: Self = Self::new(1);
12547 }
12548 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12549 pub struct Asel_SPEC;
12550 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12551 impl Asel {
12552 #[doc = "Do not use as analog pin"]
12553 pub const _0: Self = Self::new(0);
12554
12555 #[doc = "Use as analog pin"]
12556 pub const _1: Self = Self::new(1);
12557 }
12558 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12559 pub struct Pmr_SPEC;
12560 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
12561 impl Pmr {
12562 #[doc = "Use as general I/O pin"]
12563 pub const _0: Self = Self::new(0);
12564
12565 #[doc = "Use as I/O port for peripheral functions"]
12566 pub const _1: Self = Self::new(1);
12567 }
12568}
12569#[doc(hidden)]
12570#[derive(Copy, Clone, Eq, PartialEq)]
12571pub struct P300PfsHa_SPEC;
12572impl crate::sealed::RegSpec for P300PfsHa_SPEC {
12573 type DataType = u16;
12574}
12575
12576#[doc = "Port 300 Pin Function Select Register"]
12577pub type P300PfsHa = crate::RegValueT<P300PfsHa_SPEC>;
12578
12579impl P300PfsHa {
12580 #[doc = "Port Output Data"]
12581 #[inline(always)]
12582 pub fn podr(
12583 self,
12584 ) -> crate::common::RegisterField<
12585 0,
12586 0x1,
12587 1,
12588 0,
12589 p300pfs_ha::Podr,
12590 p300pfs_ha::Podr,
12591 P300PfsHa_SPEC,
12592 crate::common::RW,
12593 > {
12594 crate::common::RegisterField::<
12595 0,
12596 0x1,
12597 1,
12598 0,
12599 p300pfs_ha::Podr,
12600 p300pfs_ha::Podr,
12601 P300PfsHa_SPEC,
12602 crate::common::RW,
12603 >::from_register(self, 0)
12604 }
12605
12606 #[doc = "Port State"]
12607 #[inline(always)]
12608 pub fn pidr(
12609 self,
12610 ) -> crate::common::RegisterField<
12611 1,
12612 0x1,
12613 1,
12614 0,
12615 p300pfs_ha::Pidr,
12616 p300pfs_ha::Pidr,
12617 P300PfsHa_SPEC,
12618 crate::common::R,
12619 > {
12620 crate::common::RegisterField::<
12621 1,
12622 0x1,
12623 1,
12624 0,
12625 p300pfs_ha::Pidr,
12626 p300pfs_ha::Pidr,
12627 P300PfsHa_SPEC,
12628 crate::common::R,
12629 >::from_register(self, 0)
12630 }
12631
12632 #[doc = "Port Direction"]
12633 #[inline(always)]
12634 pub fn pdr(
12635 self,
12636 ) -> crate::common::RegisterField<
12637 2,
12638 0x1,
12639 1,
12640 0,
12641 p300pfs_ha::Pdr,
12642 p300pfs_ha::Pdr,
12643 P300PfsHa_SPEC,
12644 crate::common::RW,
12645 > {
12646 crate::common::RegisterField::<
12647 2,
12648 0x1,
12649 1,
12650 0,
12651 p300pfs_ha::Pdr,
12652 p300pfs_ha::Pdr,
12653 P300PfsHa_SPEC,
12654 crate::common::RW,
12655 >::from_register(self, 0)
12656 }
12657
12658 #[doc = "Pull-up Control"]
12659 #[inline(always)]
12660 pub fn pcr(
12661 self,
12662 ) -> crate::common::RegisterField<
12663 4,
12664 0x1,
12665 1,
12666 0,
12667 p300pfs_ha::Pcr,
12668 p300pfs_ha::Pcr,
12669 P300PfsHa_SPEC,
12670 crate::common::RW,
12671 > {
12672 crate::common::RegisterField::<
12673 4,
12674 0x1,
12675 1,
12676 0,
12677 p300pfs_ha::Pcr,
12678 p300pfs_ha::Pcr,
12679 P300PfsHa_SPEC,
12680 crate::common::RW,
12681 >::from_register(self, 0)
12682 }
12683
12684 #[doc = "N-Channel Open-Drain Control"]
12685 #[inline(always)]
12686 pub fn ncodr(
12687 self,
12688 ) -> crate::common::RegisterField<
12689 6,
12690 0x1,
12691 1,
12692 0,
12693 p300pfs_ha::Ncodr,
12694 p300pfs_ha::Ncodr,
12695 P300PfsHa_SPEC,
12696 crate::common::RW,
12697 > {
12698 crate::common::RegisterField::<
12699 6,
12700 0x1,
12701 1,
12702 0,
12703 p300pfs_ha::Ncodr,
12704 p300pfs_ha::Ncodr,
12705 P300PfsHa_SPEC,
12706 crate::common::RW,
12707 >::from_register(self, 0)
12708 }
12709
12710 #[doc = "Event on Falling/Event on Rising"]
12711 #[inline(always)]
12712 pub fn eofr(
12713 self,
12714 ) -> crate::common::RegisterField<
12715 12,
12716 0x3,
12717 1,
12718 0,
12719 p300pfs_ha::Eofr,
12720 p300pfs_ha::Eofr,
12721 P300PfsHa_SPEC,
12722 crate::common::RW,
12723 > {
12724 crate::common::RegisterField::<
12725 12,
12726 0x3,
12727 1,
12728 0,
12729 p300pfs_ha::Eofr,
12730 p300pfs_ha::Eofr,
12731 P300PfsHa_SPEC,
12732 crate::common::RW,
12733 >::from_register(self, 0)
12734 }
12735
12736 #[doc = "IRQ Input Enable"]
12737 #[inline(always)]
12738 pub fn isel(
12739 self,
12740 ) -> crate::common::RegisterField<
12741 14,
12742 0x1,
12743 1,
12744 0,
12745 p300pfs_ha::Isel,
12746 p300pfs_ha::Isel,
12747 P300PfsHa_SPEC,
12748 crate::common::RW,
12749 > {
12750 crate::common::RegisterField::<
12751 14,
12752 0x1,
12753 1,
12754 0,
12755 p300pfs_ha::Isel,
12756 p300pfs_ha::Isel,
12757 P300PfsHa_SPEC,
12758 crate::common::RW,
12759 >::from_register(self, 0)
12760 }
12761
12762 #[doc = "Analog Input Enable"]
12763 #[inline(always)]
12764 pub fn asel(
12765 self,
12766 ) -> crate::common::RegisterField<
12767 15,
12768 0x1,
12769 1,
12770 0,
12771 p300pfs_ha::Asel,
12772 p300pfs_ha::Asel,
12773 P300PfsHa_SPEC,
12774 crate::common::RW,
12775 > {
12776 crate::common::RegisterField::<
12777 15,
12778 0x1,
12779 1,
12780 0,
12781 p300pfs_ha::Asel,
12782 p300pfs_ha::Asel,
12783 P300PfsHa_SPEC,
12784 crate::common::RW,
12785 >::from_register(self, 0)
12786 }
12787}
12788impl ::core::default::Default for P300PfsHa {
12789 #[inline(always)]
12790 fn default() -> P300PfsHa {
12791 <crate::RegValueT<P300PfsHa_SPEC> as RegisterValue<_>>::new(16)
12792 }
12793}
12794pub mod p300pfs_ha {
12795
12796 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12797 pub struct Podr_SPEC;
12798 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12799 impl Podr {
12800 #[doc = "Output low"]
12801 pub const _0: Self = Self::new(0);
12802
12803 #[doc = "Output high"]
12804 pub const _1: Self = Self::new(1);
12805 }
12806 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12807 pub struct Pidr_SPEC;
12808 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12809 impl Pidr {
12810 #[doc = "Low level"]
12811 pub const _0: Self = Self::new(0);
12812
12813 #[doc = "High level"]
12814 pub const _1: Self = Self::new(1);
12815 }
12816 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12817 pub struct Pdr_SPEC;
12818 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12819 impl Pdr {
12820 #[doc = "Input (functions as an input pin)"]
12821 pub const _0: Self = Self::new(0);
12822
12823 #[doc = "Output (functions as an output pin)"]
12824 pub const _1: Self = Self::new(1);
12825 }
12826 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12827 pub struct Pcr_SPEC;
12828 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12829 impl Pcr {
12830 #[doc = "Disable input pull-up"]
12831 pub const _0: Self = Self::new(0);
12832
12833 #[doc = "Enable input pull-up"]
12834 pub const _1: Self = Self::new(1);
12835 }
12836 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12837 pub struct Ncodr_SPEC;
12838 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12839 impl Ncodr {
12840 #[doc = "Output CMOS"]
12841 pub const _0: Self = Self::new(0);
12842
12843 #[doc = "Output NMOS open-drain"]
12844 pub const _1: Self = Self::new(1);
12845 }
12846 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12847 pub struct Eofr_SPEC;
12848 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
12849 impl Eofr {
12850 #[doc = "Don\'t care"]
12851 pub const _00: Self = Self::new(0);
12852
12853 #[doc = "Detect rising edge"]
12854 pub const _01: Self = Self::new(1);
12855
12856 #[doc = "Detect falling edge"]
12857 pub const _10: Self = Self::new(2);
12858
12859 #[doc = "Detect both edges"]
12860 pub const _11: Self = Self::new(3);
12861 }
12862 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12863 pub struct Isel_SPEC;
12864 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12865 impl Isel {
12866 #[doc = "Do not use as IRQn input pin"]
12867 pub const _0: Self = Self::new(0);
12868
12869 #[doc = "Use as IRQn input pin"]
12870 pub const _1: Self = Self::new(1);
12871 }
12872 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12873 pub struct Asel_SPEC;
12874 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12875 impl Asel {
12876 #[doc = "Do not use as analog pin"]
12877 pub const _0: Self = Self::new(0);
12878
12879 #[doc = "Use as analog pin"]
12880 pub const _1: Self = Self::new(1);
12881 }
12882}
12883#[doc(hidden)]
12884#[derive(Copy, Clone, Eq, PartialEq)]
12885pub struct P300PfsBy_SPEC;
12886impl crate::sealed::RegSpec for P300PfsBy_SPEC {
12887 type DataType = u8;
12888}
12889
12890#[doc = "Port 300 Pin Function Select Register"]
12891pub type P300PfsBy = crate::RegValueT<P300PfsBy_SPEC>;
12892
12893impl P300PfsBy {
12894 #[doc = "Port Output Data"]
12895 #[inline(always)]
12896 pub fn podr(
12897 self,
12898 ) -> crate::common::RegisterField<
12899 0,
12900 0x1,
12901 1,
12902 0,
12903 p300pfs_by::Podr,
12904 p300pfs_by::Podr,
12905 P300PfsBy_SPEC,
12906 crate::common::RW,
12907 > {
12908 crate::common::RegisterField::<
12909 0,
12910 0x1,
12911 1,
12912 0,
12913 p300pfs_by::Podr,
12914 p300pfs_by::Podr,
12915 P300PfsBy_SPEC,
12916 crate::common::RW,
12917 >::from_register(self, 0)
12918 }
12919
12920 #[doc = "Port State"]
12921 #[inline(always)]
12922 pub fn pidr(
12923 self,
12924 ) -> crate::common::RegisterField<
12925 1,
12926 0x1,
12927 1,
12928 0,
12929 p300pfs_by::Pidr,
12930 p300pfs_by::Pidr,
12931 P300PfsBy_SPEC,
12932 crate::common::R,
12933 > {
12934 crate::common::RegisterField::<
12935 1,
12936 0x1,
12937 1,
12938 0,
12939 p300pfs_by::Pidr,
12940 p300pfs_by::Pidr,
12941 P300PfsBy_SPEC,
12942 crate::common::R,
12943 >::from_register(self, 0)
12944 }
12945
12946 #[doc = "Port Direction"]
12947 #[inline(always)]
12948 pub fn pdr(
12949 self,
12950 ) -> crate::common::RegisterField<
12951 2,
12952 0x1,
12953 1,
12954 0,
12955 p300pfs_by::Pdr,
12956 p300pfs_by::Pdr,
12957 P300PfsBy_SPEC,
12958 crate::common::RW,
12959 > {
12960 crate::common::RegisterField::<
12961 2,
12962 0x1,
12963 1,
12964 0,
12965 p300pfs_by::Pdr,
12966 p300pfs_by::Pdr,
12967 P300PfsBy_SPEC,
12968 crate::common::RW,
12969 >::from_register(self, 0)
12970 }
12971
12972 #[doc = "Pull-up Control"]
12973 #[inline(always)]
12974 pub fn pcr(
12975 self,
12976 ) -> crate::common::RegisterField<
12977 4,
12978 0x1,
12979 1,
12980 0,
12981 p300pfs_by::Pcr,
12982 p300pfs_by::Pcr,
12983 P300PfsBy_SPEC,
12984 crate::common::RW,
12985 > {
12986 crate::common::RegisterField::<
12987 4,
12988 0x1,
12989 1,
12990 0,
12991 p300pfs_by::Pcr,
12992 p300pfs_by::Pcr,
12993 P300PfsBy_SPEC,
12994 crate::common::RW,
12995 >::from_register(self, 0)
12996 }
12997
12998 #[doc = "N-Channel Open-Drain Control"]
12999 #[inline(always)]
13000 pub fn ncodr(
13001 self,
13002 ) -> crate::common::RegisterField<
13003 6,
13004 0x1,
13005 1,
13006 0,
13007 p300pfs_by::Ncodr,
13008 p300pfs_by::Ncodr,
13009 P300PfsBy_SPEC,
13010 crate::common::RW,
13011 > {
13012 crate::common::RegisterField::<
13013 6,
13014 0x1,
13015 1,
13016 0,
13017 p300pfs_by::Ncodr,
13018 p300pfs_by::Ncodr,
13019 P300PfsBy_SPEC,
13020 crate::common::RW,
13021 >::from_register(self, 0)
13022 }
13023}
13024impl ::core::default::Default for P300PfsBy {
13025 #[inline(always)]
13026 fn default() -> P300PfsBy {
13027 <crate::RegValueT<P300PfsBy_SPEC> as RegisterValue<_>>::new(16)
13028 }
13029}
13030pub mod p300pfs_by {
13031
13032 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13033 pub struct Podr_SPEC;
13034 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13035 impl Podr {
13036 #[doc = "Output low"]
13037 pub const _0: Self = Self::new(0);
13038
13039 #[doc = "Output high"]
13040 pub const _1: Self = Self::new(1);
13041 }
13042 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13043 pub struct Pidr_SPEC;
13044 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13045 impl Pidr {
13046 #[doc = "Low level"]
13047 pub const _0: Self = Self::new(0);
13048
13049 #[doc = "High level"]
13050 pub const _1: Self = Self::new(1);
13051 }
13052 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13053 pub struct Pdr_SPEC;
13054 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13055 impl Pdr {
13056 #[doc = "Input (functions as an input pin)"]
13057 pub const _0: Self = Self::new(0);
13058
13059 #[doc = "Output (functions as an output pin)"]
13060 pub const _1: Self = Self::new(1);
13061 }
13062 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13063 pub struct Pcr_SPEC;
13064 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13065 impl Pcr {
13066 #[doc = "Disable input pull-up"]
13067 pub const _0: Self = Self::new(0);
13068
13069 #[doc = "Enable input pull-up"]
13070 pub const _1: Self = Self::new(1);
13071 }
13072 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13073 pub struct Ncodr_SPEC;
13074 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13075 impl Ncodr {
13076 #[doc = "Output CMOS"]
13077 pub const _0: Self = Self::new(0);
13078
13079 #[doc = "Output NMOS open-drain"]
13080 pub const _1: Self = Self::new(1);
13081 }
13082}
13083#[doc(hidden)]
13084#[derive(Copy, Clone, Eq, PartialEq)]
13085pub struct P30Pfs_SPEC;
13086impl crate::sealed::RegSpec for P30Pfs_SPEC {
13087 type DataType = u32;
13088}
13089
13090#[doc = "Port 30%s Pin Function Select Register"]
13091pub type P30Pfs = crate::RegValueT<P30Pfs_SPEC>;
13092
13093impl P30Pfs {
13094 #[doc = "Port Output Data"]
13095 #[inline(always)]
13096 pub fn podr(
13097 self,
13098 ) -> crate::common::RegisterField<
13099 0,
13100 0x1,
13101 1,
13102 0,
13103 p30pfs::Podr,
13104 p30pfs::Podr,
13105 P30Pfs_SPEC,
13106 crate::common::RW,
13107 > {
13108 crate::common::RegisterField::<
13109 0,
13110 0x1,
13111 1,
13112 0,
13113 p30pfs::Podr,
13114 p30pfs::Podr,
13115 P30Pfs_SPEC,
13116 crate::common::RW,
13117 >::from_register(self, 0)
13118 }
13119
13120 #[doc = "Port State"]
13121 #[inline(always)]
13122 pub fn pidr(
13123 self,
13124 ) -> crate::common::RegisterField<
13125 1,
13126 0x1,
13127 1,
13128 0,
13129 p30pfs::Pidr,
13130 p30pfs::Pidr,
13131 P30Pfs_SPEC,
13132 crate::common::R,
13133 > {
13134 crate::common::RegisterField::<
13135 1,
13136 0x1,
13137 1,
13138 0,
13139 p30pfs::Pidr,
13140 p30pfs::Pidr,
13141 P30Pfs_SPEC,
13142 crate::common::R,
13143 >::from_register(self, 0)
13144 }
13145
13146 #[doc = "Port Direction"]
13147 #[inline(always)]
13148 pub fn pdr(
13149 self,
13150 ) -> crate::common::RegisterField<
13151 2,
13152 0x1,
13153 1,
13154 0,
13155 p30pfs::Pdr,
13156 p30pfs::Pdr,
13157 P30Pfs_SPEC,
13158 crate::common::RW,
13159 > {
13160 crate::common::RegisterField::<
13161 2,
13162 0x1,
13163 1,
13164 0,
13165 p30pfs::Pdr,
13166 p30pfs::Pdr,
13167 P30Pfs_SPEC,
13168 crate::common::RW,
13169 >::from_register(self, 0)
13170 }
13171
13172 #[doc = "Pull-up Control"]
13173 #[inline(always)]
13174 pub fn pcr(
13175 self,
13176 ) -> crate::common::RegisterField<
13177 4,
13178 0x1,
13179 1,
13180 0,
13181 p30pfs::Pcr,
13182 p30pfs::Pcr,
13183 P30Pfs_SPEC,
13184 crate::common::RW,
13185 > {
13186 crate::common::RegisterField::<
13187 4,
13188 0x1,
13189 1,
13190 0,
13191 p30pfs::Pcr,
13192 p30pfs::Pcr,
13193 P30Pfs_SPEC,
13194 crate::common::RW,
13195 >::from_register(self, 0)
13196 }
13197
13198 #[doc = "N-Channel Open-Drain Control"]
13199 #[inline(always)]
13200 pub fn ncodr(
13201 self,
13202 ) -> crate::common::RegisterField<
13203 6,
13204 0x1,
13205 1,
13206 0,
13207 p30pfs::Ncodr,
13208 p30pfs::Ncodr,
13209 P30Pfs_SPEC,
13210 crate::common::RW,
13211 > {
13212 crate::common::RegisterField::<
13213 6,
13214 0x1,
13215 1,
13216 0,
13217 p30pfs::Ncodr,
13218 p30pfs::Ncodr,
13219 P30Pfs_SPEC,
13220 crate::common::RW,
13221 >::from_register(self, 0)
13222 }
13223
13224 #[doc = "Event on Falling/Event on Rising"]
13225 #[inline(always)]
13226 pub fn eofr(
13227 self,
13228 ) -> crate::common::RegisterField<
13229 12,
13230 0x3,
13231 1,
13232 0,
13233 p30pfs::Eofr,
13234 p30pfs::Eofr,
13235 P30Pfs_SPEC,
13236 crate::common::RW,
13237 > {
13238 crate::common::RegisterField::<
13239 12,
13240 0x3,
13241 1,
13242 0,
13243 p30pfs::Eofr,
13244 p30pfs::Eofr,
13245 P30Pfs_SPEC,
13246 crate::common::RW,
13247 >::from_register(self, 0)
13248 }
13249
13250 #[doc = "IRQ Input Enable"]
13251 #[inline(always)]
13252 pub fn isel(
13253 self,
13254 ) -> crate::common::RegisterField<
13255 14,
13256 0x1,
13257 1,
13258 0,
13259 p30pfs::Isel,
13260 p30pfs::Isel,
13261 P30Pfs_SPEC,
13262 crate::common::RW,
13263 > {
13264 crate::common::RegisterField::<
13265 14,
13266 0x1,
13267 1,
13268 0,
13269 p30pfs::Isel,
13270 p30pfs::Isel,
13271 P30Pfs_SPEC,
13272 crate::common::RW,
13273 >::from_register(self, 0)
13274 }
13275
13276 #[doc = "Analog Input Enable"]
13277 #[inline(always)]
13278 pub fn asel(
13279 self,
13280 ) -> crate::common::RegisterField<
13281 15,
13282 0x1,
13283 1,
13284 0,
13285 p30pfs::Asel,
13286 p30pfs::Asel,
13287 P30Pfs_SPEC,
13288 crate::common::RW,
13289 > {
13290 crate::common::RegisterField::<
13291 15,
13292 0x1,
13293 1,
13294 0,
13295 p30pfs::Asel,
13296 p30pfs::Asel,
13297 P30Pfs_SPEC,
13298 crate::common::RW,
13299 >::from_register(self, 0)
13300 }
13301
13302 #[doc = "Port Mode Control"]
13303 #[inline(always)]
13304 pub fn pmr(
13305 self,
13306 ) -> crate::common::RegisterField<
13307 16,
13308 0x1,
13309 1,
13310 0,
13311 p30pfs::Pmr,
13312 p30pfs::Pmr,
13313 P30Pfs_SPEC,
13314 crate::common::RW,
13315 > {
13316 crate::common::RegisterField::<
13317 16,
13318 0x1,
13319 1,
13320 0,
13321 p30pfs::Pmr,
13322 p30pfs::Pmr,
13323 P30Pfs_SPEC,
13324 crate::common::RW,
13325 >::from_register(self, 0)
13326 }
13327
13328 #[doc = "Peripheral Select"]
13329 #[inline(always)]
13330 pub fn psel(
13331 self,
13332 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P30Pfs_SPEC, crate::common::RW> {
13333 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P30Pfs_SPEC,crate::common::RW>::from_register(self,0)
13334 }
13335}
13336impl ::core::default::Default for P30Pfs {
13337 #[inline(always)]
13338 fn default() -> P30Pfs {
13339 <crate::RegValueT<P30Pfs_SPEC> as RegisterValue<_>>::new(0)
13340 }
13341}
13342pub mod p30pfs {
13343
13344 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13345 pub struct Podr_SPEC;
13346 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13347 impl Podr {
13348 #[doc = "Output low"]
13349 pub const _0: Self = Self::new(0);
13350
13351 #[doc = "Output high"]
13352 pub const _1: Self = Self::new(1);
13353 }
13354 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13355 pub struct Pidr_SPEC;
13356 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13357 impl Pidr {
13358 #[doc = "Low level"]
13359 pub const _0: Self = Self::new(0);
13360
13361 #[doc = "High level"]
13362 pub const _1: Self = Self::new(1);
13363 }
13364 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13365 pub struct Pdr_SPEC;
13366 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13367 impl Pdr {
13368 #[doc = "Input (functions as an input pin)"]
13369 pub const _0: Self = Self::new(0);
13370
13371 #[doc = "Output (functions as an output pin)"]
13372 pub const _1: Self = Self::new(1);
13373 }
13374 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13375 pub struct Pcr_SPEC;
13376 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13377 impl Pcr {
13378 #[doc = "Disable input pull-up"]
13379 pub const _0: Self = Self::new(0);
13380
13381 #[doc = "Enable input pull-up"]
13382 pub const _1: Self = Self::new(1);
13383 }
13384 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13385 pub struct Ncodr_SPEC;
13386 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13387 impl Ncodr {
13388 #[doc = "Output CMOS"]
13389 pub const _0: Self = Self::new(0);
13390
13391 #[doc = "Output NMOS open-drain"]
13392 pub const _1: Self = Self::new(1);
13393 }
13394 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13395 pub struct Eofr_SPEC;
13396 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
13397 impl Eofr {
13398 #[doc = "Don\'t care"]
13399 pub const _00: Self = Self::new(0);
13400
13401 #[doc = "Detect rising edge"]
13402 pub const _01: Self = Self::new(1);
13403
13404 #[doc = "Detect falling edge"]
13405 pub const _10: Self = Self::new(2);
13406
13407 #[doc = "Detect both edges"]
13408 pub const _11: Self = Self::new(3);
13409 }
13410 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13411 pub struct Isel_SPEC;
13412 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13413 impl Isel {
13414 #[doc = "Do not use as IRQn input pin"]
13415 pub const _0: Self = Self::new(0);
13416
13417 #[doc = "Use as IRQn input pin"]
13418 pub const _1: Self = Self::new(1);
13419 }
13420 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13421 pub struct Asel_SPEC;
13422 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13423 impl Asel {
13424 #[doc = "Do not use as analog pin"]
13425 pub const _0: Self = Self::new(0);
13426
13427 #[doc = "Use as analog pin"]
13428 pub const _1: Self = Self::new(1);
13429 }
13430 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13431 pub struct Pmr_SPEC;
13432 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
13433 impl Pmr {
13434 #[doc = "Use as general I/O pin"]
13435 pub const _0: Self = Self::new(0);
13436
13437 #[doc = "Use as I/O port for peripheral functions"]
13438 pub const _1: Self = Self::new(1);
13439 }
13440}
13441#[doc(hidden)]
13442#[derive(Copy, Clone, Eq, PartialEq)]
13443pub struct P30PfsHa_SPEC;
13444impl crate::sealed::RegSpec for P30PfsHa_SPEC {
13445 type DataType = u16;
13446}
13447
13448#[doc = "Port 30%s Pin Function Select Register"]
13449pub type P30PfsHa = crate::RegValueT<P30PfsHa_SPEC>;
13450
13451impl P30PfsHa {
13452 #[doc = "Port Output Data"]
13453 #[inline(always)]
13454 pub fn podr(
13455 self,
13456 ) -> crate::common::RegisterField<
13457 0,
13458 0x1,
13459 1,
13460 0,
13461 p30pfs_ha::Podr,
13462 p30pfs_ha::Podr,
13463 P30PfsHa_SPEC,
13464 crate::common::RW,
13465 > {
13466 crate::common::RegisterField::<
13467 0,
13468 0x1,
13469 1,
13470 0,
13471 p30pfs_ha::Podr,
13472 p30pfs_ha::Podr,
13473 P30PfsHa_SPEC,
13474 crate::common::RW,
13475 >::from_register(self, 0)
13476 }
13477
13478 #[doc = "Port State"]
13479 #[inline(always)]
13480 pub fn pidr(
13481 self,
13482 ) -> crate::common::RegisterField<
13483 1,
13484 0x1,
13485 1,
13486 0,
13487 p30pfs_ha::Pidr,
13488 p30pfs_ha::Pidr,
13489 P30PfsHa_SPEC,
13490 crate::common::R,
13491 > {
13492 crate::common::RegisterField::<
13493 1,
13494 0x1,
13495 1,
13496 0,
13497 p30pfs_ha::Pidr,
13498 p30pfs_ha::Pidr,
13499 P30PfsHa_SPEC,
13500 crate::common::R,
13501 >::from_register(self, 0)
13502 }
13503
13504 #[doc = "Port Direction"]
13505 #[inline(always)]
13506 pub fn pdr(
13507 self,
13508 ) -> crate::common::RegisterField<
13509 2,
13510 0x1,
13511 1,
13512 0,
13513 p30pfs_ha::Pdr,
13514 p30pfs_ha::Pdr,
13515 P30PfsHa_SPEC,
13516 crate::common::RW,
13517 > {
13518 crate::common::RegisterField::<
13519 2,
13520 0x1,
13521 1,
13522 0,
13523 p30pfs_ha::Pdr,
13524 p30pfs_ha::Pdr,
13525 P30PfsHa_SPEC,
13526 crate::common::RW,
13527 >::from_register(self, 0)
13528 }
13529
13530 #[doc = "Pull-up Control"]
13531 #[inline(always)]
13532 pub fn pcr(
13533 self,
13534 ) -> crate::common::RegisterField<
13535 4,
13536 0x1,
13537 1,
13538 0,
13539 p30pfs_ha::Pcr,
13540 p30pfs_ha::Pcr,
13541 P30PfsHa_SPEC,
13542 crate::common::RW,
13543 > {
13544 crate::common::RegisterField::<
13545 4,
13546 0x1,
13547 1,
13548 0,
13549 p30pfs_ha::Pcr,
13550 p30pfs_ha::Pcr,
13551 P30PfsHa_SPEC,
13552 crate::common::RW,
13553 >::from_register(self, 0)
13554 }
13555
13556 #[doc = "N-Channel Open-Drain Control"]
13557 #[inline(always)]
13558 pub fn ncodr(
13559 self,
13560 ) -> crate::common::RegisterField<
13561 6,
13562 0x1,
13563 1,
13564 0,
13565 p30pfs_ha::Ncodr,
13566 p30pfs_ha::Ncodr,
13567 P30PfsHa_SPEC,
13568 crate::common::RW,
13569 > {
13570 crate::common::RegisterField::<
13571 6,
13572 0x1,
13573 1,
13574 0,
13575 p30pfs_ha::Ncodr,
13576 p30pfs_ha::Ncodr,
13577 P30PfsHa_SPEC,
13578 crate::common::RW,
13579 >::from_register(self, 0)
13580 }
13581
13582 #[doc = "Event on Falling/Event on Rising"]
13583 #[inline(always)]
13584 pub fn eofr(
13585 self,
13586 ) -> crate::common::RegisterField<
13587 12,
13588 0x3,
13589 1,
13590 0,
13591 p30pfs_ha::Eofr,
13592 p30pfs_ha::Eofr,
13593 P30PfsHa_SPEC,
13594 crate::common::RW,
13595 > {
13596 crate::common::RegisterField::<
13597 12,
13598 0x3,
13599 1,
13600 0,
13601 p30pfs_ha::Eofr,
13602 p30pfs_ha::Eofr,
13603 P30PfsHa_SPEC,
13604 crate::common::RW,
13605 >::from_register(self, 0)
13606 }
13607
13608 #[doc = "IRQ Input Enable"]
13609 #[inline(always)]
13610 pub fn isel(
13611 self,
13612 ) -> crate::common::RegisterField<
13613 14,
13614 0x1,
13615 1,
13616 0,
13617 p30pfs_ha::Isel,
13618 p30pfs_ha::Isel,
13619 P30PfsHa_SPEC,
13620 crate::common::RW,
13621 > {
13622 crate::common::RegisterField::<
13623 14,
13624 0x1,
13625 1,
13626 0,
13627 p30pfs_ha::Isel,
13628 p30pfs_ha::Isel,
13629 P30PfsHa_SPEC,
13630 crate::common::RW,
13631 >::from_register(self, 0)
13632 }
13633
13634 #[doc = "Analog Input Enable"]
13635 #[inline(always)]
13636 pub fn asel(
13637 self,
13638 ) -> crate::common::RegisterField<
13639 15,
13640 0x1,
13641 1,
13642 0,
13643 p30pfs_ha::Asel,
13644 p30pfs_ha::Asel,
13645 P30PfsHa_SPEC,
13646 crate::common::RW,
13647 > {
13648 crate::common::RegisterField::<
13649 15,
13650 0x1,
13651 1,
13652 0,
13653 p30pfs_ha::Asel,
13654 p30pfs_ha::Asel,
13655 P30PfsHa_SPEC,
13656 crate::common::RW,
13657 >::from_register(self, 0)
13658 }
13659}
13660impl ::core::default::Default for P30PfsHa {
13661 #[inline(always)]
13662 fn default() -> P30PfsHa {
13663 <crate::RegValueT<P30PfsHa_SPEC> as RegisterValue<_>>::new(0)
13664 }
13665}
13666pub mod p30pfs_ha {
13667
13668 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13669 pub struct Podr_SPEC;
13670 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13671 impl Podr {
13672 #[doc = "Output low"]
13673 pub const _0: Self = Self::new(0);
13674
13675 #[doc = "Output high"]
13676 pub const _1: Self = Self::new(1);
13677 }
13678 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13679 pub struct Pidr_SPEC;
13680 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13681 impl Pidr {
13682 #[doc = "Low level"]
13683 pub const _0: Self = Self::new(0);
13684
13685 #[doc = "High level"]
13686 pub const _1: Self = Self::new(1);
13687 }
13688 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13689 pub struct Pdr_SPEC;
13690 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13691 impl Pdr {
13692 #[doc = "Input (functions as an input pin)"]
13693 pub const _0: Self = Self::new(0);
13694
13695 #[doc = "Output (functions as an output pin)"]
13696 pub const _1: Self = Self::new(1);
13697 }
13698 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13699 pub struct Pcr_SPEC;
13700 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13701 impl Pcr {
13702 #[doc = "Disable input pull-up"]
13703 pub const _0: Self = Self::new(0);
13704
13705 #[doc = "Enable input pull-up"]
13706 pub const _1: Self = Self::new(1);
13707 }
13708 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13709 pub struct Ncodr_SPEC;
13710 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13711 impl Ncodr {
13712 #[doc = "Output CMOS"]
13713 pub const _0: Self = Self::new(0);
13714
13715 #[doc = "Output NMOS open-drain"]
13716 pub const _1: Self = Self::new(1);
13717 }
13718 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13719 pub struct Eofr_SPEC;
13720 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
13721 impl Eofr {
13722 #[doc = "Don\'t care"]
13723 pub const _00: Self = Self::new(0);
13724
13725 #[doc = "Detect rising edge"]
13726 pub const _01: Self = Self::new(1);
13727
13728 #[doc = "Detect falling edge"]
13729 pub const _10: Self = Self::new(2);
13730
13731 #[doc = "Detect both edges"]
13732 pub const _11: Self = Self::new(3);
13733 }
13734 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13735 pub struct Isel_SPEC;
13736 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13737 impl Isel {
13738 #[doc = "Do not use as IRQn input pin"]
13739 pub const _0: Self = Self::new(0);
13740
13741 #[doc = "Use as IRQn input pin"]
13742 pub const _1: Self = Self::new(1);
13743 }
13744 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13745 pub struct Asel_SPEC;
13746 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13747 impl Asel {
13748 #[doc = "Do not use as analog pin"]
13749 pub const _0: Self = Self::new(0);
13750
13751 #[doc = "Use as analog pin"]
13752 pub const _1: Self = Self::new(1);
13753 }
13754}
13755#[doc(hidden)]
13756#[derive(Copy, Clone, Eq, PartialEq)]
13757pub struct P30PfsBy_SPEC;
13758impl crate::sealed::RegSpec for P30PfsBy_SPEC {
13759 type DataType = u8;
13760}
13761
13762#[doc = "Port 30%s Pin Function Select Register"]
13763pub type P30PfsBy = crate::RegValueT<P30PfsBy_SPEC>;
13764
13765impl P30PfsBy {
13766 #[doc = "Port Output Data"]
13767 #[inline(always)]
13768 pub fn podr(
13769 self,
13770 ) -> crate::common::RegisterField<
13771 0,
13772 0x1,
13773 1,
13774 0,
13775 p30pfs_by::Podr,
13776 p30pfs_by::Podr,
13777 P30PfsBy_SPEC,
13778 crate::common::RW,
13779 > {
13780 crate::common::RegisterField::<
13781 0,
13782 0x1,
13783 1,
13784 0,
13785 p30pfs_by::Podr,
13786 p30pfs_by::Podr,
13787 P30PfsBy_SPEC,
13788 crate::common::RW,
13789 >::from_register(self, 0)
13790 }
13791
13792 #[doc = "Port State"]
13793 #[inline(always)]
13794 pub fn pidr(
13795 self,
13796 ) -> crate::common::RegisterField<
13797 1,
13798 0x1,
13799 1,
13800 0,
13801 p30pfs_by::Pidr,
13802 p30pfs_by::Pidr,
13803 P30PfsBy_SPEC,
13804 crate::common::R,
13805 > {
13806 crate::common::RegisterField::<
13807 1,
13808 0x1,
13809 1,
13810 0,
13811 p30pfs_by::Pidr,
13812 p30pfs_by::Pidr,
13813 P30PfsBy_SPEC,
13814 crate::common::R,
13815 >::from_register(self, 0)
13816 }
13817
13818 #[doc = "Port Direction"]
13819 #[inline(always)]
13820 pub fn pdr(
13821 self,
13822 ) -> crate::common::RegisterField<
13823 2,
13824 0x1,
13825 1,
13826 0,
13827 p30pfs_by::Pdr,
13828 p30pfs_by::Pdr,
13829 P30PfsBy_SPEC,
13830 crate::common::RW,
13831 > {
13832 crate::common::RegisterField::<
13833 2,
13834 0x1,
13835 1,
13836 0,
13837 p30pfs_by::Pdr,
13838 p30pfs_by::Pdr,
13839 P30PfsBy_SPEC,
13840 crate::common::RW,
13841 >::from_register(self, 0)
13842 }
13843
13844 #[doc = "Pull-up Control"]
13845 #[inline(always)]
13846 pub fn pcr(
13847 self,
13848 ) -> crate::common::RegisterField<
13849 4,
13850 0x1,
13851 1,
13852 0,
13853 p30pfs_by::Pcr,
13854 p30pfs_by::Pcr,
13855 P30PfsBy_SPEC,
13856 crate::common::RW,
13857 > {
13858 crate::common::RegisterField::<
13859 4,
13860 0x1,
13861 1,
13862 0,
13863 p30pfs_by::Pcr,
13864 p30pfs_by::Pcr,
13865 P30PfsBy_SPEC,
13866 crate::common::RW,
13867 >::from_register(self, 0)
13868 }
13869
13870 #[doc = "N-Channel Open-Drain Control"]
13871 #[inline(always)]
13872 pub fn ncodr(
13873 self,
13874 ) -> crate::common::RegisterField<
13875 6,
13876 0x1,
13877 1,
13878 0,
13879 p30pfs_by::Ncodr,
13880 p30pfs_by::Ncodr,
13881 P30PfsBy_SPEC,
13882 crate::common::RW,
13883 > {
13884 crate::common::RegisterField::<
13885 6,
13886 0x1,
13887 1,
13888 0,
13889 p30pfs_by::Ncodr,
13890 p30pfs_by::Ncodr,
13891 P30PfsBy_SPEC,
13892 crate::common::RW,
13893 >::from_register(self, 0)
13894 }
13895}
13896impl ::core::default::Default for P30PfsBy {
13897 #[inline(always)]
13898 fn default() -> P30PfsBy {
13899 <crate::RegValueT<P30PfsBy_SPEC> as RegisterValue<_>>::new(0)
13900 }
13901}
13902pub mod p30pfs_by {
13903
13904 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13905 pub struct Podr_SPEC;
13906 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13907 impl Podr {
13908 #[doc = "Output low"]
13909 pub const _0: Self = Self::new(0);
13910
13911 #[doc = "Output high"]
13912 pub const _1: Self = Self::new(1);
13913 }
13914 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13915 pub struct Pidr_SPEC;
13916 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13917 impl Pidr {
13918 #[doc = "Low level"]
13919 pub const _0: Self = Self::new(0);
13920
13921 #[doc = "High level"]
13922 pub const _1: Self = Self::new(1);
13923 }
13924 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13925 pub struct Pdr_SPEC;
13926 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13927 impl Pdr {
13928 #[doc = "Input (functions as an input pin)"]
13929 pub const _0: Self = Self::new(0);
13930
13931 #[doc = "Output (functions as an output pin)"]
13932 pub const _1: Self = Self::new(1);
13933 }
13934 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13935 pub struct Pcr_SPEC;
13936 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13937 impl Pcr {
13938 #[doc = "Disable input pull-up"]
13939 pub const _0: Self = Self::new(0);
13940
13941 #[doc = "Enable input pull-up"]
13942 pub const _1: Self = Self::new(1);
13943 }
13944 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13945 pub struct Ncodr_SPEC;
13946 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13947 impl Ncodr {
13948 #[doc = "Output CMOS"]
13949 pub const _0: Self = Self::new(0);
13950
13951 #[doc = "Output NMOS open-drain"]
13952 pub const _1: Self = Self::new(1);
13953 }
13954}
13955#[doc(hidden)]
13956#[derive(Copy, Clone, Eq, PartialEq)]
13957pub struct P3Pfs_SPEC;
13958impl crate::sealed::RegSpec for P3Pfs_SPEC {
13959 type DataType = u32;
13960}
13961
13962#[doc = "Port 3%s Pin Function Select Register"]
13963pub type P3Pfs = crate::RegValueT<P3Pfs_SPEC>;
13964
13965impl P3Pfs {
13966 #[doc = "Port Output Data"]
13967 #[inline(always)]
13968 pub fn podr(
13969 self,
13970 ) -> crate::common::RegisterField<
13971 0,
13972 0x1,
13973 1,
13974 0,
13975 p3pfs::Podr,
13976 p3pfs::Podr,
13977 P3Pfs_SPEC,
13978 crate::common::RW,
13979 > {
13980 crate::common::RegisterField::<
13981 0,
13982 0x1,
13983 1,
13984 0,
13985 p3pfs::Podr,
13986 p3pfs::Podr,
13987 P3Pfs_SPEC,
13988 crate::common::RW,
13989 >::from_register(self, 0)
13990 }
13991
13992 #[doc = "Port State"]
13993 #[inline(always)]
13994 pub fn pidr(
13995 self,
13996 ) -> crate::common::RegisterField<
13997 1,
13998 0x1,
13999 1,
14000 0,
14001 p3pfs::Pidr,
14002 p3pfs::Pidr,
14003 P3Pfs_SPEC,
14004 crate::common::R,
14005 > {
14006 crate::common::RegisterField::<
14007 1,
14008 0x1,
14009 1,
14010 0,
14011 p3pfs::Pidr,
14012 p3pfs::Pidr,
14013 P3Pfs_SPEC,
14014 crate::common::R,
14015 >::from_register(self, 0)
14016 }
14017
14018 #[doc = "Port Direction"]
14019 #[inline(always)]
14020 pub fn pdr(
14021 self,
14022 ) -> crate::common::RegisterField<
14023 2,
14024 0x1,
14025 1,
14026 0,
14027 p3pfs::Pdr,
14028 p3pfs::Pdr,
14029 P3Pfs_SPEC,
14030 crate::common::RW,
14031 > {
14032 crate::common::RegisterField::<
14033 2,
14034 0x1,
14035 1,
14036 0,
14037 p3pfs::Pdr,
14038 p3pfs::Pdr,
14039 P3Pfs_SPEC,
14040 crate::common::RW,
14041 >::from_register(self, 0)
14042 }
14043
14044 #[doc = "Pull-up Control"]
14045 #[inline(always)]
14046 pub fn pcr(
14047 self,
14048 ) -> crate::common::RegisterField<
14049 4,
14050 0x1,
14051 1,
14052 0,
14053 p3pfs::Pcr,
14054 p3pfs::Pcr,
14055 P3Pfs_SPEC,
14056 crate::common::RW,
14057 > {
14058 crate::common::RegisterField::<
14059 4,
14060 0x1,
14061 1,
14062 0,
14063 p3pfs::Pcr,
14064 p3pfs::Pcr,
14065 P3Pfs_SPEC,
14066 crate::common::RW,
14067 >::from_register(self, 0)
14068 }
14069
14070 #[doc = "N-Channel Open-Drain Control"]
14071 #[inline(always)]
14072 pub fn ncodr(
14073 self,
14074 ) -> crate::common::RegisterField<
14075 6,
14076 0x1,
14077 1,
14078 0,
14079 p3pfs::Ncodr,
14080 p3pfs::Ncodr,
14081 P3Pfs_SPEC,
14082 crate::common::RW,
14083 > {
14084 crate::common::RegisterField::<
14085 6,
14086 0x1,
14087 1,
14088 0,
14089 p3pfs::Ncodr,
14090 p3pfs::Ncodr,
14091 P3Pfs_SPEC,
14092 crate::common::RW,
14093 >::from_register(self, 0)
14094 }
14095
14096 #[doc = "Event on Falling/Event on Rising"]
14097 #[inline(always)]
14098 pub fn eofr(
14099 self,
14100 ) -> crate::common::RegisterField<
14101 12,
14102 0x3,
14103 1,
14104 0,
14105 p3pfs::Eofr,
14106 p3pfs::Eofr,
14107 P3Pfs_SPEC,
14108 crate::common::RW,
14109 > {
14110 crate::common::RegisterField::<
14111 12,
14112 0x3,
14113 1,
14114 0,
14115 p3pfs::Eofr,
14116 p3pfs::Eofr,
14117 P3Pfs_SPEC,
14118 crate::common::RW,
14119 >::from_register(self, 0)
14120 }
14121
14122 #[doc = "IRQ Input Enable"]
14123 #[inline(always)]
14124 pub fn isel(
14125 self,
14126 ) -> crate::common::RegisterField<
14127 14,
14128 0x1,
14129 1,
14130 0,
14131 p3pfs::Isel,
14132 p3pfs::Isel,
14133 P3Pfs_SPEC,
14134 crate::common::RW,
14135 > {
14136 crate::common::RegisterField::<
14137 14,
14138 0x1,
14139 1,
14140 0,
14141 p3pfs::Isel,
14142 p3pfs::Isel,
14143 P3Pfs_SPEC,
14144 crate::common::RW,
14145 >::from_register(self, 0)
14146 }
14147
14148 #[doc = "Analog Input Enable"]
14149 #[inline(always)]
14150 pub fn asel(
14151 self,
14152 ) -> crate::common::RegisterField<
14153 15,
14154 0x1,
14155 1,
14156 0,
14157 p3pfs::Asel,
14158 p3pfs::Asel,
14159 P3Pfs_SPEC,
14160 crate::common::RW,
14161 > {
14162 crate::common::RegisterField::<
14163 15,
14164 0x1,
14165 1,
14166 0,
14167 p3pfs::Asel,
14168 p3pfs::Asel,
14169 P3Pfs_SPEC,
14170 crate::common::RW,
14171 >::from_register(self, 0)
14172 }
14173
14174 #[doc = "Port Mode Control"]
14175 #[inline(always)]
14176 pub fn pmr(
14177 self,
14178 ) -> crate::common::RegisterField<
14179 16,
14180 0x1,
14181 1,
14182 0,
14183 p3pfs::Pmr,
14184 p3pfs::Pmr,
14185 P3Pfs_SPEC,
14186 crate::common::RW,
14187 > {
14188 crate::common::RegisterField::<
14189 16,
14190 0x1,
14191 1,
14192 0,
14193 p3pfs::Pmr,
14194 p3pfs::Pmr,
14195 P3Pfs_SPEC,
14196 crate::common::RW,
14197 >::from_register(self, 0)
14198 }
14199
14200 #[doc = "Peripheral Select"]
14201 #[inline(always)]
14202 pub fn psel(
14203 self,
14204 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P3Pfs_SPEC, crate::common::RW> {
14205 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P3Pfs_SPEC,crate::common::RW>::from_register(self,0)
14206 }
14207}
14208impl ::core::default::Default for P3Pfs {
14209 #[inline(always)]
14210 fn default() -> P3Pfs {
14211 <crate::RegValueT<P3Pfs_SPEC> as RegisterValue<_>>::new(0)
14212 }
14213}
14214pub mod p3pfs {
14215
14216 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14217 pub struct Podr_SPEC;
14218 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14219 impl Podr {
14220 #[doc = "Output low"]
14221 pub const _0: Self = Self::new(0);
14222
14223 #[doc = "Output high"]
14224 pub const _1: Self = Self::new(1);
14225 }
14226 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14227 pub struct Pidr_SPEC;
14228 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14229 impl Pidr {
14230 #[doc = "Low level"]
14231 pub const _0: Self = Self::new(0);
14232
14233 #[doc = "High level"]
14234 pub const _1: Self = Self::new(1);
14235 }
14236 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14237 pub struct Pdr_SPEC;
14238 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14239 impl Pdr {
14240 #[doc = "Input (functions as an input pin)"]
14241 pub const _0: Self = Self::new(0);
14242
14243 #[doc = "Output (functions as an output pin)"]
14244 pub const _1: Self = Self::new(1);
14245 }
14246 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14247 pub struct Pcr_SPEC;
14248 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14249 impl Pcr {
14250 #[doc = "Disable input pull-up"]
14251 pub const _0: Self = Self::new(0);
14252
14253 #[doc = "Enable input pull-up"]
14254 pub const _1: Self = Self::new(1);
14255 }
14256 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14257 pub struct Ncodr_SPEC;
14258 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14259 impl Ncodr {
14260 #[doc = "Output CMOS"]
14261 pub const _0: Self = Self::new(0);
14262
14263 #[doc = "Output NMOS open-drain"]
14264 pub const _1: Self = Self::new(1);
14265 }
14266 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14267 pub struct Eofr_SPEC;
14268 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
14269 impl Eofr {
14270 #[doc = "Don\'t care"]
14271 pub const _00: Self = Self::new(0);
14272
14273 #[doc = "Detect rising edge"]
14274 pub const _01: Self = Self::new(1);
14275
14276 #[doc = "Detect falling edge"]
14277 pub const _10: Self = Self::new(2);
14278
14279 #[doc = "Detect both edges"]
14280 pub const _11: Self = Self::new(3);
14281 }
14282 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14283 pub struct Isel_SPEC;
14284 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14285 impl Isel {
14286 #[doc = "Do not use as IRQn input pin"]
14287 pub const _0: Self = Self::new(0);
14288
14289 #[doc = "Use as IRQn input pin"]
14290 pub const _1: Self = Self::new(1);
14291 }
14292 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14293 pub struct Asel_SPEC;
14294 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14295 impl Asel {
14296 #[doc = "Do not use as analog pin"]
14297 pub const _0: Self = Self::new(0);
14298
14299 #[doc = "Use as analog pin"]
14300 pub const _1: Self = Self::new(1);
14301 }
14302 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14303 pub struct Pmr_SPEC;
14304 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
14305 impl Pmr {
14306 #[doc = "Use as general I/O pin"]
14307 pub const _0: Self = Self::new(0);
14308
14309 #[doc = "Use as I/O port for peripheral functions"]
14310 pub const _1: Self = Self::new(1);
14311 }
14312}
14313#[doc(hidden)]
14314#[derive(Copy, Clone, Eq, PartialEq)]
14315pub struct P3PfsHa_SPEC;
14316impl crate::sealed::RegSpec for P3PfsHa_SPEC {
14317 type DataType = u16;
14318}
14319
14320#[doc = "Port 3%s Pin Function Select Register"]
14321pub type P3PfsHa = crate::RegValueT<P3PfsHa_SPEC>;
14322
14323impl P3PfsHa {
14324 #[doc = "Port Output Data"]
14325 #[inline(always)]
14326 pub fn podr(
14327 self,
14328 ) -> crate::common::RegisterField<
14329 0,
14330 0x1,
14331 1,
14332 0,
14333 p3pfs_ha::Podr,
14334 p3pfs_ha::Podr,
14335 P3PfsHa_SPEC,
14336 crate::common::RW,
14337 > {
14338 crate::common::RegisterField::<
14339 0,
14340 0x1,
14341 1,
14342 0,
14343 p3pfs_ha::Podr,
14344 p3pfs_ha::Podr,
14345 P3PfsHa_SPEC,
14346 crate::common::RW,
14347 >::from_register(self, 0)
14348 }
14349
14350 #[doc = "Port State"]
14351 #[inline(always)]
14352 pub fn pidr(
14353 self,
14354 ) -> crate::common::RegisterField<
14355 1,
14356 0x1,
14357 1,
14358 0,
14359 p3pfs_ha::Pidr,
14360 p3pfs_ha::Pidr,
14361 P3PfsHa_SPEC,
14362 crate::common::R,
14363 > {
14364 crate::common::RegisterField::<
14365 1,
14366 0x1,
14367 1,
14368 0,
14369 p3pfs_ha::Pidr,
14370 p3pfs_ha::Pidr,
14371 P3PfsHa_SPEC,
14372 crate::common::R,
14373 >::from_register(self, 0)
14374 }
14375
14376 #[doc = "Port Direction"]
14377 #[inline(always)]
14378 pub fn pdr(
14379 self,
14380 ) -> crate::common::RegisterField<
14381 2,
14382 0x1,
14383 1,
14384 0,
14385 p3pfs_ha::Pdr,
14386 p3pfs_ha::Pdr,
14387 P3PfsHa_SPEC,
14388 crate::common::RW,
14389 > {
14390 crate::common::RegisterField::<
14391 2,
14392 0x1,
14393 1,
14394 0,
14395 p3pfs_ha::Pdr,
14396 p3pfs_ha::Pdr,
14397 P3PfsHa_SPEC,
14398 crate::common::RW,
14399 >::from_register(self, 0)
14400 }
14401
14402 #[doc = "Pull-up Control"]
14403 #[inline(always)]
14404 pub fn pcr(
14405 self,
14406 ) -> crate::common::RegisterField<
14407 4,
14408 0x1,
14409 1,
14410 0,
14411 p3pfs_ha::Pcr,
14412 p3pfs_ha::Pcr,
14413 P3PfsHa_SPEC,
14414 crate::common::RW,
14415 > {
14416 crate::common::RegisterField::<
14417 4,
14418 0x1,
14419 1,
14420 0,
14421 p3pfs_ha::Pcr,
14422 p3pfs_ha::Pcr,
14423 P3PfsHa_SPEC,
14424 crate::common::RW,
14425 >::from_register(self, 0)
14426 }
14427
14428 #[doc = "N-Channel Open-Drain Control"]
14429 #[inline(always)]
14430 pub fn ncodr(
14431 self,
14432 ) -> crate::common::RegisterField<
14433 6,
14434 0x1,
14435 1,
14436 0,
14437 p3pfs_ha::Ncodr,
14438 p3pfs_ha::Ncodr,
14439 P3PfsHa_SPEC,
14440 crate::common::RW,
14441 > {
14442 crate::common::RegisterField::<
14443 6,
14444 0x1,
14445 1,
14446 0,
14447 p3pfs_ha::Ncodr,
14448 p3pfs_ha::Ncodr,
14449 P3PfsHa_SPEC,
14450 crate::common::RW,
14451 >::from_register(self, 0)
14452 }
14453
14454 #[doc = "Event on Falling/Event on Rising"]
14455 #[inline(always)]
14456 pub fn eofr(
14457 self,
14458 ) -> crate::common::RegisterField<
14459 12,
14460 0x3,
14461 1,
14462 0,
14463 p3pfs_ha::Eofr,
14464 p3pfs_ha::Eofr,
14465 P3PfsHa_SPEC,
14466 crate::common::RW,
14467 > {
14468 crate::common::RegisterField::<
14469 12,
14470 0x3,
14471 1,
14472 0,
14473 p3pfs_ha::Eofr,
14474 p3pfs_ha::Eofr,
14475 P3PfsHa_SPEC,
14476 crate::common::RW,
14477 >::from_register(self, 0)
14478 }
14479
14480 #[doc = "IRQ Input Enable"]
14481 #[inline(always)]
14482 pub fn isel(
14483 self,
14484 ) -> crate::common::RegisterField<
14485 14,
14486 0x1,
14487 1,
14488 0,
14489 p3pfs_ha::Isel,
14490 p3pfs_ha::Isel,
14491 P3PfsHa_SPEC,
14492 crate::common::RW,
14493 > {
14494 crate::common::RegisterField::<
14495 14,
14496 0x1,
14497 1,
14498 0,
14499 p3pfs_ha::Isel,
14500 p3pfs_ha::Isel,
14501 P3PfsHa_SPEC,
14502 crate::common::RW,
14503 >::from_register(self, 0)
14504 }
14505
14506 #[doc = "Analog Input Enable"]
14507 #[inline(always)]
14508 pub fn asel(
14509 self,
14510 ) -> crate::common::RegisterField<
14511 15,
14512 0x1,
14513 1,
14514 0,
14515 p3pfs_ha::Asel,
14516 p3pfs_ha::Asel,
14517 P3PfsHa_SPEC,
14518 crate::common::RW,
14519 > {
14520 crate::common::RegisterField::<
14521 15,
14522 0x1,
14523 1,
14524 0,
14525 p3pfs_ha::Asel,
14526 p3pfs_ha::Asel,
14527 P3PfsHa_SPEC,
14528 crate::common::RW,
14529 >::from_register(self, 0)
14530 }
14531}
14532impl ::core::default::Default for P3PfsHa {
14533 #[inline(always)]
14534 fn default() -> P3PfsHa {
14535 <crate::RegValueT<P3PfsHa_SPEC> as RegisterValue<_>>::new(0)
14536 }
14537}
14538pub mod p3pfs_ha {
14539
14540 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14541 pub struct Podr_SPEC;
14542 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14543 impl Podr {
14544 #[doc = "Output low"]
14545 pub const _0: Self = Self::new(0);
14546
14547 #[doc = "Output high"]
14548 pub const _1: Self = Self::new(1);
14549 }
14550 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14551 pub struct Pidr_SPEC;
14552 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14553 impl Pidr {
14554 #[doc = "Low level"]
14555 pub const _0: Self = Self::new(0);
14556
14557 #[doc = "High level"]
14558 pub const _1: Self = Self::new(1);
14559 }
14560 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14561 pub struct Pdr_SPEC;
14562 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14563 impl Pdr {
14564 #[doc = "Input (functions as an input pin)"]
14565 pub const _0: Self = Self::new(0);
14566
14567 #[doc = "Output (functions as an output pin)"]
14568 pub const _1: Self = Self::new(1);
14569 }
14570 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14571 pub struct Pcr_SPEC;
14572 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14573 impl Pcr {
14574 #[doc = "Disable input pull-up"]
14575 pub const _0: Self = Self::new(0);
14576
14577 #[doc = "Enable input pull-up"]
14578 pub const _1: Self = Self::new(1);
14579 }
14580 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14581 pub struct Ncodr_SPEC;
14582 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14583 impl Ncodr {
14584 #[doc = "Output CMOS"]
14585 pub const _0: Self = Self::new(0);
14586
14587 #[doc = "Output NMOS open-drain"]
14588 pub const _1: Self = Self::new(1);
14589 }
14590 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14591 pub struct Eofr_SPEC;
14592 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
14593 impl Eofr {
14594 #[doc = "Don\'t care"]
14595 pub const _00: Self = Self::new(0);
14596
14597 #[doc = "Detect rising edge"]
14598 pub const _01: Self = Self::new(1);
14599
14600 #[doc = "Detect falling edge"]
14601 pub const _10: Self = Self::new(2);
14602
14603 #[doc = "Detect both edges"]
14604 pub const _11: Self = Self::new(3);
14605 }
14606 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14607 pub struct Isel_SPEC;
14608 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14609 impl Isel {
14610 #[doc = "Do not use as IRQn input pin"]
14611 pub const _0: Self = Self::new(0);
14612
14613 #[doc = "Use as IRQn input pin"]
14614 pub const _1: Self = Self::new(1);
14615 }
14616 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14617 pub struct Asel_SPEC;
14618 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14619 impl Asel {
14620 #[doc = "Do not use as analog pin"]
14621 pub const _0: Self = Self::new(0);
14622
14623 #[doc = "Use as analog pin"]
14624 pub const _1: Self = Self::new(1);
14625 }
14626}
14627#[doc(hidden)]
14628#[derive(Copy, Clone, Eq, PartialEq)]
14629pub struct P3PfsBy_SPEC;
14630impl crate::sealed::RegSpec for P3PfsBy_SPEC {
14631 type DataType = u8;
14632}
14633
14634#[doc = "Port 3%s Pin Function Select Register"]
14635pub type P3PfsBy = crate::RegValueT<P3PfsBy_SPEC>;
14636
14637impl P3PfsBy {
14638 #[doc = "Port Output Data"]
14639 #[inline(always)]
14640 pub fn podr(
14641 self,
14642 ) -> crate::common::RegisterField<
14643 0,
14644 0x1,
14645 1,
14646 0,
14647 p3pfs_by::Podr,
14648 p3pfs_by::Podr,
14649 P3PfsBy_SPEC,
14650 crate::common::RW,
14651 > {
14652 crate::common::RegisterField::<
14653 0,
14654 0x1,
14655 1,
14656 0,
14657 p3pfs_by::Podr,
14658 p3pfs_by::Podr,
14659 P3PfsBy_SPEC,
14660 crate::common::RW,
14661 >::from_register(self, 0)
14662 }
14663
14664 #[doc = "Port State"]
14665 #[inline(always)]
14666 pub fn pidr(
14667 self,
14668 ) -> crate::common::RegisterField<
14669 1,
14670 0x1,
14671 1,
14672 0,
14673 p3pfs_by::Pidr,
14674 p3pfs_by::Pidr,
14675 P3PfsBy_SPEC,
14676 crate::common::R,
14677 > {
14678 crate::common::RegisterField::<
14679 1,
14680 0x1,
14681 1,
14682 0,
14683 p3pfs_by::Pidr,
14684 p3pfs_by::Pidr,
14685 P3PfsBy_SPEC,
14686 crate::common::R,
14687 >::from_register(self, 0)
14688 }
14689
14690 #[doc = "Port Direction"]
14691 #[inline(always)]
14692 pub fn pdr(
14693 self,
14694 ) -> crate::common::RegisterField<
14695 2,
14696 0x1,
14697 1,
14698 0,
14699 p3pfs_by::Pdr,
14700 p3pfs_by::Pdr,
14701 P3PfsBy_SPEC,
14702 crate::common::RW,
14703 > {
14704 crate::common::RegisterField::<
14705 2,
14706 0x1,
14707 1,
14708 0,
14709 p3pfs_by::Pdr,
14710 p3pfs_by::Pdr,
14711 P3PfsBy_SPEC,
14712 crate::common::RW,
14713 >::from_register(self, 0)
14714 }
14715
14716 #[doc = "Pull-up Control"]
14717 #[inline(always)]
14718 pub fn pcr(
14719 self,
14720 ) -> crate::common::RegisterField<
14721 4,
14722 0x1,
14723 1,
14724 0,
14725 p3pfs_by::Pcr,
14726 p3pfs_by::Pcr,
14727 P3PfsBy_SPEC,
14728 crate::common::RW,
14729 > {
14730 crate::common::RegisterField::<
14731 4,
14732 0x1,
14733 1,
14734 0,
14735 p3pfs_by::Pcr,
14736 p3pfs_by::Pcr,
14737 P3PfsBy_SPEC,
14738 crate::common::RW,
14739 >::from_register(self, 0)
14740 }
14741
14742 #[doc = "N-Channel Open-Drain Control"]
14743 #[inline(always)]
14744 pub fn ncodr(
14745 self,
14746 ) -> crate::common::RegisterField<
14747 6,
14748 0x1,
14749 1,
14750 0,
14751 p3pfs_by::Ncodr,
14752 p3pfs_by::Ncodr,
14753 P3PfsBy_SPEC,
14754 crate::common::RW,
14755 > {
14756 crate::common::RegisterField::<
14757 6,
14758 0x1,
14759 1,
14760 0,
14761 p3pfs_by::Ncodr,
14762 p3pfs_by::Ncodr,
14763 P3PfsBy_SPEC,
14764 crate::common::RW,
14765 >::from_register(self, 0)
14766 }
14767}
14768impl ::core::default::Default for P3PfsBy {
14769 #[inline(always)]
14770 fn default() -> P3PfsBy {
14771 <crate::RegValueT<P3PfsBy_SPEC> as RegisterValue<_>>::new(0)
14772 }
14773}
14774pub mod p3pfs_by {
14775
14776 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14777 pub struct Podr_SPEC;
14778 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14779 impl Podr {
14780 #[doc = "Output low"]
14781 pub const _0: Self = Self::new(0);
14782
14783 #[doc = "Output high"]
14784 pub const _1: Self = Self::new(1);
14785 }
14786 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14787 pub struct Pidr_SPEC;
14788 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14789 impl Pidr {
14790 #[doc = "Low level"]
14791 pub const _0: Self = Self::new(0);
14792
14793 #[doc = "High level"]
14794 pub const _1: Self = Self::new(1);
14795 }
14796 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14797 pub struct Pdr_SPEC;
14798 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14799 impl Pdr {
14800 #[doc = "Input (functions as an input pin)"]
14801 pub const _0: Self = Self::new(0);
14802
14803 #[doc = "Output (functions as an output pin)"]
14804 pub const _1: Self = Self::new(1);
14805 }
14806 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14807 pub struct Pcr_SPEC;
14808 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14809 impl Pcr {
14810 #[doc = "Disable input pull-up"]
14811 pub const _0: Self = Self::new(0);
14812
14813 #[doc = "Enable input pull-up"]
14814 pub const _1: Self = Self::new(1);
14815 }
14816 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14817 pub struct Ncodr_SPEC;
14818 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14819 impl Ncodr {
14820 #[doc = "Output CMOS"]
14821 pub const _0: Self = Self::new(0);
14822
14823 #[doc = "Output NMOS open-drain"]
14824 pub const _1: Self = Self::new(1);
14825 }
14826}
14827#[doc(hidden)]
14828#[derive(Copy, Clone, Eq, PartialEq)]
14829pub struct P40Pfs_SPEC;
14830impl crate::sealed::RegSpec for P40Pfs_SPEC {
14831 type DataType = u32;
14832}
14833
14834#[doc = "Port 40%s Pin Function Select Register"]
14835pub type P40Pfs = crate::RegValueT<P40Pfs_SPEC>;
14836
14837impl P40Pfs {
14838 #[doc = "Port Output Data"]
14839 #[inline(always)]
14840 pub fn podr(
14841 self,
14842 ) -> crate::common::RegisterField<
14843 0,
14844 0x1,
14845 1,
14846 0,
14847 p40pfs::Podr,
14848 p40pfs::Podr,
14849 P40Pfs_SPEC,
14850 crate::common::RW,
14851 > {
14852 crate::common::RegisterField::<
14853 0,
14854 0x1,
14855 1,
14856 0,
14857 p40pfs::Podr,
14858 p40pfs::Podr,
14859 P40Pfs_SPEC,
14860 crate::common::RW,
14861 >::from_register(self, 0)
14862 }
14863
14864 #[doc = "Port State"]
14865 #[inline(always)]
14866 pub fn pidr(
14867 self,
14868 ) -> crate::common::RegisterField<
14869 1,
14870 0x1,
14871 1,
14872 0,
14873 p40pfs::Pidr,
14874 p40pfs::Pidr,
14875 P40Pfs_SPEC,
14876 crate::common::R,
14877 > {
14878 crate::common::RegisterField::<
14879 1,
14880 0x1,
14881 1,
14882 0,
14883 p40pfs::Pidr,
14884 p40pfs::Pidr,
14885 P40Pfs_SPEC,
14886 crate::common::R,
14887 >::from_register(self, 0)
14888 }
14889
14890 #[doc = "Port Direction"]
14891 #[inline(always)]
14892 pub fn pdr(
14893 self,
14894 ) -> crate::common::RegisterField<
14895 2,
14896 0x1,
14897 1,
14898 0,
14899 p40pfs::Pdr,
14900 p40pfs::Pdr,
14901 P40Pfs_SPEC,
14902 crate::common::RW,
14903 > {
14904 crate::common::RegisterField::<
14905 2,
14906 0x1,
14907 1,
14908 0,
14909 p40pfs::Pdr,
14910 p40pfs::Pdr,
14911 P40Pfs_SPEC,
14912 crate::common::RW,
14913 >::from_register(self, 0)
14914 }
14915
14916 #[doc = "Pull-up Control"]
14917 #[inline(always)]
14918 pub fn pcr(
14919 self,
14920 ) -> crate::common::RegisterField<
14921 4,
14922 0x1,
14923 1,
14924 0,
14925 p40pfs::Pcr,
14926 p40pfs::Pcr,
14927 P40Pfs_SPEC,
14928 crate::common::RW,
14929 > {
14930 crate::common::RegisterField::<
14931 4,
14932 0x1,
14933 1,
14934 0,
14935 p40pfs::Pcr,
14936 p40pfs::Pcr,
14937 P40Pfs_SPEC,
14938 crate::common::RW,
14939 >::from_register(self, 0)
14940 }
14941
14942 #[doc = "N-Channel Open-Drain Control"]
14943 #[inline(always)]
14944 pub fn ncodr(
14945 self,
14946 ) -> crate::common::RegisterField<
14947 6,
14948 0x1,
14949 1,
14950 0,
14951 p40pfs::Ncodr,
14952 p40pfs::Ncodr,
14953 P40Pfs_SPEC,
14954 crate::common::RW,
14955 > {
14956 crate::common::RegisterField::<
14957 6,
14958 0x1,
14959 1,
14960 0,
14961 p40pfs::Ncodr,
14962 p40pfs::Ncodr,
14963 P40Pfs_SPEC,
14964 crate::common::RW,
14965 >::from_register(self, 0)
14966 }
14967
14968 #[doc = "Event on Falling/Event on Rising"]
14969 #[inline(always)]
14970 pub fn eofr(
14971 self,
14972 ) -> crate::common::RegisterField<
14973 12,
14974 0x3,
14975 1,
14976 0,
14977 p40pfs::Eofr,
14978 p40pfs::Eofr,
14979 P40Pfs_SPEC,
14980 crate::common::RW,
14981 > {
14982 crate::common::RegisterField::<
14983 12,
14984 0x3,
14985 1,
14986 0,
14987 p40pfs::Eofr,
14988 p40pfs::Eofr,
14989 P40Pfs_SPEC,
14990 crate::common::RW,
14991 >::from_register(self, 0)
14992 }
14993
14994 #[doc = "IRQ Input Enable"]
14995 #[inline(always)]
14996 pub fn isel(
14997 self,
14998 ) -> crate::common::RegisterField<
14999 14,
15000 0x1,
15001 1,
15002 0,
15003 p40pfs::Isel,
15004 p40pfs::Isel,
15005 P40Pfs_SPEC,
15006 crate::common::RW,
15007 > {
15008 crate::common::RegisterField::<
15009 14,
15010 0x1,
15011 1,
15012 0,
15013 p40pfs::Isel,
15014 p40pfs::Isel,
15015 P40Pfs_SPEC,
15016 crate::common::RW,
15017 >::from_register(self, 0)
15018 }
15019
15020 #[doc = "Analog Input Enable"]
15021 #[inline(always)]
15022 pub fn asel(
15023 self,
15024 ) -> crate::common::RegisterField<
15025 15,
15026 0x1,
15027 1,
15028 0,
15029 p40pfs::Asel,
15030 p40pfs::Asel,
15031 P40Pfs_SPEC,
15032 crate::common::RW,
15033 > {
15034 crate::common::RegisterField::<
15035 15,
15036 0x1,
15037 1,
15038 0,
15039 p40pfs::Asel,
15040 p40pfs::Asel,
15041 P40Pfs_SPEC,
15042 crate::common::RW,
15043 >::from_register(self, 0)
15044 }
15045
15046 #[doc = "Port Mode Control"]
15047 #[inline(always)]
15048 pub fn pmr(
15049 self,
15050 ) -> crate::common::RegisterField<
15051 16,
15052 0x1,
15053 1,
15054 0,
15055 p40pfs::Pmr,
15056 p40pfs::Pmr,
15057 P40Pfs_SPEC,
15058 crate::common::RW,
15059 > {
15060 crate::common::RegisterField::<
15061 16,
15062 0x1,
15063 1,
15064 0,
15065 p40pfs::Pmr,
15066 p40pfs::Pmr,
15067 P40Pfs_SPEC,
15068 crate::common::RW,
15069 >::from_register(self, 0)
15070 }
15071
15072 #[doc = "Peripheral Select"]
15073 #[inline(always)]
15074 pub fn psel(
15075 self,
15076 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P40Pfs_SPEC, crate::common::RW> {
15077 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P40Pfs_SPEC,crate::common::RW>::from_register(self,0)
15078 }
15079}
15080impl ::core::default::Default for P40Pfs {
15081 #[inline(always)]
15082 fn default() -> P40Pfs {
15083 <crate::RegValueT<P40Pfs_SPEC> as RegisterValue<_>>::new(0)
15084 }
15085}
15086pub mod p40pfs {
15087
15088 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15089 pub struct Podr_SPEC;
15090 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15091 impl Podr {
15092 #[doc = "Output low"]
15093 pub const _0: Self = Self::new(0);
15094
15095 #[doc = "Output high"]
15096 pub const _1: Self = Self::new(1);
15097 }
15098 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15099 pub struct Pidr_SPEC;
15100 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15101 impl Pidr {
15102 #[doc = "Low level"]
15103 pub const _0: Self = Self::new(0);
15104
15105 #[doc = "High level"]
15106 pub const _1: Self = Self::new(1);
15107 }
15108 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15109 pub struct Pdr_SPEC;
15110 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15111 impl Pdr {
15112 #[doc = "Input (functions as an input pin)"]
15113 pub const _0: Self = Self::new(0);
15114
15115 #[doc = "Output (functions as an output pin)"]
15116 pub const _1: Self = Self::new(1);
15117 }
15118 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15119 pub struct Pcr_SPEC;
15120 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15121 impl Pcr {
15122 #[doc = "Disable input pull-up"]
15123 pub const _0: Self = Self::new(0);
15124
15125 #[doc = "Enable input pull-up"]
15126 pub const _1: Self = Self::new(1);
15127 }
15128 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15129 pub struct Ncodr_SPEC;
15130 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15131 impl Ncodr {
15132 #[doc = "Output CMOS"]
15133 pub const _0: Self = Self::new(0);
15134
15135 #[doc = "Output NMOS open-drain"]
15136 pub const _1: Self = Self::new(1);
15137 }
15138 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15139 pub struct Eofr_SPEC;
15140 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
15141 impl Eofr {
15142 #[doc = "Don\'t care"]
15143 pub const _00: Self = Self::new(0);
15144
15145 #[doc = "Detect rising edge"]
15146 pub const _01: Self = Self::new(1);
15147
15148 #[doc = "Detect falling edge"]
15149 pub const _10: Self = Self::new(2);
15150
15151 #[doc = "Detect both edges"]
15152 pub const _11: Self = Self::new(3);
15153 }
15154 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15155 pub struct Isel_SPEC;
15156 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15157 impl Isel {
15158 #[doc = "Do not use as IRQn input pin"]
15159 pub const _0: Self = Self::new(0);
15160
15161 #[doc = "Use as IRQn input pin"]
15162 pub const _1: Self = Self::new(1);
15163 }
15164 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15165 pub struct Asel_SPEC;
15166 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15167 impl Asel {
15168 #[doc = "Do not use as analog pin"]
15169 pub const _0: Self = Self::new(0);
15170
15171 #[doc = "Use as analog pin"]
15172 pub const _1: Self = Self::new(1);
15173 }
15174 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15175 pub struct Pmr_SPEC;
15176 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
15177 impl Pmr {
15178 #[doc = "Use as general I/O pin"]
15179 pub const _0: Self = Self::new(0);
15180
15181 #[doc = "Use as I/O port for peripheral functions"]
15182 pub const _1: Self = Self::new(1);
15183 }
15184}
15185#[doc(hidden)]
15186#[derive(Copy, Clone, Eq, PartialEq)]
15187pub struct P40PfsHa_SPEC;
15188impl crate::sealed::RegSpec for P40PfsHa_SPEC {
15189 type DataType = u16;
15190}
15191
15192#[doc = "Port 40%s Pin Function Select Register"]
15193pub type P40PfsHa = crate::RegValueT<P40PfsHa_SPEC>;
15194
15195impl P40PfsHa {
15196 #[doc = "Port Output Data"]
15197 #[inline(always)]
15198 pub fn podr(
15199 self,
15200 ) -> crate::common::RegisterField<
15201 0,
15202 0x1,
15203 1,
15204 0,
15205 p40pfs_ha::Podr,
15206 p40pfs_ha::Podr,
15207 P40PfsHa_SPEC,
15208 crate::common::RW,
15209 > {
15210 crate::common::RegisterField::<
15211 0,
15212 0x1,
15213 1,
15214 0,
15215 p40pfs_ha::Podr,
15216 p40pfs_ha::Podr,
15217 P40PfsHa_SPEC,
15218 crate::common::RW,
15219 >::from_register(self, 0)
15220 }
15221
15222 #[doc = "Port State"]
15223 #[inline(always)]
15224 pub fn pidr(
15225 self,
15226 ) -> crate::common::RegisterField<
15227 1,
15228 0x1,
15229 1,
15230 0,
15231 p40pfs_ha::Pidr,
15232 p40pfs_ha::Pidr,
15233 P40PfsHa_SPEC,
15234 crate::common::R,
15235 > {
15236 crate::common::RegisterField::<
15237 1,
15238 0x1,
15239 1,
15240 0,
15241 p40pfs_ha::Pidr,
15242 p40pfs_ha::Pidr,
15243 P40PfsHa_SPEC,
15244 crate::common::R,
15245 >::from_register(self, 0)
15246 }
15247
15248 #[doc = "Port Direction"]
15249 #[inline(always)]
15250 pub fn pdr(
15251 self,
15252 ) -> crate::common::RegisterField<
15253 2,
15254 0x1,
15255 1,
15256 0,
15257 p40pfs_ha::Pdr,
15258 p40pfs_ha::Pdr,
15259 P40PfsHa_SPEC,
15260 crate::common::RW,
15261 > {
15262 crate::common::RegisterField::<
15263 2,
15264 0x1,
15265 1,
15266 0,
15267 p40pfs_ha::Pdr,
15268 p40pfs_ha::Pdr,
15269 P40PfsHa_SPEC,
15270 crate::common::RW,
15271 >::from_register(self, 0)
15272 }
15273
15274 #[doc = "Pull-up Control"]
15275 #[inline(always)]
15276 pub fn pcr(
15277 self,
15278 ) -> crate::common::RegisterField<
15279 4,
15280 0x1,
15281 1,
15282 0,
15283 p40pfs_ha::Pcr,
15284 p40pfs_ha::Pcr,
15285 P40PfsHa_SPEC,
15286 crate::common::RW,
15287 > {
15288 crate::common::RegisterField::<
15289 4,
15290 0x1,
15291 1,
15292 0,
15293 p40pfs_ha::Pcr,
15294 p40pfs_ha::Pcr,
15295 P40PfsHa_SPEC,
15296 crate::common::RW,
15297 >::from_register(self, 0)
15298 }
15299
15300 #[doc = "N-Channel Open-Drain Control"]
15301 #[inline(always)]
15302 pub fn ncodr(
15303 self,
15304 ) -> crate::common::RegisterField<
15305 6,
15306 0x1,
15307 1,
15308 0,
15309 p40pfs_ha::Ncodr,
15310 p40pfs_ha::Ncodr,
15311 P40PfsHa_SPEC,
15312 crate::common::RW,
15313 > {
15314 crate::common::RegisterField::<
15315 6,
15316 0x1,
15317 1,
15318 0,
15319 p40pfs_ha::Ncodr,
15320 p40pfs_ha::Ncodr,
15321 P40PfsHa_SPEC,
15322 crate::common::RW,
15323 >::from_register(self, 0)
15324 }
15325
15326 #[doc = "Event on Falling/Event on Rising"]
15327 #[inline(always)]
15328 pub fn eofr(
15329 self,
15330 ) -> crate::common::RegisterField<
15331 12,
15332 0x3,
15333 1,
15334 0,
15335 p40pfs_ha::Eofr,
15336 p40pfs_ha::Eofr,
15337 P40PfsHa_SPEC,
15338 crate::common::RW,
15339 > {
15340 crate::common::RegisterField::<
15341 12,
15342 0x3,
15343 1,
15344 0,
15345 p40pfs_ha::Eofr,
15346 p40pfs_ha::Eofr,
15347 P40PfsHa_SPEC,
15348 crate::common::RW,
15349 >::from_register(self, 0)
15350 }
15351
15352 #[doc = "IRQ Input Enable"]
15353 #[inline(always)]
15354 pub fn isel(
15355 self,
15356 ) -> crate::common::RegisterField<
15357 14,
15358 0x1,
15359 1,
15360 0,
15361 p40pfs_ha::Isel,
15362 p40pfs_ha::Isel,
15363 P40PfsHa_SPEC,
15364 crate::common::RW,
15365 > {
15366 crate::common::RegisterField::<
15367 14,
15368 0x1,
15369 1,
15370 0,
15371 p40pfs_ha::Isel,
15372 p40pfs_ha::Isel,
15373 P40PfsHa_SPEC,
15374 crate::common::RW,
15375 >::from_register(self, 0)
15376 }
15377
15378 #[doc = "Analog Input Enable"]
15379 #[inline(always)]
15380 pub fn asel(
15381 self,
15382 ) -> crate::common::RegisterField<
15383 15,
15384 0x1,
15385 1,
15386 0,
15387 p40pfs_ha::Asel,
15388 p40pfs_ha::Asel,
15389 P40PfsHa_SPEC,
15390 crate::common::RW,
15391 > {
15392 crate::common::RegisterField::<
15393 15,
15394 0x1,
15395 1,
15396 0,
15397 p40pfs_ha::Asel,
15398 p40pfs_ha::Asel,
15399 P40PfsHa_SPEC,
15400 crate::common::RW,
15401 >::from_register(self, 0)
15402 }
15403}
15404impl ::core::default::Default for P40PfsHa {
15405 #[inline(always)]
15406 fn default() -> P40PfsHa {
15407 <crate::RegValueT<P40PfsHa_SPEC> as RegisterValue<_>>::new(0)
15408 }
15409}
15410pub mod p40pfs_ha {
15411
15412 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15413 pub struct Podr_SPEC;
15414 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15415 impl Podr {
15416 #[doc = "Output low"]
15417 pub const _0: Self = Self::new(0);
15418
15419 #[doc = "Output high"]
15420 pub const _1: Self = Self::new(1);
15421 }
15422 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15423 pub struct Pidr_SPEC;
15424 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15425 impl Pidr {
15426 #[doc = "Low level"]
15427 pub const _0: Self = Self::new(0);
15428
15429 #[doc = "High level"]
15430 pub const _1: Self = Self::new(1);
15431 }
15432 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15433 pub struct Pdr_SPEC;
15434 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15435 impl Pdr {
15436 #[doc = "Input (functions as an input pin)"]
15437 pub const _0: Self = Self::new(0);
15438
15439 #[doc = "Output (functions as an output pin)"]
15440 pub const _1: Self = Self::new(1);
15441 }
15442 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15443 pub struct Pcr_SPEC;
15444 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15445 impl Pcr {
15446 #[doc = "Disable input pull-up"]
15447 pub const _0: Self = Self::new(0);
15448
15449 #[doc = "Enable input pull-up"]
15450 pub const _1: Self = Self::new(1);
15451 }
15452 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15453 pub struct Ncodr_SPEC;
15454 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15455 impl Ncodr {
15456 #[doc = "Output CMOS"]
15457 pub const _0: Self = Self::new(0);
15458
15459 #[doc = "Output NMOS open-drain"]
15460 pub const _1: Self = Self::new(1);
15461 }
15462 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15463 pub struct Eofr_SPEC;
15464 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
15465 impl Eofr {
15466 #[doc = "Don\'t care"]
15467 pub const _00: Self = Self::new(0);
15468
15469 #[doc = "Detect rising edge"]
15470 pub const _01: Self = Self::new(1);
15471
15472 #[doc = "Detect falling edge"]
15473 pub const _10: Self = Self::new(2);
15474
15475 #[doc = "Detect both edges"]
15476 pub const _11: Self = Self::new(3);
15477 }
15478 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15479 pub struct Isel_SPEC;
15480 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15481 impl Isel {
15482 #[doc = "Do not use as IRQn input pin"]
15483 pub const _0: Self = Self::new(0);
15484
15485 #[doc = "Use as IRQn input pin"]
15486 pub const _1: Self = Self::new(1);
15487 }
15488 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15489 pub struct Asel_SPEC;
15490 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15491 impl Asel {
15492 #[doc = "Do not use as analog pin"]
15493 pub const _0: Self = Self::new(0);
15494
15495 #[doc = "Use as analog pin"]
15496 pub const _1: Self = Self::new(1);
15497 }
15498}
15499#[doc(hidden)]
15500#[derive(Copy, Clone, Eq, PartialEq)]
15501pub struct P40PfsBy_SPEC;
15502impl crate::sealed::RegSpec for P40PfsBy_SPEC {
15503 type DataType = u8;
15504}
15505
15506#[doc = "Port 40%s Pin Function Select Register"]
15507pub type P40PfsBy = crate::RegValueT<P40PfsBy_SPEC>;
15508
15509impl P40PfsBy {
15510 #[doc = "Port Output Data"]
15511 #[inline(always)]
15512 pub fn podr(
15513 self,
15514 ) -> crate::common::RegisterField<
15515 0,
15516 0x1,
15517 1,
15518 0,
15519 p40pfs_by::Podr,
15520 p40pfs_by::Podr,
15521 P40PfsBy_SPEC,
15522 crate::common::RW,
15523 > {
15524 crate::common::RegisterField::<
15525 0,
15526 0x1,
15527 1,
15528 0,
15529 p40pfs_by::Podr,
15530 p40pfs_by::Podr,
15531 P40PfsBy_SPEC,
15532 crate::common::RW,
15533 >::from_register(self, 0)
15534 }
15535
15536 #[doc = "Port State"]
15537 #[inline(always)]
15538 pub fn pidr(
15539 self,
15540 ) -> crate::common::RegisterField<
15541 1,
15542 0x1,
15543 1,
15544 0,
15545 p40pfs_by::Pidr,
15546 p40pfs_by::Pidr,
15547 P40PfsBy_SPEC,
15548 crate::common::R,
15549 > {
15550 crate::common::RegisterField::<
15551 1,
15552 0x1,
15553 1,
15554 0,
15555 p40pfs_by::Pidr,
15556 p40pfs_by::Pidr,
15557 P40PfsBy_SPEC,
15558 crate::common::R,
15559 >::from_register(self, 0)
15560 }
15561
15562 #[doc = "Port Direction"]
15563 #[inline(always)]
15564 pub fn pdr(
15565 self,
15566 ) -> crate::common::RegisterField<
15567 2,
15568 0x1,
15569 1,
15570 0,
15571 p40pfs_by::Pdr,
15572 p40pfs_by::Pdr,
15573 P40PfsBy_SPEC,
15574 crate::common::RW,
15575 > {
15576 crate::common::RegisterField::<
15577 2,
15578 0x1,
15579 1,
15580 0,
15581 p40pfs_by::Pdr,
15582 p40pfs_by::Pdr,
15583 P40PfsBy_SPEC,
15584 crate::common::RW,
15585 >::from_register(self, 0)
15586 }
15587
15588 #[doc = "Pull-up Control"]
15589 #[inline(always)]
15590 pub fn pcr(
15591 self,
15592 ) -> crate::common::RegisterField<
15593 4,
15594 0x1,
15595 1,
15596 0,
15597 p40pfs_by::Pcr,
15598 p40pfs_by::Pcr,
15599 P40PfsBy_SPEC,
15600 crate::common::RW,
15601 > {
15602 crate::common::RegisterField::<
15603 4,
15604 0x1,
15605 1,
15606 0,
15607 p40pfs_by::Pcr,
15608 p40pfs_by::Pcr,
15609 P40PfsBy_SPEC,
15610 crate::common::RW,
15611 >::from_register(self, 0)
15612 }
15613
15614 #[doc = "N-Channel Open-Drain Control"]
15615 #[inline(always)]
15616 pub fn ncodr(
15617 self,
15618 ) -> crate::common::RegisterField<
15619 6,
15620 0x1,
15621 1,
15622 0,
15623 p40pfs_by::Ncodr,
15624 p40pfs_by::Ncodr,
15625 P40PfsBy_SPEC,
15626 crate::common::RW,
15627 > {
15628 crate::common::RegisterField::<
15629 6,
15630 0x1,
15631 1,
15632 0,
15633 p40pfs_by::Ncodr,
15634 p40pfs_by::Ncodr,
15635 P40PfsBy_SPEC,
15636 crate::common::RW,
15637 >::from_register(self, 0)
15638 }
15639}
15640impl ::core::default::Default for P40PfsBy {
15641 #[inline(always)]
15642 fn default() -> P40PfsBy {
15643 <crate::RegValueT<P40PfsBy_SPEC> as RegisterValue<_>>::new(0)
15644 }
15645}
15646pub mod p40pfs_by {
15647
15648 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15649 pub struct Podr_SPEC;
15650 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15651 impl Podr {
15652 #[doc = "Output low"]
15653 pub const _0: Self = Self::new(0);
15654
15655 #[doc = "Output high"]
15656 pub const _1: Self = Self::new(1);
15657 }
15658 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15659 pub struct Pidr_SPEC;
15660 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15661 impl Pidr {
15662 #[doc = "Low level"]
15663 pub const _0: Self = Self::new(0);
15664
15665 #[doc = "High level"]
15666 pub const _1: Self = Self::new(1);
15667 }
15668 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15669 pub struct Pdr_SPEC;
15670 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15671 impl Pdr {
15672 #[doc = "Input (functions as an input pin)"]
15673 pub const _0: Self = Self::new(0);
15674
15675 #[doc = "Output (functions as an output pin)"]
15676 pub const _1: Self = Self::new(1);
15677 }
15678 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15679 pub struct Pcr_SPEC;
15680 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15681 impl Pcr {
15682 #[doc = "Disable input pull-up"]
15683 pub const _0: Self = Self::new(0);
15684
15685 #[doc = "Enable input pull-up"]
15686 pub const _1: Self = Self::new(1);
15687 }
15688 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15689 pub struct Ncodr_SPEC;
15690 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15691 impl Ncodr {
15692 #[doc = "Output CMOS"]
15693 pub const _0: Self = Self::new(0);
15694
15695 #[doc = "Output NMOS open-drain"]
15696 pub const _1: Self = Self::new(1);
15697 }
15698}
15699#[doc(hidden)]
15700#[derive(Copy, Clone, Eq, PartialEq)]
15701pub struct P4Pfs_SPEC;
15702impl crate::sealed::RegSpec for P4Pfs_SPEC {
15703 type DataType = u32;
15704}
15705
15706#[doc = "Port 4%s Pin Function Select Register"]
15707pub type P4Pfs = crate::RegValueT<P4Pfs_SPEC>;
15708
15709impl P4Pfs {
15710 #[doc = "Port Output Data"]
15711 #[inline(always)]
15712 pub fn podr(
15713 self,
15714 ) -> crate::common::RegisterField<
15715 0,
15716 0x1,
15717 1,
15718 0,
15719 p4pfs::Podr,
15720 p4pfs::Podr,
15721 P4Pfs_SPEC,
15722 crate::common::RW,
15723 > {
15724 crate::common::RegisterField::<
15725 0,
15726 0x1,
15727 1,
15728 0,
15729 p4pfs::Podr,
15730 p4pfs::Podr,
15731 P4Pfs_SPEC,
15732 crate::common::RW,
15733 >::from_register(self, 0)
15734 }
15735
15736 #[doc = "Port State"]
15737 #[inline(always)]
15738 pub fn pidr(
15739 self,
15740 ) -> crate::common::RegisterField<
15741 1,
15742 0x1,
15743 1,
15744 0,
15745 p4pfs::Pidr,
15746 p4pfs::Pidr,
15747 P4Pfs_SPEC,
15748 crate::common::R,
15749 > {
15750 crate::common::RegisterField::<
15751 1,
15752 0x1,
15753 1,
15754 0,
15755 p4pfs::Pidr,
15756 p4pfs::Pidr,
15757 P4Pfs_SPEC,
15758 crate::common::R,
15759 >::from_register(self, 0)
15760 }
15761
15762 #[doc = "Port Direction"]
15763 #[inline(always)]
15764 pub fn pdr(
15765 self,
15766 ) -> crate::common::RegisterField<
15767 2,
15768 0x1,
15769 1,
15770 0,
15771 p4pfs::Pdr,
15772 p4pfs::Pdr,
15773 P4Pfs_SPEC,
15774 crate::common::RW,
15775 > {
15776 crate::common::RegisterField::<
15777 2,
15778 0x1,
15779 1,
15780 0,
15781 p4pfs::Pdr,
15782 p4pfs::Pdr,
15783 P4Pfs_SPEC,
15784 crate::common::RW,
15785 >::from_register(self, 0)
15786 }
15787
15788 #[doc = "Pull-up Control"]
15789 #[inline(always)]
15790 pub fn pcr(
15791 self,
15792 ) -> crate::common::RegisterField<
15793 4,
15794 0x1,
15795 1,
15796 0,
15797 p4pfs::Pcr,
15798 p4pfs::Pcr,
15799 P4Pfs_SPEC,
15800 crate::common::RW,
15801 > {
15802 crate::common::RegisterField::<
15803 4,
15804 0x1,
15805 1,
15806 0,
15807 p4pfs::Pcr,
15808 p4pfs::Pcr,
15809 P4Pfs_SPEC,
15810 crate::common::RW,
15811 >::from_register(self, 0)
15812 }
15813
15814 #[doc = "N-Channel Open-Drain Control"]
15815 #[inline(always)]
15816 pub fn ncodr(
15817 self,
15818 ) -> crate::common::RegisterField<
15819 6,
15820 0x1,
15821 1,
15822 0,
15823 p4pfs::Ncodr,
15824 p4pfs::Ncodr,
15825 P4Pfs_SPEC,
15826 crate::common::RW,
15827 > {
15828 crate::common::RegisterField::<
15829 6,
15830 0x1,
15831 1,
15832 0,
15833 p4pfs::Ncodr,
15834 p4pfs::Ncodr,
15835 P4Pfs_SPEC,
15836 crate::common::RW,
15837 >::from_register(self, 0)
15838 }
15839
15840 #[doc = "Event on Falling/Event on Rising"]
15841 #[inline(always)]
15842 pub fn eofr(
15843 self,
15844 ) -> crate::common::RegisterField<
15845 12,
15846 0x3,
15847 1,
15848 0,
15849 p4pfs::Eofr,
15850 p4pfs::Eofr,
15851 P4Pfs_SPEC,
15852 crate::common::RW,
15853 > {
15854 crate::common::RegisterField::<
15855 12,
15856 0x3,
15857 1,
15858 0,
15859 p4pfs::Eofr,
15860 p4pfs::Eofr,
15861 P4Pfs_SPEC,
15862 crate::common::RW,
15863 >::from_register(self, 0)
15864 }
15865
15866 #[doc = "IRQ Input Enable"]
15867 #[inline(always)]
15868 pub fn isel(
15869 self,
15870 ) -> crate::common::RegisterField<
15871 14,
15872 0x1,
15873 1,
15874 0,
15875 p4pfs::Isel,
15876 p4pfs::Isel,
15877 P4Pfs_SPEC,
15878 crate::common::RW,
15879 > {
15880 crate::common::RegisterField::<
15881 14,
15882 0x1,
15883 1,
15884 0,
15885 p4pfs::Isel,
15886 p4pfs::Isel,
15887 P4Pfs_SPEC,
15888 crate::common::RW,
15889 >::from_register(self, 0)
15890 }
15891
15892 #[doc = "Analog Input Enable"]
15893 #[inline(always)]
15894 pub fn asel(
15895 self,
15896 ) -> crate::common::RegisterField<
15897 15,
15898 0x1,
15899 1,
15900 0,
15901 p4pfs::Asel,
15902 p4pfs::Asel,
15903 P4Pfs_SPEC,
15904 crate::common::RW,
15905 > {
15906 crate::common::RegisterField::<
15907 15,
15908 0x1,
15909 1,
15910 0,
15911 p4pfs::Asel,
15912 p4pfs::Asel,
15913 P4Pfs_SPEC,
15914 crate::common::RW,
15915 >::from_register(self, 0)
15916 }
15917
15918 #[doc = "Port Mode Control"]
15919 #[inline(always)]
15920 pub fn pmr(
15921 self,
15922 ) -> crate::common::RegisterField<
15923 16,
15924 0x1,
15925 1,
15926 0,
15927 p4pfs::Pmr,
15928 p4pfs::Pmr,
15929 P4Pfs_SPEC,
15930 crate::common::RW,
15931 > {
15932 crate::common::RegisterField::<
15933 16,
15934 0x1,
15935 1,
15936 0,
15937 p4pfs::Pmr,
15938 p4pfs::Pmr,
15939 P4Pfs_SPEC,
15940 crate::common::RW,
15941 >::from_register(self, 0)
15942 }
15943
15944 #[doc = "Peripheral Select"]
15945 #[inline(always)]
15946 pub fn psel(
15947 self,
15948 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P4Pfs_SPEC, crate::common::RW> {
15949 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P4Pfs_SPEC,crate::common::RW>::from_register(self,0)
15950 }
15951}
15952impl ::core::default::Default for P4Pfs {
15953 #[inline(always)]
15954 fn default() -> P4Pfs {
15955 <crate::RegValueT<P4Pfs_SPEC> as RegisterValue<_>>::new(0)
15956 }
15957}
15958pub mod p4pfs {
15959
15960 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15961 pub struct Podr_SPEC;
15962 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15963 impl Podr {
15964 #[doc = "Output low"]
15965 pub const _0: Self = Self::new(0);
15966
15967 #[doc = "Output high"]
15968 pub const _1: Self = Self::new(1);
15969 }
15970 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15971 pub struct Pidr_SPEC;
15972 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15973 impl Pidr {
15974 #[doc = "Low level"]
15975 pub const _0: Self = Self::new(0);
15976
15977 #[doc = "High level"]
15978 pub const _1: Self = Self::new(1);
15979 }
15980 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15981 pub struct Pdr_SPEC;
15982 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15983 impl Pdr {
15984 #[doc = "Input (functions as an input pin)"]
15985 pub const _0: Self = Self::new(0);
15986
15987 #[doc = "Output (functions as an output pin)"]
15988 pub const _1: Self = Self::new(1);
15989 }
15990 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15991 pub struct Pcr_SPEC;
15992 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15993 impl Pcr {
15994 #[doc = "Disable input pull-up"]
15995 pub const _0: Self = Self::new(0);
15996
15997 #[doc = "Enable input pull-up"]
15998 pub const _1: Self = Self::new(1);
15999 }
16000 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16001 pub struct Ncodr_SPEC;
16002 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16003 impl Ncodr {
16004 #[doc = "Output CMOS"]
16005 pub const _0: Self = Self::new(0);
16006
16007 #[doc = "Output NMOS open-drain"]
16008 pub const _1: Self = Self::new(1);
16009 }
16010 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16011 pub struct Eofr_SPEC;
16012 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
16013 impl Eofr {
16014 #[doc = "Don\'t care"]
16015 pub const _00: Self = Self::new(0);
16016
16017 #[doc = "Detect rising edge"]
16018 pub const _01: Self = Self::new(1);
16019
16020 #[doc = "Detect falling edge"]
16021 pub const _10: Self = Self::new(2);
16022
16023 #[doc = "Detect both edges"]
16024 pub const _11: Self = Self::new(3);
16025 }
16026 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16027 pub struct Isel_SPEC;
16028 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16029 impl Isel {
16030 #[doc = "Do not use as IRQn input pin"]
16031 pub const _0: Self = Self::new(0);
16032
16033 #[doc = "Use as IRQn input pin"]
16034 pub const _1: Self = Self::new(1);
16035 }
16036 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16037 pub struct Asel_SPEC;
16038 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16039 impl Asel {
16040 #[doc = "Do not use as analog pin"]
16041 pub const _0: Self = Self::new(0);
16042
16043 #[doc = "Use as analog pin"]
16044 pub const _1: Self = Self::new(1);
16045 }
16046 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16047 pub struct Pmr_SPEC;
16048 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
16049 impl Pmr {
16050 #[doc = "Use as general I/O pin"]
16051 pub const _0: Self = Self::new(0);
16052
16053 #[doc = "Use as I/O port for peripheral functions"]
16054 pub const _1: Self = Self::new(1);
16055 }
16056}
16057#[doc(hidden)]
16058#[derive(Copy, Clone, Eq, PartialEq)]
16059pub struct P4PfsHa_SPEC;
16060impl crate::sealed::RegSpec for P4PfsHa_SPEC {
16061 type DataType = u16;
16062}
16063
16064#[doc = "Port 4%s Pin Function Select Register"]
16065pub type P4PfsHa = crate::RegValueT<P4PfsHa_SPEC>;
16066
16067impl P4PfsHa {
16068 #[doc = "Port Output Data"]
16069 #[inline(always)]
16070 pub fn podr(
16071 self,
16072 ) -> crate::common::RegisterField<
16073 0,
16074 0x1,
16075 1,
16076 0,
16077 p4pfs_ha::Podr,
16078 p4pfs_ha::Podr,
16079 P4PfsHa_SPEC,
16080 crate::common::RW,
16081 > {
16082 crate::common::RegisterField::<
16083 0,
16084 0x1,
16085 1,
16086 0,
16087 p4pfs_ha::Podr,
16088 p4pfs_ha::Podr,
16089 P4PfsHa_SPEC,
16090 crate::common::RW,
16091 >::from_register(self, 0)
16092 }
16093
16094 #[doc = "Port State"]
16095 #[inline(always)]
16096 pub fn pidr(
16097 self,
16098 ) -> crate::common::RegisterField<
16099 1,
16100 0x1,
16101 1,
16102 0,
16103 p4pfs_ha::Pidr,
16104 p4pfs_ha::Pidr,
16105 P4PfsHa_SPEC,
16106 crate::common::R,
16107 > {
16108 crate::common::RegisterField::<
16109 1,
16110 0x1,
16111 1,
16112 0,
16113 p4pfs_ha::Pidr,
16114 p4pfs_ha::Pidr,
16115 P4PfsHa_SPEC,
16116 crate::common::R,
16117 >::from_register(self, 0)
16118 }
16119
16120 #[doc = "Port Direction"]
16121 #[inline(always)]
16122 pub fn pdr(
16123 self,
16124 ) -> crate::common::RegisterField<
16125 2,
16126 0x1,
16127 1,
16128 0,
16129 p4pfs_ha::Pdr,
16130 p4pfs_ha::Pdr,
16131 P4PfsHa_SPEC,
16132 crate::common::RW,
16133 > {
16134 crate::common::RegisterField::<
16135 2,
16136 0x1,
16137 1,
16138 0,
16139 p4pfs_ha::Pdr,
16140 p4pfs_ha::Pdr,
16141 P4PfsHa_SPEC,
16142 crate::common::RW,
16143 >::from_register(self, 0)
16144 }
16145
16146 #[doc = "Pull-up Control"]
16147 #[inline(always)]
16148 pub fn pcr(
16149 self,
16150 ) -> crate::common::RegisterField<
16151 4,
16152 0x1,
16153 1,
16154 0,
16155 p4pfs_ha::Pcr,
16156 p4pfs_ha::Pcr,
16157 P4PfsHa_SPEC,
16158 crate::common::RW,
16159 > {
16160 crate::common::RegisterField::<
16161 4,
16162 0x1,
16163 1,
16164 0,
16165 p4pfs_ha::Pcr,
16166 p4pfs_ha::Pcr,
16167 P4PfsHa_SPEC,
16168 crate::common::RW,
16169 >::from_register(self, 0)
16170 }
16171
16172 #[doc = "N-Channel Open-Drain Control"]
16173 #[inline(always)]
16174 pub fn ncodr(
16175 self,
16176 ) -> crate::common::RegisterField<
16177 6,
16178 0x1,
16179 1,
16180 0,
16181 p4pfs_ha::Ncodr,
16182 p4pfs_ha::Ncodr,
16183 P4PfsHa_SPEC,
16184 crate::common::RW,
16185 > {
16186 crate::common::RegisterField::<
16187 6,
16188 0x1,
16189 1,
16190 0,
16191 p4pfs_ha::Ncodr,
16192 p4pfs_ha::Ncodr,
16193 P4PfsHa_SPEC,
16194 crate::common::RW,
16195 >::from_register(self, 0)
16196 }
16197
16198 #[doc = "Event on Falling/Event on Rising"]
16199 #[inline(always)]
16200 pub fn eofr(
16201 self,
16202 ) -> crate::common::RegisterField<
16203 12,
16204 0x3,
16205 1,
16206 0,
16207 p4pfs_ha::Eofr,
16208 p4pfs_ha::Eofr,
16209 P4PfsHa_SPEC,
16210 crate::common::RW,
16211 > {
16212 crate::common::RegisterField::<
16213 12,
16214 0x3,
16215 1,
16216 0,
16217 p4pfs_ha::Eofr,
16218 p4pfs_ha::Eofr,
16219 P4PfsHa_SPEC,
16220 crate::common::RW,
16221 >::from_register(self, 0)
16222 }
16223
16224 #[doc = "IRQ Input Enable"]
16225 #[inline(always)]
16226 pub fn isel(
16227 self,
16228 ) -> crate::common::RegisterField<
16229 14,
16230 0x1,
16231 1,
16232 0,
16233 p4pfs_ha::Isel,
16234 p4pfs_ha::Isel,
16235 P4PfsHa_SPEC,
16236 crate::common::RW,
16237 > {
16238 crate::common::RegisterField::<
16239 14,
16240 0x1,
16241 1,
16242 0,
16243 p4pfs_ha::Isel,
16244 p4pfs_ha::Isel,
16245 P4PfsHa_SPEC,
16246 crate::common::RW,
16247 >::from_register(self, 0)
16248 }
16249
16250 #[doc = "Analog Input Enable"]
16251 #[inline(always)]
16252 pub fn asel(
16253 self,
16254 ) -> crate::common::RegisterField<
16255 15,
16256 0x1,
16257 1,
16258 0,
16259 p4pfs_ha::Asel,
16260 p4pfs_ha::Asel,
16261 P4PfsHa_SPEC,
16262 crate::common::RW,
16263 > {
16264 crate::common::RegisterField::<
16265 15,
16266 0x1,
16267 1,
16268 0,
16269 p4pfs_ha::Asel,
16270 p4pfs_ha::Asel,
16271 P4PfsHa_SPEC,
16272 crate::common::RW,
16273 >::from_register(self, 0)
16274 }
16275}
16276impl ::core::default::Default for P4PfsHa {
16277 #[inline(always)]
16278 fn default() -> P4PfsHa {
16279 <crate::RegValueT<P4PfsHa_SPEC> as RegisterValue<_>>::new(0)
16280 }
16281}
16282pub mod p4pfs_ha {
16283
16284 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16285 pub struct Podr_SPEC;
16286 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16287 impl Podr {
16288 #[doc = "Output low"]
16289 pub const _0: Self = Self::new(0);
16290
16291 #[doc = "Output high"]
16292 pub const _1: Self = Self::new(1);
16293 }
16294 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16295 pub struct Pidr_SPEC;
16296 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16297 impl Pidr {
16298 #[doc = "Low level"]
16299 pub const _0: Self = Self::new(0);
16300
16301 #[doc = "High level"]
16302 pub const _1: Self = Self::new(1);
16303 }
16304 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16305 pub struct Pdr_SPEC;
16306 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16307 impl Pdr {
16308 #[doc = "Input (functions as an input pin)"]
16309 pub const _0: Self = Self::new(0);
16310
16311 #[doc = "Output (functions as an output pin)"]
16312 pub const _1: Self = Self::new(1);
16313 }
16314 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16315 pub struct Pcr_SPEC;
16316 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16317 impl Pcr {
16318 #[doc = "Disable input pull-up"]
16319 pub const _0: Self = Self::new(0);
16320
16321 #[doc = "Enable input pull-up"]
16322 pub const _1: Self = Self::new(1);
16323 }
16324 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16325 pub struct Ncodr_SPEC;
16326 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16327 impl Ncodr {
16328 #[doc = "Output CMOS"]
16329 pub const _0: Self = Self::new(0);
16330
16331 #[doc = "Output NMOS open-drain"]
16332 pub const _1: Self = Self::new(1);
16333 }
16334 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16335 pub struct Eofr_SPEC;
16336 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
16337 impl Eofr {
16338 #[doc = "Don\'t care"]
16339 pub const _00: Self = Self::new(0);
16340
16341 #[doc = "Detect rising edge"]
16342 pub const _01: Self = Self::new(1);
16343
16344 #[doc = "Detect falling edge"]
16345 pub const _10: Self = Self::new(2);
16346
16347 #[doc = "Detect both edges"]
16348 pub const _11: Self = Self::new(3);
16349 }
16350 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16351 pub struct Isel_SPEC;
16352 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16353 impl Isel {
16354 #[doc = "Do not use as IRQn input pin"]
16355 pub const _0: Self = Self::new(0);
16356
16357 #[doc = "Use as IRQn input pin"]
16358 pub const _1: Self = Self::new(1);
16359 }
16360 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16361 pub struct Asel_SPEC;
16362 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16363 impl Asel {
16364 #[doc = "Do not use as analog pin"]
16365 pub const _0: Self = Self::new(0);
16366
16367 #[doc = "Use as analog pin"]
16368 pub const _1: Self = Self::new(1);
16369 }
16370}
16371#[doc(hidden)]
16372#[derive(Copy, Clone, Eq, PartialEq)]
16373pub struct P4PfsBy_SPEC;
16374impl crate::sealed::RegSpec for P4PfsBy_SPEC {
16375 type DataType = u8;
16376}
16377
16378#[doc = "Port 4%s Pin Function Select Register"]
16379pub type P4PfsBy = crate::RegValueT<P4PfsBy_SPEC>;
16380
16381impl P4PfsBy {
16382 #[doc = "Port Output Data"]
16383 #[inline(always)]
16384 pub fn podr(
16385 self,
16386 ) -> crate::common::RegisterField<
16387 0,
16388 0x1,
16389 1,
16390 0,
16391 p4pfs_by::Podr,
16392 p4pfs_by::Podr,
16393 P4PfsBy_SPEC,
16394 crate::common::RW,
16395 > {
16396 crate::common::RegisterField::<
16397 0,
16398 0x1,
16399 1,
16400 0,
16401 p4pfs_by::Podr,
16402 p4pfs_by::Podr,
16403 P4PfsBy_SPEC,
16404 crate::common::RW,
16405 >::from_register(self, 0)
16406 }
16407
16408 #[doc = "Port State"]
16409 #[inline(always)]
16410 pub fn pidr(
16411 self,
16412 ) -> crate::common::RegisterField<
16413 1,
16414 0x1,
16415 1,
16416 0,
16417 p4pfs_by::Pidr,
16418 p4pfs_by::Pidr,
16419 P4PfsBy_SPEC,
16420 crate::common::R,
16421 > {
16422 crate::common::RegisterField::<
16423 1,
16424 0x1,
16425 1,
16426 0,
16427 p4pfs_by::Pidr,
16428 p4pfs_by::Pidr,
16429 P4PfsBy_SPEC,
16430 crate::common::R,
16431 >::from_register(self, 0)
16432 }
16433
16434 #[doc = "Port Direction"]
16435 #[inline(always)]
16436 pub fn pdr(
16437 self,
16438 ) -> crate::common::RegisterField<
16439 2,
16440 0x1,
16441 1,
16442 0,
16443 p4pfs_by::Pdr,
16444 p4pfs_by::Pdr,
16445 P4PfsBy_SPEC,
16446 crate::common::RW,
16447 > {
16448 crate::common::RegisterField::<
16449 2,
16450 0x1,
16451 1,
16452 0,
16453 p4pfs_by::Pdr,
16454 p4pfs_by::Pdr,
16455 P4PfsBy_SPEC,
16456 crate::common::RW,
16457 >::from_register(self, 0)
16458 }
16459
16460 #[doc = "Pull-up Control"]
16461 #[inline(always)]
16462 pub fn pcr(
16463 self,
16464 ) -> crate::common::RegisterField<
16465 4,
16466 0x1,
16467 1,
16468 0,
16469 p4pfs_by::Pcr,
16470 p4pfs_by::Pcr,
16471 P4PfsBy_SPEC,
16472 crate::common::RW,
16473 > {
16474 crate::common::RegisterField::<
16475 4,
16476 0x1,
16477 1,
16478 0,
16479 p4pfs_by::Pcr,
16480 p4pfs_by::Pcr,
16481 P4PfsBy_SPEC,
16482 crate::common::RW,
16483 >::from_register(self, 0)
16484 }
16485
16486 #[doc = "N-Channel Open-Drain Control"]
16487 #[inline(always)]
16488 pub fn ncodr(
16489 self,
16490 ) -> crate::common::RegisterField<
16491 6,
16492 0x1,
16493 1,
16494 0,
16495 p4pfs_by::Ncodr,
16496 p4pfs_by::Ncodr,
16497 P4PfsBy_SPEC,
16498 crate::common::RW,
16499 > {
16500 crate::common::RegisterField::<
16501 6,
16502 0x1,
16503 1,
16504 0,
16505 p4pfs_by::Ncodr,
16506 p4pfs_by::Ncodr,
16507 P4PfsBy_SPEC,
16508 crate::common::RW,
16509 >::from_register(self, 0)
16510 }
16511}
16512impl ::core::default::Default for P4PfsBy {
16513 #[inline(always)]
16514 fn default() -> P4PfsBy {
16515 <crate::RegValueT<P4PfsBy_SPEC> as RegisterValue<_>>::new(0)
16516 }
16517}
16518pub mod p4pfs_by {
16519
16520 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16521 pub struct Podr_SPEC;
16522 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16523 impl Podr {
16524 #[doc = "Output low"]
16525 pub const _0: Self = Self::new(0);
16526
16527 #[doc = "Output high"]
16528 pub const _1: Self = Self::new(1);
16529 }
16530 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16531 pub struct Pidr_SPEC;
16532 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16533 impl Pidr {
16534 #[doc = "Low level"]
16535 pub const _0: Self = Self::new(0);
16536
16537 #[doc = "High level"]
16538 pub const _1: Self = Self::new(1);
16539 }
16540 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16541 pub struct Pdr_SPEC;
16542 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16543 impl Pdr {
16544 #[doc = "Input (functions as an input pin)"]
16545 pub const _0: Self = Self::new(0);
16546
16547 #[doc = "Output (functions as an output pin)"]
16548 pub const _1: Self = Self::new(1);
16549 }
16550 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16551 pub struct Pcr_SPEC;
16552 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16553 impl Pcr {
16554 #[doc = "Disable input pull-up"]
16555 pub const _0: Self = Self::new(0);
16556
16557 #[doc = "Enable input pull-up"]
16558 pub const _1: Self = Self::new(1);
16559 }
16560 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16561 pub struct Ncodr_SPEC;
16562 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16563 impl Ncodr {
16564 #[doc = "Output CMOS"]
16565 pub const _0: Self = Self::new(0);
16566
16567 #[doc = "Output NMOS open-drain"]
16568 pub const _1: Self = Self::new(1);
16569 }
16570}
16571#[doc(hidden)]
16572#[derive(Copy, Clone, Eq, PartialEq)]
16573pub struct P50Pfs_SPEC;
16574impl crate::sealed::RegSpec for P50Pfs_SPEC {
16575 type DataType = u32;
16576}
16577
16578#[doc = "Port 50%s Pin Function Select Register"]
16579pub type P50Pfs = crate::RegValueT<P50Pfs_SPEC>;
16580
16581impl P50Pfs {
16582 #[doc = "Port Output Data"]
16583 #[inline(always)]
16584 pub fn podr(
16585 self,
16586 ) -> crate::common::RegisterField<
16587 0,
16588 0x1,
16589 1,
16590 0,
16591 p50pfs::Podr,
16592 p50pfs::Podr,
16593 P50Pfs_SPEC,
16594 crate::common::RW,
16595 > {
16596 crate::common::RegisterField::<
16597 0,
16598 0x1,
16599 1,
16600 0,
16601 p50pfs::Podr,
16602 p50pfs::Podr,
16603 P50Pfs_SPEC,
16604 crate::common::RW,
16605 >::from_register(self, 0)
16606 }
16607
16608 #[doc = "Port State"]
16609 #[inline(always)]
16610 pub fn pidr(
16611 self,
16612 ) -> crate::common::RegisterField<
16613 1,
16614 0x1,
16615 1,
16616 0,
16617 p50pfs::Pidr,
16618 p50pfs::Pidr,
16619 P50Pfs_SPEC,
16620 crate::common::R,
16621 > {
16622 crate::common::RegisterField::<
16623 1,
16624 0x1,
16625 1,
16626 0,
16627 p50pfs::Pidr,
16628 p50pfs::Pidr,
16629 P50Pfs_SPEC,
16630 crate::common::R,
16631 >::from_register(self, 0)
16632 }
16633
16634 #[doc = "Port Direction"]
16635 #[inline(always)]
16636 pub fn pdr(
16637 self,
16638 ) -> crate::common::RegisterField<
16639 2,
16640 0x1,
16641 1,
16642 0,
16643 p50pfs::Pdr,
16644 p50pfs::Pdr,
16645 P50Pfs_SPEC,
16646 crate::common::RW,
16647 > {
16648 crate::common::RegisterField::<
16649 2,
16650 0x1,
16651 1,
16652 0,
16653 p50pfs::Pdr,
16654 p50pfs::Pdr,
16655 P50Pfs_SPEC,
16656 crate::common::RW,
16657 >::from_register(self, 0)
16658 }
16659
16660 #[doc = "Pull-up Control"]
16661 #[inline(always)]
16662 pub fn pcr(
16663 self,
16664 ) -> crate::common::RegisterField<
16665 4,
16666 0x1,
16667 1,
16668 0,
16669 p50pfs::Pcr,
16670 p50pfs::Pcr,
16671 P50Pfs_SPEC,
16672 crate::common::RW,
16673 > {
16674 crate::common::RegisterField::<
16675 4,
16676 0x1,
16677 1,
16678 0,
16679 p50pfs::Pcr,
16680 p50pfs::Pcr,
16681 P50Pfs_SPEC,
16682 crate::common::RW,
16683 >::from_register(self, 0)
16684 }
16685
16686 #[doc = "N-Channel Open-Drain Control"]
16687 #[inline(always)]
16688 pub fn ncodr(
16689 self,
16690 ) -> crate::common::RegisterField<
16691 6,
16692 0x1,
16693 1,
16694 0,
16695 p50pfs::Ncodr,
16696 p50pfs::Ncodr,
16697 P50Pfs_SPEC,
16698 crate::common::RW,
16699 > {
16700 crate::common::RegisterField::<
16701 6,
16702 0x1,
16703 1,
16704 0,
16705 p50pfs::Ncodr,
16706 p50pfs::Ncodr,
16707 P50Pfs_SPEC,
16708 crate::common::RW,
16709 >::from_register(self, 0)
16710 }
16711
16712 #[doc = "IRQ Input Enable"]
16713 #[inline(always)]
16714 pub fn isel(
16715 self,
16716 ) -> crate::common::RegisterField<
16717 14,
16718 0x1,
16719 1,
16720 0,
16721 p50pfs::Isel,
16722 p50pfs::Isel,
16723 P50Pfs_SPEC,
16724 crate::common::RW,
16725 > {
16726 crate::common::RegisterField::<
16727 14,
16728 0x1,
16729 1,
16730 0,
16731 p50pfs::Isel,
16732 p50pfs::Isel,
16733 P50Pfs_SPEC,
16734 crate::common::RW,
16735 >::from_register(self, 0)
16736 }
16737
16738 #[doc = "Analog Input Enable"]
16739 #[inline(always)]
16740 pub fn asel(
16741 self,
16742 ) -> crate::common::RegisterField<
16743 15,
16744 0x1,
16745 1,
16746 0,
16747 p50pfs::Asel,
16748 p50pfs::Asel,
16749 P50Pfs_SPEC,
16750 crate::common::RW,
16751 > {
16752 crate::common::RegisterField::<
16753 15,
16754 0x1,
16755 1,
16756 0,
16757 p50pfs::Asel,
16758 p50pfs::Asel,
16759 P50Pfs_SPEC,
16760 crate::common::RW,
16761 >::from_register(self, 0)
16762 }
16763
16764 #[doc = "Port Mode Control"]
16765 #[inline(always)]
16766 pub fn pmr(
16767 self,
16768 ) -> crate::common::RegisterField<
16769 16,
16770 0x1,
16771 1,
16772 0,
16773 p50pfs::Pmr,
16774 p50pfs::Pmr,
16775 P50Pfs_SPEC,
16776 crate::common::RW,
16777 > {
16778 crate::common::RegisterField::<
16779 16,
16780 0x1,
16781 1,
16782 0,
16783 p50pfs::Pmr,
16784 p50pfs::Pmr,
16785 P50Pfs_SPEC,
16786 crate::common::RW,
16787 >::from_register(self, 0)
16788 }
16789
16790 #[doc = "Peripheral Select"]
16791 #[inline(always)]
16792 pub fn psel(
16793 self,
16794 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P50Pfs_SPEC, crate::common::RW> {
16795 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P50Pfs_SPEC,crate::common::RW>::from_register(self,0)
16796 }
16797}
16798impl ::core::default::Default for P50Pfs {
16799 #[inline(always)]
16800 fn default() -> P50Pfs {
16801 <crate::RegValueT<P50Pfs_SPEC> as RegisterValue<_>>::new(0)
16802 }
16803}
16804pub mod p50pfs {
16805
16806 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16807 pub struct Podr_SPEC;
16808 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16809 impl Podr {
16810 #[doc = "Output low"]
16811 pub const _0: Self = Self::new(0);
16812
16813 #[doc = "Output high"]
16814 pub const _1: Self = Self::new(1);
16815 }
16816 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16817 pub struct Pidr_SPEC;
16818 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16819 impl Pidr {
16820 #[doc = "Low level"]
16821 pub const _0: Self = Self::new(0);
16822
16823 #[doc = "High level"]
16824 pub const _1: Self = Self::new(1);
16825 }
16826 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16827 pub struct Pdr_SPEC;
16828 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16829 impl Pdr {
16830 #[doc = "Input (functions as an input pin)"]
16831 pub const _0: Self = Self::new(0);
16832
16833 #[doc = "Output (functions as an output pin)"]
16834 pub const _1: Self = Self::new(1);
16835 }
16836 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16837 pub struct Pcr_SPEC;
16838 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16839 impl Pcr {
16840 #[doc = "Disable input pull-up"]
16841 pub const _0: Self = Self::new(0);
16842
16843 #[doc = "Enable input pull-up"]
16844 pub const _1: Self = Self::new(1);
16845 }
16846 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16847 pub struct Ncodr_SPEC;
16848 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16849 impl Ncodr {
16850 #[doc = "Output CMOS"]
16851 pub const _0: Self = Self::new(0);
16852
16853 #[doc = "Output NMOS open-drain"]
16854 pub const _1: Self = Self::new(1);
16855 }
16856 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16857 pub struct Isel_SPEC;
16858 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16859 impl Isel {
16860 #[doc = "Do not use as IRQn input pin"]
16861 pub const _0: Self = Self::new(0);
16862
16863 #[doc = "Use as IRQn input pin"]
16864 pub const _1: Self = Self::new(1);
16865 }
16866 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16867 pub struct Asel_SPEC;
16868 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16869 impl Asel {
16870 #[doc = "Do not use as analog pin"]
16871 pub const _0: Self = Self::new(0);
16872
16873 #[doc = "Use as analog pin"]
16874 pub const _1: Self = Self::new(1);
16875 }
16876 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16877 pub struct Pmr_SPEC;
16878 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
16879 impl Pmr {
16880 #[doc = "Use as general I/O pin"]
16881 pub const _0: Self = Self::new(0);
16882
16883 #[doc = "Use as I/O port for peripheral functions"]
16884 pub const _1: Self = Self::new(1);
16885 }
16886}
16887#[doc(hidden)]
16888#[derive(Copy, Clone, Eq, PartialEq)]
16889pub struct P50PfsHa_SPEC;
16890impl crate::sealed::RegSpec for P50PfsHa_SPEC {
16891 type DataType = u16;
16892}
16893
16894#[doc = "Port 50%s Pin Function Select Register"]
16895pub type P50PfsHa = crate::RegValueT<P50PfsHa_SPEC>;
16896
16897impl P50PfsHa {
16898 #[doc = "Port Output Data"]
16899 #[inline(always)]
16900 pub fn podr(
16901 self,
16902 ) -> crate::common::RegisterField<
16903 0,
16904 0x1,
16905 1,
16906 0,
16907 p50pfs_ha::Podr,
16908 p50pfs_ha::Podr,
16909 P50PfsHa_SPEC,
16910 crate::common::RW,
16911 > {
16912 crate::common::RegisterField::<
16913 0,
16914 0x1,
16915 1,
16916 0,
16917 p50pfs_ha::Podr,
16918 p50pfs_ha::Podr,
16919 P50PfsHa_SPEC,
16920 crate::common::RW,
16921 >::from_register(self, 0)
16922 }
16923
16924 #[doc = "Port State"]
16925 #[inline(always)]
16926 pub fn pidr(
16927 self,
16928 ) -> crate::common::RegisterField<
16929 1,
16930 0x1,
16931 1,
16932 0,
16933 p50pfs_ha::Pidr,
16934 p50pfs_ha::Pidr,
16935 P50PfsHa_SPEC,
16936 crate::common::R,
16937 > {
16938 crate::common::RegisterField::<
16939 1,
16940 0x1,
16941 1,
16942 0,
16943 p50pfs_ha::Pidr,
16944 p50pfs_ha::Pidr,
16945 P50PfsHa_SPEC,
16946 crate::common::R,
16947 >::from_register(self, 0)
16948 }
16949
16950 #[doc = "Port Direction"]
16951 #[inline(always)]
16952 pub fn pdr(
16953 self,
16954 ) -> crate::common::RegisterField<
16955 2,
16956 0x1,
16957 1,
16958 0,
16959 p50pfs_ha::Pdr,
16960 p50pfs_ha::Pdr,
16961 P50PfsHa_SPEC,
16962 crate::common::RW,
16963 > {
16964 crate::common::RegisterField::<
16965 2,
16966 0x1,
16967 1,
16968 0,
16969 p50pfs_ha::Pdr,
16970 p50pfs_ha::Pdr,
16971 P50PfsHa_SPEC,
16972 crate::common::RW,
16973 >::from_register(self, 0)
16974 }
16975
16976 #[doc = "Pull-up Control"]
16977 #[inline(always)]
16978 pub fn pcr(
16979 self,
16980 ) -> crate::common::RegisterField<
16981 4,
16982 0x1,
16983 1,
16984 0,
16985 p50pfs_ha::Pcr,
16986 p50pfs_ha::Pcr,
16987 P50PfsHa_SPEC,
16988 crate::common::RW,
16989 > {
16990 crate::common::RegisterField::<
16991 4,
16992 0x1,
16993 1,
16994 0,
16995 p50pfs_ha::Pcr,
16996 p50pfs_ha::Pcr,
16997 P50PfsHa_SPEC,
16998 crate::common::RW,
16999 >::from_register(self, 0)
17000 }
17001
17002 #[doc = "N-Channel Open-Drain Control"]
17003 #[inline(always)]
17004 pub fn ncodr(
17005 self,
17006 ) -> crate::common::RegisterField<
17007 6,
17008 0x1,
17009 1,
17010 0,
17011 p50pfs_ha::Ncodr,
17012 p50pfs_ha::Ncodr,
17013 P50PfsHa_SPEC,
17014 crate::common::RW,
17015 > {
17016 crate::common::RegisterField::<
17017 6,
17018 0x1,
17019 1,
17020 0,
17021 p50pfs_ha::Ncodr,
17022 p50pfs_ha::Ncodr,
17023 P50PfsHa_SPEC,
17024 crate::common::RW,
17025 >::from_register(self, 0)
17026 }
17027
17028 #[doc = "IRQ Input Enable"]
17029 #[inline(always)]
17030 pub fn isel(
17031 self,
17032 ) -> crate::common::RegisterField<
17033 14,
17034 0x1,
17035 1,
17036 0,
17037 p50pfs_ha::Isel,
17038 p50pfs_ha::Isel,
17039 P50PfsHa_SPEC,
17040 crate::common::RW,
17041 > {
17042 crate::common::RegisterField::<
17043 14,
17044 0x1,
17045 1,
17046 0,
17047 p50pfs_ha::Isel,
17048 p50pfs_ha::Isel,
17049 P50PfsHa_SPEC,
17050 crate::common::RW,
17051 >::from_register(self, 0)
17052 }
17053
17054 #[doc = "Analog Input Enable"]
17055 #[inline(always)]
17056 pub fn asel(
17057 self,
17058 ) -> crate::common::RegisterField<
17059 15,
17060 0x1,
17061 1,
17062 0,
17063 p50pfs_ha::Asel,
17064 p50pfs_ha::Asel,
17065 P50PfsHa_SPEC,
17066 crate::common::RW,
17067 > {
17068 crate::common::RegisterField::<
17069 15,
17070 0x1,
17071 1,
17072 0,
17073 p50pfs_ha::Asel,
17074 p50pfs_ha::Asel,
17075 P50PfsHa_SPEC,
17076 crate::common::RW,
17077 >::from_register(self, 0)
17078 }
17079}
17080impl ::core::default::Default for P50PfsHa {
17081 #[inline(always)]
17082 fn default() -> P50PfsHa {
17083 <crate::RegValueT<P50PfsHa_SPEC> as RegisterValue<_>>::new(0)
17084 }
17085}
17086pub mod p50pfs_ha {
17087
17088 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17089 pub struct Podr_SPEC;
17090 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
17091 impl Podr {
17092 #[doc = "Output low"]
17093 pub const _0: Self = Self::new(0);
17094
17095 #[doc = "Output high"]
17096 pub const _1: Self = Self::new(1);
17097 }
17098 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17099 pub struct Pidr_SPEC;
17100 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
17101 impl Pidr {
17102 #[doc = "Low level"]
17103 pub const _0: Self = Self::new(0);
17104
17105 #[doc = "High level"]
17106 pub const _1: Self = Self::new(1);
17107 }
17108 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17109 pub struct Pdr_SPEC;
17110 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
17111 impl Pdr {
17112 #[doc = "Input (functions as an input pin)"]
17113 pub const _0: Self = Self::new(0);
17114
17115 #[doc = "Output (functions as an output pin)"]
17116 pub const _1: Self = Self::new(1);
17117 }
17118 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17119 pub struct Pcr_SPEC;
17120 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
17121 impl Pcr {
17122 #[doc = "Disable input pull-up"]
17123 pub const _0: Self = Self::new(0);
17124
17125 #[doc = "Enable input pull-up"]
17126 pub const _1: Self = Self::new(1);
17127 }
17128 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17129 pub struct Ncodr_SPEC;
17130 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
17131 impl Ncodr {
17132 #[doc = "Output CMOS"]
17133 pub const _0: Self = Self::new(0);
17134
17135 #[doc = "Output NMOS open-drain"]
17136 pub const _1: Self = Self::new(1);
17137 }
17138 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17139 pub struct Isel_SPEC;
17140 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
17141 impl Isel {
17142 #[doc = "Do not use as IRQn input pin"]
17143 pub const _0: Self = Self::new(0);
17144
17145 #[doc = "Use as IRQn input pin"]
17146 pub const _1: Self = Self::new(1);
17147 }
17148 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17149 pub struct Asel_SPEC;
17150 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
17151 impl Asel {
17152 #[doc = "Do not use as analog pin"]
17153 pub const _0: Self = Self::new(0);
17154
17155 #[doc = "Use as analog pin"]
17156 pub const _1: Self = Self::new(1);
17157 }
17158}
17159#[doc(hidden)]
17160#[derive(Copy, Clone, Eq, PartialEq)]
17161pub struct P50PfsBy_SPEC;
17162impl crate::sealed::RegSpec for P50PfsBy_SPEC {
17163 type DataType = u8;
17164}
17165
17166#[doc = "Port 50%s Pin Function Select Register"]
17167pub type P50PfsBy = crate::RegValueT<P50PfsBy_SPEC>;
17168
17169impl P50PfsBy {
17170 #[doc = "Port Output Data"]
17171 #[inline(always)]
17172 pub fn podr(
17173 self,
17174 ) -> crate::common::RegisterField<
17175 0,
17176 0x1,
17177 1,
17178 0,
17179 p50pfs_by::Podr,
17180 p50pfs_by::Podr,
17181 P50PfsBy_SPEC,
17182 crate::common::RW,
17183 > {
17184 crate::common::RegisterField::<
17185 0,
17186 0x1,
17187 1,
17188 0,
17189 p50pfs_by::Podr,
17190 p50pfs_by::Podr,
17191 P50PfsBy_SPEC,
17192 crate::common::RW,
17193 >::from_register(self, 0)
17194 }
17195
17196 #[doc = "Port State"]
17197 #[inline(always)]
17198 pub fn pidr(
17199 self,
17200 ) -> crate::common::RegisterField<
17201 1,
17202 0x1,
17203 1,
17204 0,
17205 p50pfs_by::Pidr,
17206 p50pfs_by::Pidr,
17207 P50PfsBy_SPEC,
17208 crate::common::R,
17209 > {
17210 crate::common::RegisterField::<
17211 1,
17212 0x1,
17213 1,
17214 0,
17215 p50pfs_by::Pidr,
17216 p50pfs_by::Pidr,
17217 P50PfsBy_SPEC,
17218 crate::common::R,
17219 >::from_register(self, 0)
17220 }
17221
17222 #[doc = "Port Direction"]
17223 #[inline(always)]
17224 pub fn pdr(
17225 self,
17226 ) -> crate::common::RegisterField<
17227 2,
17228 0x1,
17229 1,
17230 0,
17231 p50pfs_by::Pdr,
17232 p50pfs_by::Pdr,
17233 P50PfsBy_SPEC,
17234 crate::common::RW,
17235 > {
17236 crate::common::RegisterField::<
17237 2,
17238 0x1,
17239 1,
17240 0,
17241 p50pfs_by::Pdr,
17242 p50pfs_by::Pdr,
17243 P50PfsBy_SPEC,
17244 crate::common::RW,
17245 >::from_register(self, 0)
17246 }
17247
17248 #[doc = "Pull-up Control"]
17249 #[inline(always)]
17250 pub fn pcr(
17251 self,
17252 ) -> crate::common::RegisterField<
17253 4,
17254 0x1,
17255 1,
17256 0,
17257 p50pfs_by::Pcr,
17258 p50pfs_by::Pcr,
17259 P50PfsBy_SPEC,
17260 crate::common::RW,
17261 > {
17262 crate::common::RegisterField::<
17263 4,
17264 0x1,
17265 1,
17266 0,
17267 p50pfs_by::Pcr,
17268 p50pfs_by::Pcr,
17269 P50PfsBy_SPEC,
17270 crate::common::RW,
17271 >::from_register(self, 0)
17272 }
17273
17274 #[doc = "N-Channel Open-Drain Control"]
17275 #[inline(always)]
17276 pub fn ncodr(
17277 self,
17278 ) -> crate::common::RegisterField<
17279 6,
17280 0x1,
17281 1,
17282 0,
17283 p50pfs_by::Ncodr,
17284 p50pfs_by::Ncodr,
17285 P50PfsBy_SPEC,
17286 crate::common::RW,
17287 > {
17288 crate::common::RegisterField::<
17289 6,
17290 0x1,
17291 1,
17292 0,
17293 p50pfs_by::Ncodr,
17294 p50pfs_by::Ncodr,
17295 P50PfsBy_SPEC,
17296 crate::common::RW,
17297 >::from_register(self, 0)
17298 }
17299}
17300impl ::core::default::Default for P50PfsBy {
17301 #[inline(always)]
17302 fn default() -> P50PfsBy {
17303 <crate::RegValueT<P50PfsBy_SPEC> as RegisterValue<_>>::new(0)
17304 }
17305}
17306pub mod p50pfs_by {
17307
17308 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17309 pub struct Podr_SPEC;
17310 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
17311 impl Podr {
17312 #[doc = "Output low"]
17313 pub const _0: Self = Self::new(0);
17314
17315 #[doc = "Output high"]
17316 pub const _1: Self = Self::new(1);
17317 }
17318 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17319 pub struct Pidr_SPEC;
17320 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
17321 impl Pidr {
17322 #[doc = "Low level"]
17323 pub const _0: Self = Self::new(0);
17324
17325 #[doc = "High level"]
17326 pub const _1: Self = Self::new(1);
17327 }
17328 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17329 pub struct Pdr_SPEC;
17330 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
17331 impl Pdr {
17332 #[doc = "Input (functions as an input pin)"]
17333 pub const _0: Self = Self::new(0);
17334
17335 #[doc = "Output (functions as an output pin)"]
17336 pub const _1: Self = Self::new(1);
17337 }
17338 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17339 pub struct Pcr_SPEC;
17340 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
17341 impl Pcr {
17342 #[doc = "Disable input pull-up"]
17343 pub const _0: Self = Self::new(0);
17344
17345 #[doc = "Enable input pull-up"]
17346 pub const _1: Self = Self::new(1);
17347 }
17348 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17349 pub struct Ncodr_SPEC;
17350 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
17351 impl Ncodr {
17352 #[doc = "Output CMOS"]
17353 pub const _0: Self = Self::new(0);
17354
17355 #[doc = "Output NMOS open-drain"]
17356 pub const _1: Self = Self::new(1);
17357 }
17358}
17359#[doc(hidden)]
17360#[derive(Copy, Clone, Eq, PartialEq)]
17361pub struct P5Pfs_SPEC;
17362impl crate::sealed::RegSpec for P5Pfs_SPEC {
17363 type DataType = u32;
17364}
17365
17366#[doc = "Port 5%s Pin Function Select Register"]
17367pub type P5Pfs = crate::RegValueT<P5Pfs_SPEC>;
17368
17369impl P5Pfs {
17370 #[doc = "Port Output Data"]
17371 #[inline(always)]
17372 pub fn podr(
17373 self,
17374 ) -> crate::common::RegisterField<
17375 0,
17376 0x1,
17377 1,
17378 0,
17379 p5pfs::Podr,
17380 p5pfs::Podr,
17381 P5Pfs_SPEC,
17382 crate::common::RW,
17383 > {
17384 crate::common::RegisterField::<
17385 0,
17386 0x1,
17387 1,
17388 0,
17389 p5pfs::Podr,
17390 p5pfs::Podr,
17391 P5Pfs_SPEC,
17392 crate::common::RW,
17393 >::from_register(self, 0)
17394 }
17395
17396 #[doc = "Port State"]
17397 #[inline(always)]
17398 pub fn pidr(
17399 self,
17400 ) -> crate::common::RegisterField<
17401 1,
17402 0x1,
17403 1,
17404 0,
17405 p5pfs::Pidr,
17406 p5pfs::Pidr,
17407 P5Pfs_SPEC,
17408 crate::common::R,
17409 > {
17410 crate::common::RegisterField::<
17411 1,
17412 0x1,
17413 1,
17414 0,
17415 p5pfs::Pidr,
17416 p5pfs::Pidr,
17417 P5Pfs_SPEC,
17418 crate::common::R,
17419 >::from_register(self, 0)
17420 }
17421
17422 #[doc = "Port Direction"]
17423 #[inline(always)]
17424 pub fn pdr(
17425 self,
17426 ) -> crate::common::RegisterField<
17427 2,
17428 0x1,
17429 1,
17430 0,
17431 p5pfs::Pdr,
17432 p5pfs::Pdr,
17433 P5Pfs_SPEC,
17434 crate::common::RW,
17435 > {
17436 crate::common::RegisterField::<
17437 2,
17438 0x1,
17439 1,
17440 0,
17441 p5pfs::Pdr,
17442 p5pfs::Pdr,
17443 P5Pfs_SPEC,
17444 crate::common::RW,
17445 >::from_register(self, 0)
17446 }
17447
17448 #[doc = "Pull-up Control"]
17449 #[inline(always)]
17450 pub fn pcr(
17451 self,
17452 ) -> crate::common::RegisterField<
17453 4,
17454 0x1,
17455 1,
17456 0,
17457 p5pfs::Pcr,
17458 p5pfs::Pcr,
17459 P5Pfs_SPEC,
17460 crate::common::RW,
17461 > {
17462 crate::common::RegisterField::<
17463 4,
17464 0x1,
17465 1,
17466 0,
17467 p5pfs::Pcr,
17468 p5pfs::Pcr,
17469 P5Pfs_SPEC,
17470 crate::common::RW,
17471 >::from_register(self, 0)
17472 }
17473
17474 #[doc = "N-Channel Open-Drain Control"]
17475 #[inline(always)]
17476 pub fn ncodr(
17477 self,
17478 ) -> crate::common::RegisterField<
17479 6,
17480 0x1,
17481 1,
17482 0,
17483 p5pfs::Ncodr,
17484 p5pfs::Ncodr,
17485 P5Pfs_SPEC,
17486 crate::common::RW,
17487 > {
17488 crate::common::RegisterField::<
17489 6,
17490 0x1,
17491 1,
17492 0,
17493 p5pfs::Ncodr,
17494 p5pfs::Ncodr,
17495 P5Pfs_SPEC,
17496 crate::common::RW,
17497 >::from_register(self, 0)
17498 }
17499
17500 #[doc = "IRQ Input Enable"]
17501 #[inline(always)]
17502 pub fn isel(
17503 self,
17504 ) -> crate::common::RegisterField<
17505 14,
17506 0x1,
17507 1,
17508 0,
17509 p5pfs::Isel,
17510 p5pfs::Isel,
17511 P5Pfs_SPEC,
17512 crate::common::RW,
17513 > {
17514 crate::common::RegisterField::<
17515 14,
17516 0x1,
17517 1,
17518 0,
17519 p5pfs::Isel,
17520 p5pfs::Isel,
17521 P5Pfs_SPEC,
17522 crate::common::RW,
17523 >::from_register(self, 0)
17524 }
17525
17526 #[doc = "Analog Input Enable"]
17527 #[inline(always)]
17528 pub fn asel(
17529 self,
17530 ) -> crate::common::RegisterField<
17531 15,
17532 0x1,
17533 1,
17534 0,
17535 p5pfs::Asel,
17536 p5pfs::Asel,
17537 P5Pfs_SPEC,
17538 crate::common::RW,
17539 > {
17540 crate::common::RegisterField::<
17541 15,
17542 0x1,
17543 1,
17544 0,
17545 p5pfs::Asel,
17546 p5pfs::Asel,
17547 P5Pfs_SPEC,
17548 crate::common::RW,
17549 >::from_register(self, 0)
17550 }
17551
17552 #[doc = "Port Mode Control"]
17553 #[inline(always)]
17554 pub fn pmr(
17555 self,
17556 ) -> crate::common::RegisterField<
17557 16,
17558 0x1,
17559 1,
17560 0,
17561 p5pfs::Pmr,
17562 p5pfs::Pmr,
17563 P5Pfs_SPEC,
17564 crate::common::RW,
17565 > {
17566 crate::common::RegisterField::<
17567 16,
17568 0x1,
17569 1,
17570 0,
17571 p5pfs::Pmr,
17572 p5pfs::Pmr,
17573 P5Pfs_SPEC,
17574 crate::common::RW,
17575 >::from_register(self, 0)
17576 }
17577
17578 #[doc = "Peripheral Select"]
17579 #[inline(always)]
17580 pub fn psel(
17581 self,
17582 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P5Pfs_SPEC, crate::common::RW> {
17583 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P5Pfs_SPEC,crate::common::RW>::from_register(self,0)
17584 }
17585}
17586impl ::core::default::Default for P5Pfs {
17587 #[inline(always)]
17588 fn default() -> P5Pfs {
17589 <crate::RegValueT<P5Pfs_SPEC> as RegisterValue<_>>::new(0)
17590 }
17591}
17592pub mod p5pfs {
17593
17594 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17595 pub struct Podr_SPEC;
17596 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
17597 impl Podr {
17598 #[doc = "Output low"]
17599 pub const _0: Self = Self::new(0);
17600
17601 #[doc = "Output high"]
17602 pub const _1: Self = Self::new(1);
17603 }
17604 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17605 pub struct Pidr_SPEC;
17606 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
17607 impl Pidr {
17608 #[doc = "Low level"]
17609 pub const _0: Self = Self::new(0);
17610
17611 #[doc = "High level"]
17612 pub const _1: Self = Self::new(1);
17613 }
17614 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17615 pub struct Pdr_SPEC;
17616 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
17617 impl Pdr {
17618 #[doc = "Input (functions as an input pin)"]
17619 pub const _0: Self = Self::new(0);
17620
17621 #[doc = "Output (functions as an output pin)"]
17622 pub const _1: Self = Self::new(1);
17623 }
17624 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17625 pub struct Pcr_SPEC;
17626 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
17627 impl Pcr {
17628 #[doc = "Disable input pull-up"]
17629 pub const _0: Self = Self::new(0);
17630
17631 #[doc = "Enable input pull-up"]
17632 pub const _1: Self = Self::new(1);
17633 }
17634 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17635 pub struct Ncodr_SPEC;
17636 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
17637 impl Ncodr {
17638 #[doc = "Output CMOS"]
17639 pub const _0: Self = Self::new(0);
17640
17641 #[doc = "Output NMOS open-drain"]
17642 pub const _1: Self = Self::new(1);
17643 }
17644 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17645 pub struct Isel_SPEC;
17646 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
17647 impl Isel {
17648 #[doc = "Do not use as IRQn input pin"]
17649 pub const _0: Self = Self::new(0);
17650
17651 #[doc = "Use as IRQn input pin"]
17652 pub const _1: Self = Self::new(1);
17653 }
17654 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17655 pub struct Asel_SPEC;
17656 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
17657 impl Asel {
17658 #[doc = "Do not use as analog pin"]
17659 pub const _0: Self = Self::new(0);
17660
17661 #[doc = "Use as analog pin"]
17662 pub const _1: Self = Self::new(1);
17663 }
17664 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17665 pub struct Pmr_SPEC;
17666 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
17667 impl Pmr {
17668 #[doc = "Use as general I/O pin"]
17669 pub const _0: Self = Self::new(0);
17670
17671 #[doc = "Use as I/O port for peripheral functions"]
17672 pub const _1: Self = Self::new(1);
17673 }
17674}
17675#[doc(hidden)]
17676#[derive(Copy, Clone, Eq, PartialEq)]
17677pub struct P5PfsHa_SPEC;
17678impl crate::sealed::RegSpec for P5PfsHa_SPEC {
17679 type DataType = u16;
17680}
17681
17682#[doc = "Port 5%s Pin Function Select Register"]
17683pub type P5PfsHa = crate::RegValueT<P5PfsHa_SPEC>;
17684
17685impl P5PfsHa {
17686 #[doc = "Port Output Data"]
17687 #[inline(always)]
17688 pub fn podr(
17689 self,
17690 ) -> crate::common::RegisterField<
17691 0,
17692 0x1,
17693 1,
17694 0,
17695 p5pfs_ha::Podr,
17696 p5pfs_ha::Podr,
17697 P5PfsHa_SPEC,
17698 crate::common::RW,
17699 > {
17700 crate::common::RegisterField::<
17701 0,
17702 0x1,
17703 1,
17704 0,
17705 p5pfs_ha::Podr,
17706 p5pfs_ha::Podr,
17707 P5PfsHa_SPEC,
17708 crate::common::RW,
17709 >::from_register(self, 0)
17710 }
17711
17712 #[doc = "Port State"]
17713 #[inline(always)]
17714 pub fn pidr(
17715 self,
17716 ) -> crate::common::RegisterField<
17717 1,
17718 0x1,
17719 1,
17720 0,
17721 p5pfs_ha::Pidr,
17722 p5pfs_ha::Pidr,
17723 P5PfsHa_SPEC,
17724 crate::common::R,
17725 > {
17726 crate::common::RegisterField::<
17727 1,
17728 0x1,
17729 1,
17730 0,
17731 p5pfs_ha::Pidr,
17732 p5pfs_ha::Pidr,
17733 P5PfsHa_SPEC,
17734 crate::common::R,
17735 >::from_register(self, 0)
17736 }
17737
17738 #[doc = "Port Direction"]
17739 #[inline(always)]
17740 pub fn pdr(
17741 self,
17742 ) -> crate::common::RegisterField<
17743 2,
17744 0x1,
17745 1,
17746 0,
17747 p5pfs_ha::Pdr,
17748 p5pfs_ha::Pdr,
17749 P5PfsHa_SPEC,
17750 crate::common::RW,
17751 > {
17752 crate::common::RegisterField::<
17753 2,
17754 0x1,
17755 1,
17756 0,
17757 p5pfs_ha::Pdr,
17758 p5pfs_ha::Pdr,
17759 P5PfsHa_SPEC,
17760 crate::common::RW,
17761 >::from_register(self, 0)
17762 }
17763
17764 #[doc = "Pull-up Control"]
17765 #[inline(always)]
17766 pub fn pcr(
17767 self,
17768 ) -> crate::common::RegisterField<
17769 4,
17770 0x1,
17771 1,
17772 0,
17773 p5pfs_ha::Pcr,
17774 p5pfs_ha::Pcr,
17775 P5PfsHa_SPEC,
17776 crate::common::RW,
17777 > {
17778 crate::common::RegisterField::<
17779 4,
17780 0x1,
17781 1,
17782 0,
17783 p5pfs_ha::Pcr,
17784 p5pfs_ha::Pcr,
17785 P5PfsHa_SPEC,
17786 crate::common::RW,
17787 >::from_register(self, 0)
17788 }
17789
17790 #[doc = "N-Channel Open-Drain Control"]
17791 #[inline(always)]
17792 pub fn ncodr(
17793 self,
17794 ) -> crate::common::RegisterField<
17795 6,
17796 0x1,
17797 1,
17798 0,
17799 p5pfs_ha::Ncodr,
17800 p5pfs_ha::Ncodr,
17801 P5PfsHa_SPEC,
17802 crate::common::RW,
17803 > {
17804 crate::common::RegisterField::<
17805 6,
17806 0x1,
17807 1,
17808 0,
17809 p5pfs_ha::Ncodr,
17810 p5pfs_ha::Ncodr,
17811 P5PfsHa_SPEC,
17812 crate::common::RW,
17813 >::from_register(self, 0)
17814 }
17815
17816 #[doc = "IRQ Input Enable"]
17817 #[inline(always)]
17818 pub fn isel(
17819 self,
17820 ) -> crate::common::RegisterField<
17821 14,
17822 0x1,
17823 1,
17824 0,
17825 p5pfs_ha::Isel,
17826 p5pfs_ha::Isel,
17827 P5PfsHa_SPEC,
17828 crate::common::RW,
17829 > {
17830 crate::common::RegisterField::<
17831 14,
17832 0x1,
17833 1,
17834 0,
17835 p5pfs_ha::Isel,
17836 p5pfs_ha::Isel,
17837 P5PfsHa_SPEC,
17838 crate::common::RW,
17839 >::from_register(self, 0)
17840 }
17841
17842 #[doc = "Analog Input Enable"]
17843 #[inline(always)]
17844 pub fn asel(
17845 self,
17846 ) -> crate::common::RegisterField<
17847 15,
17848 0x1,
17849 1,
17850 0,
17851 p5pfs_ha::Asel,
17852 p5pfs_ha::Asel,
17853 P5PfsHa_SPEC,
17854 crate::common::RW,
17855 > {
17856 crate::common::RegisterField::<
17857 15,
17858 0x1,
17859 1,
17860 0,
17861 p5pfs_ha::Asel,
17862 p5pfs_ha::Asel,
17863 P5PfsHa_SPEC,
17864 crate::common::RW,
17865 >::from_register(self, 0)
17866 }
17867}
17868impl ::core::default::Default for P5PfsHa {
17869 #[inline(always)]
17870 fn default() -> P5PfsHa {
17871 <crate::RegValueT<P5PfsHa_SPEC> as RegisterValue<_>>::new(0)
17872 }
17873}
17874pub mod p5pfs_ha {
17875
17876 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17877 pub struct Podr_SPEC;
17878 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
17879 impl Podr {
17880 #[doc = "Output low"]
17881 pub const _0: Self = Self::new(0);
17882
17883 #[doc = "Output high"]
17884 pub const _1: Self = Self::new(1);
17885 }
17886 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17887 pub struct Pidr_SPEC;
17888 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
17889 impl Pidr {
17890 #[doc = "Low level"]
17891 pub const _0: Self = Self::new(0);
17892
17893 #[doc = "High level"]
17894 pub const _1: Self = Self::new(1);
17895 }
17896 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17897 pub struct Pdr_SPEC;
17898 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
17899 impl Pdr {
17900 #[doc = "Input (functions as an input pin)"]
17901 pub const _0: Self = Self::new(0);
17902
17903 #[doc = "Output (functions as an output pin)"]
17904 pub const _1: Self = Self::new(1);
17905 }
17906 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17907 pub struct Pcr_SPEC;
17908 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
17909 impl Pcr {
17910 #[doc = "Disable input pull-up"]
17911 pub const _0: Self = Self::new(0);
17912
17913 #[doc = "Enable input pull-up"]
17914 pub const _1: Self = Self::new(1);
17915 }
17916 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17917 pub struct Ncodr_SPEC;
17918 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
17919 impl Ncodr {
17920 #[doc = "Output CMOS"]
17921 pub const _0: Self = Self::new(0);
17922
17923 #[doc = "Output NMOS open-drain"]
17924 pub const _1: Self = Self::new(1);
17925 }
17926 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17927 pub struct Isel_SPEC;
17928 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
17929 impl Isel {
17930 #[doc = "Do not use as IRQn input pin"]
17931 pub const _0: Self = Self::new(0);
17932
17933 #[doc = "Use as IRQn input pin"]
17934 pub const _1: Self = Self::new(1);
17935 }
17936 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17937 pub struct Asel_SPEC;
17938 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
17939 impl Asel {
17940 #[doc = "Do not use as analog pin"]
17941 pub const _0: Self = Self::new(0);
17942
17943 #[doc = "Use as analog pin"]
17944 pub const _1: Self = Self::new(1);
17945 }
17946}
17947#[doc(hidden)]
17948#[derive(Copy, Clone, Eq, PartialEq)]
17949pub struct P5PfsBy_SPEC;
17950impl crate::sealed::RegSpec for P5PfsBy_SPEC {
17951 type DataType = u8;
17952}
17953
17954#[doc = "Port 5%s Pin Function Select Register"]
17955pub type P5PfsBy = crate::RegValueT<P5PfsBy_SPEC>;
17956
17957impl P5PfsBy {
17958 #[doc = "Port Output Data"]
17959 #[inline(always)]
17960 pub fn podr(
17961 self,
17962 ) -> crate::common::RegisterField<
17963 0,
17964 0x1,
17965 1,
17966 0,
17967 p5pfs_by::Podr,
17968 p5pfs_by::Podr,
17969 P5PfsBy_SPEC,
17970 crate::common::RW,
17971 > {
17972 crate::common::RegisterField::<
17973 0,
17974 0x1,
17975 1,
17976 0,
17977 p5pfs_by::Podr,
17978 p5pfs_by::Podr,
17979 P5PfsBy_SPEC,
17980 crate::common::RW,
17981 >::from_register(self, 0)
17982 }
17983
17984 #[doc = "Port State"]
17985 #[inline(always)]
17986 pub fn pidr(
17987 self,
17988 ) -> crate::common::RegisterField<
17989 1,
17990 0x1,
17991 1,
17992 0,
17993 p5pfs_by::Pidr,
17994 p5pfs_by::Pidr,
17995 P5PfsBy_SPEC,
17996 crate::common::R,
17997 > {
17998 crate::common::RegisterField::<
17999 1,
18000 0x1,
18001 1,
18002 0,
18003 p5pfs_by::Pidr,
18004 p5pfs_by::Pidr,
18005 P5PfsBy_SPEC,
18006 crate::common::R,
18007 >::from_register(self, 0)
18008 }
18009
18010 #[doc = "Port Direction"]
18011 #[inline(always)]
18012 pub fn pdr(
18013 self,
18014 ) -> crate::common::RegisterField<
18015 2,
18016 0x1,
18017 1,
18018 0,
18019 p5pfs_by::Pdr,
18020 p5pfs_by::Pdr,
18021 P5PfsBy_SPEC,
18022 crate::common::RW,
18023 > {
18024 crate::common::RegisterField::<
18025 2,
18026 0x1,
18027 1,
18028 0,
18029 p5pfs_by::Pdr,
18030 p5pfs_by::Pdr,
18031 P5PfsBy_SPEC,
18032 crate::common::RW,
18033 >::from_register(self, 0)
18034 }
18035
18036 #[doc = "Pull-up Control"]
18037 #[inline(always)]
18038 pub fn pcr(
18039 self,
18040 ) -> crate::common::RegisterField<
18041 4,
18042 0x1,
18043 1,
18044 0,
18045 p5pfs_by::Pcr,
18046 p5pfs_by::Pcr,
18047 P5PfsBy_SPEC,
18048 crate::common::RW,
18049 > {
18050 crate::common::RegisterField::<
18051 4,
18052 0x1,
18053 1,
18054 0,
18055 p5pfs_by::Pcr,
18056 p5pfs_by::Pcr,
18057 P5PfsBy_SPEC,
18058 crate::common::RW,
18059 >::from_register(self, 0)
18060 }
18061
18062 #[doc = "N-Channel Open-Drain Control"]
18063 #[inline(always)]
18064 pub fn ncodr(
18065 self,
18066 ) -> crate::common::RegisterField<
18067 6,
18068 0x1,
18069 1,
18070 0,
18071 p5pfs_by::Ncodr,
18072 p5pfs_by::Ncodr,
18073 P5PfsBy_SPEC,
18074 crate::common::RW,
18075 > {
18076 crate::common::RegisterField::<
18077 6,
18078 0x1,
18079 1,
18080 0,
18081 p5pfs_by::Ncodr,
18082 p5pfs_by::Ncodr,
18083 P5PfsBy_SPEC,
18084 crate::common::RW,
18085 >::from_register(self, 0)
18086 }
18087}
18088impl ::core::default::Default for P5PfsBy {
18089 #[inline(always)]
18090 fn default() -> P5PfsBy {
18091 <crate::RegValueT<P5PfsBy_SPEC> as RegisterValue<_>>::new(0)
18092 }
18093}
18094pub mod p5pfs_by {
18095
18096 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18097 pub struct Podr_SPEC;
18098 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
18099 impl Podr {
18100 #[doc = "Output low"]
18101 pub const _0: Self = Self::new(0);
18102
18103 #[doc = "Output high"]
18104 pub const _1: Self = Self::new(1);
18105 }
18106 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18107 pub struct Pidr_SPEC;
18108 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
18109 impl Pidr {
18110 #[doc = "Low level"]
18111 pub const _0: Self = Self::new(0);
18112
18113 #[doc = "High level"]
18114 pub const _1: Self = Self::new(1);
18115 }
18116 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18117 pub struct Pdr_SPEC;
18118 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
18119 impl Pdr {
18120 #[doc = "Input (functions as an input pin)"]
18121 pub const _0: Self = Self::new(0);
18122
18123 #[doc = "Output (functions as an output pin)"]
18124 pub const _1: Self = Self::new(1);
18125 }
18126 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18127 pub struct Pcr_SPEC;
18128 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
18129 impl Pcr {
18130 #[doc = "Disable input pull-up"]
18131 pub const _0: Self = Self::new(0);
18132
18133 #[doc = "Enable input pull-up"]
18134 pub const _1: Self = Self::new(1);
18135 }
18136 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18137 pub struct Ncodr_SPEC;
18138 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
18139 impl Ncodr {
18140 #[doc = "Output CMOS"]
18141 pub const _0: Self = Self::new(0);
18142
18143 #[doc = "Output NMOS open-drain"]
18144 pub const _1: Self = Self::new(1);
18145 }
18146}
18147#[doc(hidden)]
18148#[derive(Copy, Clone, Eq, PartialEq)]
18149pub struct P60Pfs_SPEC;
18150impl crate::sealed::RegSpec for P60Pfs_SPEC {
18151 type DataType = u32;
18152}
18153
18154#[doc = "Port 60%s Pin Function Select Register"]
18155pub type P60Pfs = crate::RegValueT<P60Pfs_SPEC>;
18156
18157impl P60Pfs {
18158 #[doc = "Port Output Data"]
18159 #[inline(always)]
18160 pub fn podr(
18161 self,
18162 ) -> crate::common::RegisterField<
18163 0,
18164 0x1,
18165 1,
18166 0,
18167 p60pfs::Podr,
18168 p60pfs::Podr,
18169 P60Pfs_SPEC,
18170 crate::common::RW,
18171 > {
18172 crate::common::RegisterField::<
18173 0,
18174 0x1,
18175 1,
18176 0,
18177 p60pfs::Podr,
18178 p60pfs::Podr,
18179 P60Pfs_SPEC,
18180 crate::common::RW,
18181 >::from_register(self, 0)
18182 }
18183
18184 #[doc = "Port State"]
18185 #[inline(always)]
18186 pub fn pidr(
18187 self,
18188 ) -> crate::common::RegisterField<
18189 1,
18190 0x1,
18191 1,
18192 0,
18193 p60pfs::Pidr,
18194 p60pfs::Pidr,
18195 P60Pfs_SPEC,
18196 crate::common::R,
18197 > {
18198 crate::common::RegisterField::<
18199 1,
18200 0x1,
18201 1,
18202 0,
18203 p60pfs::Pidr,
18204 p60pfs::Pidr,
18205 P60Pfs_SPEC,
18206 crate::common::R,
18207 >::from_register(self, 0)
18208 }
18209
18210 #[doc = "Port Direction"]
18211 #[inline(always)]
18212 pub fn pdr(
18213 self,
18214 ) -> crate::common::RegisterField<
18215 2,
18216 0x1,
18217 1,
18218 0,
18219 p60pfs::Pdr,
18220 p60pfs::Pdr,
18221 P60Pfs_SPEC,
18222 crate::common::RW,
18223 > {
18224 crate::common::RegisterField::<
18225 2,
18226 0x1,
18227 1,
18228 0,
18229 p60pfs::Pdr,
18230 p60pfs::Pdr,
18231 P60Pfs_SPEC,
18232 crate::common::RW,
18233 >::from_register(self, 0)
18234 }
18235
18236 #[doc = "Pull-up Control"]
18237 #[inline(always)]
18238 pub fn pcr(
18239 self,
18240 ) -> crate::common::RegisterField<
18241 4,
18242 0x1,
18243 1,
18244 0,
18245 p60pfs::Pcr,
18246 p60pfs::Pcr,
18247 P60Pfs_SPEC,
18248 crate::common::RW,
18249 > {
18250 crate::common::RegisterField::<
18251 4,
18252 0x1,
18253 1,
18254 0,
18255 p60pfs::Pcr,
18256 p60pfs::Pcr,
18257 P60Pfs_SPEC,
18258 crate::common::RW,
18259 >::from_register(self, 0)
18260 }
18261
18262 #[doc = "N-Channel Open-Drain Control"]
18263 #[inline(always)]
18264 pub fn ncodr(
18265 self,
18266 ) -> crate::common::RegisterField<
18267 6,
18268 0x1,
18269 1,
18270 0,
18271 p60pfs::Ncodr,
18272 p60pfs::Ncodr,
18273 P60Pfs_SPEC,
18274 crate::common::RW,
18275 > {
18276 crate::common::RegisterField::<
18277 6,
18278 0x1,
18279 1,
18280 0,
18281 p60pfs::Ncodr,
18282 p60pfs::Ncodr,
18283 P60Pfs_SPEC,
18284 crate::common::RW,
18285 >::from_register(self, 0)
18286 }
18287
18288 #[doc = "IRQ Input Enable"]
18289 #[inline(always)]
18290 pub fn isel(
18291 self,
18292 ) -> crate::common::RegisterField<
18293 14,
18294 0x1,
18295 1,
18296 0,
18297 p60pfs::Isel,
18298 p60pfs::Isel,
18299 P60Pfs_SPEC,
18300 crate::common::RW,
18301 > {
18302 crate::common::RegisterField::<
18303 14,
18304 0x1,
18305 1,
18306 0,
18307 p60pfs::Isel,
18308 p60pfs::Isel,
18309 P60Pfs_SPEC,
18310 crate::common::RW,
18311 >::from_register(self, 0)
18312 }
18313
18314 #[doc = "Analog Input Enable"]
18315 #[inline(always)]
18316 pub fn asel(
18317 self,
18318 ) -> crate::common::RegisterField<
18319 15,
18320 0x1,
18321 1,
18322 0,
18323 p60pfs::Asel,
18324 p60pfs::Asel,
18325 P60Pfs_SPEC,
18326 crate::common::RW,
18327 > {
18328 crate::common::RegisterField::<
18329 15,
18330 0x1,
18331 1,
18332 0,
18333 p60pfs::Asel,
18334 p60pfs::Asel,
18335 P60Pfs_SPEC,
18336 crate::common::RW,
18337 >::from_register(self, 0)
18338 }
18339
18340 #[doc = "Port Mode Control"]
18341 #[inline(always)]
18342 pub fn pmr(
18343 self,
18344 ) -> crate::common::RegisterField<
18345 16,
18346 0x1,
18347 1,
18348 0,
18349 p60pfs::Pmr,
18350 p60pfs::Pmr,
18351 P60Pfs_SPEC,
18352 crate::common::RW,
18353 > {
18354 crate::common::RegisterField::<
18355 16,
18356 0x1,
18357 1,
18358 0,
18359 p60pfs::Pmr,
18360 p60pfs::Pmr,
18361 P60Pfs_SPEC,
18362 crate::common::RW,
18363 >::from_register(self, 0)
18364 }
18365
18366 #[doc = "Peripheral Select"]
18367 #[inline(always)]
18368 pub fn psel(
18369 self,
18370 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P60Pfs_SPEC, crate::common::RW> {
18371 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P60Pfs_SPEC,crate::common::RW>::from_register(self,0)
18372 }
18373}
18374impl ::core::default::Default for P60Pfs {
18375 #[inline(always)]
18376 fn default() -> P60Pfs {
18377 <crate::RegValueT<P60Pfs_SPEC> as RegisterValue<_>>::new(0)
18378 }
18379}
18380pub mod p60pfs {
18381
18382 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18383 pub struct Podr_SPEC;
18384 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
18385 impl Podr {
18386 #[doc = "Output low"]
18387 pub const _0: Self = Self::new(0);
18388
18389 #[doc = "Output high"]
18390 pub const _1: Self = Self::new(1);
18391 }
18392 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18393 pub struct Pidr_SPEC;
18394 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
18395 impl Pidr {
18396 #[doc = "Low level"]
18397 pub const _0: Self = Self::new(0);
18398
18399 #[doc = "High level"]
18400 pub const _1: Self = Self::new(1);
18401 }
18402 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18403 pub struct Pdr_SPEC;
18404 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
18405 impl Pdr {
18406 #[doc = "Input (functions as an input pin)"]
18407 pub const _0: Self = Self::new(0);
18408
18409 #[doc = "Output (functions as an output pin)"]
18410 pub const _1: Self = Self::new(1);
18411 }
18412 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18413 pub struct Pcr_SPEC;
18414 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
18415 impl Pcr {
18416 #[doc = "Disable input pull-up"]
18417 pub const _0: Self = Self::new(0);
18418
18419 #[doc = "Enable input pull-up"]
18420 pub const _1: Self = Self::new(1);
18421 }
18422 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18423 pub struct Ncodr_SPEC;
18424 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
18425 impl Ncodr {
18426 #[doc = "Output CMOS"]
18427 pub const _0: Self = Self::new(0);
18428
18429 #[doc = "Output NMOS open-drain"]
18430 pub const _1: Self = Self::new(1);
18431 }
18432 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18433 pub struct Isel_SPEC;
18434 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
18435 impl Isel {
18436 #[doc = "Do not use as IRQn input pin"]
18437 pub const _0: Self = Self::new(0);
18438
18439 #[doc = "Use as IRQn input pin"]
18440 pub const _1: Self = Self::new(1);
18441 }
18442 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18443 pub struct Asel_SPEC;
18444 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
18445 impl Asel {
18446 #[doc = "Do not use as analog pin"]
18447 pub const _0: Self = Self::new(0);
18448
18449 #[doc = "Use as analog pin"]
18450 pub const _1: Self = Self::new(1);
18451 }
18452 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18453 pub struct Pmr_SPEC;
18454 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
18455 impl Pmr {
18456 #[doc = "Use as general I/O pin"]
18457 pub const _0: Self = Self::new(0);
18458
18459 #[doc = "Use as I/O port for peripheral functions"]
18460 pub const _1: Self = Self::new(1);
18461 }
18462}
18463#[doc(hidden)]
18464#[derive(Copy, Clone, Eq, PartialEq)]
18465pub struct P60PfsHa_SPEC;
18466impl crate::sealed::RegSpec for P60PfsHa_SPEC {
18467 type DataType = u16;
18468}
18469
18470#[doc = "Port 60%s Pin Function Select Register"]
18471pub type P60PfsHa = crate::RegValueT<P60PfsHa_SPEC>;
18472
18473impl P60PfsHa {
18474 #[doc = "Port Output Data"]
18475 #[inline(always)]
18476 pub fn podr(
18477 self,
18478 ) -> crate::common::RegisterField<
18479 0,
18480 0x1,
18481 1,
18482 0,
18483 p60pfs_ha::Podr,
18484 p60pfs_ha::Podr,
18485 P60PfsHa_SPEC,
18486 crate::common::RW,
18487 > {
18488 crate::common::RegisterField::<
18489 0,
18490 0x1,
18491 1,
18492 0,
18493 p60pfs_ha::Podr,
18494 p60pfs_ha::Podr,
18495 P60PfsHa_SPEC,
18496 crate::common::RW,
18497 >::from_register(self, 0)
18498 }
18499
18500 #[doc = "Port State"]
18501 #[inline(always)]
18502 pub fn pidr(
18503 self,
18504 ) -> crate::common::RegisterField<
18505 1,
18506 0x1,
18507 1,
18508 0,
18509 p60pfs_ha::Pidr,
18510 p60pfs_ha::Pidr,
18511 P60PfsHa_SPEC,
18512 crate::common::R,
18513 > {
18514 crate::common::RegisterField::<
18515 1,
18516 0x1,
18517 1,
18518 0,
18519 p60pfs_ha::Pidr,
18520 p60pfs_ha::Pidr,
18521 P60PfsHa_SPEC,
18522 crate::common::R,
18523 >::from_register(self, 0)
18524 }
18525
18526 #[doc = "Port Direction"]
18527 #[inline(always)]
18528 pub fn pdr(
18529 self,
18530 ) -> crate::common::RegisterField<
18531 2,
18532 0x1,
18533 1,
18534 0,
18535 p60pfs_ha::Pdr,
18536 p60pfs_ha::Pdr,
18537 P60PfsHa_SPEC,
18538 crate::common::RW,
18539 > {
18540 crate::common::RegisterField::<
18541 2,
18542 0x1,
18543 1,
18544 0,
18545 p60pfs_ha::Pdr,
18546 p60pfs_ha::Pdr,
18547 P60PfsHa_SPEC,
18548 crate::common::RW,
18549 >::from_register(self, 0)
18550 }
18551
18552 #[doc = "Pull-up Control"]
18553 #[inline(always)]
18554 pub fn pcr(
18555 self,
18556 ) -> crate::common::RegisterField<
18557 4,
18558 0x1,
18559 1,
18560 0,
18561 p60pfs_ha::Pcr,
18562 p60pfs_ha::Pcr,
18563 P60PfsHa_SPEC,
18564 crate::common::RW,
18565 > {
18566 crate::common::RegisterField::<
18567 4,
18568 0x1,
18569 1,
18570 0,
18571 p60pfs_ha::Pcr,
18572 p60pfs_ha::Pcr,
18573 P60PfsHa_SPEC,
18574 crate::common::RW,
18575 >::from_register(self, 0)
18576 }
18577
18578 #[doc = "N-Channel Open-Drain Control"]
18579 #[inline(always)]
18580 pub fn ncodr(
18581 self,
18582 ) -> crate::common::RegisterField<
18583 6,
18584 0x1,
18585 1,
18586 0,
18587 p60pfs_ha::Ncodr,
18588 p60pfs_ha::Ncodr,
18589 P60PfsHa_SPEC,
18590 crate::common::RW,
18591 > {
18592 crate::common::RegisterField::<
18593 6,
18594 0x1,
18595 1,
18596 0,
18597 p60pfs_ha::Ncodr,
18598 p60pfs_ha::Ncodr,
18599 P60PfsHa_SPEC,
18600 crate::common::RW,
18601 >::from_register(self, 0)
18602 }
18603
18604 #[doc = "IRQ Input Enable"]
18605 #[inline(always)]
18606 pub fn isel(
18607 self,
18608 ) -> crate::common::RegisterField<
18609 14,
18610 0x1,
18611 1,
18612 0,
18613 p60pfs_ha::Isel,
18614 p60pfs_ha::Isel,
18615 P60PfsHa_SPEC,
18616 crate::common::RW,
18617 > {
18618 crate::common::RegisterField::<
18619 14,
18620 0x1,
18621 1,
18622 0,
18623 p60pfs_ha::Isel,
18624 p60pfs_ha::Isel,
18625 P60PfsHa_SPEC,
18626 crate::common::RW,
18627 >::from_register(self, 0)
18628 }
18629
18630 #[doc = "Analog Input Enable"]
18631 #[inline(always)]
18632 pub fn asel(
18633 self,
18634 ) -> crate::common::RegisterField<
18635 15,
18636 0x1,
18637 1,
18638 0,
18639 p60pfs_ha::Asel,
18640 p60pfs_ha::Asel,
18641 P60PfsHa_SPEC,
18642 crate::common::RW,
18643 > {
18644 crate::common::RegisterField::<
18645 15,
18646 0x1,
18647 1,
18648 0,
18649 p60pfs_ha::Asel,
18650 p60pfs_ha::Asel,
18651 P60PfsHa_SPEC,
18652 crate::common::RW,
18653 >::from_register(self, 0)
18654 }
18655}
18656impl ::core::default::Default for P60PfsHa {
18657 #[inline(always)]
18658 fn default() -> P60PfsHa {
18659 <crate::RegValueT<P60PfsHa_SPEC> as RegisterValue<_>>::new(0)
18660 }
18661}
18662pub mod p60pfs_ha {
18663
18664 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18665 pub struct Podr_SPEC;
18666 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
18667 impl Podr {
18668 #[doc = "Output low"]
18669 pub const _0: Self = Self::new(0);
18670
18671 #[doc = "Output high"]
18672 pub const _1: Self = Self::new(1);
18673 }
18674 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18675 pub struct Pidr_SPEC;
18676 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
18677 impl Pidr {
18678 #[doc = "Low level"]
18679 pub const _0: Self = Self::new(0);
18680
18681 #[doc = "High level"]
18682 pub const _1: Self = Self::new(1);
18683 }
18684 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18685 pub struct Pdr_SPEC;
18686 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
18687 impl Pdr {
18688 #[doc = "Input (functions as an input pin)"]
18689 pub const _0: Self = Self::new(0);
18690
18691 #[doc = "Output (functions as an output pin)"]
18692 pub const _1: Self = Self::new(1);
18693 }
18694 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18695 pub struct Pcr_SPEC;
18696 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
18697 impl Pcr {
18698 #[doc = "Disable input pull-up"]
18699 pub const _0: Self = Self::new(0);
18700
18701 #[doc = "Enable input pull-up"]
18702 pub const _1: Self = Self::new(1);
18703 }
18704 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18705 pub struct Ncodr_SPEC;
18706 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
18707 impl Ncodr {
18708 #[doc = "Output CMOS"]
18709 pub const _0: Self = Self::new(0);
18710
18711 #[doc = "Output NMOS open-drain"]
18712 pub const _1: Self = Self::new(1);
18713 }
18714 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18715 pub struct Isel_SPEC;
18716 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
18717 impl Isel {
18718 #[doc = "Do not use as IRQn input pin"]
18719 pub const _0: Self = Self::new(0);
18720
18721 #[doc = "Use as IRQn input pin"]
18722 pub const _1: Self = Self::new(1);
18723 }
18724 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18725 pub struct Asel_SPEC;
18726 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
18727 impl Asel {
18728 #[doc = "Do not use as analog pin"]
18729 pub const _0: Self = Self::new(0);
18730
18731 #[doc = "Use as analog pin"]
18732 pub const _1: Self = Self::new(1);
18733 }
18734}
18735#[doc(hidden)]
18736#[derive(Copy, Clone, Eq, PartialEq)]
18737pub struct P60PfsBy_SPEC;
18738impl crate::sealed::RegSpec for P60PfsBy_SPEC {
18739 type DataType = u8;
18740}
18741
18742#[doc = "Port 60%s Pin Function Select Register"]
18743pub type P60PfsBy = crate::RegValueT<P60PfsBy_SPEC>;
18744
18745impl P60PfsBy {
18746 #[doc = "Port Output Data"]
18747 #[inline(always)]
18748 pub fn podr(
18749 self,
18750 ) -> crate::common::RegisterField<
18751 0,
18752 0x1,
18753 1,
18754 0,
18755 p60pfs_by::Podr,
18756 p60pfs_by::Podr,
18757 P60PfsBy_SPEC,
18758 crate::common::RW,
18759 > {
18760 crate::common::RegisterField::<
18761 0,
18762 0x1,
18763 1,
18764 0,
18765 p60pfs_by::Podr,
18766 p60pfs_by::Podr,
18767 P60PfsBy_SPEC,
18768 crate::common::RW,
18769 >::from_register(self, 0)
18770 }
18771
18772 #[doc = "Port State"]
18773 #[inline(always)]
18774 pub fn pidr(
18775 self,
18776 ) -> crate::common::RegisterField<
18777 1,
18778 0x1,
18779 1,
18780 0,
18781 p60pfs_by::Pidr,
18782 p60pfs_by::Pidr,
18783 P60PfsBy_SPEC,
18784 crate::common::R,
18785 > {
18786 crate::common::RegisterField::<
18787 1,
18788 0x1,
18789 1,
18790 0,
18791 p60pfs_by::Pidr,
18792 p60pfs_by::Pidr,
18793 P60PfsBy_SPEC,
18794 crate::common::R,
18795 >::from_register(self, 0)
18796 }
18797
18798 #[doc = "Port Direction"]
18799 #[inline(always)]
18800 pub fn pdr(
18801 self,
18802 ) -> crate::common::RegisterField<
18803 2,
18804 0x1,
18805 1,
18806 0,
18807 p60pfs_by::Pdr,
18808 p60pfs_by::Pdr,
18809 P60PfsBy_SPEC,
18810 crate::common::RW,
18811 > {
18812 crate::common::RegisterField::<
18813 2,
18814 0x1,
18815 1,
18816 0,
18817 p60pfs_by::Pdr,
18818 p60pfs_by::Pdr,
18819 P60PfsBy_SPEC,
18820 crate::common::RW,
18821 >::from_register(self, 0)
18822 }
18823
18824 #[doc = "Pull-up Control"]
18825 #[inline(always)]
18826 pub fn pcr(
18827 self,
18828 ) -> crate::common::RegisterField<
18829 4,
18830 0x1,
18831 1,
18832 0,
18833 p60pfs_by::Pcr,
18834 p60pfs_by::Pcr,
18835 P60PfsBy_SPEC,
18836 crate::common::RW,
18837 > {
18838 crate::common::RegisterField::<
18839 4,
18840 0x1,
18841 1,
18842 0,
18843 p60pfs_by::Pcr,
18844 p60pfs_by::Pcr,
18845 P60PfsBy_SPEC,
18846 crate::common::RW,
18847 >::from_register(self, 0)
18848 }
18849
18850 #[doc = "N-Channel Open-Drain Control"]
18851 #[inline(always)]
18852 pub fn ncodr(
18853 self,
18854 ) -> crate::common::RegisterField<
18855 6,
18856 0x1,
18857 1,
18858 0,
18859 p60pfs_by::Ncodr,
18860 p60pfs_by::Ncodr,
18861 P60PfsBy_SPEC,
18862 crate::common::RW,
18863 > {
18864 crate::common::RegisterField::<
18865 6,
18866 0x1,
18867 1,
18868 0,
18869 p60pfs_by::Ncodr,
18870 p60pfs_by::Ncodr,
18871 P60PfsBy_SPEC,
18872 crate::common::RW,
18873 >::from_register(self, 0)
18874 }
18875}
18876impl ::core::default::Default for P60PfsBy {
18877 #[inline(always)]
18878 fn default() -> P60PfsBy {
18879 <crate::RegValueT<P60PfsBy_SPEC> as RegisterValue<_>>::new(0)
18880 }
18881}
18882pub mod p60pfs_by {
18883
18884 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18885 pub struct Podr_SPEC;
18886 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
18887 impl Podr {
18888 #[doc = "Output low"]
18889 pub const _0: Self = Self::new(0);
18890
18891 #[doc = "Output high"]
18892 pub const _1: Self = Self::new(1);
18893 }
18894 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18895 pub struct Pidr_SPEC;
18896 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
18897 impl Pidr {
18898 #[doc = "Low level"]
18899 pub const _0: Self = Self::new(0);
18900
18901 #[doc = "High level"]
18902 pub const _1: Self = Self::new(1);
18903 }
18904 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18905 pub struct Pdr_SPEC;
18906 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
18907 impl Pdr {
18908 #[doc = "Input (functions as an input pin)"]
18909 pub const _0: Self = Self::new(0);
18910
18911 #[doc = "Output (functions as an output pin)"]
18912 pub const _1: Self = Self::new(1);
18913 }
18914 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18915 pub struct Pcr_SPEC;
18916 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
18917 impl Pcr {
18918 #[doc = "Disable input pull-up"]
18919 pub const _0: Self = Self::new(0);
18920
18921 #[doc = "Enable input pull-up"]
18922 pub const _1: Self = Self::new(1);
18923 }
18924 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18925 pub struct Ncodr_SPEC;
18926 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
18927 impl Ncodr {
18928 #[doc = "Output CMOS"]
18929 pub const _0: Self = Self::new(0);
18930
18931 #[doc = "Output NMOS open-drain"]
18932 pub const _1: Self = Self::new(1);
18933 }
18934}
18935#[doc(hidden)]
18936#[derive(Copy, Clone, Eq, PartialEq)]
18937pub struct P6Pfs_SPEC;
18938impl crate::sealed::RegSpec for P6Pfs_SPEC {
18939 type DataType = u32;
18940}
18941
18942#[doc = "Port 6%s Pin Function Select Register"]
18943pub type P6Pfs = crate::RegValueT<P6Pfs_SPEC>;
18944
18945impl P6Pfs {
18946 #[doc = "Port Output Data"]
18947 #[inline(always)]
18948 pub fn podr(
18949 self,
18950 ) -> crate::common::RegisterField<
18951 0,
18952 0x1,
18953 1,
18954 0,
18955 p6pfs::Podr,
18956 p6pfs::Podr,
18957 P6Pfs_SPEC,
18958 crate::common::RW,
18959 > {
18960 crate::common::RegisterField::<
18961 0,
18962 0x1,
18963 1,
18964 0,
18965 p6pfs::Podr,
18966 p6pfs::Podr,
18967 P6Pfs_SPEC,
18968 crate::common::RW,
18969 >::from_register(self, 0)
18970 }
18971
18972 #[doc = "Port State"]
18973 #[inline(always)]
18974 pub fn pidr(
18975 self,
18976 ) -> crate::common::RegisterField<
18977 1,
18978 0x1,
18979 1,
18980 0,
18981 p6pfs::Pidr,
18982 p6pfs::Pidr,
18983 P6Pfs_SPEC,
18984 crate::common::R,
18985 > {
18986 crate::common::RegisterField::<
18987 1,
18988 0x1,
18989 1,
18990 0,
18991 p6pfs::Pidr,
18992 p6pfs::Pidr,
18993 P6Pfs_SPEC,
18994 crate::common::R,
18995 >::from_register(self, 0)
18996 }
18997
18998 #[doc = "Port Direction"]
18999 #[inline(always)]
19000 pub fn pdr(
19001 self,
19002 ) -> crate::common::RegisterField<
19003 2,
19004 0x1,
19005 1,
19006 0,
19007 p6pfs::Pdr,
19008 p6pfs::Pdr,
19009 P6Pfs_SPEC,
19010 crate::common::RW,
19011 > {
19012 crate::common::RegisterField::<
19013 2,
19014 0x1,
19015 1,
19016 0,
19017 p6pfs::Pdr,
19018 p6pfs::Pdr,
19019 P6Pfs_SPEC,
19020 crate::common::RW,
19021 >::from_register(self, 0)
19022 }
19023
19024 #[doc = "Pull-up Control"]
19025 #[inline(always)]
19026 pub fn pcr(
19027 self,
19028 ) -> crate::common::RegisterField<
19029 4,
19030 0x1,
19031 1,
19032 0,
19033 p6pfs::Pcr,
19034 p6pfs::Pcr,
19035 P6Pfs_SPEC,
19036 crate::common::RW,
19037 > {
19038 crate::common::RegisterField::<
19039 4,
19040 0x1,
19041 1,
19042 0,
19043 p6pfs::Pcr,
19044 p6pfs::Pcr,
19045 P6Pfs_SPEC,
19046 crate::common::RW,
19047 >::from_register(self, 0)
19048 }
19049
19050 #[doc = "N-Channel Open-Drain Control"]
19051 #[inline(always)]
19052 pub fn ncodr(
19053 self,
19054 ) -> crate::common::RegisterField<
19055 6,
19056 0x1,
19057 1,
19058 0,
19059 p6pfs::Ncodr,
19060 p6pfs::Ncodr,
19061 P6Pfs_SPEC,
19062 crate::common::RW,
19063 > {
19064 crate::common::RegisterField::<
19065 6,
19066 0x1,
19067 1,
19068 0,
19069 p6pfs::Ncodr,
19070 p6pfs::Ncodr,
19071 P6Pfs_SPEC,
19072 crate::common::RW,
19073 >::from_register(self, 0)
19074 }
19075
19076 #[doc = "IRQ Input Enable"]
19077 #[inline(always)]
19078 pub fn isel(
19079 self,
19080 ) -> crate::common::RegisterField<
19081 14,
19082 0x1,
19083 1,
19084 0,
19085 p6pfs::Isel,
19086 p6pfs::Isel,
19087 P6Pfs_SPEC,
19088 crate::common::RW,
19089 > {
19090 crate::common::RegisterField::<
19091 14,
19092 0x1,
19093 1,
19094 0,
19095 p6pfs::Isel,
19096 p6pfs::Isel,
19097 P6Pfs_SPEC,
19098 crate::common::RW,
19099 >::from_register(self, 0)
19100 }
19101
19102 #[doc = "Analog Input Enable"]
19103 #[inline(always)]
19104 pub fn asel(
19105 self,
19106 ) -> crate::common::RegisterField<
19107 15,
19108 0x1,
19109 1,
19110 0,
19111 p6pfs::Asel,
19112 p6pfs::Asel,
19113 P6Pfs_SPEC,
19114 crate::common::RW,
19115 > {
19116 crate::common::RegisterField::<
19117 15,
19118 0x1,
19119 1,
19120 0,
19121 p6pfs::Asel,
19122 p6pfs::Asel,
19123 P6Pfs_SPEC,
19124 crate::common::RW,
19125 >::from_register(self, 0)
19126 }
19127
19128 #[doc = "Port Mode Control"]
19129 #[inline(always)]
19130 pub fn pmr(
19131 self,
19132 ) -> crate::common::RegisterField<
19133 16,
19134 0x1,
19135 1,
19136 0,
19137 p6pfs::Pmr,
19138 p6pfs::Pmr,
19139 P6Pfs_SPEC,
19140 crate::common::RW,
19141 > {
19142 crate::common::RegisterField::<
19143 16,
19144 0x1,
19145 1,
19146 0,
19147 p6pfs::Pmr,
19148 p6pfs::Pmr,
19149 P6Pfs_SPEC,
19150 crate::common::RW,
19151 >::from_register(self, 0)
19152 }
19153
19154 #[doc = "Peripheral Select"]
19155 #[inline(always)]
19156 pub fn psel(
19157 self,
19158 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P6Pfs_SPEC, crate::common::RW> {
19159 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P6Pfs_SPEC,crate::common::RW>::from_register(self,0)
19160 }
19161}
19162impl ::core::default::Default for P6Pfs {
19163 #[inline(always)]
19164 fn default() -> P6Pfs {
19165 <crate::RegValueT<P6Pfs_SPEC> as RegisterValue<_>>::new(0)
19166 }
19167}
19168pub mod p6pfs {
19169
19170 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19171 pub struct Podr_SPEC;
19172 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
19173 impl Podr {
19174 #[doc = "Output low"]
19175 pub const _0: Self = Self::new(0);
19176
19177 #[doc = "Output high"]
19178 pub const _1: Self = Self::new(1);
19179 }
19180 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19181 pub struct Pidr_SPEC;
19182 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
19183 impl Pidr {
19184 #[doc = "Low level"]
19185 pub const _0: Self = Self::new(0);
19186
19187 #[doc = "High level"]
19188 pub const _1: Self = Self::new(1);
19189 }
19190 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19191 pub struct Pdr_SPEC;
19192 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
19193 impl Pdr {
19194 #[doc = "Input (functions as an input pin)"]
19195 pub const _0: Self = Self::new(0);
19196
19197 #[doc = "Output (functions as an output pin)"]
19198 pub const _1: Self = Self::new(1);
19199 }
19200 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19201 pub struct Pcr_SPEC;
19202 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
19203 impl Pcr {
19204 #[doc = "Disable input pull-up"]
19205 pub const _0: Self = Self::new(0);
19206
19207 #[doc = "Enable input pull-up"]
19208 pub const _1: Self = Self::new(1);
19209 }
19210 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19211 pub struct Ncodr_SPEC;
19212 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
19213 impl Ncodr {
19214 #[doc = "Output CMOS"]
19215 pub const _0: Self = Self::new(0);
19216
19217 #[doc = "Output NMOS open-drain"]
19218 pub const _1: Self = Self::new(1);
19219 }
19220 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19221 pub struct Isel_SPEC;
19222 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
19223 impl Isel {
19224 #[doc = "Do not use as IRQn input pin"]
19225 pub const _0: Self = Self::new(0);
19226
19227 #[doc = "Use as IRQn input pin"]
19228 pub const _1: Self = Self::new(1);
19229 }
19230 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19231 pub struct Asel_SPEC;
19232 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
19233 impl Asel {
19234 #[doc = "Do not use as analog pin"]
19235 pub const _0: Self = Self::new(0);
19236
19237 #[doc = "Use as analog pin"]
19238 pub const _1: Self = Self::new(1);
19239 }
19240 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19241 pub struct Pmr_SPEC;
19242 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
19243 impl Pmr {
19244 #[doc = "Use as general I/O pin"]
19245 pub const _0: Self = Self::new(0);
19246
19247 #[doc = "Use as I/O port for peripheral functions"]
19248 pub const _1: Self = Self::new(1);
19249 }
19250}
19251#[doc(hidden)]
19252#[derive(Copy, Clone, Eq, PartialEq)]
19253pub struct P6PfsHa_SPEC;
19254impl crate::sealed::RegSpec for P6PfsHa_SPEC {
19255 type DataType = u16;
19256}
19257
19258#[doc = "Port 6%s Pin Function Select Register"]
19259pub type P6PfsHa = crate::RegValueT<P6PfsHa_SPEC>;
19260
19261impl P6PfsHa {
19262 #[doc = "Port Output Data"]
19263 #[inline(always)]
19264 pub fn podr(
19265 self,
19266 ) -> crate::common::RegisterField<
19267 0,
19268 0x1,
19269 1,
19270 0,
19271 p6pfs_ha::Podr,
19272 p6pfs_ha::Podr,
19273 P6PfsHa_SPEC,
19274 crate::common::RW,
19275 > {
19276 crate::common::RegisterField::<
19277 0,
19278 0x1,
19279 1,
19280 0,
19281 p6pfs_ha::Podr,
19282 p6pfs_ha::Podr,
19283 P6PfsHa_SPEC,
19284 crate::common::RW,
19285 >::from_register(self, 0)
19286 }
19287
19288 #[doc = "Port State"]
19289 #[inline(always)]
19290 pub fn pidr(
19291 self,
19292 ) -> crate::common::RegisterField<
19293 1,
19294 0x1,
19295 1,
19296 0,
19297 p6pfs_ha::Pidr,
19298 p6pfs_ha::Pidr,
19299 P6PfsHa_SPEC,
19300 crate::common::R,
19301 > {
19302 crate::common::RegisterField::<
19303 1,
19304 0x1,
19305 1,
19306 0,
19307 p6pfs_ha::Pidr,
19308 p6pfs_ha::Pidr,
19309 P6PfsHa_SPEC,
19310 crate::common::R,
19311 >::from_register(self, 0)
19312 }
19313
19314 #[doc = "Port Direction"]
19315 #[inline(always)]
19316 pub fn pdr(
19317 self,
19318 ) -> crate::common::RegisterField<
19319 2,
19320 0x1,
19321 1,
19322 0,
19323 p6pfs_ha::Pdr,
19324 p6pfs_ha::Pdr,
19325 P6PfsHa_SPEC,
19326 crate::common::RW,
19327 > {
19328 crate::common::RegisterField::<
19329 2,
19330 0x1,
19331 1,
19332 0,
19333 p6pfs_ha::Pdr,
19334 p6pfs_ha::Pdr,
19335 P6PfsHa_SPEC,
19336 crate::common::RW,
19337 >::from_register(self, 0)
19338 }
19339
19340 #[doc = "Pull-up Control"]
19341 #[inline(always)]
19342 pub fn pcr(
19343 self,
19344 ) -> crate::common::RegisterField<
19345 4,
19346 0x1,
19347 1,
19348 0,
19349 p6pfs_ha::Pcr,
19350 p6pfs_ha::Pcr,
19351 P6PfsHa_SPEC,
19352 crate::common::RW,
19353 > {
19354 crate::common::RegisterField::<
19355 4,
19356 0x1,
19357 1,
19358 0,
19359 p6pfs_ha::Pcr,
19360 p6pfs_ha::Pcr,
19361 P6PfsHa_SPEC,
19362 crate::common::RW,
19363 >::from_register(self, 0)
19364 }
19365
19366 #[doc = "N-Channel Open-Drain Control"]
19367 #[inline(always)]
19368 pub fn ncodr(
19369 self,
19370 ) -> crate::common::RegisterField<
19371 6,
19372 0x1,
19373 1,
19374 0,
19375 p6pfs_ha::Ncodr,
19376 p6pfs_ha::Ncodr,
19377 P6PfsHa_SPEC,
19378 crate::common::RW,
19379 > {
19380 crate::common::RegisterField::<
19381 6,
19382 0x1,
19383 1,
19384 0,
19385 p6pfs_ha::Ncodr,
19386 p6pfs_ha::Ncodr,
19387 P6PfsHa_SPEC,
19388 crate::common::RW,
19389 >::from_register(self, 0)
19390 }
19391
19392 #[doc = "IRQ Input Enable"]
19393 #[inline(always)]
19394 pub fn isel(
19395 self,
19396 ) -> crate::common::RegisterField<
19397 14,
19398 0x1,
19399 1,
19400 0,
19401 p6pfs_ha::Isel,
19402 p6pfs_ha::Isel,
19403 P6PfsHa_SPEC,
19404 crate::common::RW,
19405 > {
19406 crate::common::RegisterField::<
19407 14,
19408 0x1,
19409 1,
19410 0,
19411 p6pfs_ha::Isel,
19412 p6pfs_ha::Isel,
19413 P6PfsHa_SPEC,
19414 crate::common::RW,
19415 >::from_register(self, 0)
19416 }
19417
19418 #[doc = "Analog Input Enable"]
19419 #[inline(always)]
19420 pub fn asel(
19421 self,
19422 ) -> crate::common::RegisterField<
19423 15,
19424 0x1,
19425 1,
19426 0,
19427 p6pfs_ha::Asel,
19428 p6pfs_ha::Asel,
19429 P6PfsHa_SPEC,
19430 crate::common::RW,
19431 > {
19432 crate::common::RegisterField::<
19433 15,
19434 0x1,
19435 1,
19436 0,
19437 p6pfs_ha::Asel,
19438 p6pfs_ha::Asel,
19439 P6PfsHa_SPEC,
19440 crate::common::RW,
19441 >::from_register(self, 0)
19442 }
19443}
19444impl ::core::default::Default for P6PfsHa {
19445 #[inline(always)]
19446 fn default() -> P6PfsHa {
19447 <crate::RegValueT<P6PfsHa_SPEC> as RegisterValue<_>>::new(0)
19448 }
19449}
19450pub mod p6pfs_ha {
19451
19452 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19453 pub struct Podr_SPEC;
19454 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
19455 impl Podr {
19456 #[doc = "Output low"]
19457 pub const _0: Self = Self::new(0);
19458
19459 #[doc = "Output high"]
19460 pub const _1: Self = Self::new(1);
19461 }
19462 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19463 pub struct Pidr_SPEC;
19464 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
19465 impl Pidr {
19466 #[doc = "Low level"]
19467 pub const _0: Self = Self::new(0);
19468
19469 #[doc = "High level"]
19470 pub const _1: Self = Self::new(1);
19471 }
19472 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19473 pub struct Pdr_SPEC;
19474 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
19475 impl Pdr {
19476 #[doc = "Input (functions as an input pin)"]
19477 pub const _0: Self = Self::new(0);
19478
19479 #[doc = "Output (functions as an output pin)"]
19480 pub const _1: Self = Self::new(1);
19481 }
19482 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19483 pub struct Pcr_SPEC;
19484 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
19485 impl Pcr {
19486 #[doc = "Disable input pull-up"]
19487 pub const _0: Self = Self::new(0);
19488
19489 #[doc = "Enable input pull-up"]
19490 pub const _1: Self = Self::new(1);
19491 }
19492 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19493 pub struct Ncodr_SPEC;
19494 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
19495 impl Ncodr {
19496 #[doc = "Output CMOS"]
19497 pub const _0: Self = Self::new(0);
19498
19499 #[doc = "Output NMOS open-drain"]
19500 pub const _1: Self = Self::new(1);
19501 }
19502 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19503 pub struct Isel_SPEC;
19504 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
19505 impl Isel {
19506 #[doc = "Do not use as IRQn input pin"]
19507 pub const _0: Self = Self::new(0);
19508
19509 #[doc = "Use as IRQn input pin"]
19510 pub const _1: Self = Self::new(1);
19511 }
19512 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19513 pub struct Asel_SPEC;
19514 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
19515 impl Asel {
19516 #[doc = "Do not use as analog pin"]
19517 pub const _0: Self = Self::new(0);
19518
19519 #[doc = "Use as analog pin"]
19520 pub const _1: Self = Self::new(1);
19521 }
19522}
19523#[doc(hidden)]
19524#[derive(Copy, Clone, Eq, PartialEq)]
19525pub struct P6PfsBy_SPEC;
19526impl crate::sealed::RegSpec for P6PfsBy_SPEC {
19527 type DataType = u8;
19528}
19529
19530#[doc = "Port 6%s Pin Function Select Register"]
19531pub type P6PfsBy = crate::RegValueT<P6PfsBy_SPEC>;
19532
19533impl P6PfsBy {
19534 #[doc = "Port Output Data"]
19535 #[inline(always)]
19536 pub fn podr(
19537 self,
19538 ) -> crate::common::RegisterField<
19539 0,
19540 0x1,
19541 1,
19542 0,
19543 p6pfs_by::Podr,
19544 p6pfs_by::Podr,
19545 P6PfsBy_SPEC,
19546 crate::common::RW,
19547 > {
19548 crate::common::RegisterField::<
19549 0,
19550 0x1,
19551 1,
19552 0,
19553 p6pfs_by::Podr,
19554 p6pfs_by::Podr,
19555 P6PfsBy_SPEC,
19556 crate::common::RW,
19557 >::from_register(self, 0)
19558 }
19559
19560 #[doc = "Port State"]
19561 #[inline(always)]
19562 pub fn pidr(
19563 self,
19564 ) -> crate::common::RegisterField<
19565 1,
19566 0x1,
19567 1,
19568 0,
19569 p6pfs_by::Pidr,
19570 p6pfs_by::Pidr,
19571 P6PfsBy_SPEC,
19572 crate::common::R,
19573 > {
19574 crate::common::RegisterField::<
19575 1,
19576 0x1,
19577 1,
19578 0,
19579 p6pfs_by::Pidr,
19580 p6pfs_by::Pidr,
19581 P6PfsBy_SPEC,
19582 crate::common::R,
19583 >::from_register(self, 0)
19584 }
19585
19586 #[doc = "Port Direction"]
19587 #[inline(always)]
19588 pub fn pdr(
19589 self,
19590 ) -> crate::common::RegisterField<
19591 2,
19592 0x1,
19593 1,
19594 0,
19595 p6pfs_by::Pdr,
19596 p6pfs_by::Pdr,
19597 P6PfsBy_SPEC,
19598 crate::common::RW,
19599 > {
19600 crate::common::RegisterField::<
19601 2,
19602 0x1,
19603 1,
19604 0,
19605 p6pfs_by::Pdr,
19606 p6pfs_by::Pdr,
19607 P6PfsBy_SPEC,
19608 crate::common::RW,
19609 >::from_register(self, 0)
19610 }
19611
19612 #[doc = "Pull-up Control"]
19613 #[inline(always)]
19614 pub fn pcr(
19615 self,
19616 ) -> crate::common::RegisterField<
19617 4,
19618 0x1,
19619 1,
19620 0,
19621 p6pfs_by::Pcr,
19622 p6pfs_by::Pcr,
19623 P6PfsBy_SPEC,
19624 crate::common::RW,
19625 > {
19626 crate::common::RegisterField::<
19627 4,
19628 0x1,
19629 1,
19630 0,
19631 p6pfs_by::Pcr,
19632 p6pfs_by::Pcr,
19633 P6PfsBy_SPEC,
19634 crate::common::RW,
19635 >::from_register(self, 0)
19636 }
19637
19638 #[doc = "N-Channel Open-Drain Control"]
19639 #[inline(always)]
19640 pub fn ncodr(
19641 self,
19642 ) -> crate::common::RegisterField<
19643 6,
19644 0x1,
19645 1,
19646 0,
19647 p6pfs_by::Ncodr,
19648 p6pfs_by::Ncodr,
19649 P6PfsBy_SPEC,
19650 crate::common::RW,
19651 > {
19652 crate::common::RegisterField::<
19653 6,
19654 0x1,
19655 1,
19656 0,
19657 p6pfs_by::Ncodr,
19658 p6pfs_by::Ncodr,
19659 P6PfsBy_SPEC,
19660 crate::common::RW,
19661 >::from_register(self, 0)
19662 }
19663}
19664impl ::core::default::Default for P6PfsBy {
19665 #[inline(always)]
19666 fn default() -> P6PfsBy {
19667 <crate::RegValueT<P6PfsBy_SPEC> as RegisterValue<_>>::new(0)
19668 }
19669}
19670pub mod p6pfs_by {
19671
19672 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19673 pub struct Podr_SPEC;
19674 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
19675 impl Podr {
19676 #[doc = "Output low"]
19677 pub const _0: Self = Self::new(0);
19678
19679 #[doc = "Output high"]
19680 pub const _1: Self = Self::new(1);
19681 }
19682 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19683 pub struct Pidr_SPEC;
19684 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
19685 impl Pidr {
19686 #[doc = "Low level"]
19687 pub const _0: Self = Self::new(0);
19688
19689 #[doc = "High level"]
19690 pub const _1: Self = Self::new(1);
19691 }
19692 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19693 pub struct Pdr_SPEC;
19694 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
19695 impl Pdr {
19696 #[doc = "Input (functions as an input pin)"]
19697 pub const _0: Self = Self::new(0);
19698
19699 #[doc = "Output (functions as an output pin)"]
19700 pub const _1: Self = Self::new(1);
19701 }
19702 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19703 pub struct Pcr_SPEC;
19704 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
19705 impl Pcr {
19706 #[doc = "Disable input pull-up"]
19707 pub const _0: Self = Self::new(0);
19708
19709 #[doc = "Enable input pull-up"]
19710 pub const _1: Self = Self::new(1);
19711 }
19712 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19713 pub struct Ncodr_SPEC;
19714 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
19715 impl Ncodr {
19716 #[doc = "Output CMOS"]
19717 pub const _0: Self = Self::new(0);
19718
19719 #[doc = "Output NMOS open-drain"]
19720 pub const _1: Self = Self::new(1);
19721 }
19722}
19723#[doc(hidden)]
19724#[derive(Copy, Clone, Eq, PartialEq)]
19725pub struct P70Pfs_SPEC;
19726impl crate::sealed::RegSpec for P70Pfs_SPEC {
19727 type DataType = u32;
19728}
19729
19730#[doc = "Port 70%s Pin Function Select Register"]
19731pub type P70Pfs = crate::RegValueT<P70Pfs_SPEC>;
19732
19733impl P70Pfs {
19734 #[doc = "Port Output Data"]
19735 #[inline(always)]
19736 pub fn podr(
19737 self,
19738 ) -> crate::common::RegisterField<
19739 0,
19740 0x1,
19741 1,
19742 0,
19743 p70pfs::Podr,
19744 p70pfs::Podr,
19745 P70Pfs_SPEC,
19746 crate::common::RW,
19747 > {
19748 crate::common::RegisterField::<
19749 0,
19750 0x1,
19751 1,
19752 0,
19753 p70pfs::Podr,
19754 p70pfs::Podr,
19755 P70Pfs_SPEC,
19756 crate::common::RW,
19757 >::from_register(self, 0)
19758 }
19759
19760 #[doc = "Port State"]
19761 #[inline(always)]
19762 pub fn pidr(
19763 self,
19764 ) -> crate::common::RegisterField<
19765 1,
19766 0x1,
19767 1,
19768 0,
19769 p70pfs::Pidr,
19770 p70pfs::Pidr,
19771 P70Pfs_SPEC,
19772 crate::common::R,
19773 > {
19774 crate::common::RegisterField::<
19775 1,
19776 0x1,
19777 1,
19778 0,
19779 p70pfs::Pidr,
19780 p70pfs::Pidr,
19781 P70Pfs_SPEC,
19782 crate::common::R,
19783 >::from_register(self, 0)
19784 }
19785
19786 #[doc = "Port Direction"]
19787 #[inline(always)]
19788 pub fn pdr(
19789 self,
19790 ) -> crate::common::RegisterField<
19791 2,
19792 0x1,
19793 1,
19794 0,
19795 p70pfs::Pdr,
19796 p70pfs::Pdr,
19797 P70Pfs_SPEC,
19798 crate::common::RW,
19799 > {
19800 crate::common::RegisterField::<
19801 2,
19802 0x1,
19803 1,
19804 0,
19805 p70pfs::Pdr,
19806 p70pfs::Pdr,
19807 P70Pfs_SPEC,
19808 crate::common::RW,
19809 >::from_register(self, 0)
19810 }
19811
19812 #[doc = "Pull-up Control"]
19813 #[inline(always)]
19814 pub fn pcr(
19815 self,
19816 ) -> crate::common::RegisterField<
19817 4,
19818 0x1,
19819 1,
19820 0,
19821 p70pfs::Pcr,
19822 p70pfs::Pcr,
19823 P70Pfs_SPEC,
19824 crate::common::RW,
19825 > {
19826 crate::common::RegisterField::<
19827 4,
19828 0x1,
19829 1,
19830 0,
19831 p70pfs::Pcr,
19832 p70pfs::Pcr,
19833 P70Pfs_SPEC,
19834 crate::common::RW,
19835 >::from_register(self, 0)
19836 }
19837
19838 #[doc = "N-Channel Open-Drain Control"]
19839 #[inline(always)]
19840 pub fn ncodr(
19841 self,
19842 ) -> crate::common::RegisterField<
19843 6,
19844 0x1,
19845 1,
19846 0,
19847 p70pfs::Ncodr,
19848 p70pfs::Ncodr,
19849 P70Pfs_SPEC,
19850 crate::common::RW,
19851 > {
19852 crate::common::RegisterField::<
19853 6,
19854 0x1,
19855 1,
19856 0,
19857 p70pfs::Ncodr,
19858 p70pfs::Ncodr,
19859 P70Pfs_SPEC,
19860 crate::common::RW,
19861 >::from_register(self, 0)
19862 }
19863
19864 #[doc = "IRQ Input Enable"]
19865 #[inline(always)]
19866 pub fn isel(
19867 self,
19868 ) -> crate::common::RegisterField<
19869 14,
19870 0x1,
19871 1,
19872 0,
19873 p70pfs::Isel,
19874 p70pfs::Isel,
19875 P70Pfs_SPEC,
19876 crate::common::RW,
19877 > {
19878 crate::common::RegisterField::<
19879 14,
19880 0x1,
19881 1,
19882 0,
19883 p70pfs::Isel,
19884 p70pfs::Isel,
19885 P70Pfs_SPEC,
19886 crate::common::RW,
19887 >::from_register(self, 0)
19888 }
19889
19890 #[doc = "Analog Input Enable"]
19891 #[inline(always)]
19892 pub fn asel(
19893 self,
19894 ) -> crate::common::RegisterField<
19895 15,
19896 0x1,
19897 1,
19898 0,
19899 p70pfs::Asel,
19900 p70pfs::Asel,
19901 P70Pfs_SPEC,
19902 crate::common::RW,
19903 > {
19904 crate::common::RegisterField::<
19905 15,
19906 0x1,
19907 1,
19908 0,
19909 p70pfs::Asel,
19910 p70pfs::Asel,
19911 P70Pfs_SPEC,
19912 crate::common::RW,
19913 >::from_register(self, 0)
19914 }
19915
19916 #[doc = "Port Mode Control"]
19917 #[inline(always)]
19918 pub fn pmr(
19919 self,
19920 ) -> crate::common::RegisterField<
19921 16,
19922 0x1,
19923 1,
19924 0,
19925 p70pfs::Pmr,
19926 p70pfs::Pmr,
19927 P70Pfs_SPEC,
19928 crate::common::RW,
19929 > {
19930 crate::common::RegisterField::<
19931 16,
19932 0x1,
19933 1,
19934 0,
19935 p70pfs::Pmr,
19936 p70pfs::Pmr,
19937 P70Pfs_SPEC,
19938 crate::common::RW,
19939 >::from_register(self, 0)
19940 }
19941
19942 #[doc = "Peripheral Select"]
19943 #[inline(always)]
19944 pub fn psel(
19945 self,
19946 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P70Pfs_SPEC, crate::common::RW> {
19947 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P70Pfs_SPEC,crate::common::RW>::from_register(self,0)
19948 }
19949}
19950impl ::core::default::Default for P70Pfs {
19951 #[inline(always)]
19952 fn default() -> P70Pfs {
19953 <crate::RegValueT<P70Pfs_SPEC> as RegisterValue<_>>::new(0)
19954 }
19955}
19956pub mod p70pfs {
19957
19958 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19959 pub struct Podr_SPEC;
19960 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
19961 impl Podr {
19962 #[doc = "Output low"]
19963 pub const _0: Self = Self::new(0);
19964
19965 #[doc = "Output high"]
19966 pub const _1: Self = Self::new(1);
19967 }
19968 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19969 pub struct Pidr_SPEC;
19970 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
19971 impl Pidr {
19972 #[doc = "Low level"]
19973 pub const _0: Self = Self::new(0);
19974
19975 #[doc = "High level"]
19976 pub const _1: Self = Self::new(1);
19977 }
19978 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19979 pub struct Pdr_SPEC;
19980 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
19981 impl Pdr {
19982 #[doc = "Input (functions as an input pin)"]
19983 pub const _0: Self = Self::new(0);
19984
19985 #[doc = "Output (functions as an output pin)"]
19986 pub const _1: Self = Self::new(1);
19987 }
19988 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19989 pub struct Pcr_SPEC;
19990 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
19991 impl Pcr {
19992 #[doc = "Disable input pull-up"]
19993 pub const _0: Self = Self::new(0);
19994
19995 #[doc = "Enable input pull-up"]
19996 pub const _1: Self = Self::new(1);
19997 }
19998 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19999 pub struct Ncodr_SPEC;
20000 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
20001 impl Ncodr {
20002 #[doc = "Output CMOS"]
20003 pub const _0: Self = Self::new(0);
20004
20005 #[doc = "Output NMOS open-drain"]
20006 pub const _1: Self = Self::new(1);
20007 }
20008 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20009 pub struct Isel_SPEC;
20010 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
20011 impl Isel {
20012 #[doc = "Do not use as IRQn input pin"]
20013 pub const _0: Self = Self::new(0);
20014
20015 #[doc = "Use as IRQn input pin"]
20016 pub const _1: Self = Self::new(1);
20017 }
20018 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20019 pub struct Asel_SPEC;
20020 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
20021 impl Asel {
20022 #[doc = "Do not use as analog pin"]
20023 pub const _0: Self = Self::new(0);
20024
20025 #[doc = "Use as analog pin"]
20026 pub const _1: Self = Self::new(1);
20027 }
20028 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20029 pub struct Pmr_SPEC;
20030 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
20031 impl Pmr {
20032 #[doc = "Use as general I/O pin"]
20033 pub const _0: Self = Self::new(0);
20034
20035 #[doc = "Use as I/O port for peripheral functions"]
20036 pub const _1: Self = Self::new(1);
20037 }
20038}
20039#[doc(hidden)]
20040#[derive(Copy, Clone, Eq, PartialEq)]
20041pub struct P70PfsHa_SPEC;
20042impl crate::sealed::RegSpec for P70PfsHa_SPEC {
20043 type DataType = u16;
20044}
20045
20046#[doc = "Port 70%s Pin Function Select Register"]
20047pub type P70PfsHa = crate::RegValueT<P70PfsHa_SPEC>;
20048
20049impl P70PfsHa {
20050 #[doc = "Port Output Data"]
20051 #[inline(always)]
20052 pub fn podr(
20053 self,
20054 ) -> crate::common::RegisterField<
20055 0,
20056 0x1,
20057 1,
20058 0,
20059 p70pfs_ha::Podr,
20060 p70pfs_ha::Podr,
20061 P70PfsHa_SPEC,
20062 crate::common::RW,
20063 > {
20064 crate::common::RegisterField::<
20065 0,
20066 0x1,
20067 1,
20068 0,
20069 p70pfs_ha::Podr,
20070 p70pfs_ha::Podr,
20071 P70PfsHa_SPEC,
20072 crate::common::RW,
20073 >::from_register(self, 0)
20074 }
20075
20076 #[doc = "Port State"]
20077 #[inline(always)]
20078 pub fn pidr(
20079 self,
20080 ) -> crate::common::RegisterField<
20081 1,
20082 0x1,
20083 1,
20084 0,
20085 p70pfs_ha::Pidr,
20086 p70pfs_ha::Pidr,
20087 P70PfsHa_SPEC,
20088 crate::common::R,
20089 > {
20090 crate::common::RegisterField::<
20091 1,
20092 0x1,
20093 1,
20094 0,
20095 p70pfs_ha::Pidr,
20096 p70pfs_ha::Pidr,
20097 P70PfsHa_SPEC,
20098 crate::common::R,
20099 >::from_register(self, 0)
20100 }
20101
20102 #[doc = "Port Direction"]
20103 #[inline(always)]
20104 pub fn pdr(
20105 self,
20106 ) -> crate::common::RegisterField<
20107 2,
20108 0x1,
20109 1,
20110 0,
20111 p70pfs_ha::Pdr,
20112 p70pfs_ha::Pdr,
20113 P70PfsHa_SPEC,
20114 crate::common::RW,
20115 > {
20116 crate::common::RegisterField::<
20117 2,
20118 0x1,
20119 1,
20120 0,
20121 p70pfs_ha::Pdr,
20122 p70pfs_ha::Pdr,
20123 P70PfsHa_SPEC,
20124 crate::common::RW,
20125 >::from_register(self, 0)
20126 }
20127
20128 #[doc = "Pull-up Control"]
20129 #[inline(always)]
20130 pub fn pcr(
20131 self,
20132 ) -> crate::common::RegisterField<
20133 4,
20134 0x1,
20135 1,
20136 0,
20137 p70pfs_ha::Pcr,
20138 p70pfs_ha::Pcr,
20139 P70PfsHa_SPEC,
20140 crate::common::RW,
20141 > {
20142 crate::common::RegisterField::<
20143 4,
20144 0x1,
20145 1,
20146 0,
20147 p70pfs_ha::Pcr,
20148 p70pfs_ha::Pcr,
20149 P70PfsHa_SPEC,
20150 crate::common::RW,
20151 >::from_register(self, 0)
20152 }
20153
20154 #[doc = "N-Channel Open-Drain Control"]
20155 #[inline(always)]
20156 pub fn ncodr(
20157 self,
20158 ) -> crate::common::RegisterField<
20159 6,
20160 0x1,
20161 1,
20162 0,
20163 p70pfs_ha::Ncodr,
20164 p70pfs_ha::Ncodr,
20165 P70PfsHa_SPEC,
20166 crate::common::RW,
20167 > {
20168 crate::common::RegisterField::<
20169 6,
20170 0x1,
20171 1,
20172 0,
20173 p70pfs_ha::Ncodr,
20174 p70pfs_ha::Ncodr,
20175 P70PfsHa_SPEC,
20176 crate::common::RW,
20177 >::from_register(self, 0)
20178 }
20179
20180 #[doc = "IRQ Input Enable"]
20181 #[inline(always)]
20182 pub fn isel(
20183 self,
20184 ) -> crate::common::RegisterField<
20185 14,
20186 0x1,
20187 1,
20188 0,
20189 p70pfs_ha::Isel,
20190 p70pfs_ha::Isel,
20191 P70PfsHa_SPEC,
20192 crate::common::RW,
20193 > {
20194 crate::common::RegisterField::<
20195 14,
20196 0x1,
20197 1,
20198 0,
20199 p70pfs_ha::Isel,
20200 p70pfs_ha::Isel,
20201 P70PfsHa_SPEC,
20202 crate::common::RW,
20203 >::from_register(self, 0)
20204 }
20205
20206 #[doc = "Analog Input Enable"]
20207 #[inline(always)]
20208 pub fn asel(
20209 self,
20210 ) -> crate::common::RegisterField<
20211 15,
20212 0x1,
20213 1,
20214 0,
20215 p70pfs_ha::Asel,
20216 p70pfs_ha::Asel,
20217 P70PfsHa_SPEC,
20218 crate::common::RW,
20219 > {
20220 crate::common::RegisterField::<
20221 15,
20222 0x1,
20223 1,
20224 0,
20225 p70pfs_ha::Asel,
20226 p70pfs_ha::Asel,
20227 P70PfsHa_SPEC,
20228 crate::common::RW,
20229 >::from_register(self, 0)
20230 }
20231}
20232impl ::core::default::Default for P70PfsHa {
20233 #[inline(always)]
20234 fn default() -> P70PfsHa {
20235 <crate::RegValueT<P70PfsHa_SPEC> as RegisterValue<_>>::new(0)
20236 }
20237}
20238pub mod p70pfs_ha {
20239
20240 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20241 pub struct Podr_SPEC;
20242 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
20243 impl Podr {
20244 #[doc = "Output low"]
20245 pub const _0: Self = Self::new(0);
20246
20247 #[doc = "Output high"]
20248 pub const _1: Self = Self::new(1);
20249 }
20250 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20251 pub struct Pidr_SPEC;
20252 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
20253 impl Pidr {
20254 #[doc = "Low level"]
20255 pub const _0: Self = Self::new(0);
20256
20257 #[doc = "High level"]
20258 pub const _1: Self = Self::new(1);
20259 }
20260 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20261 pub struct Pdr_SPEC;
20262 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
20263 impl Pdr {
20264 #[doc = "Input (functions as an input pin)"]
20265 pub const _0: Self = Self::new(0);
20266
20267 #[doc = "Output (functions as an output pin)"]
20268 pub const _1: Self = Self::new(1);
20269 }
20270 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20271 pub struct Pcr_SPEC;
20272 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
20273 impl Pcr {
20274 #[doc = "Disable input pull-up"]
20275 pub const _0: Self = Self::new(0);
20276
20277 #[doc = "Enable input pull-up"]
20278 pub const _1: Self = Self::new(1);
20279 }
20280 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20281 pub struct Ncodr_SPEC;
20282 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
20283 impl Ncodr {
20284 #[doc = "Output CMOS"]
20285 pub const _0: Self = Self::new(0);
20286
20287 #[doc = "Output NMOS open-drain"]
20288 pub const _1: Self = Self::new(1);
20289 }
20290 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20291 pub struct Isel_SPEC;
20292 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
20293 impl Isel {
20294 #[doc = "Do not use as IRQn input pin"]
20295 pub const _0: Self = Self::new(0);
20296
20297 #[doc = "Use as IRQn input pin"]
20298 pub const _1: Self = Self::new(1);
20299 }
20300 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20301 pub struct Asel_SPEC;
20302 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
20303 impl Asel {
20304 #[doc = "Do not use as analog pin"]
20305 pub const _0: Self = Self::new(0);
20306
20307 #[doc = "Use as analog pin"]
20308 pub const _1: Self = Self::new(1);
20309 }
20310}
20311#[doc(hidden)]
20312#[derive(Copy, Clone, Eq, PartialEq)]
20313pub struct P70PfsBy_SPEC;
20314impl crate::sealed::RegSpec for P70PfsBy_SPEC {
20315 type DataType = u8;
20316}
20317
20318#[doc = "Port 70%s Pin Function Select Register"]
20319pub type P70PfsBy = crate::RegValueT<P70PfsBy_SPEC>;
20320
20321impl P70PfsBy {
20322 #[doc = "Port Output Data"]
20323 #[inline(always)]
20324 pub fn podr(
20325 self,
20326 ) -> crate::common::RegisterField<
20327 0,
20328 0x1,
20329 1,
20330 0,
20331 p70pfs_by::Podr,
20332 p70pfs_by::Podr,
20333 P70PfsBy_SPEC,
20334 crate::common::RW,
20335 > {
20336 crate::common::RegisterField::<
20337 0,
20338 0x1,
20339 1,
20340 0,
20341 p70pfs_by::Podr,
20342 p70pfs_by::Podr,
20343 P70PfsBy_SPEC,
20344 crate::common::RW,
20345 >::from_register(self, 0)
20346 }
20347
20348 #[doc = "Port State"]
20349 #[inline(always)]
20350 pub fn pidr(
20351 self,
20352 ) -> crate::common::RegisterField<
20353 1,
20354 0x1,
20355 1,
20356 0,
20357 p70pfs_by::Pidr,
20358 p70pfs_by::Pidr,
20359 P70PfsBy_SPEC,
20360 crate::common::R,
20361 > {
20362 crate::common::RegisterField::<
20363 1,
20364 0x1,
20365 1,
20366 0,
20367 p70pfs_by::Pidr,
20368 p70pfs_by::Pidr,
20369 P70PfsBy_SPEC,
20370 crate::common::R,
20371 >::from_register(self, 0)
20372 }
20373
20374 #[doc = "Port Direction"]
20375 #[inline(always)]
20376 pub fn pdr(
20377 self,
20378 ) -> crate::common::RegisterField<
20379 2,
20380 0x1,
20381 1,
20382 0,
20383 p70pfs_by::Pdr,
20384 p70pfs_by::Pdr,
20385 P70PfsBy_SPEC,
20386 crate::common::RW,
20387 > {
20388 crate::common::RegisterField::<
20389 2,
20390 0x1,
20391 1,
20392 0,
20393 p70pfs_by::Pdr,
20394 p70pfs_by::Pdr,
20395 P70PfsBy_SPEC,
20396 crate::common::RW,
20397 >::from_register(self, 0)
20398 }
20399
20400 #[doc = "Pull-up Control"]
20401 #[inline(always)]
20402 pub fn pcr(
20403 self,
20404 ) -> crate::common::RegisterField<
20405 4,
20406 0x1,
20407 1,
20408 0,
20409 p70pfs_by::Pcr,
20410 p70pfs_by::Pcr,
20411 P70PfsBy_SPEC,
20412 crate::common::RW,
20413 > {
20414 crate::common::RegisterField::<
20415 4,
20416 0x1,
20417 1,
20418 0,
20419 p70pfs_by::Pcr,
20420 p70pfs_by::Pcr,
20421 P70PfsBy_SPEC,
20422 crate::common::RW,
20423 >::from_register(self, 0)
20424 }
20425
20426 #[doc = "N-Channel Open-Drain Control"]
20427 #[inline(always)]
20428 pub fn ncodr(
20429 self,
20430 ) -> crate::common::RegisterField<
20431 6,
20432 0x1,
20433 1,
20434 0,
20435 p70pfs_by::Ncodr,
20436 p70pfs_by::Ncodr,
20437 P70PfsBy_SPEC,
20438 crate::common::RW,
20439 > {
20440 crate::common::RegisterField::<
20441 6,
20442 0x1,
20443 1,
20444 0,
20445 p70pfs_by::Ncodr,
20446 p70pfs_by::Ncodr,
20447 P70PfsBy_SPEC,
20448 crate::common::RW,
20449 >::from_register(self, 0)
20450 }
20451}
20452impl ::core::default::Default for P70PfsBy {
20453 #[inline(always)]
20454 fn default() -> P70PfsBy {
20455 <crate::RegValueT<P70PfsBy_SPEC> as RegisterValue<_>>::new(0)
20456 }
20457}
20458pub mod p70pfs_by {
20459
20460 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20461 pub struct Podr_SPEC;
20462 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
20463 impl Podr {
20464 #[doc = "Output low"]
20465 pub const _0: Self = Self::new(0);
20466
20467 #[doc = "Output high"]
20468 pub const _1: Self = Self::new(1);
20469 }
20470 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20471 pub struct Pidr_SPEC;
20472 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
20473 impl Pidr {
20474 #[doc = "Low level"]
20475 pub const _0: Self = Self::new(0);
20476
20477 #[doc = "High level"]
20478 pub const _1: Self = Self::new(1);
20479 }
20480 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20481 pub struct Pdr_SPEC;
20482 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
20483 impl Pdr {
20484 #[doc = "Input (functions as an input pin)"]
20485 pub const _0: Self = Self::new(0);
20486
20487 #[doc = "Output (functions as an output pin)"]
20488 pub const _1: Self = Self::new(1);
20489 }
20490 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20491 pub struct Pcr_SPEC;
20492 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
20493 impl Pcr {
20494 #[doc = "Disable input pull-up"]
20495 pub const _0: Self = Self::new(0);
20496
20497 #[doc = "Enable input pull-up"]
20498 pub const _1: Self = Self::new(1);
20499 }
20500 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20501 pub struct Ncodr_SPEC;
20502 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
20503 impl Ncodr {
20504 #[doc = "Output CMOS"]
20505 pub const _0: Self = Self::new(0);
20506
20507 #[doc = "Output NMOS open-drain"]
20508 pub const _1: Self = Self::new(1);
20509 }
20510}
20511#[doc(hidden)]
20512#[derive(Copy, Clone, Eq, PartialEq)]
20513pub struct P7Pfs_SPEC;
20514impl crate::sealed::RegSpec for P7Pfs_SPEC {
20515 type DataType = u32;
20516}
20517
20518#[doc = "Port 7%s Pin Function Select Register"]
20519pub type P7Pfs = crate::RegValueT<P7Pfs_SPEC>;
20520
20521impl P7Pfs {
20522 #[doc = "Port Output Data"]
20523 #[inline(always)]
20524 pub fn podr(
20525 self,
20526 ) -> crate::common::RegisterField<
20527 0,
20528 0x1,
20529 1,
20530 0,
20531 p7pfs::Podr,
20532 p7pfs::Podr,
20533 P7Pfs_SPEC,
20534 crate::common::RW,
20535 > {
20536 crate::common::RegisterField::<
20537 0,
20538 0x1,
20539 1,
20540 0,
20541 p7pfs::Podr,
20542 p7pfs::Podr,
20543 P7Pfs_SPEC,
20544 crate::common::RW,
20545 >::from_register(self, 0)
20546 }
20547
20548 #[doc = "Port State"]
20549 #[inline(always)]
20550 pub fn pidr(
20551 self,
20552 ) -> crate::common::RegisterField<
20553 1,
20554 0x1,
20555 1,
20556 0,
20557 p7pfs::Pidr,
20558 p7pfs::Pidr,
20559 P7Pfs_SPEC,
20560 crate::common::R,
20561 > {
20562 crate::common::RegisterField::<
20563 1,
20564 0x1,
20565 1,
20566 0,
20567 p7pfs::Pidr,
20568 p7pfs::Pidr,
20569 P7Pfs_SPEC,
20570 crate::common::R,
20571 >::from_register(self, 0)
20572 }
20573
20574 #[doc = "Port Direction"]
20575 #[inline(always)]
20576 pub fn pdr(
20577 self,
20578 ) -> crate::common::RegisterField<
20579 2,
20580 0x1,
20581 1,
20582 0,
20583 p7pfs::Pdr,
20584 p7pfs::Pdr,
20585 P7Pfs_SPEC,
20586 crate::common::RW,
20587 > {
20588 crate::common::RegisterField::<
20589 2,
20590 0x1,
20591 1,
20592 0,
20593 p7pfs::Pdr,
20594 p7pfs::Pdr,
20595 P7Pfs_SPEC,
20596 crate::common::RW,
20597 >::from_register(self, 0)
20598 }
20599
20600 #[doc = "Pull-up Control"]
20601 #[inline(always)]
20602 pub fn pcr(
20603 self,
20604 ) -> crate::common::RegisterField<
20605 4,
20606 0x1,
20607 1,
20608 0,
20609 p7pfs::Pcr,
20610 p7pfs::Pcr,
20611 P7Pfs_SPEC,
20612 crate::common::RW,
20613 > {
20614 crate::common::RegisterField::<
20615 4,
20616 0x1,
20617 1,
20618 0,
20619 p7pfs::Pcr,
20620 p7pfs::Pcr,
20621 P7Pfs_SPEC,
20622 crate::common::RW,
20623 >::from_register(self, 0)
20624 }
20625
20626 #[doc = "N-Channel Open-Drain Control"]
20627 #[inline(always)]
20628 pub fn ncodr(
20629 self,
20630 ) -> crate::common::RegisterField<
20631 6,
20632 0x1,
20633 1,
20634 0,
20635 p7pfs::Ncodr,
20636 p7pfs::Ncodr,
20637 P7Pfs_SPEC,
20638 crate::common::RW,
20639 > {
20640 crate::common::RegisterField::<
20641 6,
20642 0x1,
20643 1,
20644 0,
20645 p7pfs::Ncodr,
20646 p7pfs::Ncodr,
20647 P7Pfs_SPEC,
20648 crate::common::RW,
20649 >::from_register(self, 0)
20650 }
20651
20652 #[doc = "IRQ Input Enable"]
20653 #[inline(always)]
20654 pub fn isel(
20655 self,
20656 ) -> crate::common::RegisterField<
20657 14,
20658 0x1,
20659 1,
20660 0,
20661 p7pfs::Isel,
20662 p7pfs::Isel,
20663 P7Pfs_SPEC,
20664 crate::common::RW,
20665 > {
20666 crate::common::RegisterField::<
20667 14,
20668 0x1,
20669 1,
20670 0,
20671 p7pfs::Isel,
20672 p7pfs::Isel,
20673 P7Pfs_SPEC,
20674 crate::common::RW,
20675 >::from_register(self, 0)
20676 }
20677
20678 #[doc = "Analog Input Enable"]
20679 #[inline(always)]
20680 pub fn asel(
20681 self,
20682 ) -> crate::common::RegisterField<
20683 15,
20684 0x1,
20685 1,
20686 0,
20687 p7pfs::Asel,
20688 p7pfs::Asel,
20689 P7Pfs_SPEC,
20690 crate::common::RW,
20691 > {
20692 crate::common::RegisterField::<
20693 15,
20694 0x1,
20695 1,
20696 0,
20697 p7pfs::Asel,
20698 p7pfs::Asel,
20699 P7Pfs_SPEC,
20700 crate::common::RW,
20701 >::from_register(self, 0)
20702 }
20703
20704 #[doc = "Port Mode Control"]
20705 #[inline(always)]
20706 pub fn pmr(
20707 self,
20708 ) -> crate::common::RegisterField<
20709 16,
20710 0x1,
20711 1,
20712 0,
20713 p7pfs::Pmr,
20714 p7pfs::Pmr,
20715 P7Pfs_SPEC,
20716 crate::common::RW,
20717 > {
20718 crate::common::RegisterField::<
20719 16,
20720 0x1,
20721 1,
20722 0,
20723 p7pfs::Pmr,
20724 p7pfs::Pmr,
20725 P7Pfs_SPEC,
20726 crate::common::RW,
20727 >::from_register(self, 0)
20728 }
20729
20730 #[doc = "Peripheral Select"]
20731 #[inline(always)]
20732 pub fn psel(
20733 self,
20734 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P7Pfs_SPEC, crate::common::RW> {
20735 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P7Pfs_SPEC,crate::common::RW>::from_register(self,0)
20736 }
20737}
20738impl ::core::default::Default for P7Pfs {
20739 #[inline(always)]
20740 fn default() -> P7Pfs {
20741 <crate::RegValueT<P7Pfs_SPEC> as RegisterValue<_>>::new(0)
20742 }
20743}
20744pub mod p7pfs {
20745
20746 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20747 pub struct Podr_SPEC;
20748 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
20749 impl Podr {
20750 #[doc = "Output low"]
20751 pub const _0: Self = Self::new(0);
20752
20753 #[doc = "Output high"]
20754 pub const _1: Self = Self::new(1);
20755 }
20756 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20757 pub struct Pidr_SPEC;
20758 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
20759 impl Pidr {
20760 #[doc = "Low level"]
20761 pub const _0: Self = Self::new(0);
20762
20763 #[doc = "High level"]
20764 pub const _1: Self = Self::new(1);
20765 }
20766 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20767 pub struct Pdr_SPEC;
20768 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
20769 impl Pdr {
20770 #[doc = "Input (functions as an input pin)"]
20771 pub const _0: Self = Self::new(0);
20772
20773 #[doc = "Output (functions as an output pin)"]
20774 pub const _1: Self = Self::new(1);
20775 }
20776 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20777 pub struct Pcr_SPEC;
20778 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
20779 impl Pcr {
20780 #[doc = "Disable input pull-up"]
20781 pub const _0: Self = Self::new(0);
20782
20783 #[doc = "Enable input pull-up"]
20784 pub const _1: Self = Self::new(1);
20785 }
20786 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20787 pub struct Ncodr_SPEC;
20788 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
20789 impl Ncodr {
20790 #[doc = "Output CMOS"]
20791 pub const _0: Self = Self::new(0);
20792
20793 #[doc = "Output NMOS open-drain"]
20794 pub const _1: Self = Self::new(1);
20795 }
20796 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20797 pub struct Isel_SPEC;
20798 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
20799 impl Isel {
20800 #[doc = "Do not use as IRQn input pin"]
20801 pub const _0: Self = Self::new(0);
20802
20803 #[doc = "Use as IRQn input pin"]
20804 pub const _1: Self = Self::new(1);
20805 }
20806 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20807 pub struct Asel_SPEC;
20808 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
20809 impl Asel {
20810 #[doc = "Do not use as analog pin"]
20811 pub const _0: Self = Self::new(0);
20812
20813 #[doc = "Use as analog pin"]
20814 pub const _1: Self = Self::new(1);
20815 }
20816 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
20817 pub struct Pmr_SPEC;
20818 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
20819 impl Pmr {
20820 #[doc = "Use as general I/O pin"]
20821 pub const _0: Self = Self::new(0);
20822
20823 #[doc = "Use as I/O port for peripheral functions"]
20824 pub const _1: Self = Self::new(1);
20825 }
20826}
20827#[doc(hidden)]
20828#[derive(Copy, Clone, Eq, PartialEq)]
20829pub struct P7PfsHa_SPEC;
20830impl crate::sealed::RegSpec for P7PfsHa_SPEC {
20831 type DataType = u16;
20832}
20833
20834#[doc = "Port 7%s Pin Function Select Register"]
20835pub type P7PfsHa = crate::RegValueT<P7PfsHa_SPEC>;
20836
20837impl P7PfsHa {
20838 #[doc = "Port Output Data"]
20839 #[inline(always)]
20840 pub fn podr(
20841 self,
20842 ) -> crate::common::RegisterField<
20843 0,
20844 0x1,
20845 1,
20846 0,
20847 p7pfs_ha::Podr,
20848 p7pfs_ha::Podr,
20849 P7PfsHa_SPEC,
20850 crate::common::RW,
20851 > {
20852 crate::common::RegisterField::<
20853 0,
20854 0x1,
20855 1,
20856 0,
20857 p7pfs_ha::Podr,
20858 p7pfs_ha::Podr,
20859 P7PfsHa_SPEC,
20860 crate::common::RW,
20861 >::from_register(self, 0)
20862 }
20863
20864 #[doc = "Port State"]
20865 #[inline(always)]
20866 pub fn pidr(
20867 self,
20868 ) -> crate::common::RegisterField<
20869 1,
20870 0x1,
20871 1,
20872 0,
20873 p7pfs_ha::Pidr,
20874 p7pfs_ha::Pidr,
20875 P7PfsHa_SPEC,
20876 crate::common::R,
20877 > {
20878 crate::common::RegisterField::<
20879 1,
20880 0x1,
20881 1,
20882 0,
20883 p7pfs_ha::Pidr,
20884 p7pfs_ha::Pidr,
20885 P7PfsHa_SPEC,
20886 crate::common::R,
20887 >::from_register(self, 0)
20888 }
20889
20890 #[doc = "Port Direction"]
20891 #[inline(always)]
20892 pub fn pdr(
20893 self,
20894 ) -> crate::common::RegisterField<
20895 2,
20896 0x1,
20897 1,
20898 0,
20899 p7pfs_ha::Pdr,
20900 p7pfs_ha::Pdr,
20901 P7PfsHa_SPEC,
20902 crate::common::RW,
20903 > {
20904 crate::common::RegisterField::<
20905 2,
20906 0x1,
20907 1,
20908 0,
20909 p7pfs_ha::Pdr,
20910 p7pfs_ha::Pdr,
20911 P7PfsHa_SPEC,
20912 crate::common::RW,
20913 >::from_register(self, 0)
20914 }
20915
20916 #[doc = "Pull-up Control"]
20917 #[inline(always)]
20918 pub fn pcr(
20919 self,
20920 ) -> crate::common::RegisterField<
20921 4,
20922 0x1,
20923 1,
20924 0,
20925 p7pfs_ha::Pcr,
20926 p7pfs_ha::Pcr,
20927 P7PfsHa_SPEC,
20928 crate::common::RW,
20929 > {
20930 crate::common::RegisterField::<
20931 4,
20932 0x1,
20933 1,
20934 0,
20935 p7pfs_ha::Pcr,
20936 p7pfs_ha::Pcr,
20937 P7PfsHa_SPEC,
20938 crate::common::RW,
20939 >::from_register(self, 0)
20940 }
20941
20942 #[doc = "N-Channel Open-Drain Control"]
20943 #[inline(always)]
20944 pub fn ncodr(
20945 self,
20946 ) -> crate::common::RegisterField<
20947 6,
20948 0x1,
20949 1,
20950 0,
20951 p7pfs_ha::Ncodr,
20952 p7pfs_ha::Ncodr,
20953 P7PfsHa_SPEC,
20954 crate::common::RW,
20955 > {
20956 crate::common::RegisterField::<
20957 6,
20958 0x1,
20959 1,
20960 0,
20961 p7pfs_ha::Ncodr,
20962 p7pfs_ha::Ncodr,
20963 P7PfsHa_SPEC,
20964 crate::common::RW,
20965 >::from_register(self, 0)
20966 }
20967
20968 #[doc = "IRQ Input Enable"]
20969 #[inline(always)]
20970 pub fn isel(
20971 self,
20972 ) -> crate::common::RegisterField<
20973 14,
20974 0x1,
20975 1,
20976 0,
20977 p7pfs_ha::Isel,
20978 p7pfs_ha::Isel,
20979 P7PfsHa_SPEC,
20980 crate::common::RW,
20981 > {
20982 crate::common::RegisterField::<
20983 14,
20984 0x1,
20985 1,
20986 0,
20987 p7pfs_ha::Isel,
20988 p7pfs_ha::Isel,
20989 P7PfsHa_SPEC,
20990 crate::common::RW,
20991 >::from_register(self, 0)
20992 }
20993
20994 #[doc = "Analog Input Enable"]
20995 #[inline(always)]
20996 pub fn asel(
20997 self,
20998 ) -> crate::common::RegisterField<
20999 15,
21000 0x1,
21001 1,
21002 0,
21003 p7pfs_ha::Asel,
21004 p7pfs_ha::Asel,
21005 P7PfsHa_SPEC,
21006 crate::common::RW,
21007 > {
21008 crate::common::RegisterField::<
21009 15,
21010 0x1,
21011 1,
21012 0,
21013 p7pfs_ha::Asel,
21014 p7pfs_ha::Asel,
21015 P7PfsHa_SPEC,
21016 crate::common::RW,
21017 >::from_register(self, 0)
21018 }
21019}
21020impl ::core::default::Default for P7PfsHa {
21021 #[inline(always)]
21022 fn default() -> P7PfsHa {
21023 <crate::RegValueT<P7PfsHa_SPEC> as RegisterValue<_>>::new(0)
21024 }
21025}
21026pub mod p7pfs_ha {
21027
21028 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21029 pub struct Podr_SPEC;
21030 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
21031 impl Podr {
21032 #[doc = "Output low"]
21033 pub const _0: Self = Self::new(0);
21034
21035 #[doc = "Output high"]
21036 pub const _1: Self = Self::new(1);
21037 }
21038 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21039 pub struct Pidr_SPEC;
21040 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
21041 impl Pidr {
21042 #[doc = "Low level"]
21043 pub const _0: Self = Self::new(0);
21044
21045 #[doc = "High level"]
21046 pub const _1: Self = Self::new(1);
21047 }
21048 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21049 pub struct Pdr_SPEC;
21050 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
21051 impl Pdr {
21052 #[doc = "Input (functions as an input pin)"]
21053 pub const _0: Self = Self::new(0);
21054
21055 #[doc = "Output (functions as an output pin)"]
21056 pub const _1: Self = Self::new(1);
21057 }
21058 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21059 pub struct Pcr_SPEC;
21060 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
21061 impl Pcr {
21062 #[doc = "Disable input pull-up"]
21063 pub const _0: Self = Self::new(0);
21064
21065 #[doc = "Enable input pull-up"]
21066 pub const _1: Self = Self::new(1);
21067 }
21068 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21069 pub struct Ncodr_SPEC;
21070 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
21071 impl Ncodr {
21072 #[doc = "Output CMOS"]
21073 pub const _0: Self = Self::new(0);
21074
21075 #[doc = "Output NMOS open-drain"]
21076 pub const _1: Self = Self::new(1);
21077 }
21078 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21079 pub struct Isel_SPEC;
21080 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
21081 impl Isel {
21082 #[doc = "Do not use as IRQn input pin"]
21083 pub const _0: Self = Self::new(0);
21084
21085 #[doc = "Use as IRQn input pin"]
21086 pub const _1: Self = Self::new(1);
21087 }
21088 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21089 pub struct Asel_SPEC;
21090 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
21091 impl Asel {
21092 #[doc = "Do not use as analog pin"]
21093 pub const _0: Self = Self::new(0);
21094
21095 #[doc = "Use as analog pin"]
21096 pub const _1: Self = Self::new(1);
21097 }
21098}
21099#[doc(hidden)]
21100#[derive(Copy, Clone, Eq, PartialEq)]
21101pub struct P7PfsBy_SPEC;
21102impl crate::sealed::RegSpec for P7PfsBy_SPEC {
21103 type DataType = u8;
21104}
21105
21106#[doc = "Port 7%s Pin Function Select Register"]
21107pub type P7PfsBy = crate::RegValueT<P7PfsBy_SPEC>;
21108
21109impl P7PfsBy {
21110 #[doc = "Port Output Data"]
21111 #[inline(always)]
21112 pub fn podr(
21113 self,
21114 ) -> crate::common::RegisterField<
21115 0,
21116 0x1,
21117 1,
21118 0,
21119 p7pfs_by::Podr,
21120 p7pfs_by::Podr,
21121 P7PfsBy_SPEC,
21122 crate::common::RW,
21123 > {
21124 crate::common::RegisterField::<
21125 0,
21126 0x1,
21127 1,
21128 0,
21129 p7pfs_by::Podr,
21130 p7pfs_by::Podr,
21131 P7PfsBy_SPEC,
21132 crate::common::RW,
21133 >::from_register(self, 0)
21134 }
21135
21136 #[doc = "Port State"]
21137 #[inline(always)]
21138 pub fn pidr(
21139 self,
21140 ) -> crate::common::RegisterField<
21141 1,
21142 0x1,
21143 1,
21144 0,
21145 p7pfs_by::Pidr,
21146 p7pfs_by::Pidr,
21147 P7PfsBy_SPEC,
21148 crate::common::R,
21149 > {
21150 crate::common::RegisterField::<
21151 1,
21152 0x1,
21153 1,
21154 0,
21155 p7pfs_by::Pidr,
21156 p7pfs_by::Pidr,
21157 P7PfsBy_SPEC,
21158 crate::common::R,
21159 >::from_register(self, 0)
21160 }
21161
21162 #[doc = "Port Direction"]
21163 #[inline(always)]
21164 pub fn pdr(
21165 self,
21166 ) -> crate::common::RegisterField<
21167 2,
21168 0x1,
21169 1,
21170 0,
21171 p7pfs_by::Pdr,
21172 p7pfs_by::Pdr,
21173 P7PfsBy_SPEC,
21174 crate::common::RW,
21175 > {
21176 crate::common::RegisterField::<
21177 2,
21178 0x1,
21179 1,
21180 0,
21181 p7pfs_by::Pdr,
21182 p7pfs_by::Pdr,
21183 P7PfsBy_SPEC,
21184 crate::common::RW,
21185 >::from_register(self, 0)
21186 }
21187
21188 #[doc = "Pull-up Control"]
21189 #[inline(always)]
21190 pub fn pcr(
21191 self,
21192 ) -> crate::common::RegisterField<
21193 4,
21194 0x1,
21195 1,
21196 0,
21197 p7pfs_by::Pcr,
21198 p7pfs_by::Pcr,
21199 P7PfsBy_SPEC,
21200 crate::common::RW,
21201 > {
21202 crate::common::RegisterField::<
21203 4,
21204 0x1,
21205 1,
21206 0,
21207 p7pfs_by::Pcr,
21208 p7pfs_by::Pcr,
21209 P7PfsBy_SPEC,
21210 crate::common::RW,
21211 >::from_register(self, 0)
21212 }
21213
21214 #[doc = "N-Channel Open-Drain Control"]
21215 #[inline(always)]
21216 pub fn ncodr(
21217 self,
21218 ) -> crate::common::RegisterField<
21219 6,
21220 0x1,
21221 1,
21222 0,
21223 p7pfs_by::Ncodr,
21224 p7pfs_by::Ncodr,
21225 P7PfsBy_SPEC,
21226 crate::common::RW,
21227 > {
21228 crate::common::RegisterField::<
21229 6,
21230 0x1,
21231 1,
21232 0,
21233 p7pfs_by::Ncodr,
21234 p7pfs_by::Ncodr,
21235 P7PfsBy_SPEC,
21236 crate::common::RW,
21237 >::from_register(self, 0)
21238 }
21239}
21240impl ::core::default::Default for P7PfsBy {
21241 #[inline(always)]
21242 fn default() -> P7PfsBy {
21243 <crate::RegValueT<P7PfsBy_SPEC> as RegisterValue<_>>::new(0)
21244 }
21245}
21246pub mod p7pfs_by {
21247
21248 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21249 pub struct Podr_SPEC;
21250 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
21251 impl Podr {
21252 #[doc = "Output low"]
21253 pub const _0: Self = Self::new(0);
21254
21255 #[doc = "Output high"]
21256 pub const _1: Self = Self::new(1);
21257 }
21258 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21259 pub struct Pidr_SPEC;
21260 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
21261 impl Pidr {
21262 #[doc = "Low level"]
21263 pub const _0: Self = Self::new(0);
21264
21265 #[doc = "High level"]
21266 pub const _1: Self = Self::new(1);
21267 }
21268 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21269 pub struct Pdr_SPEC;
21270 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
21271 impl Pdr {
21272 #[doc = "Input (functions as an input pin)"]
21273 pub const _0: Self = Self::new(0);
21274
21275 #[doc = "Output (functions as an output pin)"]
21276 pub const _1: Self = Self::new(1);
21277 }
21278 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21279 pub struct Pcr_SPEC;
21280 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
21281 impl Pcr {
21282 #[doc = "Disable input pull-up"]
21283 pub const _0: Self = Self::new(0);
21284
21285 #[doc = "Enable input pull-up"]
21286 pub const _1: Self = Self::new(1);
21287 }
21288 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21289 pub struct Ncodr_SPEC;
21290 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
21291 impl Ncodr {
21292 #[doc = "Output CMOS"]
21293 pub const _0: Self = Self::new(0);
21294
21295 #[doc = "Output NMOS open-drain"]
21296 pub const _1: Self = Self::new(1);
21297 }
21298}
21299#[doc(hidden)]
21300#[derive(Copy, Clone, Eq, PartialEq)]
21301pub struct P80Pfs_SPEC;
21302impl crate::sealed::RegSpec for P80Pfs_SPEC {
21303 type DataType = u32;
21304}
21305
21306#[doc = "Port 80%s Pin Function Select Register"]
21307pub type P80Pfs = crate::RegValueT<P80Pfs_SPEC>;
21308
21309impl P80Pfs {
21310 #[doc = "Port Output Data"]
21311 #[inline(always)]
21312 pub fn podr(
21313 self,
21314 ) -> crate::common::RegisterField<
21315 0,
21316 0x1,
21317 1,
21318 0,
21319 p80pfs::Podr,
21320 p80pfs::Podr,
21321 P80Pfs_SPEC,
21322 crate::common::RW,
21323 > {
21324 crate::common::RegisterField::<
21325 0,
21326 0x1,
21327 1,
21328 0,
21329 p80pfs::Podr,
21330 p80pfs::Podr,
21331 P80Pfs_SPEC,
21332 crate::common::RW,
21333 >::from_register(self, 0)
21334 }
21335
21336 #[doc = "Port State"]
21337 #[inline(always)]
21338 pub fn pidr(
21339 self,
21340 ) -> crate::common::RegisterField<
21341 1,
21342 0x1,
21343 1,
21344 0,
21345 p80pfs::Pidr,
21346 p80pfs::Pidr,
21347 P80Pfs_SPEC,
21348 crate::common::R,
21349 > {
21350 crate::common::RegisterField::<
21351 1,
21352 0x1,
21353 1,
21354 0,
21355 p80pfs::Pidr,
21356 p80pfs::Pidr,
21357 P80Pfs_SPEC,
21358 crate::common::R,
21359 >::from_register(self, 0)
21360 }
21361
21362 #[doc = "Port Direction"]
21363 #[inline(always)]
21364 pub fn pdr(
21365 self,
21366 ) -> crate::common::RegisterField<
21367 2,
21368 0x1,
21369 1,
21370 0,
21371 p80pfs::Pdr,
21372 p80pfs::Pdr,
21373 P80Pfs_SPEC,
21374 crate::common::RW,
21375 > {
21376 crate::common::RegisterField::<
21377 2,
21378 0x1,
21379 1,
21380 0,
21381 p80pfs::Pdr,
21382 p80pfs::Pdr,
21383 P80Pfs_SPEC,
21384 crate::common::RW,
21385 >::from_register(self, 0)
21386 }
21387
21388 #[doc = "Pull-up Control"]
21389 #[inline(always)]
21390 pub fn pcr(
21391 self,
21392 ) -> crate::common::RegisterField<
21393 4,
21394 0x1,
21395 1,
21396 0,
21397 p80pfs::Pcr,
21398 p80pfs::Pcr,
21399 P80Pfs_SPEC,
21400 crate::common::RW,
21401 > {
21402 crate::common::RegisterField::<
21403 4,
21404 0x1,
21405 1,
21406 0,
21407 p80pfs::Pcr,
21408 p80pfs::Pcr,
21409 P80Pfs_SPEC,
21410 crate::common::RW,
21411 >::from_register(self, 0)
21412 }
21413
21414 #[doc = "N-Channel Open-Drain Control"]
21415 #[inline(always)]
21416 pub fn ncodr(
21417 self,
21418 ) -> crate::common::RegisterField<
21419 6,
21420 0x1,
21421 1,
21422 0,
21423 p80pfs::Ncodr,
21424 p80pfs::Ncodr,
21425 P80Pfs_SPEC,
21426 crate::common::RW,
21427 > {
21428 crate::common::RegisterField::<
21429 6,
21430 0x1,
21431 1,
21432 0,
21433 p80pfs::Ncodr,
21434 p80pfs::Ncodr,
21435 P80Pfs_SPEC,
21436 crate::common::RW,
21437 >::from_register(self, 0)
21438 }
21439
21440 #[doc = "IRQ Input Enable"]
21441 #[inline(always)]
21442 pub fn isel(
21443 self,
21444 ) -> crate::common::RegisterField<
21445 14,
21446 0x1,
21447 1,
21448 0,
21449 p80pfs::Isel,
21450 p80pfs::Isel,
21451 P80Pfs_SPEC,
21452 crate::common::RW,
21453 > {
21454 crate::common::RegisterField::<
21455 14,
21456 0x1,
21457 1,
21458 0,
21459 p80pfs::Isel,
21460 p80pfs::Isel,
21461 P80Pfs_SPEC,
21462 crate::common::RW,
21463 >::from_register(self, 0)
21464 }
21465
21466 #[doc = "Analog Input Enable"]
21467 #[inline(always)]
21468 pub fn asel(
21469 self,
21470 ) -> crate::common::RegisterField<
21471 15,
21472 0x1,
21473 1,
21474 0,
21475 p80pfs::Asel,
21476 p80pfs::Asel,
21477 P80Pfs_SPEC,
21478 crate::common::RW,
21479 > {
21480 crate::common::RegisterField::<
21481 15,
21482 0x1,
21483 1,
21484 0,
21485 p80pfs::Asel,
21486 p80pfs::Asel,
21487 P80Pfs_SPEC,
21488 crate::common::RW,
21489 >::from_register(self, 0)
21490 }
21491
21492 #[doc = "Port Mode Control"]
21493 #[inline(always)]
21494 pub fn pmr(
21495 self,
21496 ) -> crate::common::RegisterField<
21497 16,
21498 0x1,
21499 1,
21500 0,
21501 p80pfs::Pmr,
21502 p80pfs::Pmr,
21503 P80Pfs_SPEC,
21504 crate::common::RW,
21505 > {
21506 crate::common::RegisterField::<
21507 16,
21508 0x1,
21509 1,
21510 0,
21511 p80pfs::Pmr,
21512 p80pfs::Pmr,
21513 P80Pfs_SPEC,
21514 crate::common::RW,
21515 >::from_register(self, 0)
21516 }
21517
21518 #[doc = "Peripheral Select"]
21519 #[inline(always)]
21520 pub fn psel(
21521 self,
21522 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P80Pfs_SPEC, crate::common::RW> {
21523 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P80Pfs_SPEC,crate::common::RW>::from_register(self,0)
21524 }
21525}
21526impl ::core::default::Default for P80Pfs {
21527 #[inline(always)]
21528 fn default() -> P80Pfs {
21529 <crate::RegValueT<P80Pfs_SPEC> as RegisterValue<_>>::new(0)
21530 }
21531}
21532pub mod p80pfs {
21533
21534 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21535 pub struct Podr_SPEC;
21536 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
21537 impl Podr {
21538 #[doc = "Output low"]
21539 pub const _0: Self = Self::new(0);
21540
21541 #[doc = "Output high"]
21542 pub const _1: Self = Self::new(1);
21543 }
21544 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21545 pub struct Pidr_SPEC;
21546 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
21547 impl Pidr {
21548 #[doc = "Low level"]
21549 pub const _0: Self = Self::new(0);
21550
21551 #[doc = "High level"]
21552 pub const _1: Self = Self::new(1);
21553 }
21554 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21555 pub struct Pdr_SPEC;
21556 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
21557 impl Pdr {
21558 #[doc = "Input (functions as an input pin)"]
21559 pub const _0: Self = Self::new(0);
21560
21561 #[doc = "Output (functions as an output pin)"]
21562 pub const _1: Self = Self::new(1);
21563 }
21564 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21565 pub struct Pcr_SPEC;
21566 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
21567 impl Pcr {
21568 #[doc = "Disable input pull-up"]
21569 pub const _0: Self = Self::new(0);
21570
21571 #[doc = "Enable input pull-up"]
21572 pub const _1: Self = Self::new(1);
21573 }
21574 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21575 pub struct Ncodr_SPEC;
21576 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
21577 impl Ncodr {
21578 #[doc = "Output CMOS"]
21579 pub const _0: Self = Self::new(0);
21580
21581 #[doc = "Output NMOS open-drain"]
21582 pub const _1: Self = Self::new(1);
21583 }
21584 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21585 pub struct Isel_SPEC;
21586 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
21587 impl Isel {
21588 #[doc = "Do not use as IRQn input pin"]
21589 pub const _0: Self = Self::new(0);
21590
21591 #[doc = "Use as IRQn input pin"]
21592 pub const _1: Self = Self::new(1);
21593 }
21594 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21595 pub struct Asel_SPEC;
21596 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
21597 impl Asel {
21598 #[doc = "Do not use as analog pin"]
21599 pub const _0: Self = Self::new(0);
21600
21601 #[doc = "Use as analog pin"]
21602 pub const _1: Self = Self::new(1);
21603 }
21604 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21605 pub struct Pmr_SPEC;
21606 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
21607 impl Pmr {
21608 #[doc = "Use as general I/O pin"]
21609 pub const _0: Self = Self::new(0);
21610
21611 #[doc = "Use as I/O port for peripheral functions"]
21612 pub const _1: Self = Self::new(1);
21613 }
21614}
21615#[doc(hidden)]
21616#[derive(Copy, Clone, Eq, PartialEq)]
21617pub struct P80PfsHa_SPEC;
21618impl crate::sealed::RegSpec for P80PfsHa_SPEC {
21619 type DataType = u16;
21620}
21621
21622#[doc = "Port 80%s Pin Function Select Register"]
21623pub type P80PfsHa = crate::RegValueT<P80PfsHa_SPEC>;
21624
21625impl P80PfsHa {
21626 #[doc = "Port Output Data"]
21627 #[inline(always)]
21628 pub fn podr(
21629 self,
21630 ) -> crate::common::RegisterField<
21631 0,
21632 0x1,
21633 1,
21634 0,
21635 p80pfs_ha::Podr,
21636 p80pfs_ha::Podr,
21637 P80PfsHa_SPEC,
21638 crate::common::RW,
21639 > {
21640 crate::common::RegisterField::<
21641 0,
21642 0x1,
21643 1,
21644 0,
21645 p80pfs_ha::Podr,
21646 p80pfs_ha::Podr,
21647 P80PfsHa_SPEC,
21648 crate::common::RW,
21649 >::from_register(self, 0)
21650 }
21651
21652 #[doc = "Port State"]
21653 #[inline(always)]
21654 pub fn pidr(
21655 self,
21656 ) -> crate::common::RegisterField<
21657 1,
21658 0x1,
21659 1,
21660 0,
21661 p80pfs_ha::Pidr,
21662 p80pfs_ha::Pidr,
21663 P80PfsHa_SPEC,
21664 crate::common::R,
21665 > {
21666 crate::common::RegisterField::<
21667 1,
21668 0x1,
21669 1,
21670 0,
21671 p80pfs_ha::Pidr,
21672 p80pfs_ha::Pidr,
21673 P80PfsHa_SPEC,
21674 crate::common::R,
21675 >::from_register(self, 0)
21676 }
21677
21678 #[doc = "Port Direction"]
21679 #[inline(always)]
21680 pub fn pdr(
21681 self,
21682 ) -> crate::common::RegisterField<
21683 2,
21684 0x1,
21685 1,
21686 0,
21687 p80pfs_ha::Pdr,
21688 p80pfs_ha::Pdr,
21689 P80PfsHa_SPEC,
21690 crate::common::RW,
21691 > {
21692 crate::common::RegisterField::<
21693 2,
21694 0x1,
21695 1,
21696 0,
21697 p80pfs_ha::Pdr,
21698 p80pfs_ha::Pdr,
21699 P80PfsHa_SPEC,
21700 crate::common::RW,
21701 >::from_register(self, 0)
21702 }
21703
21704 #[doc = "Pull-up Control"]
21705 #[inline(always)]
21706 pub fn pcr(
21707 self,
21708 ) -> crate::common::RegisterField<
21709 4,
21710 0x1,
21711 1,
21712 0,
21713 p80pfs_ha::Pcr,
21714 p80pfs_ha::Pcr,
21715 P80PfsHa_SPEC,
21716 crate::common::RW,
21717 > {
21718 crate::common::RegisterField::<
21719 4,
21720 0x1,
21721 1,
21722 0,
21723 p80pfs_ha::Pcr,
21724 p80pfs_ha::Pcr,
21725 P80PfsHa_SPEC,
21726 crate::common::RW,
21727 >::from_register(self, 0)
21728 }
21729
21730 #[doc = "N-Channel Open-Drain Control"]
21731 #[inline(always)]
21732 pub fn ncodr(
21733 self,
21734 ) -> crate::common::RegisterField<
21735 6,
21736 0x1,
21737 1,
21738 0,
21739 p80pfs_ha::Ncodr,
21740 p80pfs_ha::Ncodr,
21741 P80PfsHa_SPEC,
21742 crate::common::RW,
21743 > {
21744 crate::common::RegisterField::<
21745 6,
21746 0x1,
21747 1,
21748 0,
21749 p80pfs_ha::Ncodr,
21750 p80pfs_ha::Ncodr,
21751 P80PfsHa_SPEC,
21752 crate::common::RW,
21753 >::from_register(self, 0)
21754 }
21755
21756 #[doc = "IRQ Input Enable"]
21757 #[inline(always)]
21758 pub fn isel(
21759 self,
21760 ) -> crate::common::RegisterField<
21761 14,
21762 0x1,
21763 1,
21764 0,
21765 p80pfs_ha::Isel,
21766 p80pfs_ha::Isel,
21767 P80PfsHa_SPEC,
21768 crate::common::RW,
21769 > {
21770 crate::common::RegisterField::<
21771 14,
21772 0x1,
21773 1,
21774 0,
21775 p80pfs_ha::Isel,
21776 p80pfs_ha::Isel,
21777 P80PfsHa_SPEC,
21778 crate::common::RW,
21779 >::from_register(self, 0)
21780 }
21781
21782 #[doc = "Analog Input Enable"]
21783 #[inline(always)]
21784 pub fn asel(
21785 self,
21786 ) -> crate::common::RegisterField<
21787 15,
21788 0x1,
21789 1,
21790 0,
21791 p80pfs_ha::Asel,
21792 p80pfs_ha::Asel,
21793 P80PfsHa_SPEC,
21794 crate::common::RW,
21795 > {
21796 crate::common::RegisterField::<
21797 15,
21798 0x1,
21799 1,
21800 0,
21801 p80pfs_ha::Asel,
21802 p80pfs_ha::Asel,
21803 P80PfsHa_SPEC,
21804 crate::common::RW,
21805 >::from_register(self, 0)
21806 }
21807}
21808impl ::core::default::Default for P80PfsHa {
21809 #[inline(always)]
21810 fn default() -> P80PfsHa {
21811 <crate::RegValueT<P80PfsHa_SPEC> as RegisterValue<_>>::new(0)
21812 }
21813}
21814pub mod p80pfs_ha {
21815
21816 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21817 pub struct Podr_SPEC;
21818 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
21819 impl Podr {
21820 #[doc = "Output low"]
21821 pub const _0: Self = Self::new(0);
21822
21823 #[doc = "Output high"]
21824 pub const _1: Self = Self::new(1);
21825 }
21826 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21827 pub struct Pidr_SPEC;
21828 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
21829 impl Pidr {
21830 #[doc = "Low level"]
21831 pub const _0: Self = Self::new(0);
21832
21833 #[doc = "High level"]
21834 pub const _1: Self = Self::new(1);
21835 }
21836 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21837 pub struct Pdr_SPEC;
21838 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
21839 impl Pdr {
21840 #[doc = "Input (functions as an input pin)"]
21841 pub const _0: Self = Self::new(0);
21842
21843 #[doc = "Output (functions as an output pin)"]
21844 pub const _1: Self = Self::new(1);
21845 }
21846 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21847 pub struct Pcr_SPEC;
21848 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
21849 impl Pcr {
21850 #[doc = "Disable input pull-up"]
21851 pub const _0: Self = Self::new(0);
21852
21853 #[doc = "Enable input pull-up"]
21854 pub const _1: Self = Self::new(1);
21855 }
21856 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21857 pub struct Ncodr_SPEC;
21858 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
21859 impl Ncodr {
21860 #[doc = "Output CMOS"]
21861 pub const _0: Self = Self::new(0);
21862
21863 #[doc = "Output NMOS open-drain"]
21864 pub const _1: Self = Self::new(1);
21865 }
21866 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21867 pub struct Isel_SPEC;
21868 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
21869 impl Isel {
21870 #[doc = "Do not use as IRQn input pin"]
21871 pub const _0: Self = Self::new(0);
21872
21873 #[doc = "Use as IRQn input pin"]
21874 pub const _1: Self = Self::new(1);
21875 }
21876 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
21877 pub struct Asel_SPEC;
21878 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
21879 impl Asel {
21880 #[doc = "Do not use as analog pin"]
21881 pub const _0: Self = Self::new(0);
21882
21883 #[doc = "Use as analog pin"]
21884 pub const _1: Self = Self::new(1);
21885 }
21886}
21887#[doc(hidden)]
21888#[derive(Copy, Clone, Eq, PartialEq)]
21889pub struct P80PfsBy_SPEC;
21890impl crate::sealed::RegSpec for P80PfsBy_SPEC {
21891 type DataType = u8;
21892}
21893
21894#[doc = "Port 80%s Pin Function Select Register"]
21895pub type P80PfsBy = crate::RegValueT<P80PfsBy_SPEC>;
21896
21897impl P80PfsBy {
21898 #[doc = "Port Output Data"]
21899 #[inline(always)]
21900 pub fn podr(
21901 self,
21902 ) -> crate::common::RegisterField<
21903 0,
21904 0x1,
21905 1,
21906 0,
21907 p80pfs_by::Podr,
21908 p80pfs_by::Podr,
21909 P80PfsBy_SPEC,
21910 crate::common::RW,
21911 > {
21912 crate::common::RegisterField::<
21913 0,
21914 0x1,
21915 1,
21916 0,
21917 p80pfs_by::Podr,
21918 p80pfs_by::Podr,
21919 P80PfsBy_SPEC,
21920 crate::common::RW,
21921 >::from_register(self, 0)
21922 }
21923
21924 #[doc = "Port State"]
21925 #[inline(always)]
21926 pub fn pidr(
21927 self,
21928 ) -> crate::common::RegisterField<
21929 1,
21930 0x1,
21931 1,
21932 0,
21933 p80pfs_by::Pidr,
21934 p80pfs_by::Pidr,
21935 P80PfsBy_SPEC,
21936 crate::common::R,
21937 > {
21938 crate::common::RegisterField::<
21939 1,
21940 0x1,
21941 1,
21942 0,
21943 p80pfs_by::Pidr,
21944 p80pfs_by::Pidr,
21945 P80PfsBy_SPEC,
21946 crate::common::R,
21947 >::from_register(self, 0)
21948 }
21949
21950 #[doc = "Port Direction"]
21951 #[inline(always)]
21952 pub fn pdr(
21953 self,
21954 ) -> crate::common::RegisterField<
21955 2,
21956 0x1,
21957 1,
21958 0,
21959 p80pfs_by::Pdr,
21960 p80pfs_by::Pdr,
21961 P80PfsBy_SPEC,
21962 crate::common::RW,
21963 > {
21964 crate::common::RegisterField::<
21965 2,
21966 0x1,
21967 1,
21968 0,
21969 p80pfs_by::Pdr,
21970 p80pfs_by::Pdr,
21971 P80PfsBy_SPEC,
21972 crate::common::RW,
21973 >::from_register(self, 0)
21974 }
21975
21976 #[doc = "Pull-up Control"]
21977 #[inline(always)]
21978 pub fn pcr(
21979 self,
21980 ) -> crate::common::RegisterField<
21981 4,
21982 0x1,
21983 1,
21984 0,
21985 p80pfs_by::Pcr,
21986 p80pfs_by::Pcr,
21987 P80PfsBy_SPEC,
21988 crate::common::RW,
21989 > {
21990 crate::common::RegisterField::<
21991 4,
21992 0x1,
21993 1,
21994 0,
21995 p80pfs_by::Pcr,
21996 p80pfs_by::Pcr,
21997 P80PfsBy_SPEC,
21998 crate::common::RW,
21999 >::from_register(self, 0)
22000 }
22001
22002 #[doc = "N-Channel Open-Drain Control"]
22003 #[inline(always)]
22004 pub fn ncodr(
22005 self,
22006 ) -> crate::common::RegisterField<
22007 6,
22008 0x1,
22009 1,
22010 0,
22011 p80pfs_by::Ncodr,
22012 p80pfs_by::Ncodr,
22013 P80PfsBy_SPEC,
22014 crate::common::RW,
22015 > {
22016 crate::common::RegisterField::<
22017 6,
22018 0x1,
22019 1,
22020 0,
22021 p80pfs_by::Ncodr,
22022 p80pfs_by::Ncodr,
22023 P80PfsBy_SPEC,
22024 crate::common::RW,
22025 >::from_register(self, 0)
22026 }
22027}
22028impl ::core::default::Default for P80PfsBy {
22029 #[inline(always)]
22030 fn default() -> P80PfsBy {
22031 <crate::RegValueT<P80PfsBy_SPEC> as RegisterValue<_>>::new(0)
22032 }
22033}
22034pub mod p80pfs_by {
22035
22036 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
22037 pub struct Podr_SPEC;
22038 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
22039 impl Podr {
22040 #[doc = "Output low"]
22041 pub const _0: Self = Self::new(0);
22042
22043 #[doc = "Output high"]
22044 pub const _1: Self = Self::new(1);
22045 }
22046 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
22047 pub struct Pidr_SPEC;
22048 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
22049 impl Pidr {
22050 #[doc = "Low level"]
22051 pub const _0: Self = Self::new(0);
22052
22053 #[doc = "High level"]
22054 pub const _1: Self = Self::new(1);
22055 }
22056 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
22057 pub struct Pdr_SPEC;
22058 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
22059 impl Pdr {
22060 #[doc = "Input (functions as an input pin)"]
22061 pub const _0: Self = Self::new(0);
22062
22063 #[doc = "Output (functions as an output pin)"]
22064 pub const _1: Self = Self::new(1);
22065 }
22066 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
22067 pub struct Pcr_SPEC;
22068 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
22069 impl Pcr {
22070 #[doc = "Disable input pull-up"]
22071 pub const _0: Self = Self::new(0);
22072
22073 #[doc = "Enable input pull-up"]
22074 pub const _1: Self = Self::new(1);
22075 }
22076 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
22077 pub struct Ncodr_SPEC;
22078 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
22079 impl Ncodr {
22080 #[doc = "Output CMOS"]
22081 pub const _0: Self = Self::new(0);
22082
22083 #[doc = "Output NMOS open-drain"]
22084 pub const _1: Self = Self::new(1);
22085 }
22086}
22087#[doc(hidden)]
22088#[derive(Copy, Clone, Eq, PartialEq)]
22089pub struct Pwpr_SPEC;
22090impl crate::sealed::RegSpec for Pwpr_SPEC {
22091 type DataType = u8;
22092}
22093
22094#[doc = "Write-Protect Register"]
22095pub type Pwpr = crate::RegValueT<Pwpr_SPEC>;
22096
22097impl Pwpr {
22098 #[doc = "PmnPFS Register Write Enable"]
22099 #[inline(always)]
22100 pub fn pfswe(
22101 self,
22102 ) -> crate::common::RegisterField<
22103 6,
22104 0x1,
22105 1,
22106 0,
22107 pwpr::Pfswe,
22108 pwpr::Pfswe,
22109 Pwpr_SPEC,
22110 crate::common::RW,
22111 > {
22112 crate::common::RegisterField::<
22113 6,
22114 0x1,
22115 1,
22116 0,
22117 pwpr::Pfswe,
22118 pwpr::Pfswe,
22119 Pwpr_SPEC,
22120 crate::common::RW,
22121 >::from_register(self, 0)
22122 }
22123
22124 #[doc = "PFSWE Bit Write Disable"]
22125 #[inline(always)]
22126 pub fn b0wi(
22127 self,
22128 ) -> crate::common::RegisterField<
22129 7,
22130 0x1,
22131 1,
22132 0,
22133 pwpr::B0Wi,
22134 pwpr::B0Wi,
22135 Pwpr_SPEC,
22136 crate::common::RW,
22137 > {
22138 crate::common::RegisterField::<
22139 7,
22140 0x1,
22141 1,
22142 0,
22143 pwpr::B0Wi,
22144 pwpr::B0Wi,
22145 Pwpr_SPEC,
22146 crate::common::RW,
22147 >::from_register(self, 0)
22148 }
22149}
22150impl ::core::default::Default for Pwpr {
22151 #[inline(always)]
22152 fn default() -> Pwpr {
22153 <crate::RegValueT<Pwpr_SPEC> as RegisterValue<_>>::new(128)
22154 }
22155}
22156pub mod pwpr {
22157
22158 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
22159 pub struct Pfswe_SPEC;
22160 pub type Pfswe = crate::EnumBitfieldStruct<u8, Pfswe_SPEC>;
22161 impl Pfswe {
22162 #[doc = "Writing to the PmnPFS register is disabled"]
22163 pub const _0: Self = Self::new(0);
22164
22165 #[doc = "Writing to the PmnPFS register is enabled"]
22166 pub const _1: Self = Self::new(1);
22167 }
22168 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
22169 pub struct B0Wi_SPEC;
22170 pub type B0Wi = crate::EnumBitfieldStruct<u8, B0Wi_SPEC>;
22171 impl B0Wi {
22172 #[doc = "Writing to the PFSWE bit is enabled"]
22173 pub const _0: Self = Self::new(0);
22174
22175 #[doc = "Writing to the PFSWE bit is disabled"]
22176 pub const _1: Self = Self::new(1);
22177 }
22178}
22179#[doc(hidden)]
22180#[derive(Copy, Clone, Eq, PartialEq)]
22181pub struct Pwprs_SPEC;
22182impl crate::sealed::RegSpec for Pwprs_SPEC {
22183 type DataType = u8;
22184}
22185
22186#[doc = "Write-Protect Register for Secure"]
22187pub type Pwprs = crate::RegValueT<Pwprs_SPEC>;
22188
22189impl Pwprs {
22190 #[doc = "PmnPFS Register Write Enable"]
22191 #[inline(always)]
22192 pub fn pfswe(
22193 self,
22194 ) -> crate::common::RegisterField<
22195 6,
22196 0x1,
22197 1,
22198 0,
22199 pwprs::Pfswe,
22200 pwprs::Pfswe,
22201 Pwprs_SPEC,
22202 crate::common::RW,
22203 > {
22204 crate::common::RegisterField::<
22205 6,
22206 0x1,
22207 1,
22208 0,
22209 pwprs::Pfswe,
22210 pwprs::Pfswe,
22211 Pwprs_SPEC,
22212 crate::common::RW,
22213 >::from_register(self, 0)
22214 }
22215
22216 #[doc = "PFSWE Bit Write Disable"]
22217 #[inline(always)]
22218 pub fn b0wi(
22219 self,
22220 ) -> crate::common::RegisterField<
22221 7,
22222 0x1,
22223 1,
22224 0,
22225 pwprs::B0Wi,
22226 pwprs::B0Wi,
22227 Pwprs_SPEC,
22228 crate::common::RW,
22229 > {
22230 crate::common::RegisterField::<
22231 7,
22232 0x1,
22233 1,
22234 0,
22235 pwprs::B0Wi,
22236 pwprs::B0Wi,
22237 Pwprs_SPEC,
22238 crate::common::RW,
22239 >::from_register(self, 0)
22240 }
22241}
22242impl ::core::default::Default for Pwprs {
22243 #[inline(always)]
22244 fn default() -> Pwprs {
22245 <crate::RegValueT<Pwprs_SPEC> as RegisterValue<_>>::new(128)
22246 }
22247}
22248pub mod pwprs {
22249
22250 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
22251 pub struct Pfswe_SPEC;
22252 pub type Pfswe = crate::EnumBitfieldStruct<u8, Pfswe_SPEC>;
22253 impl Pfswe {
22254 #[doc = "Disable writes to the PmnPFS register"]
22255 pub const _0: Self = Self::new(0);
22256
22257 #[doc = "Enable writes to the PmnPFS register"]
22258 pub const _1: Self = Self::new(1);
22259 }
22260 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
22261 pub struct B0Wi_SPEC;
22262 pub type B0Wi = crate::EnumBitfieldStruct<u8, B0Wi_SPEC>;
22263 impl B0Wi {
22264 #[doc = "Enable writes the PFSWE bit"]
22265 pub const _0: Self = Self::new(0);
22266
22267 #[doc = "Disable writes to the PFSWE bit"]
22268 pub const _1: Self = Self::new(1);
22269 }
22270}
22271#[doc(hidden)]
22272#[derive(Copy, Clone, Eq, PartialEq)]
22273pub struct Psar_SPEC;
22274impl crate::sealed::RegSpec for Psar_SPEC {
22275 type DataType = u16;
22276}
22277
22278#[doc = "Port Security Attribution register"]
22279pub type Psar = crate::RegValueT<Psar_SPEC>;
22280
22281impl Psar {
22282 #[doc = "Pmn Security Attribution"]
22283 #[inline(always)]
22284 pub fn pmnsa(
22285 self,
22286 ) -> crate::common::RegisterField<
22287 0,
22288 0xffff,
22289 1,
22290 0,
22291 psar::Pmnsa,
22292 psar::Pmnsa,
22293 Psar_SPEC,
22294 crate::common::RW,
22295 > {
22296 crate::common::RegisterField::<
22297 0,
22298 0xffff,
22299 1,
22300 0,
22301 psar::Pmnsa,
22302 psar::Pmnsa,
22303 Psar_SPEC,
22304 crate::common::RW,
22305 >::from_register(self, 0)
22306 }
22307}
22308impl ::core::default::Default for Psar {
22309 #[inline(always)]
22310 fn default() -> Psar {
22311 <crate::RegValueT<Psar_SPEC> as RegisterValue<_>>::new(65535)
22312 }
22313}
22314pub mod psar {
22315
22316 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
22317 pub struct Pmnsa_SPEC;
22318 pub type Pmnsa = crate::EnumBitfieldStruct<u8, Pmnsa_SPEC>;
22319 impl Pmnsa {
22320 #[doc = "Secure"]
22321 pub const _0: Self = Self::new(0);
22322
22323 #[doc = "Non Secure"]
22324 pub const _1: Self = Self::new(1);
22325 }
22326}