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 0%s Pin Function Select Register"]
356 #[inline(always)]
357 pub const fn p0pfs(
358 &self,
359 ) -> &'static crate::common::ClusterRegisterArray<
360 crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW>,
361 2,
362 0x4,
363 > {
364 unsafe {
365 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x38usize))
366 }
367 }
368 #[inline(always)]
369 pub const fn p014pfs(
370 &self,
371 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
372 unsafe {
373 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
374 self._svd2pac_as_ptr().add(0x38usize),
375 )
376 }
377 }
378 #[inline(always)]
379 pub const fn p015pfs(
380 &self,
381 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
382 unsafe {
383 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
384 self._svd2pac_as_ptr().add(0x3cusize),
385 )
386 }
387 }
388
389 #[doc = "Port 0%s Pin Function Select Register"]
390 #[inline(always)]
391 pub const fn p0pfs_ha(
392 &self,
393 ) -> &'static crate::common::ClusterRegisterArray<
394 crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW>,
395 2,
396 0x4,
397 > {
398 unsafe {
399 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x3ausize))
400 }
401 }
402 #[inline(always)]
403 pub const fn p014pfs_ha(
404 &self,
405 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
406 unsafe {
407 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
408 self._svd2pac_as_ptr().add(0x3ausize),
409 )
410 }
411 }
412 #[inline(always)]
413 pub const fn p015pfs_ha(
414 &self,
415 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
416 unsafe {
417 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
418 self._svd2pac_as_ptr().add(0x3eusize),
419 )
420 }
421 }
422
423 #[doc = "Port 0%s Pin Function Select Register"]
424 #[inline(always)]
425 pub const fn p0pfs_by(
426 &self,
427 ) -> &'static crate::common::ClusterRegisterArray<
428 crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW>,
429 2,
430 0x4,
431 > {
432 unsafe {
433 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x3busize))
434 }
435 }
436 #[inline(always)]
437 pub const fn p014pfs_by(
438 &self,
439 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
440 unsafe {
441 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
442 self._svd2pac_as_ptr().add(0x3busize),
443 )
444 }
445 }
446 #[inline(always)]
447 pub const fn p015pfs_by(
448 &self,
449 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
450 unsafe {
451 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
452 self._svd2pac_as_ptr().add(0x3fusize),
453 )
454 }
455 }
456
457 #[doc = "Port 10%s Pin Function Select Register"]
458 #[inline(always)]
459 pub const fn p10pfs(
460 &self,
461 ) -> &'static crate::common::ClusterRegisterArray<
462 crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW>,
463 10,
464 0x4,
465 > {
466 unsafe {
467 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x40usize))
468 }
469 }
470 #[inline(always)]
471 pub const fn p100pfs(
472 &self,
473 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
474 unsafe {
475 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
476 self._svd2pac_as_ptr().add(0x40usize),
477 )
478 }
479 }
480 #[inline(always)]
481 pub const fn p101pfs(
482 &self,
483 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
484 unsafe {
485 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
486 self._svd2pac_as_ptr().add(0x44usize),
487 )
488 }
489 }
490 #[inline(always)]
491 pub const fn p102pfs(
492 &self,
493 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
494 unsafe {
495 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
496 self._svd2pac_as_ptr().add(0x48usize),
497 )
498 }
499 }
500 #[inline(always)]
501 pub const fn p103pfs(
502 &self,
503 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
504 unsafe {
505 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
506 self._svd2pac_as_ptr().add(0x4cusize),
507 )
508 }
509 }
510 #[inline(always)]
511 pub const fn p104pfs(
512 &self,
513 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
514 unsafe {
515 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
516 self._svd2pac_as_ptr().add(0x50usize),
517 )
518 }
519 }
520 #[inline(always)]
521 pub const fn p105pfs(
522 &self,
523 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
524 unsafe {
525 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
526 self._svd2pac_as_ptr().add(0x54usize),
527 )
528 }
529 }
530 #[inline(always)]
531 pub const fn p106pfs(
532 &self,
533 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
534 unsafe {
535 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
536 self._svd2pac_as_ptr().add(0x58usize),
537 )
538 }
539 }
540 #[inline(always)]
541 pub const fn p107pfs(
542 &self,
543 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
544 unsafe {
545 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
546 self._svd2pac_as_ptr().add(0x5cusize),
547 )
548 }
549 }
550 #[inline(always)]
551 pub const fn p108pfs(
552 &self,
553 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
554 unsafe {
555 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
556 self._svd2pac_as_ptr().add(0x60usize),
557 )
558 }
559 }
560 #[inline(always)]
561 pub const fn p109pfs(
562 &self,
563 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
564 unsafe {
565 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
566 self._svd2pac_as_ptr().add(0x64usize),
567 )
568 }
569 }
570
571 #[doc = "Port 10%s Pin Function Select Register"]
572 #[inline(always)]
573 pub const fn p10pfs_ha(
574 &self,
575 ) -> &'static crate::common::ClusterRegisterArray<
576 crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW>,
577 10,
578 0x4,
579 > {
580 unsafe {
581 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x42usize))
582 }
583 }
584 #[inline(always)]
585 pub const fn p100pfs_ha(
586 &self,
587 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
588 unsafe {
589 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
590 self._svd2pac_as_ptr().add(0x42usize),
591 )
592 }
593 }
594 #[inline(always)]
595 pub const fn p101pfs_ha(
596 &self,
597 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
598 unsafe {
599 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
600 self._svd2pac_as_ptr().add(0x46usize),
601 )
602 }
603 }
604 #[inline(always)]
605 pub const fn p102pfs_ha(
606 &self,
607 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
608 unsafe {
609 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
610 self._svd2pac_as_ptr().add(0x4ausize),
611 )
612 }
613 }
614 #[inline(always)]
615 pub const fn p103pfs_ha(
616 &self,
617 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
618 unsafe {
619 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
620 self._svd2pac_as_ptr().add(0x4eusize),
621 )
622 }
623 }
624 #[inline(always)]
625 pub const fn p104pfs_ha(
626 &self,
627 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
628 unsafe {
629 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
630 self._svd2pac_as_ptr().add(0x52usize),
631 )
632 }
633 }
634 #[inline(always)]
635 pub const fn p105pfs_ha(
636 &self,
637 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
638 unsafe {
639 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
640 self._svd2pac_as_ptr().add(0x56usize),
641 )
642 }
643 }
644 #[inline(always)]
645 pub const fn p106pfs_ha(
646 &self,
647 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
648 unsafe {
649 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
650 self._svd2pac_as_ptr().add(0x5ausize),
651 )
652 }
653 }
654 #[inline(always)]
655 pub const fn p107pfs_ha(
656 &self,
657 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
658 unsafe {
659 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
660 self._svd2pac_as_ptr().add(0x5eusize),
661 )
662 }
663 }
664 #[inline(always)]
665 pub const fn p108pfs_ha(
666 &self,
667 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
668 unsafe {
669 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
670 self._svd2pac_as_ptr().add(0x62usize),
671 )
672 }
673 }
674 #[inline(always)]
675 pub const fn p109pfs_ha(
676 &self,
677 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
678 unsafe {
679 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
680 self._svd2pac_as_ptr().add(0x66usize),
681 )
682 }
683 }
684
685 #[doc = "Port 10%s Pin Function Select Register"]
686 #[inline(always)]
687 pub const fn p10pfs_by(
688 &self,
689 ) -> &'static crate::common::ClusterRegisterArray<
690 crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW>,
691 10,
692 0x4,
693 > {
694 unsafe {
695 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x43usize))
696 }
697 }
698 #[inline(always)]
699 pub const fn p100pfs_by(
700 &self,
701 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
702 unsafe {
703 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
704 self._svd2pac_as_ptr().add(0x43usize),
705 )
706 }
707 }
708 #[inline(always)]
709 pub const fn p101pfs_by(
710 &self,
711 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
712 unsafe {
713 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
714 self._svd2pac_as_ptr().add(0x47usize),
715 )
716 }
717 }
718 #[inline(always)]
719 pub const fn p102pfs_by(
720 &self,
721 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
722 unsafe {
723 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
724 self._svd2pac_as_ptr().add(0x4busize),
725 )
726 }
727 }
728 #[inline(always)]
729 pub const fn p103pfs_by(
730 &self,
731 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
732 unsafe {
733 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
734 self._svd2pac_as_ptr().add(0x4fusize),
735 )
736 }
737 }
738 #[inline(always)]
739 pub const fn p104pfs_by(
740 &self,
741 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
742 unsafe {
743 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
744 self._svd2pac_as_ptr().add(0x53usize),
745 )
746 }
747 }
748 #[inline(always)]
749 pub const fn p105pfs_by(
750 &self,
751 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
752 unsafe {
753 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
754 self._svd2pac_as_ptr().add(0x57usize),
755 )
756 }
757 }
758 #[inline(always)]
759 pub const fn p106pfs_by(
760 &self,
761 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
762 unsafe {
763 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
764 self._svd2pac_as_ptr().add(0x5busize),
765 )
766 }
767 }
768 #[inline(always)]
769 pub const fn p107pfs_by(
770 &self,
771 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
772 unsafe {
773 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
774 self._svd2pac_as_ptr().add(0x5fusize),
775 )
776 }
777 }
778 #[inline(always)]
779 pub const fn p108pfs_by(
780 &self,
781 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
782 unsafe {
783 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
784 self._svd2pac_as_ptr().add(0x63usize),
785 )
786 }
787 }
788 #[inline(always)]
789 pub const fn p109pfs_by(
790 &self,
791 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
792 unsafe {
793 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
794 self._svd2pac_as_ptr().add(0x67usize),
795 )
796 }
797 }
798
799 #[doc = "Port 1%s Pin Function Select Register"]
800 #[inline(always)]
801 pub const fn p1pfs(
802 &self,
803 ) -> &'static crate::common::ClusterRegisterArray<
804 crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW>,
805 6,
806 0x4,
807 > {
808 unsafe {
809 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x68usize))
810 }
811 }
812 #[inline(always)]
813 pub const fn p110pfs(
814 &self,
815 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
816 unsafe {
817 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
818 self._svd2pac_as_ptr().add(0x68usize),
819 )
820 }
821 }
822 #[inline(always)]
823 pub const fn p111pfs(
824 &self,
825 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
826 unsafe {
827 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
828 self._svd2pac_as_ptr().add(0x6cusize),
829 )
830 }
831 }
832 #[inline(always)]
833 pub const fn p112pfs(
834 &self,
835 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
836 unsafe {
837 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
838 self._svd2pac_as_ptr().add(0x70usize),
839 )
840 }
841 }
842 #[inline(always)]
843 pub const fn p113pfs(
844 &self,
845 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
846 unsafe {
847 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
848 self._svd2pac_as_ptr().add(0x74usize),
849 )
850 }
851 }
852 #[inline(always)]
853 pub const fn p114pfs(
854 &self,
855 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
856 unsafe {
857 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
858 self._svd2pac_as_ptr().add(0x78usize),
859 )
860 }
861 }
862 #[inline(always)]
863 pub const fn p115pfs(
864 &self,
865 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
866 unsafe {
867 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
868 self._svd2pac_as_ptr().add(0x7cusize),
869 )
870 }
871 }
872
873 #[doc = "Port 1%s Pin Function Select Register"]
874 #[inline(always)]
875 pub const fn p1pfs_ha(
876 &self,
877 ) -> &'static crate::common::ClusterRegisterArray<
878 crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW>,
879 6,
880 0x4,
881 > {
882 unsafe {
883 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x6ausize))
884 }
885 }
886 #[inline(always)]
887 pub const fn p110pfs_ha(
888 &self,
889 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
890 unsafe {
891 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
892 self._svd2pac_as_ptr().add(0x6ausize),
893 )
894 }
895 }
896 #[inline(always)]
897 pub const fn p111pfs_ha(
898 &self,
899 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
900 unsafe {
901 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
902 self._svd2pac_as_ptr().add(0x6eusize),
903 )
904 }
905 }
906 #[inline(always)]
907 pub const fn p112pfs_ha(
908 &self,
909 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
910 unsafe {
911 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
912 self._svd2pac_as_ptr().add(0x72usize),
913 )
914 }
915 }
916 #[inline(always)]
917 pub const fn p113pfs_ha(
918 &self,
919 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
920 unsafe {
921 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
922 self._svd2pac_as_ptr().add(0x76usize),
923 )
924 }
925 }
926 #[inline(always)]
927 pub const fn p114pfs_ha(
928 &self,
929 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
930 unsafe {
931 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
932 self._svd2pac_as_ptr().add(0x7ausize),
933 )
934 }
935 }
936 #[inline(always)]
937 pub const fn p115pfs_ha(
938 &self,
939 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
940 unsafe {
941 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
942 self._svd2pac_as_ptr().add(0x7eusize),
943 )
944 }
945 }
946
947 #[doc = "Port 1%s Pin Function Select Register"]
948 #[inline(always)]
949 pub const fn p1pfs_by(
950 &self,
951 ) -> &'static crate::common::ClusterRegisterArray<
952 crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW>,
953 6,
954 0x4,
955 > {
956 unsafe {
957 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x6busize))
958 }
959 }
960 #[inline(always)]
961 pub const fn p110pfs_by(
962 &self,
963 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
964 unsafe {
965 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
966 self._svd2pac_as_ptr().add(0x6busize),
967 )
968 }
969 }
970 #[inline(always)]
971 pub const fn p111pfs_by(
972 &self,
973 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
974 unsafe {
975 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
976 self._svd2pac_as_ptr().add(0x6fusize),
977 )
978 }
979 }
980 #[inline(always)]
981 pub const fn p112pfs_by(
982 &self,
983 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
984 unsafe {
985 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
986 self._svd2pac_as_ptr().add(0x73usize),
987 )
988 }
989 }
990 #[inline(always)]
991 pub const fn p113pfs_by(
992 &self,
993 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
994 unsafe {
995 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
996 self._svd2pac_as_ptr().add(0x77usize),
997 )
998 }
999 }
1000 #[inline(always)]
1001 pub const fn p114pfs_by(
1002 &self,
1003 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1004 unsafe {
1005 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1006 self._svd2pac_as_ptr().add(0x7busize),
1007 )
1008 }
1009 }
1010 #[inline(always)]
1011 pub const fn p115pfs_by(
1012 &self,
1013 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1014 unsafe {
1015 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1016 self._svd2pac_as_ptr().add(0x7fusize),
1017 )
1018 }
1019 }
1020
1021 #[doc = "Port 200 Pin Function Select Register"]
1022 #[inline(always)]
1023 pub const fn p200pfs(
1024 &self,
1025 ) -> &'static crate::common::Reg<self::P200Pfs_SPEC, crate::common::RW> {
1026 unsafe {
1027 crate::common::Reg::<self::P200Pfs_SPEC, crate::common::RW>::from_ptr(
1028 self._svd2pac_as_ptr().add(128usize),
1029 )
1030 }
1031 }
1032
1033 #[doc = "Port 200 Pin Function Select Register"]
1034 #[inline(always)]
1035 pub const fn p200pfs_ha(
1036 &self,
1037 ) -> &'static crate::common::Reg<self::P200PfsHa_SPEC, crate::common::RW> {
1038 unsafe {
1039 crate::common::Reg::<self::P200PfsHa_SPEC, crate::common::RW>::from_ptr(
1040 self._svd2pac_as_ptr().add(130usize),
1041 )
1042 }
1043 }
1044
1045 #[doc = "Port 200 Pin Function Select Register"]
1046 #[inline(always)]
1047 pub const fn p200pfs_by(
1048 &self,
1049 ) -> &'static crate::common::Reg<self::P200PfsBy_SPEC, crate::common::RW> {
1050 unsafe {
1051 crate::common::Reg::<self::P200PfsBy_SPEC, crate::common::RW>::from_ptr(
1052 self._svd2pac_as_ptr().add(131usize),
1053 )
1054 }
1055 }
1056
1057 #[doc = "Port 201 Pin Function Select Register"]
1058 #[inline(always)]
1059 pub const fn p201pfs(
1060 &self,
1061 ) -> &'static crate::common::Reg<self::P201Pfs_SPEC, crate::common::RW> {
1062 unsafe {
1063 crate::common::Reg::<self::P201Pfs_SPEC, crate::common::RW>::from_ptr(
1064 self._svd2pac_as_ptr().add(132usize),
1065 )
1066 }
1067 }
1068
1069 #[doc = "Port 201 Pin Function Select Register"]
1070 #[inline(always)]
1071 pub const fn p201pfs_ha(
1072 &self,
1073 ) -> &'static crate::common::Reg<self::P201PfsHa_SPEC, crate::common::RW> {
1074 unsafe {
1075 crate::common::Reg::<self::P201PfsHa_SPEC, crate::common::RW>::from_ptr(
1076 self._svd2pac_as_ptr().add(134usize),
1077 )
1078 }
1079 }
1080
1081 #[doc = "Port 201 Pin Function Select Register"]
1082 #[inline(always)]
1083 pub const fn p201pfs_by(
1084 &self,
1085 ) -> &'static crate::common::Reg<self::P201PfsBy_SPEC, crate::common::RW> {
1086 unsafe {
1087 crate::common::Reg::<self::P201PfsBy_SPEC, crate::common::RW>::from_ptr(
1088 self._svd2pac_as_ptr().add(135usize),
1089 )
1090 }
1091 }
1092
1093 #[doc = "Port 20%s Pin Function Select Register"]
1094 #[inline(always)]
1095 pub const fn p20pfs(
1096 &self,
1097 ) -> &'static crate::common::ClusterRegisterArray<
1098 crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW>,
1099 5,
1100 0x4,
1101 > {
1102 unsafe {
1103 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x94usize))
1104 }
1105 }
1106 #[inline(always)]
1107 pub const fn p205pfs(
1108 &self,
1109 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1110 unsafe {
1111 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1112 self._svd2pac_as_ptr().add(0x94usize),
1113 )
1114 }
1115 }
1116 #[inline(always)]
1117 pub const fn p206pfs(
1118 &self,
1119 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1120 unsafe {
1121 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1122 self._svd2pac_as_ptr().add(0x98usize),
1123 )
1124 }
1125 }
1126 #[inline(always)]
1127 pub const fn p207pfs(
1128 &self,
1129 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1130 unsafe {
1131 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1132 self._svd2pac_as_ptr().add(0x9cusize),
1133 )
1134 }
1135 }
1136 #[inline(always)]
1137 pub const fn p208pfs(
1138 &self,
1139 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1140 unsafe {
1141 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1142 self._svd2pac_as_ptr().add(0xa0usize),
1143 )
1144 }
1145 }
1146 #[inline(always)]
1147 pub const fn p209pfs(
1148 &self,
1149 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1150 unsafe {
1151 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1152 self._svd2pac_as_ptr().add(0xa4usize),
1153 )
1154 }
1155 }
1156
1157 #[doc = "Port 20%s Pin Function Select Register"]
1158 #[inline(always)]
1159 pub const fn p20pfs_ha(
1160 &self,
1161 ) -> &'static crate::common::ClusterRegisterArray<
1162 crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW>,
1163 5,
1164 0x4,
1165 > {
1166 unsafe {
1167 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x96usize))
1168 }
1169 }
1170 #[inline(always)]
1171 pub const fn p205pfs_ha(
1172 &self,
1173 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1174 unsafe {
1175 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1176 self._svd2pac_as_ptr().add(0x96usize),
1177 )
1178 }
1179 }
1180 #[inline(always)]
1181 pub const fn p206pfs_ha(
1182 &self,
1183 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1184 unsafe {
1185 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1186 self._svd2pac_as_ptr().add(0x9ausize),
1187 )
1188 }
1189 }
1190 #[inline(always)]
1191 pub const fn p207pfs_ha(
1192 &self,
1193 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1194 unsafe {
1195 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1196 self._svd2pac_as_ptr().add(0x9eusize),
1197 )
1198 }
1199 }
1200 #[inline(always)]
1201 pub const fn p208pfs_ha(
1202 &self,
1203 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1204 unsafe {
1205 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1206 self._svd2pac_as_ptr().add(0xa2usize),
1207 )
1208 }
1209 }
1210 #[inline(always)]
1211 pub const fn p209pfs_ha(
1212 &self,
1213 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1214 unsafe {
1215 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1216 self._svd2pac_as_ptr().add(0xa6usize),
1217 )
1218 }
1219 }
1220
1221 #[doc = "Port 20%s Pin Function Select Register"]
1222 #[inline(always)]
1223 pub const fn p20pfs_by(
1224 &self,
1225 ) -> &'static crate::common::ClusterRegisterArray<
1226 crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW>,
1227 5,
1228 0x4,
1229 > {
1230 unsafe {
1231 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x97usize))
1232 }
1233 }
1234 #[inline(always)]
1235 pub const fn p205pfs_by(
1236 &self,
1237 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1238 unsafe {
1239 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1240 self._svd2pac_as_ptr().add(0x97usize),
1241 )
1242 }
1243 }
1244 #[inline(always)]
1245 pub const fn p206pfs_by(
1246 &self,
1247 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1248 unsafe {
1249 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1250 self._svd2pac_as_ptr().add(0x9busize),
1251 )
1252 }
1253 }
1254 #[inline(always)]
1255 pub const fn p207pfs_by(
1256 &self,
1257 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1258 unsafe {
1259 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1260 self._svd2pac_as_ptr().add(0x9fusize),
1261 )
1262 }
1263 }
1264 #[inline(always)]
1265 pub const fn p208pfs_by(
1266 &self,
1267 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1268 unsafe {
1269 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1270 self._svd2pac_as_ptr().add(0xa3usize),
1271 )
1272 }
1273 }
1274 #[inline(always)]
1275 pub const fn p209pfs_by(
1276 &self,
1277 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1278 unsafe {
1279 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1280 self._svd2pac_as_ptr().add(0xa7usize),
1281 )
1282 }
1283 }
1284
1285 #[doc = "Port 2%s Pin Function Select Register"]
1286 #[inline(always)]
1287 pub const fn p2pfs(
1288 &self,
1289 ) -> &'static crate::common::ClusterRegisterArray<
1290 crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW>,
1291 5,
1292 0x4,
1293 > {
1294 unsafe {
1295 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xa8usize))
1296 }
1297 }
1298 #[inline(always)]
1299 pub const fn p210pfs(
1300 &self,
1301 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1302 unsafe {
1303 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1304 self._svd2pac_as_ptr().add(0xa8usize),
1305 )
1306 }
1307 }
1308 #[inline(always)]
1309 pub const fn p211pfs(
1310 &self,
1311 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1312 unsafe {
1313 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1314 self._svd2pac_as_ptr().add(0xacusize),
1315 )
1316 }
1317 }
1318 #[inline(always)]
1319 pub const fn p212pfs(
1320 &self,
1321 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1322 unsafe {
1323 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1324 self._svd2pac_as_ptr().add(0xb0usize),
1325 )
1326 }
1327 }
1328 #[inline(always)]
1329 pub const fn p213pfs(
1330 &self,
1331 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1332 unsafe {
1333 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1334 self._svd2pac_as_ptr().add(0xb4usize),
1335 )
1336 }
1337 }
1338 #[inline(always)]
1339 pub const fn p214pfs(
1340 &self,
1341 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1342 unsafe {
1343 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1344 self._svd2pac_as_ptr().add(0xb8usize),
1345 )
1346 }
1347 }
1348
1349 #[doc = "Port 2%s Pin Function Select Register"]
1350 #[inline(always)]
1351 pub const fn p2pfs_ha(
1352 &self,
1353 ) -> &'static crate::common::ClusterRegisterArray<
1354 crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW>,
1355 5,
1356 0x4,
1357 > {
1358 unsafe {
1359 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xaausize))
1360 }
1361 }
1362 #[inline(always)]
1363 pub const fn p210pfs_ha(
1364 &self,
1365 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1366 unsafe {
1367 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1368 self._svd2pac_as_ptr().add(0xaausize),
1369 )
1370 }
1371 }
1372 #[inline(always)]
1373 pub const fn p211pfs_ha(
1374 &self,
1375 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1376 unsafe {
1377 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1378 self._svd2pac_as_ptr().add(0xaeusize),
1379 )
1380 }
1381 }
1382 #[inline(always)]
1383 pub const fn p212pfs_ha(
1384 &self,
1385 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1386 unsafe {
1387 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1388 self._svd2pac_as_ptr().add(0xb2usize),
1389 )
1390 }
1391 }
1392 #[inline(always)]
1393 pub const fn p213pfs_ha(
1394 &self,
1395 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1396 unsafe {
1397 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1398 self._svd2pac_as_ptr().add(0xb6usize),
1399 )
1400 }
1401 }
1402 #[inline(always)]
1403 pub const fn p214pfs_ha(
1404 &self,
1405 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1406 unsafe {
1407 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1408 self._svd2pac_as_ptr().add(0xbausize),
1409 )
1410 }
1411 }
1412
1413 #[doc = "Port 2%s Pin Function Select Register"]
1414 #[inline(always)]
1415 pub const fn p2pfs_by(
1416 &self,
1417 ) -> &'static crate::common::ClusterRegisterArray<
1418 crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW>,
1419 5,
1420 0x4,
1421 > {
1422 unsafe {
1423 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xabusize))
1424 }
1425 }
1426 #[inline(always)]
1427 pub const fn p210pfs_by(
1428 &self,
1429 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1430 unsafe {
1431 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1432 self._svd2pac_as_ptr().add(0xabusize),
1433 )
1434 }
1435 }
1436 #[inline(always)]
1437 pub const fn p211pfs_by(
1438 &self,
1439 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1440 unsafe {
1441 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1442 self._svd2pac_as_ptr().add(0xafusize),
1443 )
1444 }
1445 }
1446 #[inline(always)]
1447 pub const fn p212pfs_by(
1448 &self,
1449 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1450 unsafe {
1451 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1452 self._svd2pac_as_ptr().add(0xb3usize),
1453 )
1454 }
1455 }
1456 #[inline(always)]
1457 pub const fn p213pfs_by(
1458 &self,
1459 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1460 unsafe {
1461 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1462 self._svd2pac_as_ptr().add(0xb7usize),
1463 )
1464 }
1465 }
1466 #[inline(always)]
1467 pub const fn p214pfs_by(
1468 &self,
1469 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1470 unsafe {
1471 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1472 self._svd2pac_as_ptr().add(0xbbusize),
1473 )
1474 }
1475 }
1476
1477 #[doc = "Port 300 Pin Function Select Register"]
1478 #[inline(always)]
1479 pub const fn p300pfs(
1480 &self,
1481 ) -> &'static crate::common::Reg<self::P300Pfs_SPEC, crate::common::RW> {
1482 unsafe {
1483 crate::common::Reg::<self::P300Pfs_SPEC, crate::common::RW>::from_ptr(
1484 self._svd2pac_as_ptr().add(192usize),
1485 )
1486 }
1487 }
1488
1489 #[doc = "Port 300 Pin Function Select Register"]
1490 #[inline(always)]
1491 pub const fn p300pfs_ha(
1492 &self,
1493 ) -> &'static crate::common::Reg<self::P300PfsHa_SPEC, crate::common::RW> {
1494 unsafe {
1495 crate::common::Reg::<self::P300PfsHa_SPEC, crate::common::RW>::from_ptr(
1496 self._svd2pac_as_ptr().add(194usize),
1497 )
1498 }
1499 }
1500
1501 #[doc = "Port 300 Pin Function Select Register"]
1502 #[inline(always)]
1503 pub const fn p300pfs_by(
1504 &self,
1505 ) -> &'static crate::common::Reg<self::P300PfsBy_SPEC, crate::common::RW> {
1506 unsafe {
1507 crate::common::Reg::<self::P300PfsBy_SPEC, crate::common::RW>::from_ptr(
1508 self._svd2pac_as_ptr().add(195usize),
1509 )
1510 }
1511 }
1512
1513 #[doc = "Port 30%s Pin Function Select Register"]
1514 #[inline(always)]
1515 pub const fn p30pfs(
1516 &self,
1517 ) -> &'static crate::common::ClusterRegisterArray<
1518 crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW>,
1519 7,
1520 0x4,
1521 > {
1522 unsafe {
1523 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc4usize))
1524 }
1525 }
1526 #[inline(always)]
1527 pub const fn p301pfs(
1528 &self,
1529 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1530 unsafe {
1531 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1532 self._svd2pac_as_ptr().add(0xc4usize),
1533 )
1534 }
1535 }
1536 #[inline(always)]
1537 pub const fn p302pfs(
1538 &self,
1539 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1540 unsafe {
1541 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1542 self._svd2pac_as_ptr().add(0xc8usize),
1543 )
1544 }
1545 }
1546 #[inline(always)]
1547 pub const fn p303pfs(
1548 &self,
1549 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1550 unsafe {
1551 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1552 self._svd2pac_as_ptr().add(0xccusize),
1553 )
1554 }
1555 }
1556 #[inline(always)]
1557 pub const fn p304pfs(
1558 &self,
1559 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1560 unsafe {
1561 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1562 self._svd2pac_as_ptr().add(0xd0usize),
1563 )
1564 }
1565 }
1566 #[inline(always)]
1567 pub const fn p305pfs(
1568 &self,
1569 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1570 unsafe {
1571 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1572 self._svd2pac_as_ptr().add(0xd4usize),
1573 )
1574 }
1575 }
1576 #[inline(always)]
1577 pub const fn p306pfs(
1578 &self,
1579 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1580 unsafe {
1581 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1582 self._svd2pac_as_ptr().add(0xd8usize),
1583 )
1584 }
1585 }
1586 #[inline(always)]
1587 pub const fn p307pfs(
1588 &self,
1589 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1590 unsafe {
1591 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1592 self._svd2pac_as_ptr().add(0xdcusize),
1593 )
1594 }
1595 }
1596
1597 #[doc = "Port 30%s Pin Function Select Register"]
1598 #[inline(always)]
1599 pub const fn p30pfs_ha(
1600 &self,
1601 ) -> &'static crate::common::ClusterRegisterArray<
1602 crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW>,
1603 7,
1604 0x4,
1605 > {
1606 unsafe {
1607 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc6usize))
1608 }
1609 }
1610 #[inline(always)]
1611 pub const fn p301pfs_ha(
1612 &self,
1613 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1614 unsafe {
1615 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1616 self._svd2pac_as_ptr().add(0xc6usize),
1617 )
1618 }
1619 }
1620 #[inline(always)]
1621 pub const fn p302pfs_ha(
1622 &self,
1623 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1624 unsafe {
1625 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1626 self._svd2pac_as_ptr().add(0xcausize),
1627 )
1628 }
1629 }
1630 #[inline(always)]
1631 pub const fn p303pfs_ha(
1632 &self,
1633 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1634 unsafe {
1635 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1636 self._svd2pac_as_ptr().add(0xceusize),
1637 )
1638 }
1639 }
1640 #[inline(always)]
1641 pub const fn p304pfs_ha(
1642 &self,
1643 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1644 unsafe {
1645 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1646 self._svd2pac_as_ptr().add(0xd2usize),
1647 )
1648 }
1649 }
1650 #[inline(always)]
1651 pub const fn p305pfs_ha(
1652 &self,
1653 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1654 unsafe {
1655 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1656 self._svd2pac_as_ptr().add(0xd6usize),
1657 )
1658 }
1659 }
1660 #[inline(always)]
1661 pub const fn p306pfs_ha(
1662 &self,
1663 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1664 unsafe {
1665 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1666 self._svd2pac_as_ptr().add(0xdausize),
1667 )
1668 }
1669 }
1670 #[inline(always)]
1671 pub const fn p307pfs_ha(
1672 &self,
1673 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1674 unsafe {
1675 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1676 self._svd2pac_as_ptr().add(0xdeusize),
1677 )
1678 }
1679 }
1680
1681 #[doc = "Port 30%s Pin Function Select Register"]
1682 #[inline(always)]
1683 pub const fn p30pfs_by(
1684 &self,
1685 ) -> &'static crate::common::ClusterRegisterArray<
1686 crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW>,
1687 7,
1688 0x4,
1689 > {
1690 unsafe {
1691 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc7usize))
1692 }
1693 }
1694 #[inline(always)]
1695 pub const fn p301pfs_by(
1696 &self,
1697 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1698 unsafe {
1699 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1700 self._svd2pac_as_ptr().add(0xc7usize),
1701 )
1702 }
1703 }
1704 #[inline(always)]
1705 pub const fn p302pfs_by(
1706 &self,
1707 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1708 unsafe {
1709 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1710 self._svd2pac_as_ptr().add(0xcbusize),
1711 )
1712 }
1713 }
1714 #[inline(always)]
1715 pub const fn p303pfs_by(
1716 &self,
1717 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1718 unsafe {
1719 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1720 self._svd2pac_as_ptr().add(0xcfusize),
1721 )
1722 }
1723 }
1724 #[inline(always)]
1725 pub const fn p304pfs_by(
1726 &self,
1727 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1728 unsafe {
1729 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1730 self._svd2pac_as_ptr().add(0xd3usize),
1731 )
1732 }
1733 }
1734 #[inline(always)]
1735 pub const fn p305pfs_by(
1736 &self,
1737 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1738 unsafe {
1739 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1740 self._svd2pac_as_ptr().add(0xd7usize),
1741 )
1742 }
1743 }
1744 #[inline(always)]
1745 pub const fn p306pfs_by(
1746 &self,
1747 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1748 unsafe {
1749 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1750 self._svd2pac_as_ptr().add(0xdbusize),
1751 )
1752 }
1753 }
1754 #[inline(always)]
1755 pub const fn p307pfs_by(
1756 &self,
1757 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1758 unsafe {
1759 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1760 self._svd2pac_as_ptr().add(0xdfusize),
1761 )
1762 }
1763 }
1764
1765 #[doc = "Port 40%s Pin Function Select Register"]
1766 #[inline(always)]
1767 pub const fn p40pfs(
1768 &self,
1769 ) -> &'static crate::common::ClusterRegisterArray<
1770 crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW>,
1771 10,
1772 0x4,
1773 > {
1774 unsafe {
1775 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x100usize))
1776 }
1777 }
1778 #[inline(always)]
1779 pub const fn p400pfs(
1780 &self,
1781 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1782 unsafe {
1783 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1784 self._svd2pac_as_ptr().add(0x100usize),
1785 )
1786 }
1787 }
1788 #[inline(always)]
1789 pub const fn p401pfs(
1790 &self,
1791 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1792 unsafe {
1793 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1794 self._svd2pac_as_ptr().add(0x104usize),
1795 )
1796 }
1797 }
1798 #[inline(always)]
1799 pub const fn p402pfs(
1800 &self,
1801 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1802 unsafe {
1803 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1804 self._svd2pac_as_ptr().add(0x108usize),
1805 )
1806 }
1807 }
1808 #[inline(always)]
1809 pub const fn p403pfs(
1810 &self,
1811 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1812 unsafe {
1813 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1814 self._svd2pac_as_ptr().add(0x10cusize),
1815 )
1816 }
1817 }
1818 #[inline(always)]
1819 pub const fn p404pfs(
1820 &self,
1821 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1822 unsafe {
1823 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1824 self._svd2pac_as_ptr().add(0x110usize),
1825 )
1826 }
1827 }
1828 #[inline(always)]
1829 pub const fn p405pfs(
1830 &self,
1831 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1832 unsafe {
1833 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1834 self._svd2pac_as_ptr().add(0x114usize),
1835 )
1836 }
1837 }
1838 #[inline(always)]
1839 pub const fn p406pfs(
1840 &self,
1841 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1842 unsafe {
1843 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1844 self._svd2pac_as_ptr().add(0x118usize),
1845 )
1846 }
1847 }
1848 #[inline(always)]
1849 pub const fn p407pfs(
1850 &self,
1851 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1852 unsafe {
1853 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1854 self._svd2pac_as_ptr().add(0x11cusize),
1855 )
1856 }
1857 }
1858 #[inline(always)]
1859 pub const fn p408pfs(
1860 &self,
1861 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1862 unsafe {
1863 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1864 self._svd2pac_as_ptr().add(0x120usize),
1865 )
1866 }
1867 }
1868 #[inline(always)]
1869 pub const fn p409pfs(
1870 &self,
1871 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1872 unsafe {
1873 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1874 self._svd2pac_as_ptr().add(0x124usize),
1875 )
1876 }
1877 }
1878
1879 #[doc = "Port 40%s Pin Function Select Register"]
1880 #[inline(always)]
1881 pub const fn p40pfs_ha(
1882 &self,
1883 ) -> &'static crate::common::ClusterRegisterArray<
1884 crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW>,
1885 10,
1886 0x4,
1887 > {
1888 unsafe {
1889 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x102usize))
1890 }
1891 }
1892 #[inline(always)]
1893 pub const fn p400pfs_ha(
1894 &self,
1895 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
1896 unsafe {
1897 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
1898 self._svd2pac_as_ptr().add(0x102usize),
1899 )
1900 }
1901 }
1902 #[inline(always)]
1903 pub const fn p401pfs_ha(
1904 &self,
1905 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
1906 unsafe {
1907 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
1908 self._svd2pac_as_ptr().add(0x106usize),
1909 )
1910 }
1911 }
1912 #[inline(always)]
1913 pub const fn p402pfs_ha(
1914 &self,
1915 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
1916 unsafe {
1917 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
1918 self._svd2pac_as_ptr().add(0x10ausize),
1919 )
1920 }
1921 }
1922 #[inline(always)]
1923 pub const fn p403pfs_ha(
1924 &self,
1925 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
1926 unsafe {
1927 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
1928 self._svd2pac_as_ptr().add(0x10eusize),
1929 )
1930 }
1931 }
1932 #[inline(always)]
1933 pub const fn p404pfs_ha(
1934 &self,
1935 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
1936 unsafe {
1937 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
1938 self._svd2pac_as_ptr().add(0x112usize),
1939 )
1940 }
1941 }
1942 #[inline(always)]
1943 pub const fn p405pfs_ha(
1944 &self,
1945 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
1946 unsafe {
1947 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
1948 self._svd2pac_as_ptr().add(0x116usize),
1949 )
1950 }
1951 }
1952 #[inline(always)]
1953 pub const fn p406pfs_ha(
1954 &self,
1955 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
1956 unsafe {
1957 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
1958 self._svd2pac_as_ptr().add(0x11ausize),
1959 )
1960 }
1961 }
1962 #[inline(always)]
1963 pub const fn p407pfs_ha(
1964 &self,
1965 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
1966 unsafe {
1967 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
1968 self._svd2pac_as_ptr().add(0x11eusize),
1969 )
1970 }
1971 }
1972 #[inline(always)]
1973 pub const fn p408pfs_ha(
1974 &self,
1975 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
1976 unsafe {
1977 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
1978 self._svd2pac_as_ptr().add(0x122usize),
1979 )
1980 }
1981 }
1982 #[inline(always)]
1983 pub const fn p409pfs_ha(
1984 &self,
1985 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
1986 unsafe {
1987 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
1988 self._svd2pac_as_ptr().add(0x126usize),
1989 )
1990 }
1991 }
1992
1993 #[doc = "Port 40%s Pin Function Select Register"]
1994 #[inline(always)]
1995 pub const fn p40pfs_by(
1996 &self,
1997 ) -> &'static crate::common::ClusterRegisterArray<
1998 crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW>,
1999 10,
2000 0x4,
2001 > {
2002 unsafe {
2003 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x103usize))
2004 }
2005 }
2006 #[inline(always)]
2007 pub const fn p400pfs_by(
2008 &self,
2009 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2010 unsafe {
2011 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2012 self._svd2pac_as_ptr().add(0x103usize),
2013 )
2014 }
2015 }
2016 #[inline(always)]
2017 pub const fn p401pfs_by(
2018 &self,
2019 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2020 unsafe {
2021 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2022 self._svd2pac_as_ptr().add(0x107usize),
2023 )
2024 }
2025 }
2026 #[inline(always)]
2027 pub const fn p402pfs_by(
2028 &self,
2029 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2030 unsafe {
2031 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2032 self._svd2pac_as_ptr().add(0x10busize),
2033 )
2034 }
2035 }
2036 #[inline(always)]
2037 pub const fn p403pfs_by(
2038 &self,
2039 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2040 unsafe {
2041 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2042 self._svd2pac_as_ptr().add(0x10fusize),
2043 )
2044 }
2045 }
2046 #[inline(always)]
2047 pub const fn p404pfs_by(
2048 &self,
2049 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2050 unsafe {
2051 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2052 self._svd2pac_as_ptr().add(0x113usize),
2053 )
2054 }
2055 }
2056 #[inline(always)]
2057 pub const fn p405pfs_by(
2058 &self,
2059 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2060 unsafe {
2061 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2062 self._svd2pac_as_ptr().add(0x117usize),
2063 )
2064 }
2065 }
2066 #[inline(always)]
2067 pub const fn p406pfs_by(
2068 &self,
2069 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2070 unsafe {
2071 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2072 self._svd2pac_as_ptr().add(0x11busize),
2073 )
2074 }
2075 }
2076 #[inline(always)]
2077 pub const fn p407pfs_by(
2078 &self,
2079 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2080 unsafe {
2081 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2082 self._svd2pac_as_ptr().add(0x11fusize),
2083 )
2084 }
2085 }
2086 #[inline(always)]
2087 pub const fn p408pfs_by(
2088 &self,
2089 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2090 unsafe {
2091 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2092 self._svd2pac_as_ptr().add(0x123usize),
2093 )
2094 }
2095 }
2096 #[inline(always)]
2097 pub const fn p409pfs_by(
2098 &self,
2099 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2100 unsafe {
2101 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2102 self._svd2pac_as_ptr().add(0x127usize),
2103 )
2104 }
2105 }
2106
2107 #[doc = "Port 4%s Pin Function Select Register"]
2108 #[inline(always)]
2109 pub const fn p4pfs(
2110 &self,
2111 ) -> &'static crate::common::ClusterRegisterArray<
2112 crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW>,
2113 6,
2114 0x4,
2115 > {
2116 unsafe {
2117 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x128usize))
2118 }
2119 }
2120 #[inline(always)]
2121 pub const fn p410pfs(
2122 &self,
2123 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2124 unsafe {
2125 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2126 self._svd2pac_as_ptr().add(0x128usize),
2127 )
2128 }
2129 }
2130 #[inline(always)]
2131 pub const fn p411pfs(
2132 &self,
2133 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2134 unsafe {
2135 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2136 self._svd2pac_as_ptr().add(0x12cusize),
2137 )
2138 }
2139 }
2140 #[inline(always)]
2141 pub const fn p412pfs(
2142 &self,
2143 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2144 unsafe {
2145 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2146 self._svd2pac_as_ptr().add(0x130usize),
2147 )
2148 }
2149 }
2150 #[inline(always)]
2151 pub const fn p413pfs(
2152 &self,
2153 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2154 unsafe {
2155 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2156 self._svd2pac_as_ptr().add(0x134usize),
2157 )
2158 }
2159 }
2160 #[inline(always)]
2161 pub const fn p414pfs(
2162 &self,
2163 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2164 unsafe {
2165 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2166 self._svd2pac_as_ptr().add(0x138usize),
2167 )
2168 }
2169 }
2170 #[inline(always)]
2171 pub const fn p415pfs(
2172 &self,
2173 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2174 unsafe {
2175 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2176 self._svd2pac_as_ptr().add(0x13cusize),
2177 )
2178 }
2179 }
2180
2181 #[doc = "Port 4%s Pin Function Select Register"]
2182 #[inline(always)]
2183 pub const fn p4pfs_ha(
2184 &self,
2185 ) -> &'static crate::common::ClusterRegisterArray<
2186 crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW>,
2187 6,
2188 0x4,
2189 > {
2190 unsafe {
2191 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x12ausize))
2192 }
2193 }
2194 #[inline(always)]
2195 pub const fn p410pfs_ha(
2196 &self,
2197 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2198 unsafe {
2199 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2200 self._svd2pac_as_ptr().add(0x12ausize),
2201 )
2202 }
2203 }
2204 #[inline(always)]
2205 pub const fn p411pfs_ha(
2206 &self,
2207 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2208 unsafe {
2209 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2210 self._svd2pac_as_ptr().add(0x12eusize),
2211 )
2212 }
2213 }
2214 #[inline(always)]
2215 pub const fn p412pfs_ha(
2216 &self,
2217 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2218 unsafe {
2219 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2220 self._svd2pac_as_ptr().add(0x132usize),
2221 )
2222 }
2223 }
2224 #[inline(always)]
2225 pub const fn p413pfs_ha(
2226 &self,
2227 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2228 unsafe {
2229 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2230 self._svd2pac_as_ptr().add(0x136usize),
2231 )
2232 }
2233 }
2234 #[inline(always)]
2235 pub const fn p414pfs_ha(
2236 &self,
2237 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2238 unsafe {
2239 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2240 self._svd2pac_as_ptr().add(0x13ausize),
2241 )
2242 }
2243 }
2244 #[inline(always)]
2245 pub const fn p415pfs_ha(
2246 &self,
2247 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2248 unsafe {
2249 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2250 self._svd2pac_as_ptr().add(0x13eusize),
2251 )
2252 }
2253 }
2254
2255 #[doc = "Port 4%s Pin Function Select Register"]
2256 #[inline(always)]
2257 pub const fn p4pfs_by(
2258 &self,
2259 ) -> &'static crate::common::ClusterRegisterArray<
2260 crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW>,
2261 6,
2262 0x4,
2263 > {
2264 unsafe {
2265 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x12busize))
2266 }
2267 }
2268 #[inline(always)]
2269 pub const fn p410pfs_by(
2270 &self,
2271 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2272 unsafe {
2273 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2274 self._svd2pac_as_ptr().add(0x12busize),
2275 )
2276 }
2277 }
2278 #[inline(always)]
2279 pub const fn p411pfs_by(
2280 &self,
2281 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2282 unsafe {
2283 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2284 self._svd2pac_as_ptr().add(0x12fusize),
2285 )
2286 }
2287 }
2288 #[inline(always)]
2289 pub const fn p412pfs_by(
2290 &self,
2291 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2292 unsafe {
2293 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2294 self._svd2pac_as_ptr().add(0x133usize),
2295 )
2296 }
2297 }
2298 #[inline(always)]
2299 pub const fn p413pfs_by(
2300 &self,
2301 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2302 unsafe {
2303 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2304 self._svd2pac_as_ptr().add(0x137usize),
2305 )
2306 }
2307 }
2308 #[inline(always)]
2309 pub const fn p414pfs_by(
2310 &self,
2311 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2312 unsafe {
2313 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2314 self._svd2pac_as_ptr().add(0x13busize),
2315 )
2316 }
2317 }
2318 #[inline(always)]
2319 pub const fn p415pfs_by(
2320 &self,
2321 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2322 unsafe {
2323 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2324 self._svd2pac_as_ptr().add(0x13fusize),
2325 )
2326 }
2327 }
2328
2329 #[doc = "Port 50%s Pin Function Select Register"]
2330 #[inline(always)]
2331 pub const fn p50pfs(
2332 &self,
2333 ) -> &'static crate::common::ClusterRegisterArray<
2334 crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW>,
2335 6,
2336 0x4,
2337 > {
2338 unsafe {
2339 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x140usize))
2340 }
2341 }
2342 #[inline(always)]
2343 pub const fn p500pfs(
2344 &self,
2345 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2346 unsafe {
2347 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2348 self._svd2pac_as_ptr().add(0x140usize),
2349 )
2350 }
2351 }
2352 #[inline(always)]
2353 pub const fn p501pfs(
2354 &self,
2355 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2356 unsafe {
2357 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2358 self._svd2pac_as_ptr().add(0x144usize),
2359 )
2360 }
2361 }
2362 #[inline(always)]
2363 pub const fn p502pfs(
2364 &self,
2365 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2366 unsafe {
2367 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2368 self._svd2pac_as_ptr().add(0x148usize),
2369 )
2370 }
2371 }
2372 #[inline(always)]
2373 pub const fn p503pfs(
2374 &self,
2375 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2376 unsafe {
2377 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2378 self._svd2pac_as_ptr().add(0x14cusize),
2379 )
2380 }
2381 }
2382 #[inline(always)]
2383 pub const fn p504pfs(
2384 &self,
2385 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2386 unsafe {
2387 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2388 self._svd2pac_as_ptr().add(0x150usize),
2389 )
2390 }
2391 }
2392 #[inline(always)]
2393 pub const fn p505pfs(
2394 &self,
2395 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2396 unsafe {
2397 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2398 self._svd2pac_as_ptr().add(0x154usize),
2399 )
2400 }
2401 }
2402
2403 #[doc = "Port 50%s Pin Function Select Register"]
2404 #[inline(always)]
2405 pub const fn p50pfs_ha(
2406 &self,
2407 ) -> &'static crate::common::ClusterRegisterArray<
2408 crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW>,
2409 6,
2410 0x4,
2411 > {
2412 unsafe {
2413 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x142usize))
2414 }
2415 }
2416 #[inline(always)]
2417 pub const fn p500pfs_ha(
2418 &self,
2419 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2420 unsafe {
2421 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2422 self._svd2pac_as_ptr().add(0x142usize),
2423 )
2424 }
2425 }
2426 #[inline(always)]
2427 pub const fn p501pfs_ha(
2428 &self,
2429 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2430 unsafe {
2431 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2432 self._svd2pac_as_ptr().add(0x146usize),
2433 )
2434 }
2435 }
2436 #[inline(always)]
2437 pub const fn p502pfs_ha(
2438 &self,
2439 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2440 unsafe {
2441 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2442 self._svd2pac_as_ptr().add(0x14ausize),
2443 )
2444 }
2445 }
2446 #[inline(always)]
2447 pub const fn p503pfs_ha(
2448 &self,
2449 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2450 unsafe {
2451 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2452 self._svd2pac_as_ptr().add(0x14eusize),
2453 )
2454 }
2455 }
2456 #[inline(always)]
2457 pub const fn p504pfs_ha(
2458 &self,
2459 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2460 unsafe {
2461 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2462 self._svd2pac_as_ptr().add(0x152usize),
2463 )
2464 }
2465 }
2466 #[inline(always)]
2467 pub const fn p505pfs_ha(
2468 &self,
2469 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2470 unsafe {
2471 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2472 self._svd2pac_as_ptr().add(0x156usize),
2473 )
2474 }
2475 }
2476
2477 #[doc = "Port 50%s Pin Function Select Register"]
2478 #[inline(always)]
2479 pub const fn p50pfs_by(
2480 &self,
2481 ) -> &'static crate::common::ClusterRegisterArray<
2482 crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW>,
2483 6,
2484 0x4,
2485 > {
2486 unsafe {
2487 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x143usize))
2488 }
2489 }
2490 #[inline(always)]
2491 pub const fn p500pfs_by(
2492 &self,
2493 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2494 unsafe {
2495 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2496 self._svd2pac_as_ptr().add(0x143usize),
2497 )
2498 }
2499 }
2500 #[inline(always)]
2501 pub const fn p501pfs_by(
2502 &self,
2503 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2504 unsafe {
2505 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2506 self._svd2pac_as_ptr().add(0x147usize),
2507 )
2508 }
2509 }
2510 #[inline(always)]
2511 pub const fn p502pfs_by(
2512 &self,
2513 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2514 unsafe {
2515 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2516 self._svd2pac_as_ptr().add(0x14busize),
2517 )
2518 }
2519 }
2520 #[inline(always)]
2521 pub const fn p503pfs_by(
2522 &self,
2523 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2524 unsafe {
2525 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2526 self._svd2pac_as_ptr().add(0x14fusize),
2527 )
2528 }
2529 }
2530 #[inline(always)]
2531 pub const fn p504pfs_by(
2532 &self,
2533 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2534 unsafe {
2535 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2536 self._svd2pac_as_ptr().add(0x153usize),
2537 )
2538 }
2539 }
2540 #[inline(always)]
2541 pub const fn p505pfs_by(
2542 &self,
2543 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2544 unsafe {
2545 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2546 self._svd2pac_as_ptr().add(0x157usize),
2547 )
2548 }
2549 }
2550
2551 #[doc = "Port 60%s Pin Function Select Register"]
2552 #[inline(always)]
2553 pub const fn p60pfs(
2554 &self,
2555 ) -> &'static crate::common::ClusterRegisterArray<
2556 crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW>,
2557 2,
2558 0x4,
2559 > {
2560 unsafe {
2561 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a0usize))
2562 }
2563 }
2564 #[inline(always)]
2565 pub const fn p608pfs(
2566 &self,
2567 ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
2568 unsafe {
2569 crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
2570 self._svd2pac_as_ptr().add(0x1a0usize),
2571 )
2572 }
2573 }
2574 #[inline(always)]
2575 pub const fn p609pfs(
2576 &self,
2577 ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
2578 unsafe {
2579 crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
2580 self._svd2pac_as_ptr().add(0x1a4usize),
2581 )
2582 }
2583 }
2584
2585 #[doc = "Port 60%s Pin Function Select Register"]
2586 #[inline(always)]
2587 pub const fn p60pfs_ha(
2588 &self,
2589 ) -> &'static crate::common::ClusterRegisterArray<
2590 crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW>,
2591 2,
2592 0x4,
2593 > {
2594 unsafe {
2595 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a2usize))
2596 }
2597 }
2598 #[inline(always)]
2599 pub const fn p608pfs_ha(
2600 &self,
2601 ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
2602 unsafe {
2603 crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
2604 self._svd2pac_as_ptr().add(0x1a2usize),
2605 )
2606 }
2607 }
2608 #[inline(always)]
2609 pub const fn p609pfs_ha(
2610 &self,
2611 ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
2612 unsafe {
2613 crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
2614 self._svd2pac_as_ptr().add(0x1a6usize),
2615 )
2616 }
2617 }
2618
2619 #[doc = "Port 60%s Pin Function Select Register"]
2620 #[inline(always)]
2621 pub const fn p60pfs_by(
2622 &self,
2623 ) -> &'static crate::common::ClusterRegisterArray<
2624 crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW>,
2625 2,
2626 0x4,
2627 > {
2628 unsafe {
2629 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a3usize))
2630 }
2631 }
2632 #[inline(always)]
2633 pub const fn p608pfs_by(
2634 &self,
2635 ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
2636 unsafe {
2637 crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
2638 self._svd2pac_as_ptr().add(0x1a3usize),
2639 )
2640 }
2641 }
2642 #[inline(always)]
2643 pub const fn p609pfs_by(
2644 &self,
2645 ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
2646 unsafe {
2647 crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
2648 self._svd2pac_as_ptr().add(0x1a7usize),
2649 )
2650 }
2651 }
2652
2653 #[doc = "Port 610 Pin Function Select Register"]
2654 #[inline(always)]
2655 pub const fn p610pfs(
2656 &self,
2657 ) -> &'static crate::common::Reg<self::P610Pfs_SPEC, crate::common::RW> {
2658 unsafe {
2659 crate::common::Reg::<self::P610Pfs_SPEC, crate::common::RW>::from_ptr(
2660 self._svd2pac_as_ptr().add(424usize),
2661 )
2662 }
2663 }
2664
2665 #[doc = "Port 610 Pin Function Select Register"]
2666 #[inline(always)]
2667 pub const fn p610pfs_ha(
2668 &self,
2669 ) -> &'static crate::common::Reg<self::P610PfsHa_SPEC, crate::common::RW> {
2670 unsafe {
2671 crate::common::Reg::<self::P610PfsHa_SPEC, crate::common::RW>::from_ptr(
2672 self._svd2pac_as_ptr().add(426usize),
2673 )
2674 }
2675 }
2676
2677 #[doc = "Port 610 Pin Function Select Register"]
2678 #[inline(always)]
2679 pub const fn p610pfs_by(
2680 &self,
2681 ) -> &'static crate::common::Reg<self::P610PfsBy_SPEC, crate::common::RW> {
2682 unsafe {
2683 crate::common::Reg::<self::P610PfsBy_SPEC, crate::common::RW>::from_ptr(
2684 self._svd2pac_as_ptr().add(427usize),
2685 )
2686 }
2687 }
2688
2689 #[doc = "Port 708 Pin Function Select Register"]
2690 #[inline(always)]
2691 pub const fn p708pfs(
2692 &self,
2693 ) -> &'static crate::common::Reg<self::P708Pfs_SPEC, crate::common::RW> {
2694 unsafe {
2695 crate::common::Reg::<self::P708Pfs_SPEC, crate::common::RW>::from_ptr(
2696 self._svd2pac_as_ptr().add(480usize),
2697 )
2698 }
2699 }
2700
2701 #[doc = "Port 708 Pin Function Select Register"]
2702 #[inline(always)]
2703 pub const fn p708pfs_ha(
2704 &self,
2705 ) -> &'static crate::common::Reg<self::P708PfsHa_SPEC, crate::common::RW> {
2706 unsafe {
2707 crate::common::Reg::<self::P708PfsHa_SPEC, crate::common::RW>::from_ptr(
2708 self._svd2pac_as_ptr().add(482usize),
2709 )
2710 }
2711 }
2712
2713 #[doc = "Port 708 Pin Function Select Register"]
2714 #[inline(always)]
2715 pub const fn p708pfs_by(
2716 &self,
2717 ) -> &'static crate::common::Reg<self::P708PfsBy_SPEC, crate::common::RW> {
2718 unsafe {
2719 crate::common::Reg::<self::P708PfsBy_SPEC, crate::common::RW>::from_ptr(
2720 self._svd2pac_as_ptr().add(483usize),
2721 )
2722 }
2723 }
2724
2725 #[doc = "Ethernet Control Register"]
2726 #[inline(always)]
2727 pub const fn pfenet(
2728 &self,
2729 ) -> &'static crate::common::Reg<self::Pfenet_SPEC, crate::common::RW> {
2730 unsafe {
2731 crate::common::Reg::<self::Pfenet_SPEC, crate::common::RW>::from_ptr(
2732 self._svd2pac_as_ptr().add(1280usize),
2733 )
2734 }
2735 }
2736
2737 #[doc = "Write-Protect Register"]
2738 #[inline(always)]
2739 pub const fn pwpr(&self) -> &'static crate::common::Reg<self::Pwpr_SPEC, crate::common::RW> {
2740 unsafe {
2741 crate::common::Reg::<self::Pwpr_SPEC, crate::common::RW>::from_ptr(
2742 self._svd2pac_as_ptr().add(1283usize),
2743 )
2744 }
2745 }
2746
2747 #[doc = "Write-Protect Register for Secure"]
2748 #[inline(always)]
2749 pub const fn pwprs(&self) -> &'static crate::common::Reg<self::Pwprs_SPEC, crate::common::RW> {
2750 unsafe {
2751 crate::common::Reg::<self::Pwprs_SPEC, crate::common::RW>::from_ptr(
2752 self._svd2pac_as_ptr().add(1285usize),
2753 )
2754 }
2755 }
2756
2757 #[doc = "Port Security Attribution register"]
2758 #[inline(always)]
2759 pub const fn psar(
2760 &self,
2761 ) -> &'static crate::common::ClusterRegisterArray<
2762 crate::common::Reg<self::Psar_SPEC, crate::common::RW>,
2763 8,
2764 0x2,
2765 > {
2766 unsafe {
2767 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x510usize))
2768 }
2769 }
2770 #[inline(always)]
2771 pub const fn p0sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2772 unsafe {
2773 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2774 self._svd2pac_as_ptr().add(0x510usize),
2775 )
2776 }
2777 }
2778 #[inline(always)]
2779 pub const fn p1sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2780 unsafe {
2781 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2782 self._svd2pac_as_ptr().add(0x512usize),
2783 )
2784 }
2785 }
2786 #[inline(always)]
2787 pub const fn p2sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2788 unsafe {
2789 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2790 self._svd2pac_as_ptr().add(0x514usize),
2791 )
2792 }
2793 }
2794 #[inline(always)]
2795 pub const fn p3sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2796 unsafe {
2797 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2798 self._svd2pac_as_ptr().add(0x516usize),
2799 )
2800 }
2801 }
2802 #[inline(always)]
2803 pub const fn p4sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2804 unsafe {
2805 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2806 self._svd2pac_as_ptr().add(0x518usize),
2807 )
2808 }
2809 }
2810 #[inline(always)]
2811 pub const fn p5sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2812 unsafe {
2813 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2814 self._svd2pac_as_ptr().add(0x51ausize),
2815 )
2816 }
2817 }
2818 #[inline(always)]
2819 pub const fn p6sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2820 unsafe {
2821 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2822 self._svd2pac_as_ptr().add(0x51cusize),
2823 )
2824 }
2825 }
2826 #[inline(always)]
2827 pub const fn p7sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2828 unsafe {
2829 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2830 self._svd2pac_as_ptr().add(0x51eusize),
2831 )
2832 }
2833 }
2834}
2835#[doc(hidden)]
2836#[derive(Copy, Clone, Eq, PartialEq)]
2837pub struct P00Pfs_SPEC;
2838impl crate::sealed::RegSpec for P00Pfs_SPEC {
2839 type DataType = u32;
2840}
2841
2842#[doc = "Port 00%s Pin Function Select Register"]
2843pub type P00Pfs = crate::RegValueT<P00Pfs_SPEC>;
2844
2845impl P00Pfs {
2846 #[doc = "Port Output Data"]
2847 #[inline(always)]
2848 pub fn podr(
2849 self,
2850 ) -> crate::common::RegisterField<
2851 0,
2852 0x1,
2853 1,
2854 0,
2855 p00pfs::Podr,
2856 p00pfs::Podr,
2857 P00Pfs_SPEC,
2858 crate::common::RW,
2859 > {
2860 crate::common::RegisterField::<
2861 0,
2862 0x1,
2863 1,
2864 0,
2865 p00pfs::Podr,
2866 p00pfs::Podr,
2867 P00Pfs_SPEC,
2868 crate::common::RW,
2869 >::from_register(self, 0)
2870 }
2871
2872 #[doc = "Port State"]
2873 #[inline(always)]
2874 pub fn pidr(
2875 self,
2876 ) -> crate::common::RegisterField<
2877 1,
2878 0x1,
2879 1,
2880 0,
2881 p00pfs::Pidr,
2882 p00pfs::Pidr,
2883 P00Pfs_SPEC,
2884 crate::common::R,
2885 > {
2886 crate::common::RegisterField::<
2887 1,
2888 0x1,
2889 1,
2890 0,
2891 p00pfs::Pidr,
2892 p00pfs::Pidr,
2893 P00Pfs_SPEC,
2894 crate::common::R,
2895 >::from_register(self, 0)
2896 }
2897
2898 #[doc = "Port Direction"]
2899 #[inline(always)]
2900 pub fn pdr(
2901 self,
2902 ) -> crate::common::RegisterField<
2903 2,
2904 0x1,
2905 1,
2906 0,
2907 p00pfs::Pdr,
2908 p00pfs::Pdr,
2909 P00Pfs_SPEC,
2910 crate::common::RW,
2911 > {
2912 crate::common::RegisterField::<
2913 2,
2914 0x1,
2915 1,
2916 0,
2917 p00pfs::Pdr,
2918 p00pfs::Pdr,
2919 P00Pfs_SPEC,
2920 crate::common::RW,
2921 >::from_register(self, 0)
2922 }
2923
2924 #[doc = "Pull-up Control"]
2925 #[inline(always)]
2926 pub fn pcr(
2927 self,
2928 ) -> crate::common::RegisterField<
2929 4,
2930 0x1,
2931 1,
2932 0,
2933 p00pfs::Pcr,
2934 p00pfs::Pcr,
2935 P00Pfs_SPEC,
2936 crate::common::RW,
2937 > {
2938 crate::common::RegisterField::<
2939 4,
2940 0x1,
2941 1,
2942 0,
2943 p00pfs::Pcr,
2944 p00pfs::Pcr,
2945 P00Pfs_SPEC,
2946 crate::common::RW,
2947 >::from_register(self, 0)
2948 }
2949
2950 #[doc = "N-Channel Open-Drain Control"]
2951 #[inline(always)]
2952 pub fn ncodr(
2953 self,
2954 ) -> crate::common::RegisterField<
2955 6,
2956 0x1,
2957 1,
2958 0,
2959 p00pfs::Ncodr,
2960 p00pfs::Ncodr,
2961 P00Pfs_SPEC,
2962 crate::common::RW,
2963 > {
2964 crate::common::RegisterField::<
2965 6,
2966 0x1,
2967 1,
2968 0,
2969 p00pfs::Ncodr,
2970 p00pfs::Ncodr,
2971 P00Pfs_SPEC,
2972 crate::common::RW,
2973 >::from_register(self, 0)
2974 }
2975
2976 #[doc = "IRQ Input Enable"]
2977 #[inline(always)]
2978 pub fn isel(
2979 self,
2980 ) -> crate::common::RegisterField<
2981 14,
2982 0x1,
2983 1,
2984 0,
2985 p00pfs::Isel,
2986 p00pfs::Isel,
2987 P00Pfs_SPEC,
2988 crate::common::RW,
2989 > {
2990 crate::common::RegisterField::<
2991 14,
2992 0x1,
2993 1,
2994 0,
2995 p00pfs::Isel,
2996 p00pfs::Isel,
2997 P00Pfs_SPEC,
2998 crate::common::RW,
2999 >::from_register(self, 0)
3000 }
3001
3002 #[doc = "Analog Input Enable"]
3003 #[inline(always)]
3004 pub fn asel(
3005 self,
3006 ) -> crate::common::RegisterField<
3007 15,
3008 0x1,
3009 1,
3010 0,
3011 p00pfs::Asel,
3012 p00pfs::Asel,
3013 P00Pfs_SPEC,
3014 crate::common::RW,
3015 > {
3016 crate::common::RegisterField::<
3017 15,
3018 0x1,
3019 1,
3020 0,
3021 p00pfs::Asel,
3022 p00pfs::Asel,
3023 P00Pfs_SPEC,
3024 crate::common::RW,
3025 >::from_register(self, 0)
3026 }
3027
3028 #[doc = "Port Mode Control"]
3029 #[inline(always)]
3030 pub fn pmr(
3031 self,
3032 ) -> crate::common::RegisterField<
3033 16,
3034 0x1,
3035 1,
3036 0,
3037 p00pfs::Pmr,
3038 p00pfs::Pmr,
3039 P00Pfs_SPEC,
3040 crate::common::RW,
3041 > {
3042 crate::common::RegisterField::<
3043 16,
3044 0x1,
3045 1,
3046 0,
3047 p00pfs::Pmr,
3048 p00pfs::Pmr,
3049 P00Pfs_SPEC,
3050 crate::common::RW,
3051 >::from_register(self, 0)
3052 }
3053
3054 #[doc = "Peripheral Select"]
3055 #[inline(always)]
3056 pub fn psel(
3057 self,
3058 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P00Pfs_SPEC, crate::common::RW> {
3059 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P00Pfs_SPEC,crate::common::RW>::from_register(self,0)
3060 }
3061}
3062impl ::core::default::Default for P00Pfs {
3063 #[inline(always)]
3064 fn default() -> P00Pfs {
3065 <crate::RegValueT<P00Pfs_SPEC> as RegisterValue<_>>::new(0)
3066 }
3067}
3068pub mod p00pfs {
3069
3070 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3071 pub struct Podr_SPEC;
3072 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3073 impl Podr {
3074 #[doc = "Output low"]
3075 pub const _0: Self = Self::new(0);
3076
3077 #[doc = "Output high"]
3078 pub const _1: Self = Self::new(1);
3079 }
3080 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3081 pub struct Pidr_SPEC;
3082 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3083 impl Pidr {
3084 #[doc = "Low level"]
3085 pub const _0: Self = Self::new(0);
3086
3087 #[doc = "High level"]
3088 pub const _1: Self = Self::new(1);
3089 }
3090 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3091 pub struct Pdr_SPEC;
3092 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3093 impl Pdr {
3094 #[doc = "Input (functions as an input pin)"]
3095 pub const _0: Self = Self::new(0);
3096
3097 #[doc = "Output (functions as an output pin)"]
3098 pub const _1: Self = Self::new(1);
3099 }
3100 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3101 pub struct Pcr_SPEC;
3102 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3103 impl Pcr {
3104 #[doc = "Disable input pull-up"]
3105 pub const _0: Self = Self::new(0);
3106
3107 #[doc = "Enable input pull-up"]
3108 pub const _1: Self = Self::new(1);
3109 }
3110 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3111 pub struct Ncodr_SPEC;
3112 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3113 impl Ncodr {
3114 #[doc = "Output CMOS"]
3115 pub const _0: Self = Self::new(0);
3116
3117 #[doc = "Output NMOS open-drain"]
3118 pub const _1: Self = Self::new(1);
3119 }
3120 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3121 pub struct Isel_SPEC;
3122 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3123 impl Isel {
3124 #[doc = "Do not use as IRQn input pin"]
3125 pub const _0: Self = Self::new(0);
3126
3127 #[doc = "Use as IRQn input pin"]
3128 pub const _1: Self = Self::new(1);
3129 }
3130 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3131 pub struct Asel_SPEC;
3132 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
3133 impl Asel {
3134 #[doc = "Do not use as analog pin"]
3135 pub const _0: Self = Self::new(0);
3136
3137 #[doc = "Use as analog pin"]
3138 pub const _1: Self = Self::new(1);
3139 }
3140 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3141 pub struct Pmr_SPEC;
3142 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
3143 impl Pmr {
3144 #[doc = "Use as general I/O pin"]
3145 pub const _0: Self = Self::new(0);
3146
3147 #[doc = "Use as I/O port for peripheral functions"]
3148 pub const _1: Self = Self::new(1);
3149 }
3150}
3151#[doc(hidden)]
3152#[derive(Copy, Clone, Eq, PartialEq)]
3153pub struct P00PfsHa_SPEC;
3154impl crate::sealed::RegSpec for P00PfsHa_SPEC {
3155 type DataType = u16;
3156}
3157
3158#[doc = "Port 00%s Pin Function Select Register"]
3159pub type P00PfsHa = crate::RegValueT<P00PfsHa_SPEC>;
3160
3161impl P00PfsHa {
3162 #[doc = "Port Output Data"]
3163 #[inline(always)]
3164 pub fn podr(
3165 self,
3166 ) -> crate::common::RegisterField<
3167 0,
3168 0x1,
3169 1,
3170 0,
3171 p00pfs_ha::Podr,
3172 p00pfs_ha::Podr,
3173 P00PfsHa_SPEC,
3174 crate::common::RW,
3175 > {
3176 crate::common::RegisterField::<
3177 0,
3178 0x1,
3179 1,
3180 0,
3181 p00pfs_ha::Podr,
3182 p00pfs_ha::Podr,
3183 P00PfsHa_SPEC,
3184 crate::common::RW,
3185 >::from_register(self, 0)
3186 }
3187
3188 #[doc = "Port State"]
3189 #[inline(always)]
3190 pub fn pidr(
3191 self,
3192 ) -> crate::common::RegisterField<
3193 1,
3194 0x1,
3195 1,
3196 0,
3197 p00pfs_ha::Pidr,
3198 p00pfs_ha::Pidr,
3199 P00PfsHa_SPEC,
3200 crate::common::R,
3201 > {
3202 crate::common::RegisterField::<
3203 1,
3204 0x1,
3205 1,
3206 0,
3207 p00pfs_ha::Pidr,
3208 p00pfs_ha::Pidr,
3209 P00PfsHa_SPEC,
3210 crate::common::R,
3211 >::from_register(self, 0)
3212 }
3213
3214 #[doc = "Port Direction"]
3215 #[inline(always)]
3216 pub fn pdr(
3217 self,
3218 ) -> crate::common::RegisterField<
3219 2,
3220 0x1,
3221 1,
3222 0,
3223 p00pfs_ha::Pdr,
3224 p00pfs_ha::Pdr,
3225 P00PfsHa_SPEC,
3226 crate::common::RW,
3227 > {
3228 crate::common::RegisterField::<
3229 2,
3230 0x1,
3231 1,
3232 0,
3233 p00pfs_ha::Pdr,
3234 p00pfs_ha::Pdr,
3235 P00PfsHa_SPEC,
3236 crate::common::RW,
3237 >::from_register(self, 0)
3238 }
3239
3240 #[doc = "Pull-up Control"]
3241 #[inline(always)]
3242 pub fn pcr(
3243 self,
3244 ) -> crate::common::RegisterField<
3245 4,
3246 0x1,
3247 1,
3248 0,
3249 p00pfs_ha::Pcr,
3250 p00pfs_ha::Pcr,
3251 P00PfsHa_SPEC,
3252 crate::common::RW,
3253 > {
3254 crate::common::RegisterField::<
3255 4,
3256 0x1,
3257 1,
3258 0,
3259 p00pfs_ha::Pcr,
3260 p00pfs_ha::Pcr,
3261 P00PfsHa_SPEC,
3262 crate::common::RW,
3263 >::from_register(self, 0)
3264 }
3265
3266 #[doc = "N-Channel Open-Drain Control"]
3267 #[inline(always)]
3268 pub fn ncodr(
3269 self,
3270 ) -> crate::common::RegisterField<
3271 6,
3272 0x1,
3273 1,
3274 0,
3275 p00pfs_ha::Ncodr,
3276 p00pfs_ha::Ncodr,
3277 P00PfsHa_SPEC,
3278 crate::common::RW,
3279 > {
3280 crate::common::RegisterField::<
3281 6,
3282 0x1,
3283 1,
3284 0,
3285 p00pfs_ha::Ncodr,
3286 p00pfs_ha::Ncodr,
3287 P00PfsHa_SPEC,
3288 crate::common::RW,
3289 >::from_register(self, 0)
3290 }
3291
3292 #[doc = "IRQ Input Enable"]
3293 #[inline(always)]
3294 pub fn isel(
3295 self,
3296 ) -> crate::common::RegisterField<
3297 14,
3298 0x1,
3299 1,
3300 0,
3301 p00pfs_ha::Isel,
3302 p00pfs_ha::Isel,
3303 P00PfsHa_SPEC,
3304 crate::common::RW,
3305 > {
3306 crate::common::RegisterField::<
3307 14,
3308 0x1,
3309 1,
3310 0,
3311 p00pfs_ha::Isel,
3312 p00pfs_ha::Isel,
3313 P00PfsHa_SPEC,
3314 crate::common::RW,
3315 >::from_register(self, 0)
3316 }
3317
3318 #[doc = "Analog Input Enable"]
3319 #[inline(always)]
3320 pub fn asel(
3321 self,
3322 ) -> crate::common::RegisterField<
3323 15,
3324 0x1,
3325 1,
3326 0,
3327 p00pfs_ha::Asel,
3328 p00pfs_ha::Asel,
3329 P00PfsHa_SPEC,
3330 crate::common::RW,
3331 > {
3332 crate::common::RegisterField::<
3333 15,
3334 0x1,
3335 1,
3336 0,
3337 p00pfs_ha::Asel,
3338 p00pfs_ha::Asel,
3339 P00PfsHa_SPEC,
3340 crate::common::RW,
3341 >::from_register(self, 0)
3342 }
3343}
3344impl ::core::default::Default for P00PfsHa {
3345 #[inline(always)]
3346 fn default() -> P00PfsHa {
3347 <crate::RegValueT<P00PfsHa_SPEC> as RegisterValue<_>>::new(0)
3348 }
3349}
3350pub mod p00pfs_ha {
3351
3352 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3353 pub struct Podr_SPEC;
3354 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3355 impl Podr {
3356 #[doc = "Output low"]
3357 pub const _0: Self = Self::new(0);
3358
3359 #[doc = "Output high"]
3360 pub const _1: Self = Self::new(1);
3361 }
3362 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3363 pub struct Pidr_SPEC;
3364 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3365 impl Pidr {
3366 #[doc = "Low level"]
3367 pub const _0: Self = Self::new(0);
3368
3369 #[doc = "High level"]
3370 pub const _1: Self = Self::new(1);
3371 }
3372 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3373 pub struct Pdr_SPEC;
3374 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3375 impl Pdr {
3376 #[doc = "Input (functions as an input pin)"]
3377 pub const _0: Self = Self::new(0);
3378
3379 #[doc = "Output (functions as an output pin)"]
3380 pub const _1: Self = Self::new(1);
3381 }
3382 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3383 pub struct Pcr_SPEC;
3384 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3385 impl Pcr {
3386 #[doc = "Disable input pull-up"]
3387 pub const _0: Self = Self::new(0);
3388
3389 #[doc = "Enable input pull-up"]
3390 pub const _1: Self = Self::new(1);
3391 }
3392 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3393 pub struct Ncodr_SPEC;
3394 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3395 impl Ncodr {
3396 #[doc = "Output CMOS"]
3397 pub const _0: Self = Self::new(0);
3398
3399 #[doc = "Output NMOS open-drain"]
3400 pub const _1: Self = Self::new(1);
3401 }
3402 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3403 pub struct Isel_SPEC;
3404 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3405 impl Isel {
3406 #[doc = "Do not use as IRQn input pin"]
3407 pub const _0: Self = Self::new(0);
3408
3409 #[doc = "Use as IRQn input pin"]
3410 pub const _1: Self = Self::new(1);
3411 }
3412 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3413 pub struct Asel_SPEC;
3414 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
3415 impl Asel {
3416 #[doc = "Do not use as analog pin"]
3417 pub const _0: Self = Self::new(0);
3418
3419 #[doc = "Use as analog pin"]
3420 pub const _1: Self = Self::new(1);
3421 }
3422}
3423#[doc(hidden)]
3424#[derive(Copy, Clone, Eq, PartialEq)]
3425pub struct P00PfsBy_SPEC;
3426impl crate::sealed::RegSpec for P00PfsBy_SPEC {
3427 type DataType = u8;
3428}
3429
3430#[doc = "Port 00%s Pin Function Select Register"]
3431pub type P00PfsBy = crate::RegValueT<P00PfsBy_SPEC>;
3432
3433impl P00PfsBy {
3434 #[doc = "Port Output Data"]
3435 #[inline(always)]
3436 pub fn podr(
3437 self,
3438 ) -> crate::common::RegisterField<
3439 0,
3440 0x1,
3441 1,
3442 0,
3443 p00pfs_by::Podr,
3444 p00pfs_by::Podr,
3445 P00PfsBy_SPEC,
3446 crate::common::RW,
3447 > {
3448 crate::common::RegisterField::<
3449 0,
3450 0x1,
3451 1,
3452 0,
3453 p00pfs_by::Podr,
3454 p00pfs_by::Podr,
3455 P00PfsBy_SPEC,
3456 crate::common::RW,
3457 >::from_register(self, 0)
3458 }
3459
3460 #[doc = "Port State"]
3461 #[inline(always)]
3462 pub fn pidr(
3463 self,
3464 ) -> crate::common::RegisterField<
3465 1,
3466 0x1,
3467 1,
3468 0,
3469 p00pfs_by::Pidr,
3470 p00pfs_by::Pidr,
3471 P00PfsBy_SPEC,
3472 crate::common::R,
3473 > {
3474 crate::common::RegisterField::<
3475 1,
3476 0x1,
3477 1,
3478 0,
3479 p00pfs_by::Pidr,
3480 p00pfs_by::Pidr,
3481 P00PfsBy_SPEC,
3482 crate::common::R,
3483 >::from_register(self, 0)
3484 }
3485
3486 #[doc = "Port Direction"]
3487 #[inline(always)]
3488 pub fn pdr(
3489 self,
3490 ) -> crate::common::RegisterField<
3491 2,
3492 0x1,
3493 1,
3494 0,
3495 p00pfs_by::Pdr,
3496 p00pfs_by::Pdr,
3497 P00PfsBy_SPEC,
3498 crate::common::RW,
3499 > {
3500 crate::common::RegisterField::<
3501 2,
3502 0x1,
3503 1,
3504 0,
3505 p00pfs_by::Pdr,
3506 p00pfs_by::Pdr,
3507 P00PfsBy_SPEC,
3508 crate::common::RW,
3509 >::from_register(self, 0)
3510 }
3511
3512 #[doc = "Pull-up Control"]
3513 #[inline(always)]
3514 pub fn pcr(
3515 self,
3516 ) -> crate::common::RegisterField<
3517 4,
3518 0x1,
3519 1,
3520 0,
3521 p00pfs_by::Pcr,
3522 p00pfs_by::Pcr,
3523 P00PfsBy_SPEC,
3524 crate::common::RW,
3525 > {
3526 crate::common::RegisterField::<
3527 4,
3528 0x1,
3529 1,
3530 0,
3531 p00pfs_by::Pcr,
3532 p00pfs_by::Pcr,
3533 P00PfsBy_SPEC,
3534 crate::common::RW,
3535 >::from_register(self, 0)
3536 }
3537
3538 #[doc = "N-Channel Open-Drain Control"]
3539 #[inline(always)]
3540 pub fn ncodr(
3541 self,
3542 ) -> crate::common::RegisterField<
3543 6,
3544 0x1,
3545 1,
3546 0,
3547 p00pfs_by::Ncodr,
3548 p00pfs_by::Ncodr,
3549 P00PfsBy_SPEC,
3550 crate::common::RW,
3551 > {
3552 crate::common::RegisterField::<
3553 6,
3554 0x1,
3555 1,
3556 0,
3557 p00pfs_by::Ncodr,
3558 p00pfs_by::Ncodr,
3559 P00PfsBy_SPEC,
3560 crate::common::RW,
3561 >::from_register(self, 0)
3562 }
3563}
3564impl ::core::default::Default for P00PfsBy {
3565 #[inline(always)]
3566 fn default() -> P00PfsBy {
3567 <crate::RegValueT<P00PfsBy_SPEC> as RegisterValue<_>>::new(0)
3568 }
3569}
3570pub mod p00pfs_by {
3571
3572 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3573 pub struct Podr_SPEC;
3574 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3575 impl Podr {
3576 #[doc = "Output low"]
3577 pub const _0: Self = Self::new(0);
3578
3579 #[doc = "Output high"]
3580 pub const _1: Self = Self::new(1);
3581 }
3582 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3583 pub struct Pidr_SPEC;
3584 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3585 impl Pidr {
3586 #[doc = "Low level"]
3587 pub const _0: Self = Self::new(0);
3588
3589 #[doc = "High level"]
3590 pub const _1: Self = Self::new(1);
3591 }
3592 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3593 pub struct Pdr_SPEC;
3594 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3595 impl Pdr {
3596 #[doc = "Input (functions as an input pin)"]
3597 pub const _0: Self = Self::new(0);
3598
3599 #[doc = "Output (functions as an output pin)"]
3600 pub const _1: Self = Self::new(1);
3601 }
3602 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3603 pub struct Pcr_SPEC;
3604 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3605 impl Pcr {
3606 #[doc = "Disable input pull-up"]
3607 pub const _0: Self = Self::new(0);
3608
3609 #[doc = "Enable input pull-up"]
3610 pub const _1: Self = Self::new(1);
3611 }
3612 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3613 pub struct Ncodr_SPEC;
3614 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3615 impl Ncodr {
3616 #[doc = "Output CMOS"]
3617 pub const _0: Self = Self::new(0);
3618
3619 #[doc = "Output NMOS open-drain"]
3620 pub const _1: Self = Self::new(1);
3621 }
3622}
3623#[doc(hidden)]
3624#[derive(Copy, Clone, Eq, PartialEq)]
3625pub struct P008Pfs_SPEC;
3626impl crate::sealed::RegSpec for P008Pfs_SPEC {
3627 type DataType = u32;
3628}
3629
3630#[doc = "Port 008 Pin Function Select Register"]
3631pub type P008Pfs = crate::RegValueT<P008Pfs_SPEC>;
3632
3633impl P008Pfs {
3634 #[doc = "Port Output Data"]
3635 #[inline(always)]
3636 pub fn podr(
3637 self,
3638 ) -> crate::common::RegisterField<
3639 0,
3640 0x1,
3641 1,
3642 0,
3643 p008pfs::Podr,
3644 p008pfs::Podr,
3645 P008Pfs_SPEC,
3646 crate::common::RW,
3647 > {
3648 crate::common::RegisterField::<
3649 0,
3650 0x1,
3651 1,
3652 0,
3653 p008pfs::Podr,
3654 p008pfs::Podr,
3655 P008Pfs_SPEC,
3656 crate::common::RW,
3657 >::from_register(self, 0)
3658 }
3659
3660 #[doc = "Port State"]
3661 #[inline(always)]
3662 pub fn pidr(
3663 self,
3664 ) -> crate::common::RegisterField<
3665 1,
3666 0x1,
3667 1,
3668 0,
3669 p008pfs::Pidr,
3670 p008pfs::Pidr,
3671 P008Pfs_SPEC,
3672 crate::common::R,
3673 > {
3674 crate::common::RegisterField::<
3675 1,
3676 0x1,
3677 1,
3678 0,
3679 p008pfs::Pidr,
3680 p008pfs::Pidr,
3681 P008Pfs_SPEC,
3682 crate::common::R,
3683 >::from_register(self, 0)
3684 }
3685
3686 #[doc = "Port Direction"]
3687 #[inline(always)]
3688 pub fn pdr(
3689 self,
3690 ) -> crate::common::RegisterField<
3691 2,
3692 0x1,
3693 1,
3694 0,
3695 p008pfs::Pdr,
3696 p008pfs::Pdr,
3697 P008Pfs_SPEC,
3698 crate::common::RW,
3699 > {
3700 crate::common::RegisterField::<
3701 2,
3702 0x1,
3703 1,
3704 0,
3705 p008pfs::Pdr,
3706 p008pfs::Pdr,
3707 P008Pfs_SPEC,
3708 crate::common::RW,
3709 >::from_register(self, 0)
3710 }
3711
3712 #[doc = "Pull-up Control"]
3713 #[inline(always)]
3714 pub fn pcr(
3715 self,
3716 ) -> crate::common::RegisterField<
3717 4,
3718 0x1,
3719 1,
3720 0,
3721 p008pfs::Pcr,
3722 p008pfs::Pcr,
3723 P008Pfs_SPEC,
3724 crate::common::RW,
3725 > {
3726 crate::common::RegisterField::<
3727 4,
3728 0x1,
3729 1,
3730 0,
3731 p008pfs::Pcr,
3732 p008pfs::Pcr,
3733 P008Pfs_SPEC,
3734 crate::common::RW,
3735 >::from_register(self, 0)
3736 }
3737
3738 #[doc = "N-Channel Open-Drain Control"]
3739 #[inline(always)]
3740 pub fn ncodr(
3741 self,
3742 ) -> crate::common::RegisterField<
3743 6,
3744 0x1,
3745 1,
3746 0,
3747 p008pfs::Ncodr,
3748 p008pfs::Ncodr,
3749 P008Pfs_SPEC,
3750 crate::common::RW,
3751 > {
3752 crate::common::RegisterField::<
3753 6,
3754 0x1,
3755 1,
3756 0,
3757 p008pfs::Ncodr,
3758 p008pfs::Ncodr,
3759 P008Pfs_SPEC,
3760 crate::common::RW,
3761 >::from_register(self, 0)
3762 }
3763
3764 #[doc = "IRQ Input Enable"]
3765 #[inline(always)]
3766 pub fn isel(
3767 self,
3768 ) -> crate::common::RegisterField<
3769 14,
3770 0x1,
3771 1,
3772 0,
3773 p008pfs::Isel,
3774 p008pfs::Isel,
3775 P008Pfs_SPEC,
3776 crate::common::RW,
3777 > {
3778 crate::common::RegisterField::<
3779 14,
3780 0x1,
3781 1,
3782 0,
3783 p008pfs::Isel,
3784 p008pfs::Isel,
3785 P008Pfs_SPEC,
3786 crate::common::RW,
3787 >::from_register(self, 0)
3788 }
3789
3790 #[doc = "Analog Input Enable"]
3791 #[inline(always)]
3792 pub fn asel(
3793 self,
3794 ) -> crate::common::RegisterField<
3795 15,
3796 0x1,
3797 1,
3798 0,
3799 p008pfs::Asel,
3800 p008pfs::Asel,
3801 P008Pfs_SPEC,
3802 crate::common::RW,
3803 > {
3804 crate::common::RegisterField::<
3805 15,
3806 0x1,
3807 1,
3808 0,
3809 p008pfs::Asel,
3810 p008pfs::Asel,
3811 P008Pfs_SPEC,
3812 crate::common::RW,
3813 >::from_register(self, 0)
3814 }
3815
3816 #[doc = "Port Mode Control"]
3817 #[inline(always)]
3818 pub fn pmr(
3819 self,
3820 ) -> crate::common::RegisterField<
3821 16,
3822 0x1,
3823 1,
3824 0,
3825 p008pfs::Pmr,
3826 p008pfs::Pmr,
3827 P008Pfs_SPEC,
3828 crate::common::RW,
3829 > {
3830 crate::common::RegisterField::<
3831 16,
3832 0x1,
3833 1,
3834 0,
3835 p008pfs::Pmr,
3836 p008pfs::Pmr,
3837 P008Pfs_SPEC,
3838 crate::common::RW,
3839 >::from_register(self, 0)
3840 }
3841
3842 #[doc = "Peripheral Select"]
3843 #[inline(always)]
3844 pub fn psel(
3845 self,
3846 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P008Pfs_SPEC, crate::common::RW> {
3847 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P008Pfs_SPEC,crate::common::RW>::from_register(self,0)
3848 }
3849}
3850impl ::core::default::Default for P008Pfs {
3851 #[inline(always)]
3852 fn default() -> P008Pfs {
3853 <crate::RegValueT<P008Pfs_SPEC> as RegisterValue<_>>::new(66576)
3854 }
3855}
3856pub mod p008pfs {
3857
3858 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3859 pub struct Podr_SPEC;
3860 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3861 impl Podr {
3862 #[doc = "Output low"]
3863 pub const _0: Self = Self::new(0);
3864
3865 #[doc = "Output high"]
3866 pub const _1: Self = Self::new(1);
3867 }
3868 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3869 pub struct Pidr_SPEC;
3870 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3871 impl Pidr {
3872 #[doc = "Low level"]
3873 pub const _0: Self = Self::new(0);
3874
3875 #[doc = "High level"]
3876 pub const _1: Self = Self::new(1);
3877 }
3878 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3879 pub struct Pdr_SPEC;
3880 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3881 impl Pdr {
3882 #[doc = "Input (functions as an input pin)"]
3883 pub const _0: Self = Self::new(0);
3884
3885 #[doc = "Output (functions as an output pin)"]
3886 pub const _1: Self = Self::new(1);
3887 }
3888 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3889 pub struct Pcr_SPEC;
3890 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3891 impl Pcr {
3892 #[doc = "Disable input pull-up"]
3893 pub const _0: Self = Self::new(0);
3894
3895 #[doc = "Enable input pull-up"]
3896 pub const _1: Self = Self::new(1);
3897 }
3898 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3899 pub struct Ncodr_SPEC;
3900 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3901 impl Ncodr {
3902 #[doc = "Output CMOS"]
3903 pub const _0: Self = Self::new(0);
3904
3905 #[doc = "Output NMOS open-drain"]
3906 pub const _1: Self = Self::new(1);
3907 }
3908 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3909 pub struct Isel_SPEC;
3910 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3911 impl Isel {
3912 #[doc = "Do not use as IRQn input pin"]
3913 pub const _0: Self = Self::new(0);
3914
3915 #[doc = "Use as IRQn input pin"]
3916 pub const _1: Self = Self::new(1);
3917 }
3918 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3919 pub struct Asel_SPEC;
3920 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
3921 impl Asel {
3922 #[doc = "Do not use as analog pin"]
3923 pub const _0: Self = Self::new(0);
3924
3925 #[doc = "Use as analog pin"]
3926 pub const _1: Self = Self::new(1);
3927 }
3928 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3929 pub struct Pmr_SPEC;
3930 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
3931 impl Pmr {
3932 #[doc = "Use as general I/O pin"]
3933 pub const _0: Self = Self::new(0);
3934
3935 #[doc = "Use as I/O port for peripheral functions"]
3936 pub const _1: Self = Self::new(1);
3937 }
3938}
3939#[doc(hidden)]
3940#[derive(Copy, Clone, Eq, PartialEq)]
3941pub struct P008PfsHa_SPEC;
3942impl crate::sealed::RegSpec for P008PfsHa_SPEC {
3943 type DataType = u16;
3944}
3945
3946#[doc = "Port 008 Pin Function Select Register"]
3947pub type P008PfsHa = crate::RegValueT<P008PfsHa_SPEC>;
3948
3949impl P008PfsHa {
3950 #[doc = "Port Output Data"]
3951 #[inline(always)]
3952 pub fn podr(
3953 self,
3954 ) -> crate::common::RegisterField<
3955 0,
3956 0x1,
3957 1,
3958 0,
3959 p008pfs_ha::Podr,
3960 p008pfs_ha::Podr,
3961 P008PfsHa_SPEC,
3962 crate::common::RW,
3963 > {
3964 crate::common::RegisterField::<
3965 0,
3966 0x1,
3967 1,
3968 0,
3969 p008pfs_ha::Podr,
3970 p008pfs_ha::Podr,
3971 P008PfsHa_SPEC,
3972 crate::common::RW,
3973 >::from_register(self, 0)
3974 }
3975
3976 #[doc = "Port State"]
3977 #[inline(always)]
3978 pub fn pidr(
3979 self,
3980 ) -> crate::common::RegisterField<
3981 1,
3982 0x1,
3983 1,
3984 0,
3985 p008pfs_ha::Pidr,
3986 p008pfs_ha::Pidr,
3987 P008PfsHa_SPEC,
3988 crate::common::R,
3989 > {
3990 crate::common::RegisterField::<
3991 1,
3992 0x1,
3993 1,
3994 0,
3995 p008pfs_ha::Pidr,
3996 p008pfs_ha::Pidr,
3997 P008PfsHa_SPEC,
3998 crate::common::R,
3999 >::from_register(self, 0)
4000 }
4001
4002 #[doc = "Port Direction"]
4003 #[inline(always)]
4004 pub fn pdr(
4005 self,
4006 ) -> crate::common::RegisterField<
4007 2,
4008 0x1,
4009 1,
4010 0,
4011 p008pfs_ha::Pdr,
4012 p008pfs_ha::Pdr,
4013 P008PfsHa_SPEC,
4014 crate::common::RW,
4015 > {
4016 crate::common::RegisterField::<
4017 2,
4018 0x1,
4019 1,
4020 0,
4021 p008pfs_ha::Pdr,
4022 p008pfs_ha::Pdr,
4023 P008PfsHa_SPEC,
4024 crate::common::RW,
4025 >::from_register(self, 0)
4026 }
4027
4028 #[doc = "Pull-up Control"]
4029 #[inline(always)]
4030 pub fn pcr(
4031 self,
4032 ) -> crate::common::RegisterField<
4033 4,
4034 0x1,
4035 1,
4036 0,
4037 p008pfs_ha::Pcr,
4038 p008pfs_ha::Pcr,
4039 P008PfsHa_SPEC,
4040 crate::common::RW,
4041 > {
4042 crate::common::RegisterField::<
4043 4,
4044 0x1,
4045 1,
4046 0,
4047 p008pfs_ha::Pcr,
4048 p008pfs_ha::Pcr,
4049 P008PfsHa_SPEC,
4050 crate::common::RW,
4051 >::from_register(self, 0)
4052 }
4053
4054 #[doc = "N-Channel Open-Drain Control"]
4055 #[inline(always)]
4056 pub fn ncodr(
4057 self,
4058 ) -> crate::common::RegisterField<
4059 6,
4060 0x1,
4061 1,
4062 0,
4063 p008pfs_ha::Ncodr,
4064 p008pfs_ha::Ncodr,
4065 P008PfsHa_SPEC,
4066 crate::common::RW,
4067 > {
4068 crate::common::RegisterField::<
4069 6,
4070 0x1,
4071 1,
4072 0,
4073 p008pfs_ha::Ncodr,
4074 p008pfs_ha::Ncodr,
4075 P008PfsHa_SPEC,
4076 crate::common::RW,
4077 >::from_register(self, 0)
4078 }
4079
4080 #[doc = "IRQ Input Enable"]
4081 #[inline(always)]
4082 pub fn isel(
4083 self,
4084 ) -> crate::common::RegisterField<
4085 14,
4086 0x1,
4087 1,
4088 0,
4089 p008pfs_ha::Isel,
4090 p008pfs_ha::Isel,
4091 P008PfsHa_SPEC,
4092 crate::common::RW,
4093 > {
4094 crate::common::RegisterField::<
4095 14,
4096 0x1,
4097 1,
4098 0,
4099 p008pfs_ha::Isel,
4100 p008pfs_ha::Isel,
4101 P008PfsHa_SPEC,
4102 crate::common::RW,
4103 >::from_register(self, 0)
4104 }
4105
4106 #[doc = "Analog Input Enable"]
4107 #[inline(always)]
4108 pub fn asel(
4109 self,
4110 ) -> crate::common::RegisterField<
4111 15,
4112 0x1,
4113 1,
4114 0,
4115 p008pfs_ha::Asel,
4116 p008pfs_ha::Asel,
4117 P008PfsHa_SPEC,
4118 crate::common::RW,
4119 > {
4120 crate::common::RegisterField::<
4121 15,
4122 0x1,
4123 1,
4124 0,
4125 p008pfs_ha::Asel,
4126 p008pfs_ha::Asel,
4127 P008PfsHa_SPEC,
4128 crate::common::RW,
4129 >::from_register(self, 0)
4130 }
4131}
4132impl ::core::default::Default for P008PfsHa {
4133 #[inline(always)]
4134 fn default() -> P008PfsHa {
4135 <crate::RegValueT<P008PfsHa_SPEC> as RegisterValue<_>>::new(1040)
4136 }
4137}
4138pub mod p008pfs_ha {
4139
4140 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4141 pub struct Podr_SPEC;
4142 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4143 impl Podr {
4144 #[doc = "Output low"]
4145 pub const _0: Self = Self::new(0);
4146
4147 #[doc = "Output high"]
4148 pub const _1: Self = Self::new(1);
4149 }
4150 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4151 pub struct Pidr_SPEC;
4152 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4153 impl Pidr {
4154 #[doc = "Low level"]
4155 pub const _0: Self = Self::new(0);
4156
4157 #[doc = "High level"]
4158 pub const _1: Self = Self::new(1);
4159 }
4160 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4161 pub struct Pdr_SPEC;
4162 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4163 impl Pdr {
4164 #[doc = "Input (functions as an input pin)"]
4165 pub const _0: Self = Self::new(0);
4166
4167 #[doc = "Output (functions as an output pin)"]
4168 pub const _1: Self = Self::new(1);
4169 }
4170 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4171 pub struct Pcr_SPEC;
4172 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4173 impl Pcr {
4174 #[doc = "Disable input pull-up"]
4175 pub const _0: Self = Self::new(0);
4176
4177 #[doc = "Enable input pull-up"]
4178 pub const _1: Self = Self::new(1);
4179 }
4180 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4181 pub struct Ncodr_SPEC;
4182 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4183 impl Ncodr {
4184 #[doc = "Output CMOS"]
4185 pub const _0: Self = Self::new(0);
4186
4187 #[doc = "Output NMOS open-drain"]
4188 pub const _1: Self = Self::new(1);
4189 }
4190 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4191 pub struct Isel_SPEC;
4192 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4193 impl Isel {
4194 #[doc = "Do not use as IRQn input pin"]
4195 pub const _0: Self = Self::new(0);
4196
4197 #[doc = "Use as IRQn input pin"]
4198 pub const _1: Self = Self::new(1);
4199 }
4200 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4201 pub struct Asel_SPEC;
4202 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4203 impl Asel {
4204 #[doc = "Do not use as analog pin"]
4205 pub const _0: Self = Self::new(0);
4206
4207 #[doc = "Use as analog pin"]
4208 pub const _1: Self = Self::new(1);
4209 }
4210}
4211#[doc(hidden)]
4212#[derive(Copy, Clone, Eq, PartialEq)]
4213pub struct P008PfsBy_SPEC;
4214impl crate::sealed::RegSpec for P008PfsBy_SPEC {
4215 type DataType = u8;
4216}
4217
4218#[doc = "Port 008 Pin Function Select Register"]
4219pub type P008PfsBy = crate::RegValueT<P008PfsBy_SPEC>;
4220
4221impl P008PfsBy {
4222 #[doc = "Port Output Data"]
4223 #[inline(always)]
4224 pub fn podr(
4225 self,
4226 ) -> crate::common::RegisterField<
4227 0,
4228 0x1,
4229 1,
4230 0,
4231 p008pfs_by::Podr,
4232 p008pfs_by::Podr,
4233 P008PfsBy_SPEC,
4234 crate::common::RW,
4235 > {
4236 crate::common::RegisterField::<
4237 0,
4238 0x1,
4239 1,
4240 0,
4241 p008pfs_by::Podr,
4242 p008pfs_by::Podr,
4243 P008PfsBy_SPEC,
4244 crate::common::RW,
4245 >::from_register(self, 0)
4246 }
4247
4248 #[doc = "Port State"]
4249 #[inline(always)]
4250 pub fn pidr(
4251 self,
4252 ) -> crate::common::RegisterField<
4253 1,
4254 0x1,
4255 1,
4256 0,
4257 p008pfs_by::Pidr,
4258 p008pfs_by::Pidr,
4259 P008PfsBy_SPEC,
4260 crate::common::R,
4261 > {
4262 crate::common::RegisterField::<
4263 1,
4264 0x1,
4265 1,
4266 0,
4267 p008pfs_by::Pidr,
4268 p008pfs_by::Pidr,
4269 P008PfsBy_SPEC,
4270 crate::common::R,
4271 >::from_register(self, 0)
4272 }
4273
4274 #[doc = "Port Direction"]
4275 #[inline(always)]
4276 pub fn pdr(
4277 self,
4278 ) -> crate::common::RegisterField<
4279 2,
4280 0x1,
4281 1,
4282 0,
4283 p008pfs_by::Pdr,
4284 p008pfs_by::Pdr,
4285 P008PfsBy_SPEC,
4286 crate::common::RW,
4287 > {
4288 crate::common::RegisterField::<
4289 2,
4290 0x1,
4291 1,
4292 0,
4293 p008pfs_by::Pdr,
4294 p008pfs_by::Pdr,
4295 P008PfsBy_SPEC,
4296 crate::common::RW,
4297 >::from_register(self, 0)
4298 }
4299
4300 #[doc = "Pull-up Control"]
4301 #[inline(always)]
4302 pub fn pcr(
4303 self,
4304 ) -> crate::common::RegisterField<
4305 4,
4306 0x1,
4307 1,
4308 0,
4309 p008pfs_by::Pcr,
4310 p008pfs_by::Pcr,
4311 P008PfsBy_SPEC,
4312 crate::common::RW,
4313 > {
4314 crate::common::RegisterField::<
4315 4,
4316 0x1,
4317 1,
4318 0,
4319 p008pfs_by::Pcr,
4320 p008pfs_by::Pcr,
4321 P008PfsBy_SPEC,
4322 crate::common::RW,
4323 >::from_register(self, 0)
4324 }
4325
4326 #[doc = "N-Channel Open-Drain Control"]
4327 #[inline(always)]
4328 pub fn ncodr(
4329 self,
4330 ) -> crate::common::RegisterField<
4331 6,
4332 0x1,
4333 1,
4334 0,
4335 p008pfs_by::Ncodr,
4336 p008pfs_by::Ncodr,
4337 P008PfsBy_SPEC,
4338 crate::common::RW,
4339 > {
4340 crate::common::RegisterField::<
4341 6,
4342 0x1,
4343 1,
4344 0,
4345 p008pfs_by::Ncodr,
4346 p008pfs_by::Ncodr,
4347 P008PfsBy_SPEC,
4348 crate::common::RW,
4349 >::from_register(self, 0)
4350 }
4351}
4352impl ::core::default::Default for P008PfsBy {
4353 #[inline(always)]
4354 fn default() -> P008PfsBy {
4355 <crate::RegValueT<P008PfsBy_SPEC> as RegisterValue<_>>::new(16)
4356 }
4357}
4358pub mod p008pfs_by {
4359
4360 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4361 pub struct Podr_SPEC;
4362 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4363 impl Podr {
4364 #[doc = "Output low"]
4365 pub const _0: Self = Self::new(0);
4366
4367 #[doc = "Output high"]
4368 pub const _1: Self = Self::new(1);
4369 }
4370 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4371 pub struct Pidr_SPEC;
4372 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4373 impl Pidr {
4374 #[doc = "Low level"]
4375 pub const _0: Self = Self::new(0);
4376
4377 #[doc = "High level"]
4378 pub const _1: Self = Self::new(1);
4379 }
4380 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4381 pub struct Pdr_SPEC;
4382 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4383 impl Pdr {
4384 #[doc = "Input (functions as an input pin)"]
4385 pub const _0: Self = Self::new(0);
4386
4387 #[doc = "Output (functions as an output pin)"]
4388 pub const _1: Self = Self::new(1);
4389 }
4390 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4391 pub struct Pcr_SPEC;
4392 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4393 impl Pcr {
4394 #[doc = "Disable input pull-up"]
4395 pub const _0: Self = Self::new(0);
4396
4397 #[doc = "Enable input pull-up"]
4398 pub const _1: Self = Self::new(1);
4399 }
4400 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4401 pub struct Ncodr_SPEC;
4402 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4403 impl Ncodr {
4404 #[doc = "Output CMOS"]
4405 pub const _0: Self = Self::new(0);
4406
4407 #[doc = "Output NMOS open-drain"]
4408 pub const _1: Self = Self::new(1);
4409 }
4410}
4411#[doc(hidden)]
4412#[derive(Copy, Clone, Eq, PartialEq)]
4413pub struct P0Pfs_SPEC;
4414impl crate::sealed::RegSpec for P0Pfs_SPEC {
4415 type DataType = u32;
4416}
4417
4418#[doc = "Port 0%s Pin Function Select Register"]
4419pub type P0Pfs = crate::RegValueT<P0Pfs_SPEC>;
4420
4421impl P0Pfs {
4422 #[doc = "Port Output Data"]
4423 #[inline(always)]
4424 pub fn podr(
4425 self,
4426 ) -> crate::common::RegisterField<
4427 0,
4428 0x1,
4429 1,
4430 0,
4431 p0pfs::Podr,
4432 p0pfs::Podr,
4433 P0Pfs_SPEC,
4434 crate::common::RW,
4435 > {
4436 crate::common::RegisterField::<
4437 0,
4438 0x1,
4439 1,
4440 0,
4441 p0pfs::Podr,
4442 p0pfs::Podr,
4443 P0Pfs_SPEC,
4444 crate::common::RW,
4445 >::from_register(self, 0)
4446 }
4447
4448 #[doc = "Port State"]
4449 #[inline(always)]
4450 pub fn pidr(
4451 self,
4452 ) -> crate::common::RegisterField<
4453 1,
4454 0x1,
4455 1,
4456 0,
4457 p0pfs::Pidr,
4458 p0pfs::Pidr,
4459 P0Pfs_SPEC,
4460 crate::common::R,
4461 > {
4462 crate::common::RegisterField::<
4463 1,
4464 0x1,
4465 1,
4466 0,
4467 p0pfs::Pidr,
4468 p0pfs::Pidr,
4469 P0Pfs_SPEC,
4470 crate::common::R,
4471 >::from_register(self, 0)
4472 }
4473
4474 #[doc = "Port Direction"]
4475 #[inline(always)]
4476 pub fn pdr(
4477 self,
4478 ) -> crate::common::RegisterField<
4479 2,
4480 0x1,
4481 1,
4482 0,
4483 p0pfs::Pdr,
4484 p0pfs::Pdr,
4485 P0Pfs_SPEC,
4486 crate::common::RW,
4487 > {
4488 crate::common::RegisterField::<
4489 2,
4490 0x1,
4491 1,
4492 0,
4493 p0pfs::Pdr,
4494 p0pfs::Pdr,
4495 P0Pfs_SPEC,
4496 crate::common::RW,
4497 >::from_register(self, 0)
4498 }
4499
4500 #[doc = "Pull-up Control"]
4501 #[inline(always)]
4502 pub fn pcr(
4503 self,
4504 ) -> crate::common::RegisterField<
4505 4,
4506 0x1,
4507 1,
4508 0,
4509 p0pfs::Pcr,
4510 p0pfs::Pcr,
4511 P0Pfs_SPEC,
4512 crate::common::RW,
4513 > {
4514 crate::common::RegisterField::<
4515 4,
4516 0x1,
4517 1,
4518 0,
4519 p0pfs::Pcr,
4520 p0pfs::Pcr,
4521 P0Pfs_SPEC,
4522 crate::common::RW,
4523 >::from_register(self, 0)
4524 }
4525
4526 #[doc = "N-Channel Open-Drain Control"]
4527 #[inline(always)]
4528 pub fn ncodr(
4529 self,
4530 ) -> crate::common::RegisterField<
4531 6,
4532 0x1,
4533 1,
4534 0,
4535 p0pfs::Ncodr,
4536 p0pfs::Ncodr,
4537 P0Pfs_SPEC,
4538 crate::common::RW,
4539 > {
4540 crate::common::RegisterField::<
4541 6,
4542 0x1,
4543 1,
4544 0,
4545 p0pfs::Ncodr,
4546 p0pfs::Ncodr,
4547 P0Pfs_SPEC,
4548 crate::common::RW,
4549 >::from_register(self, 0)
4550 }
4551
4552 #[doc = "IRQ Input Enable"]
4553 #[inline(always)]
4554 pub fn isel(
4555 self,
4556 ) -> crate::common::RegisterField<
4557 14,
4558 0x1,
4559 1,
4560 0,
4561 p0pfs::Isel,
4562 p0pfs::Isel,
4563 P0Pfs_SPEC,
4564 crate::common::RW,
4565 > {
4566 crate::common::RegisterField::<
4567 14,
4568 0x1,
4569 1,
4570 0,
4571 p0pfs::Isel,
4572 p0pfs::Isel,
4573 P0Pfs_SPEC,
4574 crate::common::RW,
4575 >::from_register(self, 0)
4576 }
4577
4578 #[doc = "Analog Input Enable"]
4579 #[inline(always)]
4580 pub fn asel(
4581 self,
4582 ) -> crate::common::RegisterField<
4583 15,
4584 0x1,
4585 1,
4586 0,
4587 p0pfs::Asel,
4588 p0pfs::Asel,
4589 P0Pfs_SPEC,
4590 crate::common::RW,
4591 > {
4592 crate::common::RegisterField::<
4593 15,
4594 0x1,
4595 1,
4596 0,
4597 p0pfs::Asel,
4598 p0pfs::Asel,
4599 P0Pfs_SPEC,
4600 crate::common::RW,
4601 >::from_register(self, 0)
4602 }
4603
4604 #[doc = "Port Mode Control"]
4605 #[inline(always)]
4606 pub fn pmr(
4607 self,
4608 ) -> crate::common::RegisterField<
4609 16,
4610 0x1,
4611 1,
4612 0,
4613 p0pfs::Pmr,
4614 p0pfs::Pmr,
4615 P0Pfs_SPEC,
4616 crate::common::RW,
4617 > {
4618 crate::common::RegisterField::<
4619 16,
4620 0x1,
4621 1,
4622 0,
4623 p0pfs::Pmr,
4624 p0pfs::Pmr,
4625 P0Pfs_SPEC,
4626 crate::common::RW,
4627 >::from_register(self, 0)
4628 }
4629
4630 #[doc = "Peripheral Select"]
4631 #[inline(always)]
4632 pub fn psel(
4633 self,
4634 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P0Pfs_SPEC, crate::common::RW> {
4635 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P0Pfs_SPEC,crate::common::RW>::from_register(self,0)
4636 }
4637}
4638impl ::core::default::Default for P0Pfs {
4639 #[inline(always)]
4640 fn default() -> P0Pfs {
4641 <crate::RegValueT<P0Pfs_SPEC> as RegisterValue<_>>::new(0)
4642 }
4643}
4644pub mod p0pfs {
4645
4646 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4647 pub struct Podr_SPEC;
4648 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4649 impl Podr {
4650 #[doc = "Output low"]
4651 pub const _0: Self = Self::new(0);
4652
4653 #[doc = "Output high"]
4654 pub const _1: Self = Self::new(1);
4655 }
4656 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4657 pub struct Pidr_SPEC;
4658 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4659 impl Pidr {
4660 #[doc = "Low level"]
4661 pub const _0: Self = Self::new(0);
4662
4663 #[doc = "High level"]
4664 pub const _1: Self = Self::new(1);
4665 }
4666 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4667 pub struct Pdr_SPEC;
4668 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4669 impl Pdr {
4670 #[doc = "Input (functions as an input pin)"]
4671 pub const _0: Self = Self::new(0);
4672
4673 #[doc = "Output (functions as an output pin)"]
4674 pub const _1: Self = Self::new(1);
4675 }
4676 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4677 pub struct Pcr_SPEC;
4678 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4679 impl Pcr {
4680 #[doc = "Disable input pull-up"]
4681 pub const _0: Self = Self::new(0);
4682
4683 #[doc = "Enable input pull-up"]
4684 pub const _1: Self = Self::new(1);
4685 }
4686 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4687 pub struct Ncodr_SPEC;
4688 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4689 impl Ncodr {
4690 #[doc = "Output CMOS"]
4691 pub const _0: Self = Self::new(0);
4692
4693 #[doc = "Output NMOS open-drain"]
4694 pub const _1: Self = Self::new(1);
4695 }
4696 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4697 pub struct Isel_SPEC;
4698 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4699 impl Isel {
4700 #[doc = "Do not use as IRQn input pin"]
4701 pub const _0: Self = Self::new(0);
4702
4703 #[doc = "Use as IRQn input pin"]
4704 pub const _1: Self = Self::new(1);
4705 }
4706 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4707 pub struct Asel_SPEC;
4708 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4709 impl Asel {
4710 #[doc = "Do not use as analog pin"]
4711 pub const _0: Self = Self::new(0);
4712
4713 #[doc = "Use as analog pin"]
4714 pub const _1: Self = Self::new(1);
4715 }
4716 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4717 pub struct Pmr_SPEC;
4718 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
4719 impl Pmr {
4720 #[doc = "Use as general I/O pin"]
4721 pub const _0: Self = Self::new(0);
4722
4723 #[doc = "Use as I/O port for peripheral functions"]
4724 pub const _1: Self = Self::new(1);
4725 }
4726}
4727#[doc(hidden)]
4728#[derive(Copy, Clone, Eq, PartialEq)]
4729pub struct P0PfsHa_SPEC;
4730impl crate::sealed::RegSpec for P0PfsHa_SPEC {
4731 type DataType = u16;
4732}
4733
4734#[doc = "Port 0%s Pin Function Select Register"]
4735pub type P0PfsHa = crate::RegValueT<P0PfsHa_SPEC>;
4736
4737impl P0PfsHa {
4738 #[doc = "Port Output Data"]
4739 #[inline(always)]
4740 pub fn podr(
4741 self,
4742 ) -> crate::common::RegisterField<
4743 0,
4744 0x1,
4745 1,
4746 0,
4747 p0pfs_ha::Podr,
4748 p0pfs_ha::Podr,
4749 P0PfsHa_SPEC,
4750 crate::common::RW,
4751 > {
4752 crate::common::RegisterField::<
4753 0,
4754 0x1,
4755 1,
4756 0,
4757 p0pfs_ha::Podr,
4758 p0pfs_ha::Podr,
4759 P0PfsHa_SPEC,
4760 crate::common::RW,
4761 >::from_register(self, 0)
4762 }
4763
4764 #[doc = "Port State"]
4765 #[inline(always)]
4766 pub fn pidr(
4767 self,
4768 ) -> crate::common::RegisterField<
4769 1,
4770 0x1,
4771 1,
4772 0,
4773 p0pfs_ha::Pidr,
4774 p0pfs_ha::Pidr,
4775 P0PfsHa_SPEC,
4776 crate::common::R,
4777 > {
4778 crate::common::RegisterField::<
4779 1,
4780 0x1,
4781 1,
4782 0,
4783 p0pfs_ha::Pidr,
4784 p0pfs_ha::Pidr,
4785 P0PfsHa_SPEC,
4786 crate::common::R,
4787 >::from_register(self, 0)
4788 }
4789
4790 #[doc = "Port Direction"]
4791 #[inline(always)]
4792 pub fn pdr(
4793 self,
4794 ) -> crate::common::RegisterField<
4795 2,
4796 0x1,
4797 1,
4798 0,
4799 p0pfs_ha::Pdr,
4800 p0pfs_ha::Pdr,
4801 P0PfsHa_SPEC,
4802 crate::common::RW,
4803 > {
4804 crate::common::RegisterField::<
4805 2,
4806 0x1,
4807 1,
4808 0,
4809 p0pfs_ha::Pdr,
4810 p0pfs_ha::Pdr,
4811 P0PfsHa_SPEC,
4812 crate::common::RW,
4813 >::from_register(self, 0)
4814 }
4815
4816 #[doc = "Pull-up Control"]
4817 #[inline(always)]
4818 pub fn pcr(
4819 self,
4820 ) -> crate::common::RegisterField<
4821 4,
4822 0x1,
4823 1,
4824 0,
4825 p0pfs_ha::Pcr,
4826 p0pfs_ha::Pcr,
4827 P0PfsHa_SPEC,
4828 crate::common::RW,
4829 > {
4830 crate::common::RegisterField::<
4831 4,
4832 0x1,
4833 1,
4834 0,
4835 p0pfs_ha::Pcr,
4836 p0pfs_ha::Pcr,
4837 P0PfsHa_SPEC,
4838 crate::common::RW,
4839 >::from_register(self, 0)
4840 }
4841
4842 #[doc = "N-Channel Open-Drain Control"]
4843 #[inline(always)]
4844 pub fn ncodr(
4845 self,
4846 ) -> crate::common::RegisterField<
4847 6,
4848 0x1,
4849 1,
4850 0,
4851 p0pfs_ha::Ncodr,
4852 p0pfs_ha::Ncodr,
4853 P0PfsHa_SPEC,
4854 crate::common::RW,
4855 > {
4856 crate::common::RegisterField::<
4857 6,
4858 0x1,
4859 1,
4860 0,
4861 p0pfs_ha::Ncodr,
4862 p0pfs_ha::Ncodr,
4863 P0PfsHa_SPEC,
4864 crate::common::RW,
4865 >::from_register(self, 0)
4866 }
4867
4868 #[doc = "IRQ Input Enable"]
4869 #[inline(always)]
4870 pub fn isel(
4871 self,
4872 ) -> crate::common::RegisterField<
4873 14,
4874 0x1,
4875 1,
4876 0,
4877 p0pfs_ha::Isel,
4878 p0pfs_ha::Isel,
4879 P0PfsHa_SPEC,
4880 crate::common::RW,
4881 > {
4882 crate::common::RegisterField::<
4883 14,
4884 0x1,
4885 1,
4886 0,
4887 p0pfs_ha::Isel,
4888 p0pfs_ha::Isel,
4889 P0PfsHa_SPEC,
4890 crate::common::RW,
4891 >::from_register(self, 0)
4892 }
4893
4894 #[doc = "Analog Input Enable"]
4895 #[inline(always)]
4896 pub fn asel(
4897 self,
4898 ) -> crate::common::RegisterField<
4899 15,
4900 0x1,
4901 1,
4902 0,
4903 p0pfs_ha::Asel,
4904 p0pfs_ha::Asel,
4905 P0PfsHa_SPEC,
4906 crate::common::RW,
4907 > {
4908 crate::common::RegisterField::<
4909 15,
4910 0x1,
4911 1,
4912 0,
4913 p0pfs_ha::Asel,
4914 p0pfs_ha::Asel,
4915 P0PfsHa_SPEC,
4916 crate::common::RW,
4917 >::from_register(self, 0)
4918 }
4919}
4920impl ::core::default::Default for P0PfsHa {
4921 #[inline(always)]
4922 fn default() -> P0PfsHa {
4923 <crate::RegValueT<P0PfsHa_SPEC> as RegisterValue<_>>::new(0)
4924 }
4925}
4926pub mod p0pfs_ha {
4927
4928 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4929 pub struct Podr_SPEC;
4930 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4931 impl Podr {
4932 #[doc = "Output low"]
4933 pub const _0: Self = Self::new(0);
4934
4935 #[doc = "Output high"]
4936 pub const _1: Self = Self::new(1);
4937 }
4938 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4939 pub struct Pidr_SPEC;
4940 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4941 impl Pidr {
4942 #[doc = "Low level"]
4943 pub const _0: Self = Self::new(0);
4944
4945 #[doc = "High level"]
4946 pub const _1: Self = Self::new(1);
4947 }
4948 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4949 pub struct Pdr_SPEC;
4950 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4951 impl Pdr {
4952 #[doc = "Input (functions as an input pin)"]
4953 pub const _0: Self = Self::new(0);
4954
4955 #[doc = "Output (functions as an output pin)"]
4956 pub const _1: Self = Self::new(1);
4957 }
4958 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4959 pub struct Pcr_SPEC;
4960 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4961 impl Pcr {
4962 #[doc = "Disable input pull-up"]
4963 pub const _0: Self = Self::new(0);
4964
4965 #[doc = "Enable input pull-up"]
4966 pub const _1: Self = Self::new(1);
4967 }
4968 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4969 pub struct Ncodr_SPEC;
4970 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4971 impl Ncodr {
4972 #[doc = "Output CMOS"]
4973 pub const _0: Self = Self::new(0);
4974
4975 #[doc = "Output NMOS open-drain"]
4976 pub const _1: Self = Self::new(1);
4977 }
4978 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4979 pub struct Isel_SPEC;
4980 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4981 impl Isel {
4982 #[doc = "Do not use as IRQn input pin"]
4983 pub const _0: Self = Self::new(0);
4984
4985 #[doc = "Use as IRQn input pin"]
4986 pub const _1: Self = Self::new(1);
4987 }
4988 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4989 pub struct Asel_SPEC;
4990 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4991 impl Asel {
4992 #[doc = "Do not use as analog pin"]
4993 pub const _0: Self = Self::new(0);
4994
4995 #[doc = "Use as analog pin"]
4996 pub const _1: Self = Self::new(1);
4997 }
4998}
4999#[doc(hidden)]
5000#[derive(Copy, Clone, Eq, PartialEq)]
5001pub struct P0PfsBy_SPEC;
5002impl crate::sealed::RegSpec for P0PfsBy_SPEC {
5003 type DataType = u8;
5004}
5005
5006#[doc = "Port 0%s Pin Function Select Register"]
5007pub type P0PfsBy = crate::RegValueT<P0PfsBy_SPEC>;
5008
5009impl P0PfsBy {
5010 #[doc = "Port Output Data"]
5011 #[inline(always)]
5012 pub fn podr(
5013 self,
5014 ) -> crate::common::RegisterField<
5015 0,
5016 0x1,
5017 1,
5018 0,
5019 p0pfs_by::Podr,
5020 p0pfs_by::Podr,
5021 P0PfsBy_SPEC,
5022 crate::common::RW,
5023 > {
5024 crate::common::RegisterField::<
5025 0,
5026 0x1,
5027 1,
5028 0,
5029 p0pfs_by::Podr,
5030 p0pfs_by::Podr,
5031 P0PfsBy_SPEC,
5032 crate::common::RW,
5033 >::from_register(self, 0)
5034 }
5035
5036 #[doc = "Port State"]
5037 #[inline(always)]
5038 pub fn pidr(
5039 self,
5040 ) -> crate::common::RegisterField<
5041 1,
5042 0x1,
5043 1,
5044 0,
5045 p0pfs_by::Pidr,
5046 p0pfs_by::Pidr,
5047 P0PfsBy_SPEC,
5048 crate::common::R,
5049 > {
5050 crate::common::RegisterField::<
5051 1,
5052 0x1,
5053 1,
5054 0,
5055 p0pfs_by::Pidr,
5056 p0pfs_by::Pidr,
5057 P0PfsBy_SPEC,
5058 crate::common::R,
5059 >::from_register(self, 0)
5060 }
5061
5062 #[doc = "Port Direction"]
5063 #[inline(always)]
5064 pub fn pdr(
5065 self,
5066 ) -> crate::common::RegisterField<
5067 2,
5068 0x1,
5069 1,
5070 0,
5071 p0pfs_by::Pdr,
5072 p0pfs_by::Pdr,
5073 P0PfsBy_SPEC,
5074 crate::common::RW,
5075 > {
5076 crate::common::RegisterField::<
5077 2,
5078 0x1,
5079 1,
5080 0,
5081 p0pfs_by::Pdr,
5082 p0pfs_by::Pdr,
5083 P0PfsBy_SPEC,
5084 crate::common::RW,
5085 >::from_register(self, 0)
5086 }
5087
5088 #[doc = "Pull-up Control"]
5089 #[inline(always)]
5090 pub fn pcr(
5091 self,
5092 ) -> crate::common::RegisterField<
5093 4,
5094 0x1,
5095 1,
5096 0,
5097 p0pfs_by::Pcr,
5098 p0pfs_by::Pcr,
5099 P0PfsBy_SPEC,
5100 crate::common::RW,
5101 > {
5102 crate::common::RegisterField::<
5103 4,
5104 0x1,
5105 1,
5106 0,
5107 p0pfs_by::Pcr,
5108 p0pfs_by::Pcr,
5109 P0PfsBy_SPEC,
5110 crate::common::RW,
5111 >::from_register(self, 0)
5112 }
5113
5114 #[doc = "N-Channel Open-Drain Control"]
5115 #[inline(always)]
5116 pub fn ncodr(
5117 self,
5118 ) -> crate::common::RegisterField<
5119 6,
5120 0x1,
5121 1,
5122 0,
5123 p0pfs_by::Ncodr,
5124 p0pfs_by::Ncodr,
5125 P0PfsBy_SPEC,
5126 crate::common::RW,
5127 > {
5128 crate::common::RegisterField::<
5129 6,
5130 0x1,
5131 1,
5132 0,
5133 p0pfs_by::Ncodr,
5134 p0pfs_by::Ncodr,
5135 P0PfsBy_SPEC,
5136 crate::common::RW,
5137 >::from_register(self, 0)
5138 }
5139}
5140impl ::core::default::Default for P0PfsBy {
5141 #[inline(always)]
5142 fn default() -> P0PfsBy {
5143 <crate::RegValueT<P0PfsBy_SPEC> as RegisterValue<_>>::new(0)
5144 }
5145}
5146pub mod p0pfs_by {
5147
5148 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5149 pub struct Podr_SPEC;
5150 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5151 impl Podr {
5152 #[doc = "Output low"]
5153 pub const _0: Self = Self::new(0);
5154
5155 #[doc = "Output high"]
5156 pub const _1: Self = Self::new(1);
5157 }
5158 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5159 pub struct Pidr_SPEC;
5160 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5161 impl Pidr {
5162 #[doc = "Low level"]
5163 pub const _0: Self = Self::new(0);
5164
5165 #[doc = "High level"]
5166 pub const _1: Self = Self::new(1);
5167 }
5168 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5169 pub struct Pdr_SPEC;
5170 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5171 impl Pdr {
5172 #[doc = "Input (functions as an input pin)"]
5173 pub const _0: Self = Self::new(0);
5174
5175 #[doc = "Output (functions as an output pin)"]
5176 pub const _1: Self = Self::new(1);
5177 }
5178 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5179 pub struct Pcr_SPEC;
5180 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5181 impl Pcr {
5182 #[doc = "Disable input pull-up"]
5183 pub const _0: Self = Self::new(0);
5184
5185 #[doc = "Enable input pull-up"]
5186 pub const _1: Self = Self::new(1);
5187 }
5188 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5189 pub struct Ncodr_SPEC;
5190 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5191 impl Ncodr {
5192 #[doc = "Output CMOS"]
5193 pub const _0: Self = Self::new(0);
5194
5195 #[doc = "Output NMOS open-drain"]
5196 pub const _1: Self = Self::new(1);
5197 }
5198}
5199#[doc(hidden)]
5200#[derive(Copy, Clone, Eq, PartialEq)]
5201pub struct P10Pfs_SPEC;
5202impl crate::sealed::RegSpec for P10Pfs_SPEC {
5203 type DataType = u32;
5204}
5205
5206#[doc = "Port 10%s Pin Function Select Register"]
5207pub type P10Pfs = crate::RegValueT<P10Pfs_SPEC>;
5208
5209impl P10Pfs {
5210 #[doc = "Port Output Data"]
5211 #[inline(always)]
5212 pub fn podr(
5213 self,
5214 ) -> crate::common::RegisterField<
5215 0,
5216 0x1,
5217 1,
5218 0,
5219 p10pfs::Podr,
5220 p10pfs::Podr,
5221 P10Pfs_SPEC,
5222 crate::common::RW,
5223 > {
5224 crate::common::RegisterField::<
5225 0,
5226 0x1,
5227 1,
5228 0,
5229 p10pfs::Podr,
5230 p10pfs::Podr,
5231 P10Pfs_SPEC,
5232 crate::common::RW,
5233 >::from_register(self, 0)
5234 }
5235
5236 #[doc = "Port State"]
5237 #[inline(always)]
5238 pub fn pidr(
5239 self,
5240 ) -> crate::common::RegisterField<
5241 1,
5242 0x1,
5243 1,
5244 0,
5245 p10pfs::Pidr,
5246 p10pfs::Pidr,
5247 P10Pfs_SPEC,
5248 crate::common::R,
5249 > {
5250 crate::common::RegisterField::<
5251 1,
5252 0x1,
5253 1,
5254 0,
5255 p10pfs::Pidr,
5256 p10pfs::Pidr,
5257 P10Pfs_SPEC,
5258 crate::common::R,
5259 >::from_register(self, 0)
5260 }
5261
5262 #[doc = "Port Direction"]
5263 #[inline(always)]
5264 pub fn pdr(
5265 self,
5266 ) -> crate::common::RegisterField<
5267 2,
5268 0x1,
5269 1,
5270 0,
5271 p10pfs::Pdr,
5272 p10pfs::Pdr,
5273 P10Pfs_SPEC,
5274 crate::common::RW,
5275 > {
5276 crate::common::RegisterField::<
5277 2,
5278 0x1,
5279 1,
5280 0,
5281 p10pfs::Pdr,
5282 p10pfs::Pdr,
5283 P10Pfs_SPEC,
5284 crate::common::RW,
5285 >::from_register(self, 0)
5286 }
5287
5288 #[doc = "Pull-up Control"]
5289 #[inline(always)]
5290 pub fn pcr(
5291 self,
5292 ) -> crate::common::RegisterField<
5293 4,
5294 0x1,
5295 1,
5296 0,
5297 p10pfs::Pcr,
5298 p10pfs::Pcr,
5299 P10Pfs_SPEC,
5300 crate::common::RW,
5301 > {
5302 crate::common::RegisterField::<
5303 4,
5304 0x1,
5305 1,
5306 0,
5307 p10pfs::Pcr,
5308 p10pfs::Pcr,
5309 P10Pfs_SPEC,
5310 crate::common::RW,
5311 >::from_register(self, 0)
5312 }
5313
5314 #[doc = "N-Channel Open-Drain Control"]
5315 #[inline(always)]
5316 pub fn ncodr(
5317 self,
5318 ) -> crate::common::RegisterField<
5319 6,
5320 0x1,
5321 1,
5322 0,
5323 p10pfs::Ncodr,
5324 p10pfs::Ncodr,
5325 P10Pfs_SPEC,
5326 crate::common::RW,
5327 > {
5328 crate::common::RegisterField::<
5329 6,
5330 0x1,
5331 1,
5332 0,
5333 p10pfs::Ncodr,
5334 p10pfs::Ncodr,
5335 P10Pfs_SPEC,
5336 crate::common::RW,
5337 >::from_register(self, 0)
5338 }
5339
5340 #[doc = "Event on Falling/Event on Rising"]
5341 #[inline(always)]
5342 pub fn eofr(
5343 self,
5344 ) -> crate::common::RegisterField<
5345 12,
5346 0x3,
5347 1,
5348 0,
5349 p10pfs::Eofr,
5350 p10pfs::Eofr,
5351 P10Pfs_SPEC,
5352 crate::common::RW,
5353 > {
5354 crate::common::RegisterField::<
5355 12,
5356 0x3,
5357 1,
5358 0,
5359 p10pfs::Eofr,
5360 p10pfs::Eofr,
5361 P10Pfs_SPEC,
5362 crate::common::RW,
5363 >::from_register(self, 0)
5364 }
5365
5366 #[doc = "IRQ Input Enable"]
5367 #[inline(always)]
5368 pub fn isel(
5369 self,
5370 ) -> crate::common::RegisterField<
5371 14,
5372 0x1,
5373 1,
5374 0,
5375 p10pfs::Isel,
5376 p10pfs::Isel,
5377 P10Pfs_SPEC,
5378 crate::common::RW,
5379 > {
5380 crate::common::RegisterField::<
5381 14,
5382 0x1,
5383 1,
5384 0,
5385 p10pfs::Isel,
5386 p10pfs::Isel,
5387 P10Pfs_SPEC,
5388 crate::common::RW,
5389 >::from_register(self, 0)
5390 }
5391
5392 #[doc = "Analog Input Enable"]
5393 #[inline(always)]
5394 pub fn asel(
5395 self,
5396 ) -> crate::common::RegisterField<
5397 15,
5398 0x1,
5399 1,
5400 0,
5401 p10pfs::Asel,
5402 p10pfs::Asel,
5403 P10Pfs_SPEC,
5404 crate::common::RW,
5405 > {
5406 crate::common::RegisterField::<
5407 15,
5408 0x1,
5409 1,
5410 0,
5411 p10pfs::Asel,
5412 p10pfs::Asel,
5413 P10Pfs_SPEC,
5414 crate::common::RW,
5415 >::from_register(self, 0)
5416 }
5417
5418 #[doc = "Port Mode Control"]
5419 #[inline(always)]
5420 pub fn pmr(
5421 self,
5422 ) -> crate::common::RegisterField<
5423 16,
5424 0x1,
5425 1,
5426 0,
5427 p10pfs::Pmr,
5428 p10pfs::Pmr,
5429 P10Pfs_SPEC,
5430 crate::common::RW,
5431 > {
5432 crate::common::RegisterField::<
5433 16,
5434 0x1,
5435 1,
5436 0,
5437 p10pfs::Pmr,
5438 p10pfs::Pmr,
5439 P10Pfs_SPEC,
5440 crate::common::RW,
5441 >::from_register(self, 0)
5442 }
5443
5444 #[doc = "Peripheral Select"]
5445 #[inline(always)]
5446 pub fn psel(
5447 self,
5448 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P10Pfs_SPEC, crate::common::RW> {
5449 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P10Pfs_SPEC,crate::common::RW>::from_register(self,0)
5450 }
5451}
5452impl ::core::default::Default for P10Pfs {
5453 #[inline(always)]
5454 fn default() -> P10Pfs {
5455 <crate::RegValueT<P10Pfs_SPEC> as RegisterValue<_>>::new(0)
5456 }
5457}
5458pub mod p10pfs {
5459
5460 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5461 pub struct Podr_SPEC;
5462 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5463 impl Podr {
5464 #[doc = "Output low"]
5465 pub const _0: Self = Self::new(0);
5466
5467 #[doc = "Output high"]
5468 pub const _1: Self = Self::new(1);
5469 }
5470 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5471 pub struct Pidr_SPEC;
5472 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5473 impl Pidr {
5474 #[doc = "Low level"]
5475 pub const _0: Self = Self::new(0);
5476
5477 #[doc = "High level"]
5478 pub const _1: Self = Self::new(1);
5479 }
5480 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5481 pub struct Pdr_SPEC;
5482 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5483 impl Pdr {
5484 #[doc = "Input (functions as an input pin)"]
5485 pub const _0: Self = Self::new(0);
5486
5487 #[doc = "Output (functions as an output pin)"]
5488 pub const _1: Self = Self::new(1);
5489 }
5490 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5491 pub struct Pcr_SPEC;
5492 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5493 impl Pcr {
5494 #[doc = "Disable input pull-up"]
5495 pub const _0: Self = Self::new(0);
5496
5497 #[doc = "Enable input pull-up"]
5498 pub const _1: Self = Self::new(1);
5499 }
5500 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5501 pub struct Ncodr_SPEC;
5502 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5503 impl Ncodr {
5504 #[doc = "Output CMOS"]
5505 pub const _0: Self = Self::new(0);
5506
5507 #[doc = "Output NMOS open-drain"]
5508 pub const _1: Self = Self::new(1);
5509 }
5510 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5511 pub struct Eofr_SPEC;
5512 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
5513 impl Eofr {
5514 #[doc = "Don\'t care"]
5515 pub const _00: Self = Self::new(0);
5516
5517 #[doc = "Detect rising edge"]
5518 pub const _01: Self = Self::new(1);
5519
5520 #[doc = "Detect falling edge"]
5521 pub const _10: Self = Self::new(2);
5522
5523 #[doc = "Detect both edges"]
5524 pub const _11: Self = Self::new(3);
5525 }
5526 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5527 pub struct Isel_SPEC;
5528 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5529 impl Isel {
5530 #[doc = "Do not use as IRQn input pin"]
5531 pub const _0: Self = Self::new(0);
5532
5533 #[doc = "Use as IRQn input pin"]
5534 pub const _1: Self = Self::new(1);
5535 }
5536 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5537 pub struct Asel_SPEC;
5538 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5539 impl Asel {
5540 #[doc = "Do not use as analog pin"]
5541 pub const _0: Self = Self::new(0);
5542
5543 #[doc = "Use as analog pin"]
5544 pub const _1: Self = Self::new(1);
5545 }
5546 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5547 pub struct Pmr_SPEC;
5548 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
5549 impl Pmr {
5550 #[doc = "Use as general I/O pin"]
5551 pub const _0: Self = Self::new(0);
5552
5553 #[doc = "Use as I/O port for peripheral functions"]
5554 pub const _1: Self = Self::new(1);
5555 }
5556}
5557#[doc(hidden)]
5558#[derive(Copy, Clone, Eq, PartialEq)]
5559pub struct P10PfsHa_SPEC;
5560impl crate::sealed::RegSpec for P10PfsHa_SPEC {
5561 type DataType = u16;
5562}
5563
5564#[doc = "Port 10%s Pin Function Select Register"]
5565pub type P10PfsHa = crate::RegValueT<P10PfsHa_SPEC>;
5566
5567impl P10PfsHa {
5568 #[doc = "Port Output Data"]
5569 #[inline(always)]
5570 pub fn podr(
5571 self,
5572 ) -> crate::common::RegisterField<
5573 0,
5574 0x1,
5575 1,
5576 0,
5577 p10pfs_ha::Podr,
5578 p10pfs_ha::Podr,
5579 P10PfsHa_SPEC,
5580 crate::common::RW,
5581 > {
5582 crate::common::RegisterField::<
5583 0,
5584 0x1,
5585 1,
5586 0,
5587 p10pfs_ha::Podr,
5588 p10pfs_ha::Podr,
5589 P10PfsHa_SPEC,
5590 crate::common::RW,
5591 >::from_register(self, 0)
5592 }
5593
5594 #[doc = "Port State"]
5595 #[inline(always)]
5596 pub fn pidr(
5597 self,
5598 ) -> crate::common::RegisterField<
5599 1,
5600 0x1,
5601 1,
5602 0,
5603 p10pfs_ha::Pidr,
5604 p10pfs_ha::Pidr,
5605 P10PfsHa_SPEC,
5606 crate::common::R,
5607 > {
5608 crate::common::RegisterField::<
5609 1,
5610 0x1,
5611 1,
5612 0,
5613 p10pfs_ha::Pidr,
5614 p10pfs_ha::Pidr,
5615 P10PfsHa_SPEC,
5616 crate::common::R,
5617 >::from_register(self, 0)
5618 }
5619
5620 #[doc = "Port Direction"]
5621 #[inline(always)]
5622 pub fn pdr(
5623 self,
5624 ) -> crate::common::RegisterField<
5625 2,
5626 0x1,
5627 1,
5628 0,
5629 p10pfs_ha::Pdr,
5630 p10pfs_ha::Pdr,
5631 P10PfsHa_SPEC,
5632 crate::common::RW,
5633 > {
5634 crate::common::RegisterField::<
5635 2,
5636 0x1,
5637 1,
5638 0,
5639 p10pfs_ha::Pdr,
5640 p10pfs_ha::Pdr,
5641 P10PfsHa_SPEC,
5642 crate::common::RW,
5643 >::from_register(self, 0)
5644 }
5645
5646 #[doc = "Pull-up Control"]
5647 #[inline(always)]
5648 pub fn pcr(
5649 self,
5650 ) -> crate::common::RegisterField<
5651 4,
5652 0x1,
5653 1,
5654 0,
5655 p10pfs_ha::Pcr,
5656 p10pfs_ha::Pcr,
5657 P10PfsHa_SPEC,
5658 crate::common::RW,
5659 > {
5660 crate::common::RegisterField::<
5661 4,
5662 0x1,
5663 1,
5664 0,
5665 p10pfs_ha::Pcr,
5666 p10pfs_ha::Pcr,
5667 P10PfsHa_SPEC,
5668 crate::common::RW,
5669 >::from_register(self, 0)
5670 }
5671
5672 #[doc = "N-Channel Open-Drain Control"]
5673 #[inline(always)]
5674 pub fn ncodr(
5675 self,
5676 ) -> crate::common::RegisterField<
5677 6,
5678 0x1,
5679 1,
5680 0,
5681 p10pfs_ha::Ncodr,
5682 p10pfs_ha::Ncodr,
5683 P10PfsHa_SPEC,
5684 crate::common::RW,
5685 > {
5686 crate::common::RegisterField::<
5687 6,
5688 0x1,
5689 1,
5690 0,
5691 p10pfs_ha::Ncodr,
5692 p10pfs_ha::Ncodr,
5693 P10PfsHa_SPEC,
5694 crate::common::RW,
5695 >::from_register(self, 0)
5696 }
5697
5698 #[doc = "Event on Falling/Event on Rising"]
5699 #[inline(always)]
5700 pub fn eofr(
5701 self,
5702 ) -> crate::common::RegisterField<
5703 12,
5704 0x3,
5705 1,
5706 0,
5707 p10pfs_ha::Eofr,
5708 p10pfs_ha::Eofr,
5709 P10PfsHa_SPEC,
5710 crate::common::RW,
5711 > {
5712 crate::common::RegisterField::<
5713 12,
5714 0x3,
5715 1,
5716 0,
5717 p10pfs_ha::Eofr,
5718 p10pfs_ha::Eofr,
5719 P10PfsHa_SPEC,
5720 crate::common::RW,
5721 >::from_register(self, 0)
5722 }
5723
5724 #[doc = "IRQ Input Enable"]
5725 #[inline(always)]
5726 pub fn isel(
5727 self,
5728 ) -> crate::common::RegisterField<
5729 14,
5730 0x1,
5731 1,
5732 0,
5733 p10pfs_ha::Isel,
5734 p10pfs_ha::Isel,
5735 P10PfsHa_SPEC,
5736 crate::common::RW,
5737 > {
5738 crate::common::RegisterField::<
5739 14,
5740 0x1,
5741 1,
5742 0,
5743 p10pfs_ha::Isel,
5744 p10pfs_ha::Isel,
5745 P10PfsHa_SPEC,
5746 crate::common::RW,
5747 >::from_register(self, 0)
5748 }
5749
5750 #[doc = "Analog Input Enable"]
5751 #[inline(always)]
5752 pub fn asel(
5753 self,
5754 ) -> crate::common::RegisterField<
5755 15,
5756 0x1,
5757 1,
5758 0,
5759 p10pfs_ha::Asel,
5760 p10pfs_ha::Asel,
5761 P10PfsHa_SPEC,
5762 crate::common::RW,
5763 > {
5764 crate::common::RegisterField::<
5765 15,
5766 0x1,
5767 1,
5768 0,
5769 p10pfs_ha::Asel,
5770 p10pfs_ha::Asel,
5771 P10PfsHa_SPEC,
5772 crate::common::RW,
5773 >::from_register(self, 0)
5774 }
5775}
5776impl ::core::default::Default for P10PfsHa {
5777 #[inline(always)]
5778 fn default() -> P10PfsHa {
5779 <crate::RegValueT<P10PfsHa_SPEC> as RegisterValue<_>>::new(0)
5780 }
5781}
5782pub mod p10pfs_ha {
5783
5784 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5785 pub struct Podr_SPEC;
5786 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5787 impl Podr {
5788 #[doc = "Output low"]
5789 pub const _0: Self = Self::new(0);
5790
5791 #[doc = "Output high"]
5792 pub const _1: Self = Self::new(1);
5793 }
5794 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5795 pub struct Pidr_SPEC;
5796 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5797 impl Pidr {
5798 #[doc = "Low level"]
5799 pub const _0: Self = Self::new(0);
5800
5801 #[doc = "High level"]
5802 pub const _1: Self = Self::new(1);
5803 }
5804 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5805 pub struct Pdr_SPEC;
5806 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5807 impl Pdr {
5808 #[doc = "Input (functions as an input pin)"]
5809 pub const _0: Self = Self::new(0);
5810
5811 #[doc = "Output (functions as an output pin)"]
5812 pub const _1: Self = Self::new(1);
5813 }
5814 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5815 pub struct Pcr_SPEC;
5816 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5817 impl Pcr {
5818 #[doc = "Disable input pull-up"]
5819 pub const _0: Self = Self::new(0);
5820
5821 #[doc = "Enable input pull-up"]
5822 pub const _1: Self = Self::new(1);
5823 }
5824 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5825 pub struct Ncodr_SPEC;
5826 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5827 impl Ncodr {
5828 #[doc = "Output CMOS"]
5829 pub const _0: Self = Self::new(0);
5830
5831 #[doc = "Output NMOS open-drain"]
5832 pub const _1: Self = Self::new(1);
5833 }
5834 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5835 pub struct Eofr_SPEC;
5836 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
5837 impl Eofr {
5838 #[doc = "Don\'t care"]
5839 pub const _00: Self = Self::new(0);
5840
5841 #[doc = "Detect rising edge"]
5842 pub const _01: Self = Self::new(1);
5843
5844 #[doc = "Detect falling edge"]
5845 pub const _10: Self = Self::new(2);
5846
5847 #[doc = "Detect both edges"]
5848 pub const _11: Self = Self::new(3);
5849 }
5850 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5851 pub struct Isel_SPEC;
5852 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5853 impl Isel {
5854 #[doc = "Do not use as IRQn input pin"]
5855 pub const _0: Self = Self::new(0);
5856
5857 #[doc = "Use as IRQn input pin"]
5858 pub const _1: Self = Self::new(1);
5859 }
5860 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5861 pub struct Asel_SPEC;
5862 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5863 impl Asel {
5864 #[doc = "Do not use as analog pin"]
5865 pub const _0: Self = Self::new(0);
5866
5867 #[doc = "Use as analog pin"]
5868 pub const _1: Self = Self::new(1);
5869 }
5870}
5871#[doc(hidden)]
5872#[derive(Copy, Clone, Eq, PartialEq)]
5873pub struct P10PfsBy_SPEC;
5874impl crate::sealed::RegSpec for P10PfsBy_SPEC {
5875 type DataType = u8;
5876}
5877
5878#[doc = "Port 10%s Pin Function Select Register"]
5879pub type P10PfsBy = crate::RegValueT<P10PfsBy_SPEC>;
5880
5881impl P10PfsBy {
5882 #[doc = "Port Output Data"]
5883 #[inline(always)]
5884 pub fn podr(
5885 self,
5886 ) -> crate::common::RegisterField<
5887 0,
5888 0x1,
5889 1,
5890 0,
5891 p10pfs_by::Podr,
5892 p10pfs_by::Podr,
5893 P10PfsBy_SPEC,
5894 crate::common::RW,
5895 > {
5896 crate::common::RegisterField::<
5897 0,
5898 0x1,
5899 1,
5900 0,
5901 p10pfs_by::Podr,
5902 p10pfs_by::Podr,
5903 P10PfsBy_SPEC,
5904 crate::common::RW,
5905 >::from_register(self, 0)
5906 }
5907
5908 #[doc = "Port State"]
5909 #[inline(always)]
5910 pub fn pidr(
5911 self,
5912 ) -> crate::common::RegisterField<
5913 1,
5914 0x1,
5915 1,
5916 0,
5917 p10pfs_by::Pidr,
5918 p10pfs_by::Pidr,
5919 P10PfsBy_SPEC,
5920 crate::common::R,
5921 > {
5922 crate::common::RegisterField::<
5923 1,
5924 0x1,
5925 1,
5926 0,
5927 p10pfs_by::Pidr,
5928 p10pfs_by::Pidr,
5929 P10PfsBy_SPEC,
5930 crate::common::R,
5931 >::from_register(self, 0)
5932 }
5933
5934 #[doc = "Port Direction"]
5935 #[inline(always)]
5936 pub fn pdr(
5937 self,
5938 ) -> crate::common::RegisterField<
5939 2,
5940 0x1,
5941 1,
5942 0,
5943 p10pfs_by::Pdr,
5944 p10pfs_by::Pdr,
5945 P10PfsBy_SPEC,
5946 crate::common::RW,
5947 > {
5948 crate::common::RegisterField::<
5949 2,
5950 0x1,
5951 1,
5952 0,
5953 p10pfs_by::Pdr,
5954 p10pfs_by::Pdr,
5955 P10PfsBy_SPEC,
5956 crate::common::RW,
5957 >::from_register(self, 0)
5958 }
5959
5960 #[doc = "Pull-up Control"]
5961 #[inline(always)]
5962 pub fn pcr(
5963 self,
5964 ) -> crate::common::RegisterField<
5965 4,
5966 0x1,
5967 1,
5968 0,
5969 p10pfs_by::Pcr,
5970 p10pfs_by::Pcr,
5971 P10PfsBy_SPEC,
5972 crate::common::RW,
5973 > {
5974 crate::common::RegisterField::<
5975 4,
5976 0x1,
5977 1,
5978 0,
5979 p10pfs_by::Pcr,
5980 p10pfs_by::Pcr,
5981 P10PfsBy_SPEC,
5982 crate::common::RW,
5983 >::from_register(self, 0)
5984 }
5985
5986 #[doc = "N-Channel Open-Drain Control"]
5987 #[inline(always)]
5988 pub fn ncodr(
5989 self,
5990 ) -> crate::common::RegisterField<
5991 6,
5992 0x1,
5993 1,
5994 0,
5995 p10pfs_by::Ncodr,
5996 p10pfs_by::Ncodr,
5997 P10PfsBy_SPEC,
5998 crate::common::RW,
5999 > {
6000 crate::common::RegisterField::<
6001 6,
6002 0x1,
6003 1,
6004 0,
6005 p10pfs_by::Ncodr,
6006 p10pfs_by::Ncodr,
6007 P10PfsBy_SPEC,
6008 crate::common::RW,
6009 >::from_register(self, 0)
6010 }
6011}
6012impl ::core::default::Default for P10PfsBy {
6013 #[inline(always)]
6014 fn default() -> P10PfsBy {
6015 <crate::RegValueT<P10PfsBy_SPEC> as RegisterValue<_>>::new(0)
6016 }
6017}
6018pub mod p10pfs_by {
6019
6020 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6021 pub struct Podr_SPEC;
6022 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6023 impl Podr {
6024 #[doc = "Output low"]
6025 pub const _0: Self = Self::new(0);
6026
6027 #[doc = "Output high"]
6028 pub const _1: Self = Self::new(1);
6029 }
6030 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6031 pub struct Pidr_SPEC;
6032 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6033 impl Pidr {
6034 #[doc = "Low level"]
6035 pub const _0: Self = Self::new(0);
6036
6037 #[doc = "High level"]
6038 pub const _1: Self = Self::new(1);
6039 }
6040 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6041 pub struct Pdr_SPEC;
6042 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6043 impl Pdr {
6044 #[doc = "Input (functions as an input pin)"]
6045 pub const _0: Self = Self::new(0);
6046
6047 #[doc = "Output (functions as an output pin)"]
6048 pub const _1: Self = Self::new(1);
6049 }
6050 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6051 pub struct Pcr_SPEC;
6052 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6053 impl Pcr {
6054 #[doc = "Disable input pull-up"]
6055 pub const _0: Self = Self::new(0);
6056
6057 #[doc = "Enable input pull-up"]
6058 pub const _1: Self = Self::new(1);
6059 }
6060 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6061 pub struct Ncodr_SPEC;
6062 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6063 impl Ncodr {
6064 #[doc = "Output CMOS"]
6065 pub const _0: Self = Self::new(0);
6066
6067 #[doc = "Output NMOS open-drain"]
6068 pub const _1: Self = Self::new(1);
6069 }
6070}
6071#[doc(hidden)]
6072#[derive(Copy, Clone, Eq, PartialEq)]
6073pub struct P1Pfs_SPEC;
6074impl crate::sealed::RegSpec for P1Pfs_SPEC {
6075 type DataType = u32;
6076}
6077
6078#[doc = "Port 1%s Pin Function Select Register"]
6079pub type P1Pfs = crate::RegValueT<P1Pfs_SPEC>;
6080
6081impl P1Pfs {
6082 #[doc = "Port Output Data"]
6083 #[inline(always)]
6084 pub fn podr(
6085 self,
6086 ) -> crate::common::RegisterField<
6087 0,
6088 0x1,
6089 1,
6090 0,
6091 p1pfs::Podr,
6092 p1pfs::Podr,
6093 P1Pfs_SPEC,
6094 crate::common::RW,
6095 > {
6096 crate::common::RegisterField::<
6097 0,
6098 0x1,
6099 1,
6100 0,
6101 p1pfs::Podr,
6102 p1pfs::Podr,
6103 P1Pfs_SPEC,
6104 crate::common::RW,
6105 >::from_register(self, 0)
6106 }
6107
6108 #[doc = "Port State"]
6109 #[inline(always)]
6110 pub fn pidr(
6111 self,
6112 ) -> crate::common::RegisterField<
6113 1,
6114 0x1,
6115 1,
6116 0,
6117 p1pfs::Pidr,
6118 p1pfs::Pidr,
6119 P1Pfs_SPEC,
6120 crate::common::R,
6121 > {
6122 crate::common::RegisterField::<
6123 1,
6124 0x1,
6125 1,
6126 0,
6127 p1pfs::Pidr,
6128 p1pfs::Pidr,
6129 P1Pfs_SPEC,
6130 crate::common::R,
6131 >::from_register(self, 0)
6132 }
6133
6134 #[doc = "Port Direction"]
6135 #[inline(always)]
6136 pub fn pdr(
6137 self,
6138 ) -> crate::common::RegisterField<
6139 2,
6140 0x1,
6141 1,
6142 0,
6143 p1pfs::Pdr,
6144 p1pfs::Pdr,
6145 P1Pfs_SPEC,
6146 crate::common::RW,
6147 > {
6148 crate::common::RegisterField::<
6149 2,
6150 0x1,
6151 1,
6152 0,
6153 p1pfs::Pdr,
6154 p1pfs::Pdr,
6155 P1Pfs_SPEC,
6156 crate::common::RW,
6157 >::from_register(self, 0)
6158 }
6159
6160 #[doc = "Pull-up Control"]
6161 #[inline(always)]
6162 pub fn pcr(
6163 self,
6164 ) -> crate::common::RegisterField<
6165 4,
6166 0x1,
6167 1,
6168 0,
6169 p1pfs::Pcr,
6170 p1pfs::Pcr,
6171 P1Pfs_SPEC,
6172 crate::common::RW,
6173 > {
6174 crate::common::RegisterField::<
6175 4,
6176 0x1,
6177 1,
6178 0,
6179 p1pfs::Pcr,
6180 p1pfs::Pcr,
6181 P1Pfs_SPEC,
6182 crate::common::RW,
6183 >::from_register(self, 0)
6184 }
6185
6186 #[doc = "N-Channel Open-Drain Control"]
6187 #[inline(always)]
6188 pub fn ncodr(
6189 self,
6190 ) -> crate::common::RegisterField<
6191 6,
6192 0x1,
6193 1,
6194 0,
6195 p1pfs::Ncodr,
6196 p1pfs::Ncodr,
6197 P1Pfs_SPEC,
6198 crate::common::RW,
6199 > {
6200 crate::common::RegisterField::<
6201 6,
6202 0x1,
6203 1,
6204 0,
6205 p1pfs::Ncodr,
6206 p1pfs::Ncodr,
6207 P1Pfs_SPEC,
6208 crate::common::RW,
6209 >::from_register(self, 0)
6210 }
6211
6212 #[doc = "Event on Falling/Event on Rising"]
6213 #[inline(always)]
6214 pub fn eofr(
6215 self,
6216 ) -> crate::common::RegisterField<
6217 12,
6218 0x3,
6219 1,
6220 0,
6221 p1pfs::Eofr,
6222 p1pfs::Eofr,
6223 P1Pfs_SPEC,
6224 crate::common::RW,
6225 > {
6226 crate::common::RegisterField::<
6227 12,
6228 0x3,
6229 1,
6230 0,
6231 p1pfs::Eofr,
6232 p1pfs::Eofr,
6233 P1Pfs_SPEC,
6234 crate::common::RW,
6235 >::from_register(self, 0)
6236 }
6237
6238 #[doc = "IRQ Input Enable"]
6239 #[inline(always)]
6240 pub fn isel(
6241 self,
6242 ) -> crate::common::RegisterField<
6243 14,
6244 0x1,
6245 1,
6246 0,
6247 p1pfs::Isel,
6248 p1pfs::Isel,
6249 P1Pfs_SPEC,
6250 crate::common::RW,
6251 > {
6252 crate::common::RegisterField::<
6253 14,
6254 0x1,
6255 1,
6256 0,
6257 p1pfs::Isel,
6258 p1pfs::Isel,
6259 P1Pfs_SPEC,
6260 crate::common::RW,
6261 >::from_register(self, 0)
6262 }
6263
6264 #[doc = "Analog Input Enable"]
6265 #[inline(always)]
6266 pub fn asel(
6267 self,
6268 ) -> crate::common::RegisterField<
6269 15,
6270 0x1,
6271 1,
6272 0,
6273 p1pfs::Asel,
6274 p1pfs::Asel,
6275 P1Pfs_SPEC,
6276 crate::common::RW,
6277 > {
6278 crate::common::RegisterField::<
6279 15,
6280 0x1,
6281 1,
6282 0,
6283 p1pfs::Asel,
6284 p1pfs::Asel,
6285 P1Pfs_SPEC,
6286 crate::common::RW,
6287 >::from_register(self, 0)
6288 }
6289
6290 #[doc = "Port Mode Control"]
6291 #[inline(always)]
6292 pub fn pmr(
6293 self,
6294 ) -> crate::common::RegisterField<
6295 16,
6296 0x1,
6297 1,
6298 0,
6299 p1pfs::Pmr,
6300 p1pfs::Pmr,
6301 P1Pfs_SPEC,
6302 crate::common::RW,
6303 > {
6304 crate::common::RegisterField::<
6305 16,
6306 0x1,
6307 1,
6308 0,
6309 p1pfs::Pmr,
6310 p1pfs::Pmr,
6311 P1Pfs_SPEC,
6312 crate::common::RW,
6313 >::from_register(self, 0)
6314 }
6315
6316 #[doc = "Peripheral Select"]
6317 #[inline(always)]
6318 pub fn psel(
6319 self,
6320 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P1Pfs_SPEC, crate::common::RW> {
6321 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P1Pfs_SPEC,crate::common::RW>::from_register(self,0)
6322 }
6323}
6324impl ::core::default::Default for P1Pfs {
6325 #[inline(always)]
6326 fn default() -> P1Pfs {
6327 <crate::RegValueT<P1Pfs_SPEC> as RegisterValue<_>>::new(0)
6328 }
6329}
6330pub mod p1pfs {
6331
6332 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6333 pub struct Podr_SPEC;
6334 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6335 impl Podr {
6336 #[doc = "Output low"]
6337 pub const _0: Self = Self::new(0);
6338
6339 #[doc = "Output high"]
6340 pub const _1: Self = Self::new(1);
6341 }
6342 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6343 pub struct Pidr_SPEC;
6344 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6345 impl Pidr {
6346 #[doc = "Low level"]
6347 pub const _0: Self = Self::new(0);
6348
6349 #[doc = "High level"]
6350 pub const _1: Self = Self::new(1);
6351 }
6352 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6353 pub struct Pdr_SPEC;
6354 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6355 impl Pdr {
6356 #[doc = "Input (functions as an input pin)"]
6357 pub const _0: Self = Self::new(0);
6358
6359 #[doc = "Output (functions as an output pin)"]
6360 pub const _1: Self = Self::new(1);
6361 }
6362 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6363 pub struct Pcr_SPEC;
6364 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6365 impl Pcr {
6366 #[doc = "Disable input pull-up"]
6367 pub const _0: Self = Self::new(0);
6368
6369 #[doc = "Enable input pull-up"]
6370 pub const _1: Self = Self::new(1);
6371 }
6372 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6373 pub struct Ncodr_SPEC;
6374 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6375 impl Ncodr {
6376 #[doc = "Output CMOS"]
6377 pub const _0: Self = Self::new(0);
6378
6379 #[doc = "Output NMOS open-drain"]
6380 pub const _1: Self = Self::new(1);
6381 }
6382 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6383 pub struct Eofr_SPEC;
6384 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
6385 impl Eofr {
6386 #[doc = "Don\'t care"]
6387 pub const _00: Self = Self::new(0);
6388
6389 #[doc = "Detect rising edge"]
6390 pub const _01: Self = Self::new(1);
6391
6392 #[doc = "Detect falling edge"]
6393 pub const _10: Self = Self::new(2);
6394
6395 #[doc = "Detect both edges"]
6396 pub const _11: Self = Self::new(3);
6397 }
6398 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6399 pub struct Isel_SPEC;
6400 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6401 impl Isel {
6402 #[doc = "Do not use as IRQn input pin"]
6403 pub const _0: Self = Self::new(0);
6404
6405 #[doc = "Use as IRQn input pin"]
6406 pub const _1: Self = Self::new(1);
6407 }
6408 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6409 pub struct Asel_SPEC;
6410 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6411 impl Asel {
6412 #[doc = "Do not use as analog pin"]
6413 pub const _0: Self = Self::new(0);
6414
6415 #[doc = "Use as analog pin"]
6416 pub const _1: Self = Self::new(1);
6417 }
6418 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6419 pub struct Pmr_SPEC;
6420 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
6421 impl Pmr {
6422 #[doc = "Use as general I/O pin"]
6423 pub const _0: Self = Self::new(0);
6424
6425 #[doc = "Use as I/O port for peripheral functions"]
6426 pub const _1: Self = Self::new(1);
6427 }
6428}
6429#[doc(hidden)]
6430#[derive(Copy, Clone, Eq, PartialEq)]
6431pub struct P1PfsHa_SPEC;
6432impl crate::sealed::RegSpec for P1PfsHa_SPEC {
6433 type DataType = u16;
6434}
6435
6436#[doc = "Port 1%s Pin Function Select Register"]
6437pub type P1PfsHa = crate::RegValueT<P1PfsHa_SPEC>;
6438
6439impl P1PfsHa {
6440 #[doc = "Port Output Data"]
6441 #[inline(always)]
6442 pub fn podr(
6443 self,
6444 ) -> crate::common::RegisterField<
6445 0,
6446 0x1,
6447 1,
6448 0,
6449 p1pfs_ha::Podr,
6450 p1pfs_ha::Podr,
6451 P1PfsHa_SPEC,
6452 crate::common::RW,
6453 > {
6454 crate::common::RegisterField::<
6455 0,
6456 0x1,
6457 1,
6458 0,
6459 p1pfs_ha::Podr,
6460 p1pfs_ha::Podr,
6461 P1PfsHa_SPEC,
6462 crate::common::RW,
6463 >::from_register(self, 0)
6464 }
6465
6466 #[doc = "Port State"]
6467 #[inline(always)]
6468 pub fn pidr(
6469 self,
6470 ) -> crate::common::RegisterField<
6471 1,
6472 0x1,
6473 1,
6474 0,
6475 p1pfs_ha::Pidr,
6476 p1pfs_ha::Pidr,
6477 P1PfsHa_SPEC,
6478 crate::common::R,
6479 > {
6480 crate::common::RegisterField::<
6481 1,
6482 0x1,
6483 1,
6484 0,
6485 p1pfs_ha::Pidr,
6486 p1pfs_ha::Pidr,
6487 P1PfsHa_SPEC,
6488 crate::common::R,
6489 >::from_register(self, 0)
6490 }
6491
6492 #[doc = "Port Direction"]
6493 #[inline(always)]
6494 pub fn pdr(
6495 self,
6496 ) -> crate::common::RegisterField<
6497 2,
6498 0x1,
6499 1,
6500 0,
6501 p1pfs_ha::Pdr,
6502 p1pfs_ha::Pdr,
6503 P1PfsHa_SPEC,
6504 crate::common::RW,
6505 > {
6506 crate::common::RegisterField::<
6507 2,
6508 0x1,
6509 1,
6510 0,
6511 p1pfs_ha::Pdr,
6512 p1pfs_ha::Pdr,
6513 P1PfsHa_SPEC,
6514 crate::common::RW,
6515 >::from_register(self, 0)
6516 }
6517
6518 #[doc = "Pull-up Control"]
6519 #[inline(always)]
6520 pub fn pcr(
6521 self,
6522 ) -> crate::common::RegisterField<
6523 4,
6524 0x1,
6525 1,
6526 0,
6527 p1pfs_ha::Pcr,
6528 p1pfs_ha::Pcr,
6529 P1PfsHa_SPEC,
6530 crate::common::RW,
6531 > {
6532 crate::common::RegisterField::<
6533 4,
6534 0x1,
6535 1,
6536 0,
6537 p1pfs_ha::Pcr,
6538 p1pfs_ha::Pcr,
6539 P1PfsHa_SPEC,
6540 crate::common::RW,
6541 >::from_register(self, 0)
6542 }
6543
6544 #[doc = "N-Channel Open-Drain Control"]
6545 #[inline(always)]
6546 pub fn ncodr(
6547 self,
6548 ) -> crate::common::RegisterField<
6549 6,
6550 0x1,
6551 1,
6552 0,
6553 p1pfs_ha::Ncodr,
6554 p1pfs_ha::Ncodr,
6555 P1PfsHa_SPEC,
6556 crate::common::RW,
6557 > {
6558 crate::common::RegisterField::<
6559 6,
6560 0x1,
6561 1,
6562 0,
6563 p1pfs_ha::Ncodr,
6564 p1pfs_ha::Ncodr,
6565 P1PfsHa_SPEC,
6566 crate::common::RW,
6567 >::from_register(self, 0)
6568 }
6569
6570 #[doc = "Event on Falling/Event on Rising"]
6571 #[inline(always)]
6572 pub fn eofr(
6573 self,
6574 ) -> crate::common::RegisterField<
6575 12,
6576 0x3,
6577 1,
6578 0,
6579 p1pfs_ha::Eofr,
6580 p1pfs_ha::Eofr,
6581 P1PfsHa_SPEC,
6582 crate::common::RW,
6583 > {
6584 crate::common::RegisterField::<
6585 12,
6586 0x3,
6587 1,
6588 0,
6589 p1pfs_ha::Eofr,
6590 p1pfs_ha::Eofr,
6591 P1PfsHa_SPEC,
6592 crate::common::RW,
6593 >::from_register(self, 0)
6594 }
6595
6596 #[doc = "IRQ Input Enable"]
6597 #[inline(always)]
6598 pub fn isel(
6599 self,
6600 ) -> crate::common::RegisterField<
6601 14,
6602 0x1,
6603 1,
6604 0,
6605 p1pfs_ha::Isel,
6606 p1pfs_ha::Isel,
6607 P1PfsHa_SPEC,
6608 crate::common::RW,
6609 > {
6610 crate::common::RegisterField::<
6611 14,
6612 0x1,
6613 1,
6614 0,
6615 p1pfs_ha::Isel,
6616 p1pfs_ha::Isel,
6617 P1PfsHa_SPEC,
6618 crate::common::RW,
6619 >::from_register(self, 0)
6620 }
6621
6622 #[doc = "Analog Input Enable"]
6623 #[inline(always)]
6624 pub fn asel(
6625 self,
6626 ) -> crate::common::RegisterField<
6627 15,
6628 0x1,
6629 1,
6630 0,
6631 p1pfs_ha::Asel,
6632 p1pfs_ha::Asel,
6633 P1PfsHa_SPEC,
6634 crate::common::RW,
6635 > {
6636 crate::common::RegisterField::<
6637 15,
6638 0x1,
6639 1,
6640 0,
6641 p1pfs_ha::Asel,
6642 p1pfs_ha::Asel,
6643 P1PfsHa_SPEC,
6644 crate::common::RW,
6645 >::from_register(self, 0)
6646 }
6647}
6648impl ::core::default::Default for P1PfsHa {
6649 #[inline(always)]
6650 fn default() -> P1PfsHa {
6651 <crate::RegValueT<P1PfsHa_SPEC> as RegisterValue<_>>::new(0)
6652 }
6653}
6654pub mod p1pfs_ha {
6655
6656 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6657 pub struct Podr_SPEC;
6658 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6659 impl Podr {
6660 #[doc = "Output low"]
6661 pub const _0: Self = Self::new(0);
6662
6663 #[doc = "Output high"]
6664 pub const _1: Self = Self::new(1);
6665 }
6666 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6667 pub struct Pidr_SPEC;
6668 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6669 impl Pidr {
6670 #[doc = "Low level"]
6671 pub const _0: Self = Self::new(0);
6672
6673 #[doc = "High level"]
6674 pub const _1: Self = Self::new(1);
6675 }
6676 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6677 pub struct Pdr_SPEC;
6678 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6679 impl Pdr {
6680 #[doc = "Input (functions as an input pin)"]
6681 pub const _0: Self = Self::new(0);
6682
6683 #[doc = "Output (functions as an output pin)"]
6684 pub const _1: Self = Self::new(1);
6685 }
6686 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6687 pub struct Pcr_SPEC;
6688 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6689 impl Pcr {
6690 #[doc = "Disable input pull-up"]
6691 pub const _0: Self = Self::new(0);
6692
6693 #[doc = "Enable input pull-up"]
6694 pub const _1: Self = Self::new(1);
6695 }
6696 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6697 pub struct Ncodr_SPEC;
6698 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6699 impl Ncodr {
6700 #[doc = "Output CMOS"]
6701 pub const _0: Self = Self::new(0);
6702
6703 #[doc = "Output NMOS open-drain"]
6704 pub const _1: Self = Self::new(1);
6705 }
6706 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6707 pub struct Eofr_SPEC;
6708 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
6709 impl Eofr {
6710 #[doc = "Don\'t care"]
6711 pub const _00: Self = Self::new(0);
6712
6713 #[doc = "Detect rising edge"]
6714 pub const _01: Self = Self::new(1);
6715
6716 #[doc = "Detect falling edge"]
6717 pub const _10: Self = Self::new(2);
6718
6719 #[doc = "Detect both edges"]
6720 pub const _11: Self = Self::new(3);
6721 }
6722 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6723 pub struct Isel_SPEC;
6724 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6725 impl Isel {
6726 #[doc = "Do not use as IRQn input pin"]
6727 pub const _0: Self = Self::new(0);
6728
6729 #[doc = "Use as IRQn input pin"]
6730 pub const _1: Self = Self::new(1);
6731 }
6732 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6733 pub struct Asel_SPEC;
6734 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6735 impl Asel {
6736 #[doc = "Do not use as analog pin"]
6737 pub const _0: Self = Self::new(0);
6738
6739 #[doc = "Use as analog pin"]
6740 pub const _1: Self = Self::new(1);
6741 }
6742}
6743#[doc(hidden)]
6744#[derive(Copy, Clone, Eq, PartialEq)]
6745pub struct P1PfsBy_SPEC;
6746impl crate::sealed::RegSpec for P1PfsBy_SPEC {
6747 type DataType = u8;
6748}
6749
6750#[doc = "Port 1%s Pin Function Select Register"]
6751pub type P1PfsBy = crate::RegValueT<P1PfsBy_SPEC>;
6752
6753impl P1PfsBy {
6754 #[doc = "Port Output Data"]
6755 #[inline(always)]
6756 pub fn podr(
6757 self,
6758 ) -> crate::common::RegisterField<
6759 0,
6760 0x1,
6761 1,
6762 0,
6763 p1pfs_by::Podr,
6764 p1pfs_by::Podr,
6765 P1PfsBy_SPEC,
6766 crate::common::RW,
6767 > {
6768 crate::common::RegisterField::<
6769 0,
6770 0x1,
6771 1,
6772 0,
6773 p1pfs_by::Podr,
6774 p1pfs_by::Podr,
6775 P1PfsBy_SPEC,
6776 crate::common::RW,
6777 >::from_register(self, 0)
6778 }
6779
6780 #[doc = "Port State"]
6781 #[inline(always)]
6782 pub fn pidr(
6783 self,
6784 ) -> crate::common::RegisterField<
6785 1,
6786 0x1,
6787 1,
6788 0,
6789 p1pfs_by::Pidr,
6790 p1pfs_by::Pidr,
6791 P1PfsBy_SPEC,
6792 crate::common::R,
6793 > {
6794 crate::common::RegisterField::<
6795 1,
6796 0x1,
6797 1,
6798 0,
6799 p1pfs_by::Pidr,
6800 p1pfs_by::Pidr,
6801 P1PfsBy_SPEC,
6802 crate::common::R,
6803 >::from_register(self, 0)
6804 }
6805
6806 #[doc = "Port Direction"]
6807 #[inline(always)]
6808 pub fn pdr(
6809 self,
6810 ) -> crate::common::RegisterField<
6811 2,
6812 0x1,
6813 1,
6814 0,
6815 p1pfs_by::Pdr,
6816 p1pfs_by::Pdr,
6817 P1PfsBy_SPEC,
6818 crate::common::RW,
6819 > {
6820 crate::common::RegisterField::<
6821 2,
6822 0x1,
6823 1,
6824 0,
6825 p1pfs_by::Pdr,
6826 p1pfs_by::Pdr,
6827 P1PfsBy_SPEC,
6828 crate::common::RW,
6829 >::from_register(self, 0)
6830 }
6831
6832 #[doc = "Pull-up Control"]
6833 #[inline(always)]
6834 pub fn pcr(
6835 self,
6836 ) -> crate::common::RegisterField<
6837 4,
6838 0x1,
6839 1,
6840 0,
6841 p1pfs_by::Pcr,
6842 p1pfs_by::Pcr,
6843 P1PfsBy_SPEC,
6844 crate::common::RW,
6845 > {
6846 crate::common::RegisterField::<
6847 4,
6848 0x1,
6849 1,
6850 0,
6851 p1pfs_by::Pcr,
6852 p1pfs_by::Pcr,
6853 P1PfsBy_SPEC,
6854 crate::common::RW,
6855 >::from_register(self, 0)
6856 }
6857
6858 #[doc = "N-Channel Open-Drain Control"]
6859 #[inline(always)]
6860 pub fn ncodr(
6861 self,
6862 ) -> crate::common::RegisterField<
6863 6,
6864 0x1,
6865 1,
6866 0,
6867 p1pfs_by::Ncodr,
6868 p1pfs_by::Ncodr,
6869 P1PfsBy_SPEC,
6870 crate::common::RW,
6871 > {
6872 crate::common::RegisterField::<
6873 6,
6874 0x1,
6875 1,
6876 0,
6877 p1pfs_by::Ncodr,
6878 p1pfs_by::Ncodr,
6879 P1PfsBy_SPEC,
6880 crate::common::RW,
6881 >::from_register(self, 0)
6882 }
6883}
6884impl ::core::default::Default for P1PfsBy {
6885 #[inline(always)]
6886 fn default() -> P1PfsBy {
6887 <crate::RegValueT<P1PfsBy_SPEC> as RegisterValue<_>>::new(0)
6888 }
6889}
6890pub mod p1pfs_by {
6891
6892 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6893 pub struct Podr_SPEC;
6894 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6895 impl Podr {
6896 #[doc = "Output low"]
6897 pub const _0: Self = Self::new(0);
6898
6899 #[doc = "Output high"]
6900 pub const _1: Self = Self::new(1);
6901 }
6902 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6903 pub struct Pidr_SPEC;
6904 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6905 impl Pidr {
6906 #[doc = "Low level"]
6907 pub const _0: Self = Self::new(0);
6908
6909 #[doc = "High level"]
6910 pub const _1: Self = Self::new(1);
6911 }
6912 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6913 pub struct Pdr_SPEC;
6914 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6915 impl Pdr {
6916 #[doc = "Input (functions as an input pin)"]
6917 pub const _0: Self = Self::new(0);
6918
6919 #[doc = "Output (functions as an output pin)"]
6920 pub const _1: Self = Self::new(1);
6921 }
6922 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6923 pub struct Pcr_SPEC;
6924 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6925 impl Pcr {
6926 #[doc = "Disable input pull-up"]
6927 pub const _0: Self = Self::new(0);
6928
6929 #[doc = "Enable input pull-up"]
6930 pub const _1: Self = Self::new(1);
6931 }
6932 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6933 pub struct Ncodr_SPEC;
6934 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6935 impl Ncodr {
6936 #[doc = "Output CMOS"]
6937 pub const _0: Self = Self::new(0);
6938
6939 #[doc = "Output NMOS open-drain"]
6940 pub const _1: Self = Self::new(1);
6941 }
6942}
6943#[doc(hidden)]
6944#[derive(Copy, Clone, Eq, PartialEq)]
6945pub struct P200Pfs_SPEC;
6946impl crate::sealed::RegSpec for P200Pfs_SPEC {
6947 type DataType = u32;
6948}
6949
6950#[doc = "Port 200 Pin Function Select Register"]
6951pub type P200Pfs = crate::RegValueT<P200Pfs_SPEC>;
6952
6953impl P200Pfs {
6954 #[doc = "Port Output Data"]
6955 #[inline(always)]
6956 pub fn podr(
6957 self,
6958 ) -> crate::common::RegisterField<
6959 0,
6960 0x1,
6961 1,
6962 0,
6963 p200pfs::Podr,
6964 p200pfs::Podr,
6965 P200Pfs_SPEC,
6966 crate::common::RW,
6967 > {
6968 crate::common::RegisterField::<
6969 0,
6970 0x1,
6971 1,
6972 0,
6973 p200pfs::Podr,
6974 p200pfs::Podr,
6975 P200Pfs_SPEC,
6976 crate::common::RW,
6977 >::from_register(self, 0)
6978 }
6979
6980 #[doc = "Port State"]
6981 #[inline(always)]
6982 pub fn pidr(
6983 self,
6984 ) -> crate::common::RegisterField<
6985 1,
6986 0x1,
6987 1,
6988 0,
6989 p200pfs::Pidr,
6990 p200pfs::Pidr,
6991 P200Pfs_SPEC,
6992 crate::common::R,
6993 > {
6994 crate::common::RegisterField::<
6995 1,
6996 0x1,
6997 1,
6998 0,
6999 p200pfs::Pidr,
7000 p200pfs::Pidr,
7001 P200Pfs_SPEC,
7002 crate::common::R,
7003 >::from_register(self, 0)
7004 }
7005
7006 #[doc = "Port Direction"]
7007 #[inline(always)]
7008 pub fn pdr(
7009 self,
7010 ) -> crate::common::RegisterField<
7011 2,
7012 0x1,
7013 1,
7014 0,
7015 p200pfs::Pdr,
7016 p200pfs::Pdr,
7017 P200Pfs_SPEC,
7018 crate::common::RW,
7019 > {
7020 crate::common::RegisterField::<
7021 2,
7022 0x1,
7023 1,
7024 0,
7025 p200pfs::Pdr,
7026 p200pfs::Pdr,
7027 P200Pfs_SPEC,
7028 crate::common::RW,
7029 >::from_register(self, 0)
7030 }
7031
7032 #[doc = "Pull-up Control"]
7033 #[inline(always)]
7034 pub fn pcr(
7035 self,
7036 ) -> crate::common::RegisterField<
7037 4,
7038 0x1,
7039 1,
7040 0,
7041 p200pfs::Pcr,
7042 p200pfs::Pcr,
7043 P200Pfs_SPEC,
7044 crate::common::RW,
7045 > {
7046 crate::common::RegisterField::<
7047 4,
7048 0x1,
7049 1,
7050 0,
7051 p200pfs::Pcr,
7052 p200pfs::Pcr,
7053 P200Pfs_SPEC,
7054 crate::common::RW,
7055 >::from_register(self, 0)
7056 }
7057
7058 #[doc = "N-Channel Open-Drain Control"]
7059 #[inline(always)]
7060 pub fn ncodr(
7061 self,
7062 ) -> crate::common::RegisterField<
7063 6,
7064 0x1,
7065 1,
7066 0,
7067 p200pfs::Ncodr,
7068 p200pfs::Ncodr,
7069 P200Pfs_SPEC,
7070 crate::common::RW,
7071 > {
7072 crate::common::RegisterField::<
7073 6,
7074 0x1,
7075 1,
7076 0,
7077 p200pfs::Ncodr,
7078 p200pfs::Ncodr,
7079 P200Pfs_SPEC,
7080 crate::common::RW,
7081 >::from_register(self, 0)
7082 }
7083
7084 #[doc = "Event on Falling/Event on Rising"]
7085 #[inline(always)]
7086 pub fn eofr(
7087 self,
7088 ) -> crate::common::RegisterField<
7089 12,
7090 0x3,
7091 1,
7092 0,
7093 p200pfs::Eofr,
7094 p200pfs::Eofr,
7095 P200Pfs_SPEC,
7096 crate::common::RW,
7097 > {
7098 crate::common::RegisterField::<
7099 12,
7100 0x3,
7101 1,
7102 0,
7103 p200pfs::Eofr,
7104 p200pfs::Eofr,
7105 P200Pfs_SPEC,
7106 crate::common::RW,
7107 >::from_register(self, 0)
7108 }
7109
7110 #[doc = "IRQ Input Enable"]
7111 #[inline(always)]
7112 pub fn isel(
7113 self,
7114 ) -> crate::common::RegisterField<
7115 14,
7116 0x1,
7117 1,
7118 0,
7119 p200pfs::Isel,
7120 p200pfs::Isel,
7121 P200Pfs_SPEC,
7122 crate::common::RW,
7123 > {
7124 crate::common::RegisterField::<
7125 14,
7126 0x1,
7127 1,
7128 0,
7129 p200pfs::Isel,
7130 p200pfs::Isel,
7131 P200Pfs_SPEC,
7132 crate::common::RW,
7133 >::from_register(self, 0)
7134 }
7135
7136 #[doc = "Analog Input Enable"]
7137 #[inline(always)]
7138 pub fn asel(
7139 self,
7140 ) -> crate::common::RegisterField<
7141 15,
7142 0x1,
7143 1,
7144 0,
7145 p200pfs::Asel,
7146 p200pfs::Asel,
7147 P200Pfs_SPEC,
7148 crate::common::RW,
7149 > {
7150 crate::common::RegisterField::<
7151 15,
7152 0x1,
7153 1,
7154 0,
7155 p200pfs::Asel,
7156 p200pfs::Asel,
7157 P200Pfs_SPEC,
7158 crate::common::RW,
7159 >::from_register(self, 0)
7160 }
7161
7162 #[doc = "Port Mode Control"]
7163 #[inline(always)]
7164 pub fn pmr(
7165 self,
7166 ) -> crate::common::RegisterField<
7167 16,
7168 0x1,
7169 1,
7170 0,
7171 p200pfs::Pmr,
7172 p200pfs::Pmr,
7173 P200Pfs_SPEC,
7174 crate::common::RW,
7175 > {
7176 crate::common::RegisterField::<
7177 16,
7178 0x1,
7179 1,
7180 0,
7181 p200pfs::Pmr,
7182 p200pfs::Pmr,
7183 P200Pfs_SPEC,
7184 crate::common::RW,
7185 >::from_register(self, 0)
7186 }
7187
7188 #[doc = "Peripheral Select"]
7189 #[inline(always)]
7190 pub fn psel(
7191 self,
7192 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P200Pfs_SPEC, crate::common::RW> {
7193 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P200Pfs_SPEC,crate::common::RW>::from_register(self,0)
7194 }
7195}
7196impl ::core::default::Default for P200Pfs {
7197 #[inline(always)]
7198 fn default() -> P200Pfs {
7199 <crate::RegValueT<P200Pfs_SPEC> as RegisterValue<_>>::new(0)
7200 }
7201}
7202pub mod p200pfs {
7203
7204 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7205 pub struct Podr_SPEC;
7206 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7207 impl Podr {
7208 #[doc = "Output low"]
7209 pub const _0: Self = Self::new(0);
7210
7211 #[doc = "Output high"]
7212 pub const _1: Self = Self::new(1);
7213 }
7214 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7215 pub struct Pidr_SPEC;
7216 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7217 impl Pidr {
7218 #[doc = "Low level"]
7219 pub const _0: Self = Self::new(0);
7220
7221 #[doc = "High level"]
7222 pub const _1: Self = Self::new(1);
7223 }
7224 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7225 pub struct Pdr_SPEC;
7226 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7227 impl Pdr {
7228 #[doc = "Input (functions as an input pin)"]
7229 pub const _0: Self = Self::new(0);
7230
7231 #[doc = "Output (functions as an output pin)"]
7232 pub const _1: Self = Self::new(1);
7233 }
7234 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7235 pub struct Pcr_SPEC;
7236 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7237 impl Pcr {
7238 #[doc = "Disable input pull-up"]
7239 pub const _0: Self = Self::new(0);
7240
7241 #[doc = "Enable input pull-up"]
7242 pub const _1: Self = Self::new(1);
7243 }
7244 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7245 pub struct Ncodr_SPEC;
7246 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7247 impl Ncodr {
7248 #[doc = "Output CMOS"]
7249 pub const _0: Self = Self::new(0);
7250
7251 #[doc = "Output NMOS open-drain"]
7252 pub const _1: Self = Self::new(1);
7253 }
7254 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7255 pub struct Eofr_SPEC;
7256 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7257 impl Eofr {
7258 #[doc = "Don\'t care"]
7259 pub const _00: Self = Self::new(0);
7260
7261 #[doc = "Detect rising edge"]
7262 pub const _01: Self = Self::new(1);
7263
7264 #[doc = "Detect falling edge"]
7265 pub const _10: Self = Self::new(2);
7266
7267 #[doc = "Detect both edges"]
7268 pub const _11: Self = Self::new(3);
7269 }
7270 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7271 pub struct Isel_SPEC;
7272 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7273 impl Isel {
7274 #[doc = "Do not use as IRQn input pin"]
7275 pub const _0: Self = Self::new(0);
7276
7277 #[doc = "Use as IRQn input pin"]
7278 pub const _1: Self = Self::new(1);
7279 }
7280 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7281 pub struct Asel_SPEC;
7282 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7283 impl Asel {
7284 #[doc = "Do not use as analog pin"]
7285 pub const _0: Self = Self::new(0);
7286
7287 #[doc = "Use as analog pin"]
7288 pub const _1: Self = Self::new(1);
7289 }
7290 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7291 pub struct Pmr_SPEC;
7292 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
7293 impl Pmr {
7294 #[doc = "Use as general I/O pin"]
7295 pub const _0: Self = Self::new(0);
7296
7297 #[doc = "Use as I/O port for peripheral functions"]
7298 pub const _1: Self = Self::new(1);
7299 }
7300}
7301#[doc(hidden)]
7302#[derive(Copy, Clone, Eq, PartialEq)]
7303pub struct P200PfsHa_SPEC;
7304impl crate::sealed::RegSpec for P200PfsHa_SPEC {
7305 type DataType = u16;
7306}
7307
7308#[doc = "Port 200 Pin Function Select Register"]
7309pub type P200PfsHa = crate::RegValueT<P200PfsHa_SPEC>;
7310
7311impl P200PfsHa {
7312 #[doc = "Port Output Data"]
7313 #[inline(always)]
7314 pub fn podr(
7315 self,
7316 ) -> crate::common::RegisterField<
7317 0,
7318 0x1,
7319 1,
7320 0,
7321 p200pfs_ha::Podr,
7322 p200pfs_ha::Podr,
7323 P200PfsHa_SPEC,
7324 crate::common::RW,
7325 > {
7326 crate::common::RegisterField::<
7327 0,
7328 0x1,
7329 1,
7330 0,
7331 p200pfs_ha::Podr,
7332 p200pfs_ha::Podr,
7333 P200PfsHa_SPEC,
7334 crate::common::RW,
7335 >::from_register(self, 0)
7336 }
7337
7338 #[doc = "Port State"]
7339 #[inline(always)]
7340 pub fn pidr(
7341 self,
7342 ) -> crate::common::RegisterField<
7343 1,
7344 0x1,
7345 1,
7346 0,
7347 p200pfs_ha::Pidr,
7348 p200pfs_ha::Pidr,
7349 P200PfsHa_SPEC,
7350 crate::common::R,
7351 > {
7352 crate::common::RegisterField::<
7353 1,
7354 0x1,
7355 1,
7356 0,
7357 p200pfs_ha::Pidr,
7358 p200pfs_ha::Pidr,
7359 P200PfsHa_SPEC,
7360 crate::common::R,
7361 >::from_register(self, 0)
7362 }
7363
7364 #[doc = "Port Direction"]
7365 #[inline(always)]
7366 pub fn pdr(
7367 self,
7368 ) -> crate::common::RegisterField<
7369 2,
7370 0x1,
7371 1,
7372 0,
7373 p200pfs_ha::Pdr,
7374 p200pfs_ha::Pdr,
7375 P200PfsHa_SPEC,
7376 crate::common::RW,
7377 > {
7378 crate::common::RegisterField::<
7379 2,
7380 0x1,
7381 1,
7382 0,
7383 p200pfs_ha::Pdr,
7384 p200pfs_ha::Pdr,
7385 P200PfsHa_SPEC,
7386 crate::common::RW,
7387 >::from_register(self, 0)
7388 }
7389
7390 #[doc = "Pull-up Control"]
7391 #[inline(always)]
7392 pub fn pcr(
7393 self,
7394 ) -> crate::common::RegisterField<
7395 4,
7396 0x1,
7397 1,
7398 0,
7399 p200pfs_ha::Pcr,
7400 p200pfs_ha::Pcr,
7401 P200PfsHa_SPEC,
7402 crate::common::RW,
7403 > {
7404 crate::common::RegisterField::<
7405 4,
7406 0x1,
7407 1,
7408 0,
7409 p200pfs_ha::Pcr,
7410 p200pfs_ha::Pcr,
7411 P200PfsHa_SPEC,
7412 crate::common::RW,
7413 >::from_register(self, 0)
7414 }
7415
7416 #[doc = "N-Channel Open-Drain Control"]
7417 #[inline(always)]
7418 pub fn ncodr(
7419 self,
7420 ) -> crate::common::RegisterField<
7421 6,
7422 0x1,
7423 1,
7424 0,
7425 p200pfs_ha::Ncodr,
7426 p200pfs_ha::Ncodr,
7427 P200PfsHa_SPEC,
7428 crate::common::RW,
7429 > {
7430 crate::common::RegisterField::<
7431 6,
7432 0x1,
7433 1,
7434 0,
7435 p200pfs_ha::Ncodr,
7436 p200pfs_ha::Ncodr,
7437 P200PfsHa_SPEC,
7438 crate::common::RW,
7439 >::from_register(self, 0)
7440 }
7441
7442 #[doc = "Event on Falling/Event on Rising"]
7443 #[inline(always)]
7444 pub fn eofr(
7445 self,
7446 ) -> crate::common::RegisterField<
7447 12,
7448 0x3,
7449 1,
7450 0,
7451 p200pfs_ha::Eofr,
7452 p200pfs_ha::Eofr,
7453 P200PfsHa_SPEC,
7454 crate::common::RW,
7455 > {
7456 crate::common::RegisterField::<
7457 12,
7458 0x3,
7459 1,
7460 0,
7461 p200pfs_ha::Eofr,
7462 p200pfs_ha::Eofr,
7463 P200PfsHa_SPEC,
7464 crate::common::RW,
7465 >::from_register(self, 0)
7466 }
7467
7468 #[doc = "IRQ Input Enable"]
7469 #[inline(always)]
7470 pub fn isel(
7471 self,
7472 ) -> crate::common::RegisterField<
7473 14,
7474 0x1,
7475 1,
7476 0,
7477 p200pfs_ha::Isel,
7478 p200pfs_ha::Isel,
7479 P200PfsHa_SPEC,
7480 crate::common::RW,
7481 > {
7482 crate::common::RegisterField::<
7483 14,
7484 0x1,
7485 1,
7486 0,
7487 p200pfs_ha::Isel,
7488 p200pfs_ha::Isel,
7489 P200PfsHa_SPEC,
7490 crate::common::RW,
7491 >::from_register(self, 0)
7492 }
7493
7494 #[doc = "Analog Input Enable"]
7495 #[inline(always)]
7496 pub fn asel(
7497 self,
7498 ) -> crate::common::RegisterField<
7499 15,
7500 0x1,
7501 1,
7502 0,
7503 p200pfs_ha::Asel,
7504 p200pfs_ha::Asel,
7505 P200PfsHa_SPEC,
7506 crate::common::RW,
7507 > {
7508 crate::common::RegisterField::<
7509 15,
7510 0x1,
7511 1,
7512 0,
7513 p200pfs_ha::Asel,
7514 p200pfs_ha::Asel,
7515 P200PfsHa_SPEC,
7516 crate::common::RW,
7517 >::from_register(self, 0)
7518 }
7519}
7520impl ::core::default::Default for P200PfsHa {
7521 #[inline(always)]
7522 fn default() -> P200PfsHa {
7523 <crate::RegValueT<P200PfsHa_SPEC> as RegisterValue<_>>::new(0)
7524 }
7525}
7526pub mod p200pfs_ha {
7527
7528 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7529 pub struct Podr_SPEC;
7530 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7531 impl Podr {
7532 #[doc = "Output low"]
7533 pub const _0: Self = Self::new(0);
7534
7535 #[doc = "Output high"]
7536 pub const _1: Self = Self::new(1);
7537 }
7538 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7539 pub struct Pidr_SPEC;
7540 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7541 impl Pidr {
7542 #[doc = "Low level"]
7543 pub const _0: Self = Self::new(0);
7544
7545 #[doc = "High level"]
7546 pub const _1: Self = Self::new(1);
7547 }
7548 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7549 pub struct Pdr_SPEC;
7550 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7551 impl Pdr {
7552 #[doc = "Input (functions as an input pin)"]
7553 pub const _0: Self = Self::new(0);
7554
7555 #[doc = "Output (functions as an output pin)"]
7556 pub const _1: Self = Self::new(1);
7557 }
7558 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7559 pub struct Pcr_SPEC;
7560 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7561 impl Pcr {
7562 #[doc = "Disable input pull-up"]
7563 pub const _0: Self = Self::new(0);
7564
7565 #[doc = "Enable input pull-up"]
7566 pub const _1: Self = Self::new(1);
7567 }
7568 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7569 pub struct Ncodr_SPEC;
7570 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7571 impl Ncodr {
7572 #[doc = "Output CMOS"]
7573 pub const _0: Self = Self::new(0);
7574
7575 #[doc = "Output NMOS open-drain"]
7576 pub const _1: Self = Self::new(1);
7577 }
7578 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7579 pub struct Eofr_SPEC;
7580 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7581 impl Eofr {
7582 #[doc = "Don\'t care"]
7583 pub const _00: Self = Self::new(0);
7584
7585 #[doc = "Detect rising edge"]
7586 pub const _01: Self = Self::new(1);
7587
7588 #[doc = "Detect falling edge"]
7589 pub const _10: Self = Self::new(2);
7590
7591 #[doc = "Detect both edges"]
7592 pub const _11: Self = Self::new(3);
7593 }
7594 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7595 pub struct Isel_SPEC;
7596 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7597 impl Isel {
7598 #[doc = "Do not use as IRQn input pin"]
7599 pub const _0: Self = Self::new(0);
7600
7601 #[doc = "Use as IRQn input pin"]
7602 pub const _1: Self = Self::new(1);
7603 }
7604 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7605 pub struct Asel_SPEC;
7606 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7607 impl Asel {
7608 #[doc = "Do not use as analog pin"]
7609 pub const _0: Self = Self::new(0);
7610
7611 #[doc = "Use as analog pin"]
7612 pub const _1: Self = Self::new(1);
7613 }
7614}
7615#[doc(hidden)]
7616#[derive(Copy, Clone, Eq, PartialEq)]
7617pub struct P200PfsBy_SPEC;
7618impl crate::sealed::RegSpec for P200PfsBy_SPEC {
7619 type DataType = u8;
7620}
7621
7622#[doc = "Port 200 Pin Function Select Register"]
7623pub type P200PfsBy = crate::RegValueT<P200PfsBy_SPEC>;
7624
7625impl P200PfsBy {
7626 #[doc = "Port Output Data"]
7627 #[inline(always)]
7628 pub fn podr(
7629 self,
7630 ) -> crate::common::RegisterField<
7631 0,
7632 0x1,
7633 1,
7634 0,
7635 p200pfs_by::Podr,
7636 p200pfs_by::Podr,
7637 P200PfsBy_SPEC,
7638 crate::common::RW,
7639 > {
7640 crate::common::RegisterField::<
7641 0,
7642 0x1,
7643 1,
7644 0,
7645 p200pfs_by::Podr,
7646 p200pfs_by::Podr,
7647 P200PfsBy_SPEC,
7648 crate::common::RW,
7649 >::from_register(self, 0)
7650 }
7651
7652 #[doc = "Port State"]
7653 #[inline(always)]
7654 pub fn pidr(
7655 self,
7656 ) -> crate::common::RegisterField<
7657 1,
7658 0x1,
7659 1,
7660 0,
7661 p200pfs_by::Pidr,
7662 p200pfs_by::Pidr,
7663 P200PfsBy_SPEC,
7664 crate::common::R,
7665 > {
7666 crate::common::RegisterField::<
7667 1,
7668 0x1,
7669 1,
7670 0,
7671 p200pfs_by::Pidr,
7672 p200pfs_by::Pidr,
7673 P200PfsBy_SPEC,
7674 crate::common::R,
7675 >::from_register(self, 0)
7676 }
7677
7678 #[doc = "Port Direction"]
7679 #[inline(always)]
7680 pub fn pdr(
7681 self,
7682 ) -> crate::common::RegisterField<
7683 2,
7684 0x1,
7685 1,
7686 0,
7687 p200pfs_by::Pdr,
7688 p200pfs_by::Pdr,
7689 P200PfsBy_SPEC,
7690 crate::common::RW,
7691 > {
7692 crate::common::RegisterField::<
7693 2,
7694 0x1,
7695 1,
7696 0,
7697 p200pfs_by::Pdr,
7698 p200pfs_by::Pdr,
7699 P200PfsBy_SPEC,
7700 crate::common::RW,
7701 >::from_register(self, 0)
7702 }
7703
7704 #[doc = "Pull-up Control"]
7705 #[inline(always)]
7706 pub fn pcr(
7707 self,
7708 ) -> crate::common::RegisterField<
7709 4,
7710 0x1,
7711 1,
7712 0,
7713 p200pfs_by::Pcr,
7714 p200pfs_by::Pcr,
7715 P200PfsBy_SPEC,
7716 crate::common::RW,
7717 > {
7718 crate::common::RegisterField::<
7719 4,
7720 0x1,
7721 1,
7722 0,
7723 p200pfs_by::Pcr,
7724 p200pfs_by::Pcr,
7725 P200PfsBy_SPEC,
7726 crate::common::RW,
7727 >::from_register(self, 0)
7728 }
7729
7730 #[doc = "N-Channel Open-Drain Control"]
7731 #[inline(always)]
7732 pub fn ncodr(
7733 self,
7734 ) -> crate::common::RegisterField<
7735 6,
7736 0x1,
7737 1,
7738 0,
7739 p200pfs_by::Ncodr,
7740 p200pfs_by::Ncodr,
7741 P200PfsBy_SPEC,
7742 crate::common::RW,
7743 > {
7744 crate::common::RegisterField::<
7745 6,
7746 0x1,
7747 1,
7748 0,
7749 p200pfs_by::Ncodr,
7750 p200pfs_by::Ncodr,
7751 P200PfsBy_SPEC,
7752 crate::common::RW,
7753 >::from_register(self, 0)
7754 }
7755}
7756impl ::core::default::Default for P200PfsBy {
7757 #[inline(always)]
7758 fn default() -> P200PfsBy {
7759 <crate::RegValueT<P200PfsBy_SPEC> as RegisterValue<_>>::new(0)
7760 }
7761}
7762pub mod p200pfs_by {
7763
7764 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7765 pub struct Podr_SPEC;
7766 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7767 impl Podr {
7768 #[doc = "Output low"]
7769 pub const _0: Self = Self::new(0);
7770
7771 #[doc = "Output high"]
7772 pub const _1: Self = Self::new(1);
7773 }
7774 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7775 pub struct Pidr_SPEC;
7776 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7777 impl Pidr {
7778 #[doc = "Low level"]
7779 pub const _0: Self = Self::new(0);
7780
7781 #[doc = "High level"]
7782 pub const _1: Self = Self::new(1);
7783 }
7784 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7785 pub struct Pdr_SPEC;
7786 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7787 impl Pdr {
7788 #[doc = "Input (functions as an input pin)"]
7789 pub const _0: Self = Self::new(0);
7790
7791 #[doc = "Output (functions as an output pin)"]
7792 pub const _1: Self = Self::new(1);
7793 }
7794 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7795 pub struct Pcr_SPEC;
7796 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7797 impl Pcr {
7798 #[doc = "Disable input pull-up"]
7799 pub const _0: Self = Self::new(0);
7800
7801 #[doc = "Enable input pull-up"]
7802 pub const _1: Self = Self::new(1);
7803 }
7804 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7805 pub struct Ncodr_SPEC;
7806 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7807 impl Ncodr {
7808 #[doc = "Output CMOS"]
7809 pub const _0: Self = Self::new(0);
7810
7811 #[doc = "Output NMOS open-drain"]
7812 pub const _1: Self = Self::new(1);
7813 }
7814}
7815#[doc(hidden)]
7816#[derive(Copy, Clone, Eq, PartialEq)]
7817pub struct P201Pfs_SPEC;
7818impl crate::sealed::RegSpec for P201Pfs_SPEC {
7819 type DataType = u32;
7820}
7821
7822#[doc = "Port 201 Pin Function Select Register"]
7823pub type P201Pfs = crate::RegValueT<P201Pfs_SPEC>;
7824
7825impl P201Pfs {
7826 #[doc = "Port Output Data"]
7827 #[inline(always)]
7828 pub fn podr(
7829 self,
7830 ) -> crate::common::RegisterField<
7831 0,
7832 0x1,
7833 1,
7834 0,
7835 p201pfs::Podr,
7836 p201pfs::Podr,
7837 P201Pfs_SPEC,
7838 crate::common::RW,
7839 > {
7840 crate::common::RegisterField::<
7841 0,
7842 0x1,
7843 1,
7844 0,
7845 p201pfs::Podr,
7846 p201pfs::Podr,
7847 P201Pfs_SPEC,
7848 crate::common::RW,
7849 >::from_register(self, 0)
7850 }
7851
7852 #[doc = "Port State"]
7853 #[inline(always)]
7854 pub fn pidr(
7855 self,
7856 ) -> crate::common::RegisterField<
7857 1,
7858 0x1,
7859 1,
7860 0,
7861 p201pfs::Pidr,
7862 p201pfs::Pidr,
7863 P201Pfs_SPEC,
7864 crate::common::R,
7865 > {
7866 crate::common::RegisterField::<
7867 1,
7868 0x1,
7869 1,
7870 0,
7871 p201pfs::Pidr,
7872 p201pfs::Pidr,
7873 P201Pfs_SPEC,
7874 crate::common::R,
7875 >::from_register(self, 0)
7876 }
7877
7878 #[doc = "Port Direction"]
7879 #[inline(always)]
7880 pub fn pdr(
7881 self,
7882 ) -> crate::common::RegisterField<
7883 2,
7884 0x1,
7885 1,
7886 0,
7887 p201pfs::Pdr,
7888 p201pfs::Pdr,
7889 P201Pfs_SPEC,
7890 crate::common::RW,
7891 > {
7892 crate::common::RegisterField::<
7893 2,
7894 0x1,
7895 1,
7896 0,
7897 p201pfs::Pdr,
7898 p201pfs::Pdr,
7899 P201Pfs_SPEC,
7900 crate::common::RW,
7901 >::from_register(self, 0)
7902 }
7903
7904 #[doc = "Pull-up Control"]
7905 #[inline(always)]
7906 pub fn pcr(
7907 self,
7908 ) -> crate::common::RegisterField<
7909 4,
7910 0x1,
7911 1,
7912 0,
7913 p201pfs::Pcr,
7914 p201pfs::Pcr,
7915 P201Pfs_SPEC,
7916 crate::common::RW,
7917 > {
7918 crate::common::RegisterField::<
7919 4,
7920 0x1,
7921 1,
7922 0,
7923 p201pfs::Pcr,
7924 p201pfs::Pcr,
7925 P201Pfs_SPEC,
7926 crate::common::RW,
7927 >::from_register(self, 0)
7928 }
7929
7930 #[doc = "N-Channel Open-Drain Control"]
7931 #[inline(always)]
7932 pub fn ncodr(
7933 self,
7934 ) -> crate::common::RegisterField<
7935 6,
7936 0x1,
7937 1,
7938 0,
7939 p201pfs::Ncodr,
7940 p201pfs::Ncodr,
7941 P201Pfs_SPEC,
7942 crate::common::RW,
7943 > {
7944 crate::common::RegisterField::<
7945 6,
7946 0x1,
7947 1,
7948 0,
7949 p201pfs::Ncodr,
7950 p201pfs::Ncodr,
7951 P201Pfs_SPEC,
7952 crate::common::RW,
7953 >::from_register(self, 0)
7954 }
7955
7956 #[doc = "Event on Falling/Event on Rising"]
7957 #[inline(always)]
7958 pub fn eofr(
7959 self,
7960 ) -> crate::common::RegisterField<
7961 12,
7962 0x3,
7963 1,
7964 0,
7965 p201pfs::Eofr,
7966 p201pfs::Eofr,
7967 P201Pfs_SPEC,
7968 crate::common::RW,
7969 > {
7970 crate::common::RegisterField::<
7971 12,
7972 0x3,
7973 1,
7974 0,
7975 p201pfs::Eofr,
7976 p201pfs::Eofr,
7977 P201Pfs_SPEC,
7978 crate::common::RW,
7979 >::from_register(self, 0)
7980 }
7981
7982 #[doc = "IRQ Input Enable"]
7983 #[inline(always)]
7984 pub fn isel(
7985 self,
7986 ) -> crate::common::RegisterField<
7987 14,
7988 0x1,
7989 1,
7990 0,
7991 p201pfs::Isel,
7992 p201pfs::Isel,
7993 P201Pfs_SPEC,
7994 crate::common::RW,
7995 > {
7996 crate::common::RegisterField::<
7997 14,
7998 0x1,
7999 1,
8000 0,
8001 p201pfs::Isel,
8002 p201pfs::Isel,
8003 P201Pfs_SPEC,
8004 crate::common::RW,
8005 >::from_register(self, 0)
8006 }
8007
8008 #[doc = "Analog Input Enable"]
8009 #[inline(always)]
8010 pub fn asel(
8011 self,
8012 ) -> crate::common::RegisterField<
8013 15,
8014 0x1,
8015 1,
8016 0,
8017 p201pfs::Asel,
8018 p201pfs::Asel,
8019 P201Pfs_SPEC,
8020 crate::common::RW,
8021 > {
8022 crate::common::RegisterField::<
8023 15,
8024 0x1,
8025 1,
8026 0,
8027 p201pfs::Asel,
8028 p201pfs::Asel,
8029 P201Pfs_SPEC,
8030 crate::common::RW,
8031 >::from_register(self, 0)
8032 }
8033
8034 #[doc = "Port Mode Control"]
8035 #[inline(always)]
8036 pub fn pmr(
8037 self,
8038 ) -> crate::common::RegisterField<
8039 16,
8040 0x1,
8041 1,
8042 0,
8043 p201pfs::Pmr,
8044 p201pfs::Pmr,
8045 P201Pfs_SPEC,
8046 crate::common::RW,
8047 > {
8048 crate::common::RegisterField::<
8049 16,
8050 0x1,
8051 1,
8052 0,
8053 p201pfs::Pmr,
8054 p201pfs::Pmr,
8055 P201Pfs_SPEC,
8056 crate::common::RW,
8057 >::from_register(self, 0)
8058 }
8059
8060 #[doc = "Peripheral Select"]
8061 #[inline(always)]
8062 pub fn psel(
8063 self,
8064 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P201Pfs_SPEC, crate::common::RW> {
8065 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P201Pfs_SPEC,crate::common::RW>::from_register(self,0)
8066 }
8067}
8068impl ::core::default::Default for P201Pfs {
8069 #[inline(always)]
8070 fn default() -> P201Pfs {
8071 <crate::RegValueT<P201Pfs_SPEC> as RegisterValue<_>>::new(16)
8072 }
8073}
8074pub mod p201pfs {
8075
8076 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8077 pub struct Podr_SPEC;
8078 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8079 impl Podr {
8080 #[doc = "Output low"]
8081 pub const _0: Self = Self::new(0);
8082
8083 #[doc = "Output high"]
8084 pub const _1: Self = Self::new(1);
8085 }
8086 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8087 pub struct Pidr_SPEC;
8088 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8089 impl Pidr {
8090 #[doc = "Low level"]
8091 pub const _0: Self = Self::new(0);
8092
8093 #[doc = "High level"]
8094 pub const _1: Self = Self::new(1);
8095 }
8096 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8097 pub struct Pdr_SPEC;
8098 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8099 impl Pdr {
8100 #[doc = "Input (functions as an input pin)"]
8101 pub const _0: Self = Self::new(0);
8102
8103 #[doc = "Output (functions as an output pin)"]
8104 pub const _1: Self = Self::new(1);
8105 }
8106 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8107 pub struct Pcr_SPEC;
8108 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8109 impl Pcr {
8110 #[doc = "Disable input pull-up"]
8111 pub const _0: Self = Self::new(0);
8112
8113 #[doc = "Enable input pull-up"]
8114 pub const _1: Self = Self::new(1);
8115 }
8116 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8117 pub struct Ncodr_SPEC;
8118 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8119 impl Ncodr {
8120 #[doc = "Output CMOS"]
8121 pub const _0: Self = Self::new(0);
8122
8123 #[doc = "Output NMOS open-drain"]
8124 pub const _1: Self = Self::new(1);
8125 }
8126 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8127 pub struct Eofr_SPEC;
8128 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8129 impl Eofr {
8130 #[doc = "Don\'t care"]
8131 pub const _00: Self = Self::new(0);
8132
8133 #[doc = "Detect rising edge"]
8134 pub const _01: Self = Self::new(1);
8135
8136 #[doc = "Detect falling edge"]
8137 pub const _10: Self = Self::new(2);
8138
8139 #[doc = "Detect both edges"]
8140 pub const _11: Self = Self::new(3);
8141 }
8142 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8143 pub struct Isel_SPEC;
8144 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8145 impl Isel {
8146 #[doc = "Do not use as IRQn input pin"]
8147 pub const _0: Self = Self::new(0);
8148
8149 #[doc = "Use as IRQn input pin"]
8150 pub const _1: Self = Self::new(1);
8151 }
8152 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8153 pub struct Asel_SPEC;
8154 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8155 impl Asel {
8156 #[doc = "Do not use as analog pin"]
8157 pub const _0: Self = Self::new(0);
8158
8159 #[doc = "Use as analog pin"]
8160 pub const _1: Self = Self::new(1);
8161 }
8162 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8163 pub struct Pmr_SPEC;
8164 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
8165 impl Pmr {
8166 #[doc = "Use as general I/O pin"]
8167 pub const _0: Self = Self::new(0);
8168
8169 #[doc = "Use as I/O port for peripheral functions"]
8170 pub const _1: Self = Self::new(1);
8171 }
8172}
8173#[doc(hidden)]
8174#[derive(Copy, Clone, Eq, PartialEq)]
8175pub struct P201PfsHa_SPEC;
8176impl crate::sealed::RegSpec for P201PfsHa_SPEC {
8177 type DataType = u16;
8178}
8179
8180#[doc = "Port 201 Pin Function Select Register"]
8181pub type P201PfsHa = crate::RegValueT<P201PfsHa_SPEC>;
8182
8183impl P201PfsHa {
8184 #[doc = "Port Output Data"]
8185 #[inline(always)]
8186 pub fn podr(
8187 self,
8188 ) -> crate::common::RegisterField<
8189 0,
8190 0x1,
8191 1,
8192 0,
8193 p201pfs_ha::Podr,
8194 p201pfs_ha::Podr,
8195 P201PfsHa_SPEC,
8196 crate::common::RW,
8197 > {
8198 crate::common::RegisterField::<
8199 0,
8200 0x1,
8201 1,
8202 0,
8203 p201pfs_ha::Podr,
8204 p201pfs_ha::Podr,
8205 P201PfsHa_SPEC,
8206 crate::common::RW,
8207 >::from_register(self, 0)
8208 }
8209
8210 #[doc = "Port State"]
8211 #[inline(always)]
8212 pub fn pidr(
8213 self,
8214 ) -> crate::common::RegisterField<
8215 1,
8216 0x1,
8217 1,
8218 0,
8219 p201pfs_ha::Pidr,
8220 p201pfs_ha::Pidr,
8221 P201PfsHa_SPEC,
8222 crate::common::R,
8223 > {
8224 crate::common::RegisterField::<
8225 1,
8226 0x1,
8227 1,
8228 0,
8229 p201pfs_ha::Pidr,
8230 p201pfs_ha::Pidr,
8231 P201PfsHa_SPEC,
8232 crate::common::R,
8233 >::from_register(self, 0)
8234 }
8235
8236 #[doc = "Port Direction"]
8237 #[inline(always)]
8238 pub fn pdr(
8239 self,
8240 ) -> crate::common::RegisterField<
8241 2,
8242 0x1,
8243 1,
8244 0,
8245 p201pfs_ha::Pdr,
8246 p201pfs_ha::Pdr,
8247 P201PfsHa_SPEC,
8248 crate::common::RW,
8249 > {
8250 crate::common::RegisterField::<
8251 2,
8252 0x1,
8253 1,
8254 0,
8255 p201pfs_ha::Pdr,
8256 p201pfs_ha::Pdr,
8257 P201PfsHa_SPEC,
8258 crate::common::RW,
8259 >::from_register(self, 0)
8260 }
8261
8262 #[doc = "Pull-up Control"]
8263 #[inline(always)]
8264 pub fn pcr(
8265 self,
8266 ) -> crate::common::RegisterField<
8267 4,
8268 0x1,
8269 1,
8270 0,
8271 p201pfs_ha::Pcr,
8272 p201pfs_ha::Pcr,
8273 P201PfsHa_SPEC,
8274 crate::common::RW,
8275 > {
8276 crate::common::RegisterField::<
8277 4,
8278 0x1,
8279 1,
8280 0,
8281 p201pfs_ha::Pcr,
8282 p201pfs_ha::Pcr,
8283 P201PfsHa_SPEC,
8284 crate::common::RW,
8285 >::from_register(self, 0)
8286 }
8287
8288 #[doc = "N-Channel Open-Drain Control"]
8289 #[inline(always)]
8290 pub fn ncodr(
8291 self,
8292 ) -> crate::common::RegisterField<
8293 6,
8294 0x1,
8295 1,
8296 0,
8297 p201pfs_ha::Ncodr,
8298 p201pfs_ha::Ncodr,
8299 P201PfsHa_SPEC,
8300 crate::common::RW,
8301 > {
8302 crate::common::RegisterField::<
8303 6,
8304 0x1,
8305 1,
8306 0,
8307 p201pfs_ha::Ncodr,
8308 p201pfs_ha::Ncodr,
8309 P201PfsHa_SPEC,
8310 crate::common::RW,
8311 >::from_register(self, 0)
8312 }
8313
8314 #[doc = "Event on Falling/Event on Rising"]
8315 #[inline(always)]
8316 pub fn eofr(
8317 self,
8318 ) -> crate::common::RegisterField<
8319 12,
8320 0x3,
8321 1,
8322 0,
8323 p201pfs_ha::Eofr,
8324 p201pfs_ha::Eofr,
8325 P201PfsHa_SPEC,
8326 crate::common::RW,
8327 > {
8328 crate::common::RegisterField::<
8329 12,
8330 0x3,
8331 1,
8332 0,
8333 p201pfs_ha::Eofr,
8334 p201pfs_ha::Eofr,
8335 P201PfsHa_SPEC,
8336 crate::common::RW,
8337 >::from_register(self, 0)
8338 }
8339
8340 #[doc = "IRQ Input Enable"]
8341 #[inline(always)]
8342 pub fn isel(
8343 self,
8344 ) -> crate::common::RegisterField<
8345 14,
8346 0x1,
8347 1,
8348 0,
8349 p201pfs_ha::Isel,
8350 p201pfs_ha::Isel,
8351 P201PfsHa_SPEC,
8352 crate::common::RW,
8353 > {
8354 crate::common::RegisterField::<
8355 14,
8356 0x1,
8357 1,
8358 0,
8359 p201pfs_ha::Isel,
8360 p201pfs_ha::Isel,
8361 P201PfsHa_SPEC,
8362 crate::common::RW,
8363 >::from_register(self, 0)
8364 }
8365
8366 #[doc = "Analog Input Enable"]
8367 #[inline(always)]
8368 pub fn asel(
8369 self,
8370 ) -> crate::common::RegisterField<
8371 15,
8372 0x1,
8373 1,
8374 0,
8375 p201pfs_ha::Asel,
8376 p201pfs_ha::Asel,
8377 P201PfsHa_SPEC,
8378 crate::common::RW,
8379 > {
8380 crate::common::RegisterField::<
8381 15,
8382 0x1,
8383 1,
8384 0,
8385 p201pfs_ha::Asel,
8386 p201pfs_ha::Asel,
8387 P201PfsHa_SPEC,
8388 crate::common::RW,
8389 >::from_register(self, 0)
8390 }
8391}
8392impl ::core::default::Default for P201PfsHa {
8393 #[inline(always)]
8394 fn default() -> P201PfsHa {
8395 <crate::RegValueT<P201PfsHa_SPEC> as RegisterValue<_>>::new(16)
8396 }
8397}
8398pub mod p201pfs_ha {
8399
8400 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8401 pub struct Podr_SPEC;
8402 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8403 impl Podr {
8404 #[doc = "Output low"]
8405 pub const _0: Self = Self::new(0);
8406
8407 #[doc = "Output high"]
8408 pub const _1: Self = Self::new(1);
8409 }
8410 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8411 pub struct Pidr_SPEC;
8412 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8413 impl Pidr {
8414 #[doc = "Low level"]
8415 pub const _0: Self = Self::new(0);
8416
8417 #[doc = "High level"]
8418 pub const _1: Self = Self::new(1);
8419 }
8420 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8421 pub struct Pdr_SPEC;
8422 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8423 impl Pdr {
8424 #[doc = "Input (functions as an input pin)"]
8425 pub const _0: Self = Self::new(0);
8426
8427 #[doc = "Output (functions as an output pin)"]
8428 pub const _1: Self = Self::new(1);
8429 }
8430 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8431 pub struct Pcr_SPEC;
8432 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8433 impl Pcr {
8434 #[doc = "Disable input pull-up"]
8435 pub const _0: Self = Self::new(0);
8436
8437 #[doc = "Enable input pull-up"]
8438 pub const _1: Self = Self::new(1);
8439 }
8440 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8441 pub struct Ncodr_SPEC;
8442 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8443 impl Ncodr {
8444 #[doc = "Output CMOS"]
8445 pub const _0: Self = Self::new(0);
8446
8447 #[doc = "Output NMOS open-drain"]
8448 pub const _1: Self = Self::new(1);
8449 }
8450 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8451 pub struct Eofr_SPEC;
8452 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8453 impl Eofr {
8454 #[doc = "Don\'t care"]
8455 pub const _00: Self = Self::new(0);
8456
8457 #[doc = "Detect rising edge"]
8458 pub const _01: Self = Self::new(1);
8459
8460 #[doc = "Detect falling edge"]
8461 pub const _10: Self = Self::new(2);
8462
8463 #[doc = "Detect both edges"]
8464 pub const _11: Self = Self::new(3);
8465 }
8466 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8467 pub struct Isel_SPEC;
8468 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8469 impl Isel {
8470 #[doc = "Do not use as IRQn input pin"]
8471 pub const _0: Self = Self::new(0);
8472
8473 #[doc = "Use as IRQn input pin"]
8474 pub const _1: Self = Self::new(1);
8475 }
8476 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8477 pub struct Asel_SPEC;
8478 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8479 impl Asel {
8480 #[doc = "Do not use as analog pin"]
8481 pub const _0: Self = Self::new(0);
8482
8483 #[doc = "Use as analog pin"]
8484 pub const _1: Self = Self::new(1);
8485 }
8486}
8487#[doc(hidden)]
8488#[derive(Copy, Clone, Eq, PartialEq)]
8489pub struct P201PfsBy_SPEC;
8490impl crate::sealed::RegSpec for P201PfsBy_SPEC {
8491 type DataType = u8;
8492}
8493
8494#[doc = "Port 201 Pin Function Select Register"]
8495pub type P201PfsBy = crate::RegValueT<P201PfsBy_SPEC>;
8496
8497impl P201PfsBy {
8498 #[doc = "Port Output Data"]
8499 #[inline(always)]
8500 pub fn podr(
8501 self,
8502 ) -> crate::common::RegisterField<
8503 0,
8504 0x1,
8505 1,
8506 0,
8507 p201pfs_by::Podr,
8508 p201pfs_by::Podr,
8509 P201PfsBy_SPEC,
8510 crate::common::RW,
8511 > {
8512 crate::common::RegisterField::<
8513 0,
8514 0x1,
8515 1,
8516 0,
8517 p201pfs_by::Podr,
8518 p201pfs_by::Podr,
8519 P201PfsBy_SPEC,
8520 crate::common::RW,
8521 >::from_register(self, 0)
8522 }
8523
8524 #[doc = "Port State"]
8525 #[inline(always)]
8526 pub fn pidr(
8527 self,
8528 ) -> crate::common::RegisterField<
8529 1,
8530 0x1,
8531 1,
8532 0,
8533 p201pfs_by::Pidr,
8534 p201pfs_by::Pidr,
8535 P201PfsBy_SPEC,
8536 crate::common::R,
8537 > {
8538 crate::common::RegisterField::<
8539 1,
8540 0x1,
8541 1,
8542 0,
8543 p201pfs_by::Pidr,
8544 p201pfs_by::Pidr,
8545 P201PfsBy_SPEC,
8546 crate::common::R,
8547 >::from_register(self, 0)
8548 }
8549
8550 #[doc = "Port Direction"]
8551 #[inline(always)]
8552 pub fn pdr(
8553 self,
8554 ) -> crate::common::RegisterField<
8555 2,
8556 0x1,
8557 1,
8558 0,
8559 p201pfs_by::Pdr,
8560 p201pfs_by::Pdr,
8561 P201PfsBy_SPEC,
8562 crate::common::RW,
8563 > {
8564 crate::common::RegisterField::<
8565 2,
8566 0x1,
8567 1,
8568 0,
8569 p201pfs_by::Pdr,
8570 p201pfs_by::Pdr,
8571 P201PfsBy_SPEC,
8572 crate::common::RW,
8573 >::from_register(self, 0)
8574 }
8575
8576 #[doc = "Pull-up Control"]
8577 #[inline(always)]
8578 pub fn pcr(
8579 self,
8580 ) -> crate::common::RegisterField<
8581 4,
8582 0x1,
8583 1,
8584 0,
8585 p201pfs_by::Pcr,
8586 p201pfs_by::Pcr,
8587 P201PfsBy_SPEC,
8588 crate::common::RW,
8589 > {
8590 crate::common::RegisterField::<
8591 4,
8592 0x1,
8593 1,
8594 0,
8595 p201pfs_by::Pcr,
8596 p201pfs_by::Pcr,
8597 P201PfsBy_SPEC,
8598 crate::common::RW,
8599 >::from_register(self, 0)
8600 }
8601
8602 #[doc = "N-Channel Open-Drain Control"]
8603 #[inline(always)]
8604 pub fn ncodr(
8605 self,
8606 ) -> crate::common::RegisterField<
8607 6,
8608 0x1,
8609 1,
8610 0,
8611 p201pfs_by::Ncodr,
8612 p201pfs_by::Ncodr,
8613 P201PfsBy_SPEC,
8614 crate::common::RW,
8615 > {
8616 crate::common::RegisterField::<
8617 6,
8618 0x1,
8619 1,
8620 0,
8621 p201pfs_by::Ncodr,
8622 p201pfs_by::Ncodr,
8623 P201PfsBy_SPEC,
8624 crate::common::RW,
8625 >::from_register(self, 0)
8626 }
8627}
8628impl ::core::default::Default for P201PfsBy {
8629 #[inline(always)]
8630 fn default() -> P201PfsBy {
8631 <crate::RegValueT<P201PfsBy_SPEC> as RegisterValue<_>>::new(16)
8632 }
8633}
8634pub mod p201pfs_by {
8635
8636 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8637 pub struct Podr_SPEC;
8638 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8639 impl Podr {
8640 #[doc = "Output low"]
8641 pub const _0: Self = Self::new(0);
8642
8643 #[doc = "Output high"]
8644 pub const _1: Self = Self::new(1);
8645 }
8646 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8647 pub struct Pidr_SPEC;
8648 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8649 impl Pidr {
8650 #[doc = "Low level"]
8651 pub const _0: Self = Self::new(0);
8652
8653 #[doc = "High level"]
8654 pub const _1: Self = Self::new(1);
8655 }
8656 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8657 pub struct Pdr_SPEC;
8658 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8659 impl Pdr {
8660 #[doc = "Input (functions as an input pin)"]
8661 pub const _0: Self = Self::new(0);
8662
8663 #[doc = "Output (functions as an output pin)"]
8664 pub const _1: Self = Self::new(1);
8665 }
8666 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8667 pub struct Pcr_SPEC;
8668 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8669 impl Pcr {
8670 #[doc = "Disable input pull-up"]
8671 pub const _0: Self = Self::new(0);
8672
8673 #[doc = "Enable input pull-up"]
8674 pub const _1: Self = Self::new(1);
8675 }
8676 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8677 pub struct Ncodr_SPEC;
8678 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8679 impl Ncodr {
8680 #[doc = "Output CMOS"]
8681 pub const _0: Self = Self::new(0);
8682
8683 #[doc = "Output NMOS open-drain"]
8684 pub const _1: Self = Self::new(1);
8685 }
8686}
8687#[doc(hidden)]
8688#[derive(Copy, Clone, Eq, PartialEq)]
8689pub struct P20Pfs_SPEC;
8690impl crate::sealed::RegSpec for P20Pfs_SPEC {
8691 type DataType = u32;
8692}
8693
8694#[doc = "Port 20%s Pin Function Select Register"]
8695pub type P20Pfs = crate::RegValueT<P20Pfs_SPEC>;
8696
8697impl P20Pfs {
8698 #[doc = "Port Output Data"]
8699 #[inline(always)]
8700 pub fn podr(
8701 self,
8702 ) -> crate::common::RegisterField<
8703 0,
8704 0x1,
8705 1,
8706 0,
8707 p20pfs::Podr,
8708 p20pfs::Podr,
8709 P20Pfs_SPEC,
8710 crate::common::RW,
8711 > {
8712 crate::common::RegisterField::<
8713 0,
8714 0x1,
8715 1,
8716 0,
8717 p20pfs::Podr,
8718 p20pfs::Podr,
8719 P20Pfs_SPEC,
8720 crate::common::RW,
8721 >::from_register(self, 0)
8722 }
8723
8724 #[doc = "Port State"]
8725 #[inline(always)]
8726 pub fn pidr(
8727 self,
8728 ) -> crate::common::RegisterField<
8729 1,
8730 0x1,
8731 1,
8732 0,
8733 p20pfs::Pidr,
8734 p20pfs::Pidr,
8735 P20Pfs_SPEC,
8736 crate::common::R,
8737 > {
8738 crate::common::RegisterField::<
8739 1,
8740 0x1,
8741 1,
8742 0,
8743 p20pfs::Pidr,
8744 p20pfs::Pidr,
8745 P20Pfs_SPEC,
8746 crate::common::R,
8747 >::from_register(self, 0)
8748 }
8749
8750 #[doc = "Port Direction"]
8751 #[inline(always)]
8752 pub fn pdr(
8753 self,
8754 ) -> crate::common::RegisterField<
8755 2,
8756 0x1,
8757 1,
8758 0,
8759 p20pfs::Pdr,
8760 p20pfs::Pdr,
8761 P20Pfs_SPEC,
8762 crate::common::RW,
8763 > {
8764 crate::common::RegisterField::<
8765 2,
8766 0x1,
8767 1,
8768 0,
8769 p20pfs::Pdr,
8770 p20pfs::Pdr,
8771 P20Pfs_SPEC,
8772 crate::common::RW,
8773 >::from_register(self, 0)
8774 }
8775
8776 #[doc = "Pull-up Control"]
8777 #[inline(always)]
8778 pub fn pcr(
8779 self,
8780 ) -> crate::common::RegisterField<
8781 4,
8782 0x1,
8783 1,
8784 0,
8785 p20pfs::Pcr,
8786 p20pfs::Pcr,
8787 P20Pfs_SPEC,
8788 crate::common::RW,
8789 > {
8790 crate::common::RegisterField::<
8791 4,
8792 0x1,
8793 1,
8794 0,
8795 p20pfs::Pcr,
8796 p20pfs::Pcr,
8797 P20Pfs_SPEC,
8798 crate::common::RW,
8799 >::from_register(self, 0)
8800 }
8801
8802 #[doc = "N-Channel Open-Drain Control"]
8803 #[inline(always)]
8804 pub fn ncodr(
8805 self,
8806 ) -> crate::common::RegisterField<
8807 6,
8808 0x1,
8809 1,
8810 0,
8811 p20pfs::Ncodr,
8812 p20pfs::Ncodr,
8813 P20Pfs_SPEC,
8814 crate::common::RW,
8815 > {
8816 crate::common::RegisterField::<
8817 6,
8818 0x1,
8819 1,
8820 0,
8821 p20pfs::Ncodr,
8822 p20pfs::Ncodr,
8823 P20Pfs_SPEC,
8824 crate::common::RW,
8825 >::from_register(self, 0)
8826 }
8827
8828 #[doc = "Event on Falling/Event on Rising"]
8829 #[inline(always)]
8830 pub fn eofr(
8831 self,
8832 ) -> crate::common::RegisterField<
8833 12,
8834 0x3,
8835 1,
8836 0,
8837 p20pfs::Eofr,
8838 p20pfs::Eofr,
8839 P20Pfs_SPEC,
8840 crate::common::RW,
8841 > {
8842 crate::common::RegisterField::<
8843 12,
8844 0x3,
8845 1,
8846 0,
8847 p20pfs::Eofr,
8848 p20pfs::Eofr,
8849 P20Pfs_SPEC,
8850 crate::common::RW,
8851 >::from_register(self, 0)
8852 }
8853
8854 #[doc = "IRQ Input Enable"]
8855 #[inline(always)]
8856 pub fn isel(
8857 self,
8858 ) -> crate::common::RegisterField<
8859 14,
8860 0x1,
8861 1,
8862 0,
8863 p20pfs::Isel,
8864 p20pfs::Isel,
8865 P20Pfs_SPEC,
8866 crate::common::RW,
8867 > {
8868 crate::common::RegisterField::<
8869 14,
8870 0x1,
8871 1,
8872 0,
8873 p20pfs::Isel,
8874 p20pfs::Isel,
8875 P20Pfs_SPEC,
8876 crate::common::RW,
8877 >::from_register(self, 0)
8878 }
8879
8880 #[doc = "Analog Input Enable"]
8881 #[inline(always)]
8882 pub fn asel(
8883 self,
8884 ) -> crate::common::RegisterField<
8885 15,
8886 0x1,
8887 1,
8888 0,
8889 p20pfs::Asel,
8890 p20pfs::Asel,
8891 P20Pfs_SPEC,
8892 crate::common::RW,
8893 > {
8894 crate::common::RegisterField::<
8895 15,
8896 0x1,
8897 1,
8898 0,
8899 p20pfs::Asel,
8900 p20pfs::Asel,
8901 P20Pfs_SPEC,
8902 crate::common::RW,
8903 >::from_register(self, 0)
8904 }
8905
8906 #[doc = "Port Mode Control"]
8907 #[inline(always)]
8908 pub fn pmr(
8909 self,
8910 ) -> crate::common::RegisterField<
8911 16,
8912 0x1,
8913 1,
8914 0,
8915 p20pfs::Pmr,
8916 p20pfs::Pmr,
8917 P20Pfs_SPEC,
8918 crate::common::RW,
8919 > {
8920 crate::common::RegisterField::<
8921 16,
8922 0x1,
8923 1,
8924 0,
8925 p20pfs::Pmr,
8926 p20pfs::Pmr,
8927 P20Pfs_SPEC,
8928 crate::common::RW,
8929 >::from_register(self, 0)
8930 }
8931
8932 #[doc = "Peripheral Select"]
8933 #[inline(always)]
8934 pub fn psel(
8935 self,
8936 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P20Pfs_SPEC, crate::common::RW> {
8937 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P20Pfs_SPEC,crate::common::RW>::from_register(self,0)
8938 }
8939}
8940impl ::core::default::Default for P20Pfs {
8941 #[inline(always)]
8942 fn default() -> P20Pfs {
8943 <crate::RegValueT<P20Pfs_SPEC> as RegisterValue<_>>::new(0)
8944 }
8945}
8946pub mod p20pfs {
8947
8948 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8949 pub struct Podr_SPEC;
8950 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8951 impl Podr {
8952 #[doc = "Output low"]
8953 pub const _0: Self = Self::new(0);
8954
8955 #[doc = "Output high"]
8956 pub const _1: Self = Self::new(1);
8957 }
8958 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8959 pub struct Pidr_SPEC;
8960 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8961 impl Pidr {
8962 #[doc = "Low level"]
8963 pub const _0: Self = Self::new(0);
8964
8965 #[doc = "High level"]
8966 pub const _1: Self = Self::new(1);
8967 }
8968 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8969 pub struct Pdr_SPEC;
8970 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8971 impl Pdr {
8972 #[doc = "Input (functions as an input pin)"]
8973 pub const _0: Self = Self::new(0);
8974
8975 #[doc = "Output (functions as an output pin)"]
8976 pub const _1: Self = Self::new(1);
8977 }
8978 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8979 pub struct Pcr_SPEC;
8980 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8981 impl Pcr {
8982 #[doc = "Disable input pull-up"]
8983 pub const _0: Self = Self::new(0);
8984
8985 #[doc = "Enable input pull-up"]
8986 pub const _1: Self = Self::new(1);
8987 }
8988 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8989 pub struct Ncodr_SPEC;
8990 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8991 impl Ncodr {
8992 #[doc = "Output CMOS"]
8993 pub const _0: Self = Self::new(0);
8994
8995 #[doc = "Output NMOS open-drain"]
8996 pub const _1: Self = Self::new(1);
8997 }
8998 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8999 pub struct Eofr_SPEC;
9000 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9001 impl Eofr {
9002 #[doc = "Don\'t care"]
9003 pub const _00: Self = Self::new(0);
9004
9005 #[doc = "Detect rising edge"]
9006 pub const _01: Self = Self::new(1);
9007
9008 #[doc = "Detect falling edge"]
9009 pub const _10: Self = Self::new(2);
9010
9011 #[doc = "Detect both edges"]
9012 pub const _11: Self = Self::new(3);
9013 }
9014 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9015 pub struct Isel_SPEC;
9016 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9017 impl Isel {
9018 #[doc = "Do not use as IRQn input pin"]
9019 pub const _0: Self = Self::new(0);
9020
9021 #[doc = "Use as IRQn input pin"]
9022 pub const _1: Self = Self::new(1);
9023 }
9024 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9025 pub struct Asel_SPEC;
9026 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9027 impl Asel {
9028 #[doc = "Do not use as analog pin"]
9029 pub const _0: Self = Self::new(0);
9030
9031 #[doc = "Use as analog pin"]
9032 pub const _1: Self = Self::new(1);
9033 }
9034 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9035 pub struct Pmr_SPEC;
9036 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
9037 impl Pmr {
9038 #[doc = "Use as general I/O pin"]
9039 pub const _0: Self = Self::new(0);
9040
9041 #[doc = "Use as I/O port for peripheral functions"]
9042 pub const _1: Self = Self::new(1);
9043 }
9044}
9045#[doc(hidden)]
9046#[derive(Copy, Clone, Eq, PartialEq)]
9047pub struct P20PfsHa_SPEC;
9048impl crate::sealed::RegSpec for P20PfsHa_SPEC {
9049 type DataType = u16;
9050}
9051
9052#[doc = "Port 20%s Pin Function Select Register"]
9053pub type P20PfsHa = crate::RegValueT<P20PfsHa_SPEC>;
9054
9055impl P20PfsHa {
9056 #[doc = "Port Output Data"]
9057 #[inline(always)]
9058 pub fn podr(
9059 self,
9060 ) -> crate::common::RegisterField<
9061 0,
9062 0x1,
9063 1,
9064 0,
9065 p20pfs_ha::Podr,
9066 p20pfs_ha::Podr,
9067 P20PfsHa_SPEC,
9068 crate::common::RW,
9069 > {
9070 crate::common::RegisterField::<
9071 0,
9072 0x1,
9073 1,
9074 0,
9075 p20pfs_ha::Podr,
9076 p20pfs_ha::Podr,
9077 P20PfsHa_SPEC,
9078 crate::common::RW,
9079 >::from_register(self, 0)
9080 }
9081
9082 #[doc = "Port State"]
9083 #[inline(always)]
9084 pub fn pidr(
9085 self,
9086 ) -> crate::common::RegisterField<
9087 1,
9088 0x1,
9089 1,
9090 0,
9091 p20pfs_ha::Pidr,
9092 p20pfs_ha::Pidr,
9093 P20PfsHa_SPEC,
9094 crate::common::R,
9095 > {
9096 crate::common::RegisterField::<
9097 1,
9098 0x1,
9099 1,
9100 0,
9101 p20pfs_ha::Pidr,
9102 p20pfs_ha::Pidr,
9103 P20PfsHa_SPEC,
9104 crate::common::R,
9105 >::from_register(self, 0)
9106 }
9107
9108 #[doc = "Port Direction"]
9109 #[inline(always)]
9110 pub fn pdr(
9111 self,
9112 ) -> crate::common::RegisterField<
9113 2,
9114 0x1,
9115 1,
9116 0,
9117 p20pfs_ha::Pdr,
9118 p20pfs_ha::Pdr,
9119 P20PfsHa_SPEC,
9120 crate::common::RW,
9121 > {
9122 crate::common::RegisterField::<
9123 2,
9124 0x1,
9125 1,
9126 0,
9127 p20pfs_ha::Pdr,
9128 p20pfs_ha::Pdr,
9129 P20PfsHa_SPEC,
9130 crate::common::RW,
9131 >::from_register(self, 0)
9132 }
9133
9134 #[doc = "Pull-up Control"]
9135 #[inline(always)]
9136 pub fn pcr(
9137 self,
9138 ) -> crate::common::RegisterField<
9139 4,
9140 0x1,
9141 1,
9142 0,
9143 p20pfs_ha::Pcr,
9144 p20pfs_ha::Pcr,
9145 P20PfsHa_SPEC,
9146 crate::common::RW,
9147 > {
9148 crate::common::RegisterField::<
9149 4,
9150 0x1,
9151 1,
9152 0,
9153 p20pfs_ha::Pcr,
9154 p20pfs_ha::Pcr,
9155 P20PfsHa_SPEC,
9156 crate::common::RW,
9157 >::from_register(self, 0)
9158 }
9159
9160 #[doc = "N-Channel Open-Drain Control"]
9161 #[inline(always)]
9162 pub fn ncodr(
9163 self,
9164 ) -> crate::common::RegisterField<
9165 6,
9166 0x1,
9167 1,
9168 0,
9169 p20pfs_ha::Ncodr,
9170 p20pfs_ha::Ncodr,
9171 P20PfsHa_SPEC,
9172 crate::common::RW,
9173 > {
9174 crate::common::RegisterField::<
9175 6,
9176 0x1,
9177 1,
9178 0,
9179 p20pfs_ha::Ncodr,
9180 p20pfs_ha::Ncodr,
9181 P20PfsHa_SPEC,
9182 crate::common::RW,
9183 >::from_register(self, 0)
9184 }
9185
9186 #[doc = "Event on Falling/Event on Rising"]
9187 #[inline(always)]
9188 pub fn eofr(
9189 self,
9190 ) -> crate::common::RegisterField<
9191 12,
9192 0x3,
9193 1,
9194 0,
9195 p20pfs_ha::Eofr,
9196 p20pfs_ha::Eofr,
9197 P20PfsHa_SPEC,
9198 crate::common::RW,
9199 > {
9200 crate::common::RegisterField::<
9201 12,
9202 0x3,
9203 1,
9204 0,
9205 p20pfs_ha::Eofr,
9206 p20pfs_ha::Eofr,
9207 P20PfsHa_SPEC,
9208 crate::common::RW,
9209 >::from_register(self, 0)
9210 }
9211
9212 #[doc = "IRQ Input Enable"]
9213 #[inline(always)]
9214 pub fn isel(
9215 self,
9216 ) -> crate::common::RegisterField<
9217 14,
9218 0x1,
9219 1,
9220 0,
9221 p20pfs_ha::Isel,
9222 p20pfs_ha::Isel,
9223 P20PfsHa_SPEC,
9224 crate::common::RW,
9225 > {
9226 crate::common::RegisterField::<
9227 14,
9228 0x1,
9229 1,
9230 0,
9231 p20pfs_ha::Isel,
9232 p20pfs_ha::Isel,
9233 P20PfsHa_SPEC,
9234 crate::common::RW,
9235 >::from_register(self, 0)
9236 }
9237
9238 #[doc = "Analog Input Enable"]
9239 #[inline(always)]
9240 pub fn asel(
9241 self,
9242 ) -> crate::common::RegisterField<
9243 15,
9244 0x1,
9245 1,
9246 0,
9247 p20pfs_ha::Asel,
9248 p20pfs_ha::Asel,
9249 P20PfsHa_SPEC,
9250 crate::common::RW,
9251 > {
9252 crate::common::RegisterField::<
9253 15,
9254 0x1,
9255 1,
9256 0,
9257 p20pfs_ha::Asel,
9258 p20pfs_ha::Asel,
9259 P20PfsHa_SPEC,
9260 crate::common::RW,
9261 >::from_register(self, 0)
9262 }
9263}
9264impl ::core::default::Default for P20PfsHa {
9265 #[inline(always)]
9266 fn default() -> P20PfsHa {
9267 <crate::RegValueT<P20PfsHa_SPEC> as RegisterValue<_>>::new(0)
9268 }
9269}
9270pub mod p20pfs_ha {
9271
9272 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9273 pub struct Podr_SPEC;
9274 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9275 impl Podr {
9276 #[doc = "Output low"]
9277 pub const _0: Self = Self::new(0);
9278
9279 #[doc = "Output high"]
9280 pub const _1: Self = Self::new(1);
9281 }
9282 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9283 pub struct Pidr_SPEC;
9284 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9285 impl Pidr {
9286 #[doc = "Low level"]
9287 pub const _0: Self = Self::new(0);
9288
9289 #[doc = "High level"]
9290 pub const _1: Self = Self::new(1);
9291 }
9292 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9293 pub struct Pdr_SPEC;
9294 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9295 impl Pdr {
9296 #[doc = "Input (functions as an input pin)"]
9297 pub const _0: Self = Self::new(0);
9298
9299 #[doc = "Output (functions as an output pin)"]
9300 pub const _1: Self = Self::new(1);
9301 }
9302 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9303 pub struct Pcr_SPEC;
9304 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9305 impl Pcr {
9306 #[doc = "Disable input pull-up"]
9307 pub const _0: Self = Self::new(0);
9308
9309 #[doc = "Enable input pull-up"]
9310 pub const _1: Self = Self::new(1);
9311 }
9312 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9313 pub struct Ncodr_SPEC;
9314 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9315 impl Ncodr {
9316 #[doc = "Output CMOS"]
9317 pub const _0: Self = Self::new(0);
9318
9319 #[doc = "Output NMOS open-drain"]
9320 pub const _1: Self = Self::new(1);
9321 }
9322 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9323 pub struct Eofr_SPEC;
9324 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9325 impl Eofr {
9326 #[doc = "Don\'t care"]
9327 pub const _00: Self = Self::new(0);
9328
9329 #[doc = "Detect rising edge"]
9330 pub const _01: Self = Self::new(1);
9331
9332 #[doc = "Detect falling edge"]
9333 pub const _10: Self = Self::new(2);
9334
9335 #[doc = "Detect both edges"]
9336 pub const _11: Self = Self::new(3);
9337 }
9338 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9339 pub struct Isel_SPEC;
9340 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9341 impl Isel {
9342 #[doc = "Do not use as IRQn input pin"]
9343 pub const _0: Self = Self::new(0);
9344
9345 #[doc = "Use as IRQn input pin"]
9346 pub const _1: Self = Self::new(1);
9347 }
9348 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9349 pub struct Asel_SPEC;
9350 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9351 impl Asel {
9352 #[doc = "Do not use as analog pin"]
9353 pub const _0: Self = Self::new(0);
9354
9355 #[doc = "Use as analog pin"]
9356 pub const _1: Self = Self::new(1);
9357 }
9358}
9359#[doc(hidden)]
9360#[derive(Copy, Clone, Eq, PartialEq)]
9361pub struct P20PfsBy_SPEC;
9362impl crate::sealed::RegSpec for P20PfsBy_SPEC {
9363 type DataType = u8;
9364}
9365
9366#[doc = "Port 20%s Pin Function Select Register"]
9367pub type P20PfsBy = crate::RegValueT<P20PfsBy_SPEC>;
9368
9369impl P20PfsBy {
9370 #[doc = "Port Output Data"]
9371 #[inline(always)]
9372 pub fn podr(
9373 self,
9374 ) -> crate::common::RegisterField<
9375 0,
9376 0x1,
9377 1,
9378 0,
9379 p20pfs_by::Podr,
9380 p20pfs_by::Podr,
9381 P20PfsBy_SPEC,
9382 crate::common::RW,
9383 > {
9384 crate::common::RegisterField::<
9385 0,
9386 0x1,
9387 1,
9388 0,
9389 p20pfs_by::Podr,
9390 p20pfs_by::Podr,
9391 P20PfsBy_SPEC,
9392 crate::common::RW,
9393 >::from_register(self, 0)
9394 }
9395
9396 #[doc = "Port State"]
9397 #[inline(always)]
9398 pub fn pidr(
9399 self,
9400 ) -> crate::common::RegisterField<
9401 1,
9402 0x1,
9403 1,
9404 0,
9405 p20pfs_by::Pidr,
9406 p20pfs_by::Pidr,
9407 P20PfsBy_SPEC,
9408 crate::common::R,
9409 > {
9410 crate::common::RegisterField::<
9411 1,
9412 0x1,
9413 1,
9414 0,
9415 p20pfs_by::Pidr,
9416 p20pfs_by::Pidr,
9417 P20PfsBy_SPEC,
9418 crate::common::R,
9419 >::from_register(self, 0)
9420 }
9421
9422 #[doc = "Port Direction"]
9423 #[inline(always)]
9424 pub fn pdr(
9425 self,
9426 ) -> crate::common::RegisterField<
9427 2,
9428 0x1,
9429 1,
9430 0,
9431 p20pfs_by::Pdr,
9432 p20pfs_by::Pdr,
9433 P20PfsBy_SPEC,
9434 crate::common::RW,
9435 > {
9436 crate::common::RegisterField::<
9437 2,
9438 0x1,
9439 1,
9440 0,
9441 p20pfs_by::Pdr,
9442 p20pfs_by::Pdr,
9443 P20PfsBy_SPEC,
9444 crate::common::RW,
9445 >::from_register(self, 0)
9446 }
9447
9448 #[doc = "Pull-up Control"]
9449 #[inline(always)]
9450 pub fn pcr(
9451 self,
9452 ) -> crate::common::RegisterField<
9453 4,
9454 0x1,
9455 1,
9456 0,
9457 p20pfs_by::Pcr,
9458 p20pfs_by::Pcr,
9459 P20PfsBy_SPEC,
9460 crate::common::RW,
9461 > {
9462 crate::common::RegisterField::<
9463 4,
9464 0x1,
9465 1,
9466 0,
9467 p20pfs_by::Pcr,
9468 p20pfs_by::Pcr,
9469 P20PfsBy_SPEC,
9470 crate::common::RW,
9471 >::from_register(self, 0)
9472 }
9473
9474 #[doc = "N-Channel Open-Drain Control"]
9475 #[inline(always)]
9476 pub fn ncodr(
9477 self,
9478 ) -> crate::common::RegisterField<
9479 6,
9480 0x1,
9481 1,
9482 0,
9483 p20pfs_by::Ncodr,
9484 p20pfs_by::Ncodr,
9485 P20PfsBy_SPEC,
9486 crate::common::RW,
9487 > {
9488 crate::common::RegisterField::<
9489 6,
9490 0x1,
9491 1,
9492 0,
9493 p20pfs_by::Ncodr,
9494 p20pfs_by::Ncodr,
9495 P20PfsBy_SPEC,
9496 crate::common::RW,
9497 >::from_register(self, 0)
9498 }
9499}
9500impl ::core::default::Default for P20PfsBy {
9501 #[inline(always)]
9502 fn default() -> P20PfsBy {
9503 <crate::RegValueT<P20PfsBy_SPEC> as RegisterValue<_>>::new(0)
9504 }
9505}
9506pub mod p20pfs_by {
9507
9508 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9509 pub struct Podr_SPEC;
9510 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9511 impl Podr {
9512 #[doc = "Output low"]
9513 pub const _0: Self = Self::new(0);
9514
9515 #[doc = "Output high"]
9516 pub const _1: Self = Self::new(1);
9517 }
9518 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9519 pub struct Pidr_SPEC;
9520 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9521 impl Pidr {
9522 #[doc = "Low level"]
9523 pub const _0: Self = Self::new(0);
9524
9525 #[doc = "High level"]
9526 pub const _1: Self = Self::new(1);
9527 }
9528 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9529 pub struct Pdr_SPEC;
9530 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9531 impl Pdr {
9532 #[doc = "Input (functions as an input pin)"]
9533 pub const _0: Self = Self::new(0);
9534
9535 #[doc = "Output (functions as an output pin)"]
9536 pub const _1: Self = Self::new(1);
9537 }
9538 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9539 pub struct Pcr_SPEC;
9540 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9541 impl Pcr {
9542 #[doc = "Disable input pull-up"]
9543 pub const _0: Self = Self::new(0);
9544
9545 #[doc = "Enable input pull-up"]
9546 pub const _1: Self = Self::new(1);
9547 }
9548 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9549 pub struct Ncodr_SPEC;
9550 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9551 impl Ncodr {
9552 #[doc = "Output CMOS"]
9553 pub const _0: Self = Self::new(0);
9554
9555 #[doc = "Output NMOS open-drain"]
9556 pub const _1: Self = Self::new(1);
9557 }
9558}
9559#[doc(hidden)]
9560#[derive(Copy, Clone, Eq, PartialEq)]
9561pub struct P2Pfs_SPEC;
9562impl crate::sealed::RegSpec for P2Pfs_SPEC {
9563 type DataType = u32;
9564}
9565
9566#[doc = "Port 2%s Pin Function Select Register"]
9567pub type P2Pfs = crate::RegValueT<P2Pfs_SPEC>;
9568
9569impl P2Pfs {
9570 #[doc = "Port Output Data"]
9571 #[inline(always)]
9572 pub fn podr(
9573 self,
9574 ) -> crate::common::RegisterField<
9575 0,
9576 0x1,
9577 1,
9578 0,
9579 p2pfs::Podr,
9580 p2pfs::Podr,
9581 P2Pfs_SPEC,
9582 crate::common::RW,
9583 > {
9584 crate::common::RegisterField::<
9585 0,
9586 0x1,
9587 1,
9588 0,
9589 p2pfs::Podr,
9590 p2pfs::Podr,
9591 P2Pfs_SPEC,
9592 crate::common::RW,
9593 >::from_register(self, 0)
9594 }
9595
9596 #[doc = "Port State"]
9597 #[inline(always)]
9598 pub fn pidr(
9599 self,
9600 ) -> crate::common::RegisterField<
9601 1,
9602 0x1,
9603 1,
9604 0,
9605 p2pfs::Pidr,
9606 p2pfs::Pidr,
9607 P2Pfs_SPEC,
9608 crate::common::R,
9609 > {
9610 crate::common::RegisterField::<
9611 1,
9612 0x1,
9613 1,
9614 0,
9615 p2pfs::Pidr,
9616 p2pfs::Pidr,
9617 P2Pfs_SPEC,
9618 crate::common::R,
9619 >::from_register(self, 0)
9620 }
9621
9622 #[doc = "Port Direction"]
9623 #[inline(always)]
9624 pub fn pdr(
9625 self,
9626 ) -> crate::common::RegisterField<
9627 2,
9628 0x1,
9629 1,
9630 0,
9631 p2pfs::Pdr,
9632 p2pfs::Pdr,
9633 P2Pfs_SPEC,
9634 crate::common::RW,
9635 > {
9636 crate::common::RegisterField::<
9637 2,
9638 0x1,
9639 1,
9640 0,
9641 p2pfs::Pdr,
9642 p2pfs::Pdr,
9643 P2Pfs_SPEC,
9644 crate::common::RW,
9645 >::from_register(self, 0)
9646 }
9647
9648 #[doc = "Pull-up Control"]
9649 #[inline(always)]
9650 pub fn pcr(
9651 self,
9652 ) -> crate::common::RegisterField<
9653 4,
9654 0x1,
9655 1,
9656 0,
9657 p2pfs::Pcr,
9658 p2pfs::Pcr,
9659 P2Pfs_SPEC,
9660 crate::common::RW,
9661 > {
9662 crate::common::RegisterField::<
9663 4,
9664 0x1,
9665 1,
9666 0,
9667 p2pfs::Pcr,
9668 p2pfs::Pcr,
9669 P2Pfs_SPEC,
9670 crate::common::RW,
9671 >::from_register(self, 0)
9672 }
9673
9674 #[doc = "N-Channel Open-Drain Control"]
9675 #[inline(always)]
9676 pub fn ncodr(
9677 self,
9678 ) -> crate::common::RegisterField<
9679 6,
9680 0x1,
9681 1,
9682 0,
9683 p2pfs::Ncodr,
9684 p2pfs::Ncodr,
9685 P2Pfs_SPEC,
9686 crate::common::RW,
9687 > {
9688 crate::common::RegisterField::<
9689 6,
9690 0x1,
9691 1,
9692 0,
9693 p2pfs::Ncodr,
9694 p2pfs::Ncodr,
9695 P2Pfs_SPEC,
9696 crate::common::RW,
9697 >::from_register(self, 0)
9698 }
9699
9700 #[doc = "Event on Falling/Event on Rising"]
9701 #[inline(always)]
9702 pub fn eofr(
9703 self,
9704 ) -> crate::common::RegisterField<
9705 12,
9706 0x3,
9707 1,
9708 0,
9709 p2pfs::Eofr,
9710 p2pfs::Eofr,
9711 P2Pfs_SPEC,
9712 crate::common::RW,
9713 > {
9714 crate::common::RegisterField::<
9715 12,
9716 0x3,
9717 1,
9718 0,
9719 p2pfs::Eofr,
9720 p2pfs::Eofr,
9721 P2Pfs_SPEC,
9722 crate::common::RW,
9723 >::from_register(self, 0)
9724 }
9725
9726 #[doc = "IRQ Input Enable"]
9727 #[inline(always)]
9728 pub fn isel(
9729 self,
9730 ) -> crate::common::RegisterField<
9731 14,
9732 0x1,
9733 1,
9734 0,
9735 p2pfs::Isel,
9736 p2pfs::Isel,
9737 P2Pfs_SPEC,
9738 crate::common::RW,
9739 > {
9740 crate::common::RegisterField::<
9741 14,
9742 0x1,
9743 1,
9744 0,
9745 p2pfs::Isel,
9746 p2pfs::Isel,
9747 P2Pfs_SPEC,
9748 crate::common::RW,
9749 >::from_register(self, 0)
9750 }
9751
9752 #[doc = "Analog Input Enable"]
9753 #[inline(always)]
9754 pub fn asel(
9755 self,
9756 ) -> crate::common::RegisterField<
9757 15,
9758 0x1,
9759 1,
9760 0,
9761 p2pfs::Asel,
9762 p2pfs::Asel,
9763 P2Pfs_SPEC,
9764 crate::common::RW,
9765 > {
9766 crate::common::RegisterField::<
9767 15,
9768 0x1,
9769 1,
9770 0,
9771 p2pfs::Asel,
9772 p2pfs::Asel,
9773 P2Pfs_SPEC,
9774 crate::common::RW,
9775 >::from_register(self, 0)
9776 }
9777
9778 #[doc = "Port Mode Control"]
9779 #[inline(always)]
9780 pub fn pmr(
9781 self,
9782 ) -> crate::common::RegisterField<
9783 16,
9784 0x1,
9785 1,
9786 0,
9787 p2pfs::Pmr,
9788 p2pfs::Pmr,
9789 P2Pfs_SPEC,
9790 crate::common::RW,
9791 > {
9792 crate::common::RegisterField::<
9793 16,
9794 0x1,
9795 1,
9796 0,
9797 p2pfs::Pmr,
9798 p2pfs::Pmr,
9799 P2Pfs_SPEC,
9800 crate::common::RW,
9801 >::from_register(self, 0)
9802 }
9803
9804 #[doc = "Peripheral Select"]
9805 #[inline(always)]
9806 pub fn psel(
9807 self,
9808 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P2Pfs_SPEC, crate::common::RW> {
9809 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P2Pfs_SPEC,crate::common::RW>::from_register(self,0)
9810 }
9811}
9812impl ::core::default::Default for P2Pfs {
9813 #[inline(always)]
9814 fn default() -> P2Pfs {
9815 <crate::RegValueT<P2Pfs_SPEC> as RegisterValue<_>>::new(0)
9816 }
9817}
9818pub mod p2pfs {
9819
9820 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9821 pub struct Podr_SPEC;
9822 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9823 impl Podr {
9824 #[doc = "Output low"]
9825 pub const _0: Self = Self::new(0);
9826
9827 #[doc = "Output high"]
9828 pub const _1: Self = Self::new(1);
9829 }
9830 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9831 pub struct Pidr_SPEC;
9832 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9833 impl Pidr {
9834 #[doc = "Low level"]
9835 pub const _0: Self = Self::new(0);
9836
9837 #[doc = "High level"]
9838 pub const _1: Self = Self::new(1);
9839 }
9840 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9841 pub struct Pdr_SPEC;
9842 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9843 impl Pdr {
9844 #[doc = "Input (functions as an input pin)"]
9845 pub const _0: Self = Self::new(0);
9846
9847 #[doc = "Output (functions as an output pin)"]
9848 pub const _1: Self = Self::new(1);
9849 }
9850 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9851 pub struct Pcr_SPEC;
9852 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9853 impl Pcr {
9854 #[doc = "Disable input pull-up"]
9855 pub const _0: Self = Self::new(0);
9856
9857 #[doc = "Enable input pull-up"]
9858 pub const _1: Self = Self::new(1);
9859 }
9860 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9861 pub struct Ncodr_SPEC;
9862 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9863 impl Ncodr {
9864 #[doc = "Output CMOS"]
9865 pub const _0: Self = Self::new(0);
9866
9867 #[doc = "Output NMOS open-drain"]
9868 pub const _1: Self = Self::new(1);
9869 }
9870 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9871 pub struct Eofr_SPEC;
9872 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9873 impl Eofr {
9874 #[doc = "Don\'t care"]
9875 pub const _00: Self = Self::new(0);
9876
9877 #[doc = "Detect rising edge"]
9878 pub const _01: Self = Self::new(1);
9879
9880 #[doc = "Detect falling edge"]
9881 pub const _10: Self = Self::new(2);
9882
9883 #[doc = "Detect both edges"]
9884 pub const _11: Self = Self::new(3);
9885 }
9886 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9887 pub struct Isel_SPEC;
9888 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9889 impl Isel {
9890 #[doc = "Do not use as IRQn input pin"]
9891 pub const _0: Self = Self::new(0);
9892
9893 #[doc = "Use as IRQn input pin"]
9894 pub const _1: Self = Self::new(1);
9895 }
9896 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9897 pub struct Asel_SPEC;
9898 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9899 impl Asel {
9900 #[doc = "Do not use as analog pin"]
9901 pub const _0: Self = Self::new(0);
9902
9903 #[doc = "Use as analog pin"]
9904 pub const _1: Self = Self::new(1);
9905 }
9906 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9907 pub struct Pmr_SPEC;
9908 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
9909 impl Pmr {
9910 #[doc = "Use as general I/O pin"]
9911 pub const _0: Self = Self::new(0);
9912
9913 #[doc = "Use as I/O port for peripheral functions"]
9914 pub const _1: Self = Self::new(1);
9915 }
9916}
9917#[doc(hidden)]
9918#[derive(Copy, Clone, Eq, PartialEq)]
9919pub struct P2PfsHa_SPEC;
9920impl crate::sealed::RegSpec for P2PfsHa_SPEC {
9921 type DataType = u16;
9922}
9923
9924#[doc = "Port 2%s Pin Function Select Register"]
9925pub type P2PfsHa = crate::RegValueT<P2PfsHa_SPEC>;
9926
9927impl P2PfsHa {
9928 #[doc = "Port Output Data"]
9929 #[inline(always)]
9930 pub fn podr(
9931 self,
9932 ) -> crate::common::RegisterField<
9933 0,
9934 0x1,
9935 1,
9936 0,
9937 p2pfs_ha::Podr,
9938 p2pfs_ha::Podr,
9939 P2PfsHa_SPEC,
9940 crate::common::RW,
9941 > {
9942 crate::common::RegisterField::<
9943 0,
9944 0x1,
9945 1,
9946 0,
9947 p2pfs_ha::Podr,
9948 p2pfs_ha::Podr,
9949 P2PfsHa_SPEC,
9950 crate::common::RW,
9951 >::from_register(self, 0)
9952 }
9953
9954 #[doc = "Port State"]
9955 #[inline(always)]
9956 pub fn pidr(
9957 self,
9958 ) -> crate::common::RegisterField<
9959 1,
9960 0x1,
9961 1,
9962 0,
9963 p2pfs_ha::Pidr,
9964 p2pfs_ha::Pidr,
9965 P2PfsHa_SPEC,
9966 crate::common::R,
9967 > {
9968 crate::common::RegisterField::<
9969 1,
9970 0x1,
9971 1,
9972 0,
9973 p2pfs_ha::Pidr,
9974 p2pfs_ha::Pidr,
9975 P2PfsHa_SPEC,
9976 crate::common::R,
9977 >::from_register(self, 0)
9978 }
9979
9980 #[doc = "Port Direction"]
9981 #[inline(always)]
9982 pub fn pdr(
9983 self,
9984 ) -> crate::common::RegisterField<
9985 2,
9986 0x1,
9987 1,
9988 0,
9989 p2pfs_ha::Pdr,
9990 p2pfs_ha::Pdr,
9991 P2PfsHa_SPEC,
9992 crate::common::RW,
9993 > {
9994 crate::common::RegisterField::<
9995 2,
9996 0x1,
9997 1,
9998 0,
9999 p2pfs_ha::Pdr,
10000 p2pfs_ha::Pdr,
10001 P2PfsHa_SPEC,
10002 crate::common::RW,
10003 >::from_register(self, 0)
10004 }
10005
10006 #[doc = "Pull-up Control"]
10007 #[inline(always)]
10008 pub fn pcr(
10009 self,
10010 ) -> crate::common::RegisterField<
10011 4,
10012 0x1,
10013 1,
10014 0,
10015 p2pfs_ha::Pcr,
10016 p2pfs_ha::Pcr,
10017 P2PfsHa_SPEC,
10018 crate::common::RW,
10019 > {
10020 crate::common::RegisterField::<
10021 4,
10022 0x1,
10023 1,
10024 0,
10025 p2pfs_ha::Pcr,
10026 p2pfs_ha::Pcr,
10027 P2PfsHa_SPEC,
10028 crate::common::RW,
10029 >::from_register(self, 0)
10030 }
10031
10032 #[doc = "N-Channel Open-Drain Control"]
10033 #[inline(always)]
10034 pub fn ncodr(
10035 self,
10036 ) -> crate::common::RegisterField<
10037 6,
10038 0x1,
10039 1,
10040 0,
10041 p2pfs_ha::Ncodr,
10042 p2pfs_ha::Ncodr,
10043 P2PfsHa_SPEC,
10044 crate::common::RW,
10045 > {
10046 crate::common::RegisterField::<
10047 6,
10048 0x1,
10049 1,
10050 0,
10051 p2pfs_ha::Ncodr,
10052 p2pfs_ha::Ncodr,
10053 P2PfsHa_SPEC,
10054 crate::common::RW,
10055 >::from_register(self, 0)
10056 }
10057
10058 #[doc = "Event on Falling/Event on Rising"]
10059 #[inline(always)]
10060 pub fn eofr(
10061 self,
10062 ) -> crate::common::RegisterField<
10063 12,
10064 0x3,
10065 1,
10066 0,
10067 p2pfs_ha::Eofr,
10068 p2pfs_ha::Eofr,
10069 P2PfsHa_SPEC,
10070 crate::common::RW,
10071 > {
10072 crate::common::RegisterField::<
10073 12,
10074 0x3,
10075 1,
10076 0,
10077 p2pfs_ha::Eofr,
10078 p2pfs_ha::Eofr,
10079 P2PfsHa_SPEC,
10080 crate::common::RW,
10081 >::from_register(self, 0)
10082 }
10083
10084 #[doc = "IRQ Input Enable"]
10085 #[inline(always)]
10086 pub fn isel(
10087 self,
10088 ) -> crate::common::RegisterField<
10089 14,
10090 0x1,
10091 1,
10092 0,
10093 p2pfs_ha::Isel,
10094 p2pfs_ha::Isel,
10095 P2PfsHa_SPEC,
10096 crate::common::RW,
10097 > {
10098 crate::common::RegisterField::<
10099 14,
10100 0x1,
10101 1,
10102 0,
10103 p2pfs_ha::Isel,
10104 p2pfs_ha::Isel,
10105 P2PfsHa_SPEC,
10106 crate::common::RW,
10107 >::from_register(self, 0)
10108 }
10109
10110 #[doc = "Analog Input Enable"]
10111 #[inline(always)]
10112 pub fn asel(
10113 self,
10114 ) -> crate::common::RegisterField<
10115 15,
10116 0x1,
10117 1,
10118 0,
10119 p2pfs_ha::Asel,
10120 p2pfs_ha::Asel,
10121 P2PfsHa_SPEC,
10122 crate::common::RW,
10123 > {
10124 crate::common::RegisterField::<
10125 15,
10126 0x1,
10127 1,
10128 0,
10129 p2pfs_ha::Asel,
10130 p2pfs_ha::Asel,
10131 P2PfsHa_SPEC,
10132 crate::common::RW,
10133 >::from_register(self, 0)
10134 }
10135}
10136impl ::core::default::Default for P2PfsHa {
10137 #[inline(always)]
10138 fn default() -> P2PfsHa {
10139 <crate::RegValueT<P2PfsHa_SPEC> as RegisterValue<_>>::new(0)
10140 }
10141}
10142pub mod p2pfs_ha {
10143
10144 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10145 pub struct Podr_SPEC;
10146 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10147 impl Podr {
10148 #[doc = "Output low"]
10149 pub const _0: Self = Self::new(0);
10150
10151 #[doc = "Output high"]
10152 pub const _1: Self = Self::new(1);
10153 }
10154 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10155 pub struct Pidr_SPEC;
10156 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10157 impl Pidr {
10158 #[doc = "Low level"]
10159 pub const _0: Self = Self::new(0);
10160
10161 #[doc = "High level"]
10162 pub const _1: Self = Self::new(1);
10163 }
10164 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10165 pub struct Pdr_SPEC;
10166 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10167 impl Pdr {
10168 #[doc = "Input (functions as an input pin)"]
10169 pub const _0: Self = Self::new(0);
10170
10171 #[doc = "Output (functions as an output pin)"]
10172 pub const _1: Self = Self::new(1);
10173 }
10174 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10175 pub struct Pcr_SPEC;
10176 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10177 impl Pcr {
10178 #[doc = "Disable input pull-up"]
10179 pub const _0: Self = Self::new(0);
10180
10181 #[doc = "Enable input pull-up"]
10182 pub const _1: Self = Self::new(1);
10183 }
10184 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10185 pub struct Ncodr_SPEC;
10186 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10187 impl Ncodr {
10188 #[doc = "Output CMOS"]
10189 pub const _0: Self = Self::new(0);
10190
10191 #[doc = "Output NMOS open-drain"]
10192 pub const _1: Self = Self::new(1);
10193 }
10194 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10195 pub struct Eofr_SPEC;
10196 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10197 impl Eofr {
10198 #[doc = "Don\'t care"]
10199 pub const _00: Self = Self::new(0);
10200
10201 #[doc = "Detect rising edge"]
10202 pub const _01: Self = Self::new(1);
10203
10204 #[doc = "Detect falling edge"]
10205 pub const _10: Self = Self::new(2);
10206
10207 #[doc = "Detect both edges"]
10208 pub const _11: Self = Self::new(3);
10209 }
10210 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10211 pub struct Isel_SPEC;
10212 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10213 impl Isel {
10214 #[doc = "Do not use as IRQn input pin"]
10215 pub const _0: Self = Self::new(0);
10216
10217 #[doc = "Use as IRQn input pin"]
10218 pub const _1: Self = Self::new(1);
10219 }
10220 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10221 pub struct Asel_SPEC;
10222 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10223 impl Asel {
10224 #[doc = "Do not use as analog pin"]
10225 pub const _0: Self = Self::new(0);
10226
10227 #[doc = "Use as analog pin"]
10228 pub const _1: Self = Self::new(1);
10229 }
10230}
10231#[doc(hidden)]
10232#[derive(Copy, Clone, Eq, PartialEq)]
10233pub struct P2PfsBy_SPEC;
10234impl crate::sealed::RegSpec for P2PfsBy_SPEC {
10235 type DataType = u8;
10236}
10237
10238#[doc = "Port 2%s Pin Function Select Register"]
10239pub type P2PfsBy = crate::RegValueT<P2PfsBy_SPEC>;
10240
10241impl P2PfsBy {
10242 #[doc = "Port Output Data"]
10243 #[inline(always)]
10244 pub fn podr(
10245 self,
10246 ) -> crate::common::RegisterField<
10247 0,
10248 0x1,
10249 1,
10250 0,
10251 p2pfs_by::Podr,
10252 p2pfs_by::Podr,
10253 P2PfsBy_SPEC,
10254 crate::common::RW,
10255 > {
10256 crate::common::RegisterField::<
10257 0,
10258 0x1,
10259 1,
10260 0,
10261 p2pfs_by::Podr,
10262 p2pfs_by::Podr,
10263 P2PfsBy_SPEC,
10264 crate::common::RW,
10265 >::from_register(self, 0)
10266 }
10267
10268 #[doc = "Port State"]
10269 #[inline(always)]
10270 pub fn pidr(
10271 self,
10272 ) -> crate::common::RegisterField<
10273 1,
10274 0x1,
10275 1,
10276 0,
10277 p2pfs_by::Pidr,
10278 p2pfs_by::Pidr,
10279 P2PfsBy_SPEC,
10280 crate::common::R,
10281 > {
10282 crate::common::RegisterField::<
10283 1,
10284 0x1,
10285 1,
10286 0,
10287 p2pfs_by::Pidr,
10288 p2pfs_by::Pidr,
10289 P2PfsBy_SPEC,
10290 crate::common::R,
10291 >::from_register(self, 0)
10292 }
10293
10294 #[doc = "Port Direction"]
10295 #[inline(always)]
10296 pub fn pdr(
10297 self,
10298 ) -> crate::common::RegisterField<
10299 2,
10300 0x1,
10301 1,
10302 0,
10303 p2pfs_by::Pdr,
10304 p2pfs_by::Pdr,
10305 P2PfsBy_SPEC,
10306 crate::common::RW,
10307 > {
10308 crate::common::RegisterField::<
10309 2,
10310 0x1,
10311 1,
10312 0,
10313 p2pfs_by::Pdr,
10314 p2pfs_by::Pdr,
10315 P2PfsBy_SPEC,
10316 crate::common::RW,
10317 >::from_register(self, 0)
10318 }
10319
10320 #[doc = "Pull-up Control"]
10321 #[inline(always)]
10322 pub fn pcr(
10323 self,
10324 ) -> crate::common::RegisterField<
10325 4,
10326 0x1,
10327 1,
10328 0,
10329 p2pfs_by::Pcr,
10330 p2pfs_by::Pcr,
10331 P2PfsBy_SPEC,
10332 crate::common::RW,
10333 > {
10334 crate::common::RegisterField::<
10335 4,
10336 0x1,
10337 1,
10338 0,
10339 p2pfs_by::Pcr,
10340 p2pfs_by::Pcr,
10341 P2PfsBy_SPEC,
10342 crate::common::RW,
10343 >::from_register(self, 0)
10344 }
10345
10346 #[doc = "N-Channel Open-Drain Control"]
10347 #[inline(always)]
10348 pub fn ncodr(
10349 self,
10350 ) -> crate::common::RegisterField<
10351 6,
10352 0x1,
10353 1,
10354 0,
10355 p2pfs_by::Ncodr,
10356 p2pfs_by::Ncodr,
10357 P2PfsBy_SPEC,
10358 crate::common::RW,
10359 > {
10360 crate::common::RegisterField::<
10361 6,
10362 0x1,
10363 1,
10364 0,
10365 p2pfs_by::Ncodr,
10366 p2pfs_by::Ncodr,
10367 P2PfsBy_SPEC,
10368 crate::common::RW,
10369 >::from_register(self, 0)
10370 }
10371}
10372impl ::core::default::Default for P2PfsBy {
10373 #[inline(always)]
10374 fn default() -> P2PfsBy {
10375 <crate::RegValueT<P2PfsBy_SPEC> as RegisterValue<_>>::new(0)
10376 }
10377}
10378pub mod p2pfs_by {
10379
10380 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10381 pub struct Podr_SPEC;
10382 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10383 impl Podr {
10384 #[doc = "Output low"]
10385 pub const _0: Self = Self::new(0);
10386
10387 #[doc = "Output high"]
10388 pub const _1: Self = Self::new(1);
10389 }
10390 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10391 pub struct Pidr_SPEC;
10392 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10393 impl Pidr {
10394 #[doc = "Low level"]
10395 pub const _0: Self = Self::new(0);
10396
10397 #[doc = "High level"]
10398 pub const _1: Self = Self::new(1);
10399 }
10400 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10401 pub struct Pdr_SPEC;
10402 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10403 impl Pdr {
10404 #[doc = "Input (functions as an input pin)"]
10405 pub const _0: Self = Self::new(0);
10406
10407 #[doc = "Output (functions as an output pin)"]
10408 pub const _1: Self = Self::new(1);
10409 }
10410 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10411 pub struct Pcr_SPEC;
10412 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10413 impl Pcr {
10414 #[doc = "Disable input pull-up"]
10415 pub const _0: Self = Self::new(0);
10416
10417 #[doc = "Enable input pull-up"]
10418 pub const _1: Self = Self::new(1);
10419 }
10420 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10421 pub struct Ncodr_SPEC;
10422 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10423 impl Ncodr {
10424 #[doc = "Output CMOS"]
10425 pub const _0: Self = Self::new(0);
10426
10427 #[doc = "Output NMOS open-drain"]
10428 pub const _1: Self = Self::new(1);
10429 }
10430}
10431#[doc(hidden)]
10432#[derive(Copy, Clone, Eq, PartialEq)]
10433pub struct P300Pfs_SPEC;
10434impl crate::sealed::RegSpec for P300Pfs_SPEC {
10435 type DataType = u32;
10436}
10437
10438#[doc = "Port 300 Pin Function Select Register"]
10439pub type P300Pfs = crate::RegValueT<P300Pfs_SPEC>;
10440
10441impl P300Pfs {
10442 #[doc = "Port Output Data"]
10443 #[inline(always)]
10444 pub fn podr(
10445 self,
10446 ) -> crate::common::RegisterField<
10447 0,
10448 0x1,
10449 1,
10450 0,
10451 p300pfs::Podr,
10452 p300pfs::Podr,
10453 P300Pfs_SPEC,
10454 crate::common::RW,
10455 > {
10456 crate::common::RegisterField::<
10457 0,
10458 0x1,
10459 1,
10460 0,
10461 p300pfs::Podr,
10462 p300pfs::Podr,
10463 P300Pfs_SPEC,
10464 crate::common::RW,
10465 >::from_register(self, 0)
10466 }
10467
10468 #[doc = "Port State"]
10469 #[inline(always)]
10470 pub fn pidr(
10471 self,
10472 ) -> crate::common::RegisterField<
10473 1,
10474 0x1,
10475 1,
10476 0,
10477 p300pfs::Pidr,
10478 p300pfs::Pidr,
10479 P300Pfs_SPEC,
10480 crate::common::R,
10481 > {
10482 crate::common::RegisterField::<
10483 1,
10484 0x1,
10485 1,
10486 0,
10487 p300pfs::Pidr,
10488 p300pfs::Pidr,
10489 P300Pfs_SPEC,
10490 crate::common::R,
10491 >::from_register(self, 0)
10492 }
10493
10494 #[doc = "Port Direction"]
10495 #[inline(always)]
10496 pub fn pdr(
10497 self,
10498 ) -> crate::common::RegisterField<
10499 2,
10500 0x1,
10501 1,
10502 0,
10503 p300pfs::Pdr,
10504 p300pfs::Pdr,
10505 P300Pfs_SPEC,
10506 crate::common::RW,
10507 > {
10508 crate::common::RegisterField::<
10509 2,
10510 0x1,
10511 1,
10512 0,
10513 p300pfs::Pdr,
10514 p300pfs::Pdr,
10515 P300Pfs_SPEC,
10516 crate::common::RW,
10517 >::from_register(self, 0)
10518 }
10519
10520 #[doc = "Pull-up Control"]
10521 #[inline(always)]
10522 pub fn pcr(
10523 self,
10524 ) -> crate::common::RegisterField<
10525 4,
10526 0x1,
10527 1,
10528 0,
10529 p300pfs::Pcr,
10530 p300pfs::Pcr,
10531 P300Pfs_SPEC,
10532 crate::common::RW,
10533 > {
10534 crate::common::RegisterField::<
10535 4,
10536 0x1,
10537 1,
10538 0,
10539 p300pfs::Pcr,
10540 p300pfs::Pcr,
10541 P300Pfs_SPEC,
10542 crate::common::RW,
10543 >::from_register(self, 0)
10544 }
10545
10546 #[doc = "N-Channel Open-Drain Control"]
10547 #[inline(always)]
10548 pub fn ncodr(
10549 self,
10550 ) -> crate::common::RegisterField<
10551 6,
10552 0x1,
10553 1,
10554 0,
10555 p300pfs::Ncodr,
10556 p300pfs::Ncodr,
10557 P300Pfs_SPEC,
10558 crate::common::RW,
10559 > {
10560 crate::common::RegisterField::<
10561 6,
10562 0x1,
10563 1,
10564 0,
10565 p300pfs::Ncodr,
10566 p300pfs::Ncodr,
10567 P300Pfs_SPEC,
10568 crate::common::RW,
10569 >::from_register(self, 0)
10570 }
10571
10572 #[doc = "Event on Falling/Event on Rising"]
10573 #[inline(always)]
10574 pub fn eofr(
10575 self,
10576 ) -> crate::common::RegisterField<
10577 12,
10578 0x3,
10579 1,
10580 0,
10581 p300pfs::Eofr,
10582 p300pfs::Eofr,
10583 P300Pfs_SPEC,
10584 crate::common::RW,
10585 > {
10586 crate::common::RegisterField::<
10587 12,
10588 0x3,
10589 1,
10590 0,
10591 p300pfs::Eofr,
10592 p300pfs::Eofr,
10593 P300Pfs_SPEC,
10594 crate::common::RW,
10595 >::from_register(self, 0)
10596 }
10597
10598 #[doc = "IRQ Input Enable"]
10599 #[inline(always)]
10600 pub fn isel(
10601 self,
10602 ) -> crate::common::RegisterField<
10603 14,
10604 0x1,
10605 1,
10606 0,
10607 p300pfs::Isel,
10608 p300pfs::Isel,
10609 P300Pfs_SPEC,
10610 crate::common::RW,
10611 > {
10612 crate::common::RegisterField::<
10613 14,
10614 0x1,
10615 1,
10616 0,
10617 p300pfs::Isel,
10618 p300pfs::Isel,
10619 P300Pfs_SPEC,
10620 crate::common::RW,
10621 >::from_register(self, 0)
10622 }
10623
10624 #[doc = "Analog Input Enable"]
10625 #[inline(always)]
10626 pub fn asel(
10627 self,
10628 ) -> crate::common::RegisterField<
10629 15,
10630 0x1,
10631 1,
10632 0,
10633 p300pfs::Asel,
10634 p300pfs::Asel,
10635 P300Pfs_SPEC,
10636 crate::common::RW,
10637 > {
10638 crate::common::RegisterField::<
10639 15,
10640 0x1,
10641 1,
10642 0,
10643 p300pfs::Asel,
10644 p300pfs::Asel,
10645 P300Pfs_SPEC,
10646 crate::common::RW,
10647 >::from_register(self, 0)
10648 }
10649
10650 #[doc = "Port Mode Control"]
10651 #[inline(always)]
10652 pub fn pmr(
10653 self,
10654 ) -> crate::common::RegisterField<
10655 16,
10656 0x1,
10657 1,
10658 0,
10659 p300pfs::Pmr,
10660 p300pfs::Pmr,
10661 P300Pfs_SPEC,
10662 crate::common::RW,
10663 > {
10664 crate::common::RegisterField::<
10665 16,
10666 0x1,
10667 1,
10668 0,
10669 p300pfs::Pmr,
10670 p300pfs::Pmr,
10671 P300Pfs_SPEC,
10672 crate::common::RW,
10673 >::from_register(self, 0)
10674 }
10675
10676 #[doc = "Peripheral Select"]
10677 #[inline(always)]
10678 pub fn psel(
10679 self,
10680 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P300Pfs_SPEC, crate::common::RW> {
10681 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P300Pfs_SPEC,crate::common::RW>::from_register(self,0)
10682 }
10683}
10684impl ::core::default::Default for P300Pfs {
10685 #[inline(always)]
10686 fn default() -> P300Pfs {
10687 <crate::RegValueT<P300Pfs_SPEC> as RegisterValue<_>>::new(65552)
10688 }
10689}
10690pub mod p300pfs {
10691
10692 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10693 pub struct Podr_SPEC;
10694 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10695 impl Podr {
10696 #[doc = "Output low"]
10697 pub const _0: Self = Self::new(0);
10698
10699 #[doc = "Output high"]
10700 pub const _1: Self = Self::new(1);
10701 }
10702 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10703 pub struct Pidr_SPEC;
10704 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10705 impl Pidr {
10706 #[doc = "Low level"]
10707 pub const _0: Self = Self::new(0);
10708
10709 #[doc = "High level"]
10710 pub const _1: Self = Self::new(1);
10711 }
10712 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10713 pub struct Pdr_SPEC;
10714 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10715 impl Pdr {
10716 #[doc = "Input (functions as an input pin)"]
10717 pub const _0: Self = Self::new(0);
10718
10719 #[doc = "Output (functions as an output pin)"]
10720 pub const _1: Self = Self::new(1);
10721 }
10722 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10723 pub struct Pcr_SPEC;
10724 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10725 impl Pcr {
10726 #[doc = "Disable input pull-up"]
10727 pub const _0: Self = Self::new(0);
10728
10729 #[doc = "Enable input pull-up"]
10730 pub const _1: Self = Self::new(1);
10731 }
10732 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10733 pub struct Ncodr_SPEC;
10734 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10735 impl Ncodr {
10736 #[doc = "Output CMOS"]
10737 pub const _0: Self = Self::new(0);
10738
10739 #[doc = "Output NMOS open-drain"]
10740 pub const _1: Self = Self::new(1);
10741 }
10742 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10743 pub struct Eofr_SPEC;
10744 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10745 impl Eofr {
10746 #[doc = "Don\'t care"]
10747 pub const _00: Self = Self::new(0);
10748
10749 #[doc = "Detect rising edge"]
10750 pub const _01: Self = Self::new(1);
10751
10752 #[doc = "Detect falling edge"]
10753 pub const _10: Self = Self::new(2);
10754
10755 #[doc = "Detect both edges"]
10756 pub const _11: Self = Self::new(3);
10757 }
10758 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10759 pub struct Isel_SPEC;
10760 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10761 impl Isel {
10762 #[doc = "Do not use as IRQn input pin"]
10763 pub const _0: Self = Self::new(0);
10764
10765 #[doc = "Use as IRQn input pin"]
10766 pub const _1: Self = Self::new(1);
10767 }
10768 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10769 pub struct Asel_SPEC;
10770 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10771 impl Asel {
10772 #[doc = "Do not use as analog pin"]
10773 pub const _0: Self = Self::new(0);
10774
10775 #[doc = "Use as analog pin"]
10776 pub const _1: Self = Self::new(1);
10777 }
10778 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10779 pub struct Pmr_SPEC;
10780 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
10781 impl Pmr {
10782 #[doc = "Use as general I/O pin"]
10783 pub const _0: Self = Self::new(0);
10784
10785 #[doc = "Use as I/O port for peripheral functions"]
10786 pub const _1: Self = Self::new(1);
10787 }
10788}
10789#[doc(hidden)]
10790#[derive(Copy, Clone, Eq, PartialEq)]
10791pub struct P300PfsHa_SPEC;
10792impl crate::sealed::RegSpec for P300PfsHa_SPEC {
10793 type DataType = u16;
10794}
10795
10796#[doc = "Port 300 Pin Function Select Register"]
10797pub type P300PfsHa = crate::RegValueT<P300PfsHa_SPEC>;
10798
10799impl P300PfsHa {
10800 #[doc = "Port Output Data"]
10801 #[inline(always)]
10802 pub fn podr(
10803 self,
10804 ) -> crate::common::RegisterField<
10805 0,
10806 0x1,
10807 1,
10808 0,
10809 p300pfs_ha::Podr,
10810 p300pfs_ha::Podr,
10811 P300PfsHa_SPEC,
10812 crate::common::RW,
10813 > {
10814 crate::common::RegisterField::<
10815 0,
10816 0x1,
10817 1,
10818 0,
10819 p300pfs_ha::Podr,
10820 p300pfs_ha::Podr,
10821 P300PfsHa_SPEC,
10822 crate::common::RW,
10823 >::from_register(self, 0)
10824 }
10825
10826 #[doc = "Port State"]
10827 #[inline(always)]
10828 pub fn pidr(
10829 self,
10830 ) -> crate::common::RegisterField<
10831 1,
10832 0x1,
10833 1,
10834 0,
10835 p300pfs_ha::Pidr,
10836 p300pfs_ha::Pidr,
10837 P300PfsHa_SPEC,
10838 crate::common::R,
10839 > {
10840 crate::common::RegisterField::<
10841 1,
10842 0x1,
10843 1,
10844 0,
10845 p300pfs_ha::Pidr,
10846 p300pfs_ha::Pidr,
10847 P300PfsHa_SPEC,
10848 crate::common::R,
10849 >::from_register(self, 0)
10850 }
10851
10852 #[doc = "Port Direction"]
10853 #[inline(always)]
10854 pub fn pdr(
10855 self,
10856 ) -> crate::common::RegisterField<
10857 2,
10858 0x1,
10859 1,
10860 0,
10861 p300pfs_ha::Pdr,
10862 p300pfs_ha::Pdr,
10863 P300PfsHa_SPEC,
10864 crate::common::RW,
10865 > {
10866 crate::common::RegisterField::<
10867 2,
10868 0x1,
10869 1,
10870 0,
10871 p300pfs_ha::Pdr,
10872 p300pfs_ha::Pdr,
10873 P300PfsHa_SPEC,
10874 crate::common::RW,
10875 >::from_register(self, 0)
10876 }
10877
10878 #[doc = "Pull-up Control"]
10879 #[inline(always)]
10880 pub fn pcr(
10881 self,
10882 ) -> crate::common::RegisterField<
10883 4,
10884 0x1,
10885 1,
10886 0,
10887 p300pfs_ha::Pcr,
10888 p300pfs_ha::Pcr,
10889 P300PfsHa_SPEC,
10890 crate::common::RW,
10891 > {
10892 crate::common::RegisterField::<
10893 4,
10894 0x1,
10895 1,
10896 0,
10897 p300pfs_ha::Pcr,
10898 p300pfs_ha::Pcr,
10899 P300PfsHa_SPEC,
10900 crate::common::RW,
10901 >::from_register(self, 0)
10902 }
10903
10904 #[doc = "N-Channel Open-Drain Control"]
10905 #[inline(always)]
10906 pub fn ncodr(
10907 self,
10908 ) -> crate::common::RegisterField<
10909 6,
10910 0x1,
10911 1,
10912 0,
10913 p300pfs_ha::Ncodr,
10914 p300pfs_ha::Ncodr,
10915 P300PfsHa_SPEC,
10916 crate::common::RW,
10917 > {
10918 crate::common::RegisterField::<
10919 6,
10920 0x1,
10921 1,
10922 0,
10923 p300pfs_ha::Ncodr,
10924 p300pfs_ha::Ncodr,
10925 P300PfsHa_SPEC,
10926 crate::common::RW,
10927 >::from_register(self, 0)
10928 }
10929
10930 #[doc = "Event on Falling/Event on Rising"]
10931 #[inline(always)]
10932 pub fn eofr(
10933 self,
10934 ) -> crate::common::RegisterField<
10935 12,
10936 0x3,
10937 1,
10938 0,
10939 p300pfs_ha::Eofr,
10940 p300pfs_ha::Eofr,
10941 P300PfsHa_SPEC,
10942 crate::common::RW,
10943 > {
10944 crate::common::RegisterField::<
10945 12,
10946 0x3,
10947 1,
10948 0,
10949 p300pfs_ha::Eofr,
10950 p300pfs_ha::Eofr,
10951 P300PfsHa_SPEC,
10952 crate::common::RW,
10953 >::from_register(self, 0)
10954 }
10955
10956 #[doc = "IRQ Input Enable"]
10957 #[inline(always)]
10958 pub fn isel(
10959 self,
10960 ) -> crate::common::RegisterField<
10961 14,
10962 0x1,
10963 1,
10964 0,
10965 p300pfs_ha::Isel,
10966 p300pfs_ha::Isel,
10967 P300PfsHa_SPEC,
10968 crate::common::RW,
10969 > {
10970 crate::common::RegisterField::<
10971 14,
10972 0x1,
10973 1,
10974 0,
10975 p300pfs_ha::Isel,
10976 p300pfs_ha::Isel,
10977 P300PfsHa_SPEC,
10978 crate::common::RW,
10979 >::from_register(self, 0)
10980 }
10981
10982 #[doc = "Analog Input Enable"]
10983 #[inline(always)]
10984 pub fn asel(
10985 self,
10986 ) -> crate::common::RegisterField<
10987 15,
10988 0x1,
10989 1,
10990 0,
10991 p300pfs_ha::Asel,
10992 p300pfs_ha::Asel,
10993 P300PfsHa_SPEC,
10994 crate::common::RW,
10995 > {
10996 crate::common::RegisterField::<
10997 15,
10998 0x1,
10999 1,
11000 0,
11001 p300pfs_ha::Asel,
11002 p300pfs_ha::Asel,
11003 P300PfsHa_SPEC,
11004 crate::common::RW,
11005 >::from_register(self, 0)
11006 }
11007}
11008impl ::core::default::Default for P300PfsHa {
11009 #[inline(always)]
11010 fn default() -> P300PfsHa {
11011 <crate::RegValueT<P300PfsHa_SPEC> as RegisterValue<_>>::new(16)
11012 }
11013}
11014pub mod p300pfs_ha {
11015
11016 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11017 pub struct Podr_SPEC;
11018 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11019 impl Podr {
11020 #[doc = "Output low"]
11021 pub const _0: Self = Self::new(0);
11022
11023 #[doc = "Output high"]
11024 pub const _1: Self = Self::new(1);
11025 }
11026 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11027 pub struct Pidr_SPEC;
11028 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11029 impl Pidr {
11030 #[doc = "Low level"]
11031 pub const _0: Self = Self::new(0);
11032
11033 #[doc = "High level"]
11034 pub const _1: Self = Self::new(1);
11035 }
11036 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11037 pub struct Pdr_SPEC;
11038 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11039 impl Pdr {
11040 #[doc = "Input (functions as an input pin)"]
11041 pub const _0: Self = Self::new(0);
11042
11043 #[doc = "Output (functions as an output pin)"]
11044 pub const _1: Self = Self::new(1);
11045 }
11046 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11047 pub struct Pcr_SPEC;
11048 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11049 impl Pcr {
11050 #[doc = "Disable input pull-up"]
11051 pub const _0: Self = Self::new(0);
11052
11053 #[doc = "Enable input pull-up"]
11054 pub const _1: Self = Self::new(1);
11055 }
11056 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11057 pub struct Ncodr_SPEC;
11058 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11059 impl Ncodr {
11060 #[doc = "Output CMOS"]
11061 pub const _0: Self = Self::new(0);
11062
11063 #[doc = "Output NMOS open-drain"]
11064 pub const _1: Self = Self::new(1);
11065 }
11066 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11067 pub struct Eofr_SPEC;
11068 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
11069 impl Eofr {
11070 #[doc = "Don\'t care"]
11071 pub const _00: Self = Self::new(0);
11072
11073 #[doc = "Detect rising edge"]
11074 pub const _01: Self = Self::new(1);
11075
11076 #[doc = "Detect falling edge"]
11077 pub const _10: Self = Self::new(2);
11078
11079 #[doc = "Detect both edges"]
11080 pub const _11: Self = Self::new(3);
11081 }
11082 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11083 pub struct Isel_SPEC;
11084 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11085 impl Isel {
11086 #[doc = "Do not use as IRQn input pin"]
11087 pub const _0: Self = Self::new(0);
11088
11089 #[doc = "Use as IRQn input pin"]
11090 pub const _1: Self = Self::new(1);
11091 }
11092 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11093 pub struct Asel_SPEC;
11094 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11095 impl Asel {
11096 #[doc = "Do not use as analog pin"]
11097 pub const _0: Self = Self::new(0);
11098
11099 #[doc = "Use as analog pin"]
11100 pub const _1: Self = Self::new(1);
11101 }
11102}
11103#[doc(hidden)]
11104#[derive(Copy, Clone, Eq, PartialEq)]
11105pub struct P300PfsBy_SPEC;
11106impl crate::sealed::RegSpec for P300PfsBy_SPEC {
11107 type DataType = u8;
11108}
11109
11110#[doc = "Port 300 Pin Function Select Register"]
11111pub type P300PfsBy = crate::RegValueT<P300PfsBy_SPEC>;
11112
11113impl P300PfsBy {
11114 #[doc = "Port Output Data"]
11115 #[inline(always)]
11116 pub fn podr(
11117 self,
11118 ) -> crate::common::RegisterField<
11119 0,
11120 0x1,
11121 1,
11122 0,
11123 p300pfs_by::Podr,
11124 p300pfs_by::Podr,
11125 P300PfsBy_SPEC,
11126 crate::common::RW,
11127 > {
11128 crate::common::RegisterField::<
11129 0,
11130 0x1,
11131 1,
11132 0,
11133 p300pfs_by::Podr,
11134 p300pfs_by::Podr,
11135 P300PfsBy_SPEC,
11136 crate::common::RW,
11137 >::from_register(self, 0)
11138 }
11139
11140 #[doc = "Port State"]
11141 #[inline(always)]
11142 pub fn pidr(
11143 self,
11144 ) -> crate::common::RegisterField<
11145 1,
11146 0x1,
11147 1,
11148 0,
11149 p300pfs_by::Pidr,
11150 p300pfs_by::Pidr,
11151 P300PfsBy_SPEC,
11152 crate::common::R,
11153 > {
11154 crate::common::RegisterField::<
11155 1,
11156 0x1,
11157 1,
11158 0,
11159 p300pfs_by::Pidr,
11160 p300pfs_by::Pidr,
11161 P300PfsBy_SPEC,
11162 crate::common::R,
11163 >::from_register(self, 0)
11164 }
11165
11166 #[doc = "Port Direction"]
11167 #[inline(always)]
11168 pub fn pdr(
11169 self,
11170 ) -> crate::common::RegisterField<
11171 2,
11172 0x1,
11173 1,
11174 0,
11175 p300pfs_by::Pdr,
11176 p300pfs_by::Pdr,
11177 P300PfsBy_SPEC,
11178 crate::common::RW,
11179 > {
11180 crate::common::RegisterField::<
11181 2,
11182 0x1,
11183 1,
11184 0,
11185 p300pfs_by::Pdr,
11186 p300pfs_by::Pdr,
11187 P300PfsBy_SPEC,
11188 crate::common::RW,
11189 >::from_register(self, 0)
11190 }
11191
11192 #[doc = "Pull-up Control"]
11193 #[inline(always)]
11194 pub fn pcr(
11195 self,
11196 ) -> crate::common::RegisterField<
11197 4,
11198 0x1,
11199 1,
11200 0,
11201 p300pfs_by::Pcr,
11202 p300pfs_by::Pcr,
11203 P300PfsBy_SPEC,
11204 crate::common::RW,
11205 > {
11206 crate::common::RegisterField::<
11207 4,
11208 0x1,
11209 1,
11210 0,
11211 p300pfs_by::Pcr,
11212 p300pfs_by::Pcr,
11213 P300PfsBy_SPEC,
11214 crate::common::RW,
11215 >::from_register(self, 0)
11216 }
11217
11218 #[doc = "N-Channel Open-Drain Control"]
11219 #[inline(always)]
11220 pub fn ncodr(
11221 self,
11222 ) -> crate::common::RegisterField<
11223 6,
11224 0x1,
11225 1,
11226 0,
11227 p300pfs_by::Ncodr,
11228 p300pfs_by::Ncodr,
11229 P300PfsBy_SPEC,
11230 crate::common::RW,
11231 > {
11232 crate::common::RegisterField::<
11233 6,
11234 0x1,
11235 1,
11236 0,
11237 p300pfs_by::Ncodr,
11238 p300pfs_by::Ncodr,
11239 P300PfsBy_SPEC,
11240 crate::common::RW,
11241 >::from_register(self, 0)
11242 }
11243}
11244impl ::core::default::Default for P300PfsBy {
11245 #[inline(always)]
11246 fn default() -> P300PfsBy {
11247 <crate::RegValueT<P300PfsBy_SPEC> as RegisterValue<_>>::new(16)
11248 }
11249}
11250pub mod p300pfs_by {
11251
11252 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11253 pub struct Podr_SPEC;
11254 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11255 impl Podr {
11256 #[doc = "Output low"]
11257 pub const _0: Self = Self::new(0);
11258
11259 #[doc = "Output high"]
11260 pub const _1: Self = Self::new(1);
11261 }
11262 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11263 pub struct Pidr_SPEC;
11264 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11265 impl Pidr {
11266 #[doc = "Low level"]
11267 pub const _0: Self = Self::new(0);
11268
11269 #[doc = "High level"]
11270 pub const _1: Self = Self::new(1);
11271 }
11272 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11273 pub struct Pdr_SPEC;
11274 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11275 impl Pdr {
11276 #[doc = "Input (functions as an input pin)"]
11277 pub const _0: Self = Self::new(0);
11278
11279 #[doc = "Output (functions as an output pin)"]
11280 pub const _1: Self = Self::new(1);
11281 }
11282 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11283 pub struct Pcr_SPEC;
11284 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11285 impl Pcr {
11286 #[doc = "Disable input pull-up"]
11287 pub const _0: Self = Self::new(0);
11288
11289 #[doc = "Enable input pull-up"]
11290 pub const _1: Self = Self::new(1);
11291 }
11292 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11293 pub struct Ncodr_SPEC;
11294 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11295 impl Ncodr {
11296 #[doc = "Output CMOS"]
11297 pub const _0: Self = Self::new(0);
11298
11299 #[doc = "Output NMOS open-drain"]
11300 pub const _1: Self = Self::new(1);
11301 }
11302}
11303#[doc(hidden)]
11304#[derive(Copy, Clone, Eq, PartialEq)]
11305pub struct P30Pfs_SPEC;
11306impl crate::sealed::RegSpec for P30Pfs_SPEC {
11307 type DataType = u32;
11308}
11309
11310#[doc = "Port 30%s Pin Function Select Register"]
11311pub type P30Pfs = crate::RegValueT<P30Pfs_SPEC>;
11312
11313impl P30Pfs {
11314 #[doc = "Port Output Data"]
11315 #[inline(always)]
11316 pub fn podr(
11317 self,
11318 ) -> crate::common::RegisterField<
11319 0,
11320 0x1,
11321 1,
11322 0,
11323 p30pfs::Podr,
11324 p30pfs::Podr,
11325 P30Pfs_SPEC,
11326 crate::common::RW,
11327 > {
11328 crate::common::RegisterField::<
11329 0,
11330 0x1,
11331 1,
11332 0,
11333 p30pfs::Podr,
11334 p30pfs::Podr,
11335 P30Pfs_SPEC,
11336 crate::common::RW,
11337 >::from_register(self, 0)
11338 }
11339
11340 #[doc = "Port State"]
11341 #[inline(always)]
11342 pub fn pidr(
11343 self,
11344 ) -> crate::common::RegisterField<
11345 1,
11346 0x1,
11347 1,
11348 0,
11349 p30pfs::Pidr,
11350 p30pfs::Pidr,
11351 P30Pfs_SPEC,
11352 crate::common::R,
11353 > {
11354 crate::common::RegisterField::<
11355 1,
11356 0x1,
11357 1,
11358 0,
11359 p30pfs::Pidr,
11360 p30pfs::Pidr,
11361 P30Pfs_SPEC,
11362 crate::common::R,
11363 >::from_register(self, 0)
11364 }
11365
11366 #[doc = "Port Direction"]
11367 #[inline(always)]
11368 pub fn pdr(
11369 self,
11370 ) -> crate::common::RegisterField<
11371 2,
11372 0x1,
11373 1,
11374 0,
11375 p30pfs::Pdr,
11376 p30pfs::Pdr,
11377 P30Pfs_SPEC,
11378 crate::common::RW,
11379 > {
11380 crate::common::RegisterField::<
11381 2,
11382 0x1,
11383 1,
11384 0,
11385 p30pfs::Pdr,
11386 p30pfs::Pdr,
11387 P30Pfs_SPEC,
11388 crate::common::RW,
11389 >::from_register(self, 0)
11390 }
11391
11392 #[doc = "Pull-up Control"]
11393 #[inline(always)]
11394 pub fn pcr(
11395 self,
11396 ) -> crate::common::RegisterField<
11397 4,
11398 0x1,
11399 1,
11400 0,
11401 p30pfs::Pcr,
11402 p30pfs::Pcr,
11403 P30Pfs_SPEC,
11404 crate::common::RW,
11405 > {
11406 crate::common::RegisterField::<
11407 4,
11408 0x1,
11409 1,
11410 0,
11411 p30pfs::Pcr,
11412 p30pfs::Pcr,
11413 P30Pfs_SPEC,
11414 crate::common::RW,
11415 >::from_register(self, 0)
11416 }
11417
11418 #[doc = "N-Channel Open-Drain Control"]
11419 #[inline(always)]
11420 pub fn ncodr(
11421 self,
11422 ) -> crate::common::RegisterField<
11423 6,
11424 0x1,
11425 1,
11426 0,
11427 p30pfs::Ncodr,
11428 p30pfs::Ncodr,
11429 P30Pfs_SPEC,
11430 crate::common::RW,
11431 > {
11432 crate::common::RegisterField::<
11433 6,
11434 0x1,
11435 1,
11436 0,
11437 p30pfs::Ncodr,
11438 p30pfs::Ncodr,
11439 P30Pfs_SPEC,
11440 crate::common::RW,
11441 >::from_register(self, 0)
11442 }
11443
11444 #[doc = "Event on Falling/Event on Rising"]
11445 #[inline(always)]
11446 pub fn eofr(
11447 self,
11448 ) -> crate::common::RegisterField<
11449 12,
11450 0x3,
11451 1,
11452 0,
11453 p30pfs::Eofr,
11454 p30pfs::Eofr,
11455 P30Pfs_SPEC,
11456 crate::common::RW,
11457 > {
11458 crate::common::RegisterField::<
11459 12,
11460 0x3,
11461 1,
11462 0,
11463 p30pfs::Eofr,
11464 p30pfs::Eofr,
11465 P30Pfs_SPEC,
11466 crate::common::RW,
11467 >::from_register(self, 0)
11468 }
11469
11470 #[doc = "IRQ Input Enable"]
11471 #[inline(always)]
11472 pub fn isel(
11473 self,
11474 ) -> crate::common::RegisterField<
11475 14,
11476 0x1,
11477 1,
11478 0,
11479 p30pfs::Isel,
11480 p30pfs::Isel,
11481 P30Pfs_SPEC,
11482 crate::common::RW,
11483 > {
11484 crate::common::RegisterField::<
11485 14,
11486 0x1,
11487 1,
11488 0,
11489 p30pfs::Isel,
11490 p30pfs::Isel,
11491 P30Pfs_SPEC,
11492 crate::common::RW,
11493 >::from_register(self, 0)
11494 }
11495
11496 #[doc = "Analog Input Enable"]
11497 #[inline(always)]
11498 pub fn asel(
11499 self,
11500 ) -> crate::common::RegisterField<
11501 15,
11502 0x1,
11503 1,
11504 0,
11505 p30pfs::Asel,
11506 p30pfs::Asel,
11507 P30Pfs_SPEC,
11508 crate::common::RW,
11509 > {
11510 crate::common::RegisterField::<
11511 15,
11512 0x1,
11513 1,
11514 0,
11515 p30pfs::Asel,
11516 p30pfs::Asel,
11517 P30Pfs_SPEC,
11518 crate::common::RW,
11519 >::from_register(self, 0)
11520 }
11521
11522 #[doc = "Port Mode Control"]
11523 #[inline(always)]
11524 pub fn pmr(
11525 self,
11526 ) -> crate::common::RegisterField<
11527 16,
11528 0x1,
11529 1,
11530 0,
11531 p30pfs::Pmr,
11532 p30pfs::Pmr,
11533 P30Pfs_SPEC,
11534 crate::common::RW,
11535 > {
11536 crate::common::RegisterField::<
11537 16,
11538 0x1,
11539 1,
11540 0,
11541 p30pfs::Pmr,
11542 p30pfs::Pmr,
11543 P30Pfs_SPEC,
11544 crate::common::RW,
11545 >::from_register(self, 0)
11546 }
11547
11548 #[doc = "Peripheral Select"]
11549 #[inline(always)]
11550 pub fn psel(
11551 self,
11552 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P30Pfs_SPEC, crate::common::RW> {
11553 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P30Pfs_SPEC,crate::common::RW>::from_register(self,0)
11554 }
11555}
11556impl ::core::default::Default for P30Pfs {
11557 #[inline(always)]
11558 fn default() -> P30Pfs {
11559 <crate::RegValueT<P30Pfs_SPEC> as RegisterValue<_>>::new(0)
11560 }
11561}
11562pub mod p30pfs {
11563
11564 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11565 pub struct Podr_SPEC;
11566 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11567 impl Podr {
11568 #[doc = "Output low"]
11569 pub const _0: Self = Self::new(0);
11570
11571 #[doc = "Output high"]
11572 pub const _1: Self = Self::new(1);
11573 }
11574 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11575 pub struct Pidr_SPEC;
11576 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11577 impl Pidr {
11578 #[doc = "Low level"]
11579 pub const _0: Self = Self::new(0);
11580
11581 #[doc = "High level"]
11582 pub const _1: Self = Self::new(1);
11583 }
11584 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11585 pub struct Pdr_SPEC;
11586 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11587 impl Pdr {
11588 #[doc = "Input (functions as an input pin)"]
11589 pub const _0: Self = Self::new(0);
11590
11591 #[doc = "Output (functions as an output pin)"]
11592 pub const _1: Self = Self::new(1);
11593 }
11594 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11595 pub struct Pcr_SPEC;
11596 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11597 impl Pcr {
11598 #[doc = "Disable input pull-up"]
11599 pub const _0: Self = Self::new(0);
11600
11601 #[doc = "Enable input pull-up"]
11602 pub const _1: Self = Self::new(1);
11603 }
11604 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11605 pub struct Ncodr_SPEC;
11606 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11607 impl Ncodr {
11608 #[doc = "Output CMOS"]
11609 pub const _0: Self = Self::new(0);
11610
11611 #[doc = "Output NMOS open-drain"]
11612 pub const _1: Self = Self::new(1);
11613 }
11614 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11615 pub struct Eofr_SPEC;
11616 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
11617 impl Eofr {
11618 #[doc = "Don\'t care"]
11619 pub const _00: Self = Self::new(0);
11620
11621 #[doc = "Detect rising edge"]
11622 pub const _01: Self = Self::new(1);
11623
11624 #[doc = "Detect falling edge"]
11625 pub const _10: Self = Self::new(2);
11626
11627 #[doc = "Detect both edges"]
11628 pub const _11: Self = Self::new(3);
11629 }
11630 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11631 pub struct Isel_SPEC;
11632 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11633 impl Isel {
11634 #[doc = "Do not use as IRQn input pin"]
11635 pub const _0: Self = Self::new(0);
11636
11637 #[doc = "Use as IRQn input pin"]
11638 pub const _1: Self = Self::new(1);
11639 }
11640 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11641 pub struct Asel_SPEC;
11642 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11643 impl Asel {
11644 #[doc = "Do not use as analog pin"]
11645 pub const _0: Self = Self::new(0);
11646
11647 #[doc = "Use as analog pin"]
11648 pub const _1: Self = Self::new(1);
11649 }
11650 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11651 pub struct Pmr_SPEC;
11652 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
11653 impl Pmr {
11654 #[doc = "Use as general I/O pin"]
11655 pub const _0: Self = Self::new(0);
11656
11657 #[doc = "Use as I/O port for peripheral functions"]
11658 pub const _1: Self = Self::new(1);
11659 }
11660}
11661#[doc(hidden)]
11662#[derive(Copy, Clone, Eq, PartialEq)]
11663pub struct P30PfsHa_SPEC;
11664impl crate::sealed::RegSpec for P30PfsHa_SPEC {
11665 type DataType = u16;
11666}
11667
11668#[doc = "Port 30%s Pin Function Select Register"]
11669pub type P30PfsHa = crate::RegValueT<P30PfsHa_SPEC>;
11670
11671impl P30PfsHa {
11672 #[doc = "Port Output Data"]
11673 #[inline(always)]
11674 pub fn podr(
11675 self,
11676 ) -> crate::common::RegisterField<
11677 0,
11678 0x1,
11679 1,
11680 0,
11681 p30pfs_ha::Podr,
11682 p30pfs_ha::Podr,
11683 P30PfsHa_SPEC,
11684 crate::common::RW,
11685 > {
11686 crate::common::RegisterField::<
11687 0,
11688 0x1,
11689 1,
11690 0,
11691 p30pfs_ha::Podr,
11692 p30pfs_ha::Podr,
11693 P30PfsHa_SPEC,
11694 crate::common::RW,
11695 >::from_register(self, 0)
11696 }
11697
11698 #[doc = "Port State"]
11699 #[inline(always)]
11700 pub fn pidr(
11701 self,
11702 ) -> crate::common::RegisterField<
11703 1,
11704 0x1,
11705 1,
11706 0,
11707 p30pfs_ha::Pidr,
11708 p30pfs_ha::Pidr,
11709 P30PfsHa_SPEC,
11710 crate::common::R,
11711 > {
11712 crate::common::RegisterField::<
11713 1,
11714 0x1,
11715 1,
11716 0,
11717 p30pfs_ha::Pidr,
11718 p30pfs_ha::Pidr,
11719 P30PfsHa_SPEC,
11720 crate::common::R,
11721 >::from_register(self, 0)
11722 }
11723
11724 #[doc = "Port Direction"]
11725 #[inline(always)]
11726 pub fn pdr(
11727 self,
11728 ) -> crate::common::RegisterField<
11729 2,
11730 0x1,
11731 1,
11732 0,
11733 p30pfs_ha::Pdr,
11734 p30pfs_ha::Pdr,
11735 P30PfsHa_SPEC,
11736 crate::common::RW,
11737 > {
11738 crate::common::RegisterField::<
11739 2,
11740 0x1,
11741 1,
11742 0,
11743 p30pfs_ha::Pdr,
11744 p30pfs_ha::Pdr,
11745 P30PfsHa_SPEC,
11746 crate::common::RW,
11747 >::from_register(self, 0)
11748 }
11749
11750 #[doc = "Pull-up Control"]
11751 #[inline(always)]
11752 pub fn pcr(
11753 self,
11754 ) -> crate::common::RegisterField<
11755 4,
11756 0x1,
11757 1,
11758 0,
11759 p30pfs_ha::Pcr,
11760 p30pfs_ha::Pcr,
11761 P30PfsHa_SPEC,
11762 crate::common::RW,
11763 > {
11764 crate::common::RegisterField::<
11765 4,
11766 0x1,
11767 1,
11768 0,
11769 p30pfs_ha::Pcr,
11770 p30pfs_ha::Pcr,
11771 P30PfsHa_SPEC,
11772 crate::common::RW,
11773 >::from_register(self, 0)
11774 }
11775
11776 #[doc = "N-Channel Open-Drain Control"]
11777 #[inline(always)]
11778 pub fn ncodr(
11779 self,
11780 ) -> crate::common::RegisterField<
11781 6,
11782 0x1,
11783 1,
11784 0,
11785 p30pfs_ha::Ncodr,
11786 p30pfs_ha::Ncodr,
11787 P30PfsHa_SPEC,
11788 crate::common::RW,
11789 > {
11790 crate::common::RegisterField::<
11791 6,
11792 0x1,
11793 1,
11794 0,
11795 p30pfs_ha::Ncodr,
11796 p30pfs_ha::Ncodr,
11797 P30PfsHa_SPEC,
11798 crate::common::RW,
11799 >::from_register(self, 0)
11800 }
11801
11802 #[doc = "Event on Falling/Event on Rising"]
11803 #[inline(always)]
11804 pub fn eofr(
11805 self,
11806 ) -> crate::common::RegisterField<
11807 12,
11808 0x3,
11809 1,
11810 0,
11811 p30pfs_ha::Eofr,
11812 p30pfs_ha::Eofr,
11813 P30PfsHa_SPEC,
11814 crate::common::RW,
11815 > {
11816 crate::common::RegisterField::<
11817 12,
11818 0x3,
11819 1,
11820 0,
11821 p30pfs_ha::Eofr,
11822 p30pfs_ha::Eofr,
11823 P30PfsHa_SPEC,
11824 crate::common::RW,
11825 >::from_register(self, 0)
11826 }
11827
11828 #[doc = "IRQ Input Enable"]
11829 #[inline(always)]
11830 pub fn isel(
11831 self,
11832 ) -> crate::common::RegisterField<
11833 14,
11834 0x1,
11835 1,
11836 0,
11837 p30pfs_ha::Isel,
11838 p30pfs_ha::Isel,
11839 P30PfsHa_SPEC,
11840 crate::common::RW,
11841 > {
11842 crate::common::RegisterField::<
11843 14,
11844 0x1,
11845 1,
11846 0,
11847 p30pfs_ha::Isel,
11848 p30pfs_ha::Isel,
11849 P30PfsHa_SPEC,
11850 crate::common::RW,
11851 >::from_register(self, 0)
11852 }
11853
11854 #[doc = "Analog Input Enable"]
11855 #[inline(always)]
11856 pub fn asel(
11857 self,
11858 ) -> crate::common::RegisterField<
11859 15,
11860 0x1,
11861 1,
11862 0,
11863 p30pfs_ha::Asel,
11864 p30pfs_ha::Asel,
11865 P30PfsHa_SPEC,
11866 crate::common::RW,
11867 > {
11868 crate::common::RegisterField::<
11869 15,
11870 0x1,
11871 1,
11872 0,
11873 p30pfs_ha::Asel,
11874 p30pfs_ha::Asel,
11875 P30PfsHa_SPEC,
11876 crate::common::RW,
11877 >::from_register(self, 0)
11878 }
11879}
11880impl ::core::default::Default for P30PfsHa {
11881 #[inline(always)]
11882 fn default() -> P30PfsHa {
11883 <crate::RegValueT<P30PfsHa_SPEC> as RegisterValue<_>>::new(0)
11884 }
11885}
11886pub mod p30pfs_ha {
11887
11888 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11889 pub struct Podr_SPEC;
11890 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11891 impl Podr {
11892 #[doc = "Output low"]
11893 pub const _0: Self = Self::new(0);
11894
11895 #[doc = "Output high"]
11896 pub const _1: Self = Self::new(1);
11897 }
11898 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11899 pub struct Pidr_SPEC;
11900 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11901 impl Pidr {
11902 #[doc = "Low level"]
11903 pub const _0: Self = Self::new(0);
11904
11905 #[doc = "High level"]
11906 pub const _1: Self = Self::new(1);
11907 }
11908 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11909 pub struct Pdr_SPEC;
11910 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11911 impl Pdr {
11912 #[doc = "Input (functions as an input pin)"]
11913 pub const _0: Self = Self::new(0);
11914
11915 #[doc = "Output (functions as an output pin)"]
11916 pub const _1: Self = Self::new(1);
11917 }
11918 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11919 pub struct Pcr_SPEC;
11920 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11921 impl Pcr {
11922 #[doc = "Disable input pull-up"]
11923 pub const _0: Self = Self::new(0);
11924
11925 #[doc = "Enable input pull-up"]
11926 pub const _1: Self = Self::new(1);
11927 }
11928 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11929 pub struct Ncodr_SPEC;
11930 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11931 impl Ncodr {
11932 #[doc = "Output CMOS"]
11933 pub const _0: Self = Self::new(0);
11934
11935 #[doc = "Output NMOS open-drain"]
11936 pub const _1: Self = Self::new(1);
11937 }
11938 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11939 pub struct Eofr_SPEC;
11940 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
11941 impl Eofr {
11942 #[doc = "Don\'t care"]
11943 pub const _00: Self = Self::new(0);
11944
11945 #[doc = "Detect rising edge"]
11946 pub const _01: Self = Self::new(1);
11947
11948 #[doc = "Detect falling edge"]
11949 pub const _10: Self = Self::new(2);
11950
11951 #[doc = "Detect both edges"]
11952 pub const _11: Self = Self::new(3);
11953 }
11954 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11955 pub struct Isel_SPEC;
11956 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11957 impl Isel {
11958 #[doc = "Do not use as IRQn input pin"]
11959 pub const _0: Self = Self::new(0);
11960
11961 #[doc = "Use as IRQn input pin"]
11962 pub const _1: Self = Self::new(1);
11963 }
11964 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11965 pub struct Asel_SPEC;
11966 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11967 impl Asel {
11968 #[doc = "Do not use as analog pin"]
11969 pub const _0: Self = Self::new(0);
11970
11971 #[doc = "Use as analog pin"]
11972 pub const _1: Self = Self::new(1);
11973 }
11974}
11975#[doc(hidden)]
11976#[derive(Copy, Clone, Eq, PartialEq)]
11977pub struct P30PfsBy_SPEC;
11978impl crate::sealed::RegSpec for P30PfsBy_SPEC {
11979 type DataType = u8;
11980}
11981
11982#[doc = "Port 30%s Pin Function Select Register"]
11983pub type P30PfsBy = crate::RegValueT<P30PfsBy_SPEC>;
11984
11985impl P30PfsBy {
11986 #[doc = "Port Output Data"]
11987 #[inline(always)]
11988 pub fn podr(
11989 self,
11990 ) -> crate::common::RegisterField<
11991 0,
11992 0x1,
11993 1,
11994 0,
11995 p30pfs_by::Podr,
11996 p30pfs_by::Podr,
11997 P30PfsBy_SPEC,
11998 crate::common::RW,
11999 > {
12000 crate::common::RegisterField::<
12001 0,
12002 0x1,
12003 1,
12004 0,
12005 p30pfs_by::Podr,
12006 p30pfs_by::Podr,
12007 P30PfsBy_SPEC,
12008 crate::common::RW,
12009 >::from_register(self, 0)
12010 }
12011
12012 #[doc = "Port State"]
12013 #[inline(always)]
12014 pub fn pidr(
12015 self,
12016 ) -> crate::common::RegisterField<
12017 1,
12018 0x1,
12019 1,
12020 0,
12021 p30pfs_by::Pidr,
12022 p30pfs_by::Pidr,
12023 P30PfsBy_SPEC,
12024 crate::common::R,
12025 > {
12026 crate::common::RegisterField::<
12027 1,
12028 0x1,
12029 1,
12030 0,
12031 p30pfs_by::Pidr,
12032 p30pfs_by::Pidr,
12033 P30PfsBy_SPEC,
12034 crate::common::R,
12035 >::from_register(self, 0)
12036 }
12037
12038 #[doc = "Port Direction"]
12039 #[inline(always)]
12040 pub fn pdr(
12041 self,
12042 ) -> crate::common::RegisterField<
12043 2,
12044 0x1,
12045 1,
12046 0,
12047 p30pfs_by::Pdr,
12048 p30pfs_by::Pdr,
12049 P30PfsBy_SPEC,
12050 crate::common::RW,
12051 > {
12052 crate::common::RegisterField::<
12053 2,
12054 0x1,
12055 1,
12056 0,
12057 p30pfs_by::Pdr,
12058 p30pfs_by::Pdr,
12059 P30PfsBy_SPEC,
12060 crate::common::RW,
12061 >::from_register(self, 0)
12062 }
12063
12064 #[doc = "Pull-up Control"]
12065 #[inline(always)]
12066 pub fn pcr(
12067 self,
12068 ) -> crate::common::RegisterField<
12069 4,
12070 0x1,
12071 1,
12072 0,
12073 p30pfs_by::Pcr,
12074 p30pfs_by::Pcr,
12075 P30PfsBy_SPEC,
12076 crate::common::RW,
12077 > {
12078 crate::common::RegisterField::<
12079 4,
12080 0x1,
12081 1,
12082 0,
12083 p30pfs_by::Pcr,
12084 p30pfs_by::Pcr,
12085 P30PfsBy_SPEC,
12086 crate::common::RW,
12087 >::from_register(self, 0)
12088 }
12089
12090 #[doc = "N-Channel Open-Drain Control"]
12091 #[inline(always)]
12092 pub fn ncodr(
12093 self,
12094 ) -> crate::common::RegisterField<
12095 6,
12096 0x1,
12097 1,
12098 0,
12099 p30pfs_by::Ncodr,
12100 p30pfs_by::Ncodr,
12101 P30PfsBy_SPEC,
12102 crate::common::RW,
12103 > {
12104 crate::common::RegisterField::<
12105 6,
12106 0x1,
12107 1,
12108 0,
12109 p30pfs_by::Ncodr,
12110 p30pfs_by::Ncodr,
12111 P30PfsBy_SPEC,
12112 crate::common::RW,
12113 >::from_register(self, 0)
12114 }
12115}
12116impl ::core::default::Default for P30PfsBy {
12117 #[inline(always)]
12118 fn default() -> P30PfsBy {
12119 <crate::RegValueT<P30PfsBy_SPEC> as RegisterValue<_>>::new(0)
12120 }
12121}
12122pub mod p30pfs_by {
12123
12124 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12125 pub struct Podr_SPEC;
12126 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12127 impl Podr {
12128 #[doc = "Output low"]
12129 pub const _0: Self = Self::new(0);
12130
12131 #[doc = "Output high"]
12132 pub const _1: Self = Self::new(1);
12133 }
12134 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12135 pub struct Pidr_SPEC;
12136 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12137 impl Pidr {
12138 #[doc = "Low level"]
12139 pub const _0: Self = Self::new(0);
12140
12141 #[doc = "High level"]
12142 pub const _1: Self = Self::new(1);
12143 }
12144 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12145 pub struct Pdr_SPEC;
12146 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12147 impl Pdr {
12148 #[doc = "Input (functions as an input pin)"]
12149 pub const _0: Self = Self::new(0);
12150
12151 #[doc = "Output (functions as an output pin)"]
12152 pub const _1: Self = Self::new(1);
12153 }
12154 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12155 pub struct Pcr_SPEC;
12156 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12157 impl Pcr {
12158 #[doc = "Disable input pull-up"]
12159 pub const _0: Self = Self::new(0);
12160
12161 #[doc = "Enable input pull-up"]
12162 pub const _1: Self = Self::new(1);
12163 }
12164 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12165 pub struct Ncodr_SPEC;
12166 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12167 impl Ncodr {
12168 #[doc = "Output CMOS"]
12169 pub const _0: Self = Self::new(0);
12170
12171 #[doc = "Output NMOS open-drain"]
12172 pub const _1: Self = Self::new(1);
12173 }
12174}
12175#[doc(hidden)]
12176#[derive(Copy, Clone, Eq, PartialEq)]
12177pub struct P40Pfs_SPEC;
12178impl crate::sealed::RegSpec for P40Pfs_SPEC {
12179 type DataType = u32;
12180}
12181
12182#[doc = "Port 40%s Pin Function Select Register"]
12183pub type P40Pfs = crate::RegValueT<P40Pfs_SPEC>;
12184
12185impl P40Pfs {
12186 #[doc = "Port Output Data"]
12187 #[inline(always)]
12188 pub fn podr(
12189 self,
12190 ) -> crate::common::RegisterField<
12191 0,
12192 0x1,
12193 1,
12194 0,
12195 p40pfs::Podr,
12196 p40pfs::Podr,
12197 P40Pfs_SPEC,
12198 crate::common::RW,
12199 > {
12200 crate::common::RegisterField::<
12201 0,
12202 0x1,
12203 1,
12204 0,
12205 p40pfs::Podr,
12206 p40pfs::Podr,
12207 P40Pfs_SPEC,
12208 crate::common::RW,
12209 >::from_register(self, 0)
12210 }
12211
12212 #[doc = "Port State"]
12213 #[inline(always)]
12214 pub fn pidr(
12215 self,
12216 ) -> crate::common::RegisterField<
12217 1,
12218 0x1,
12219 1,
12220 0,
12221 p40pfs::Pidr,
12222 p40pfs::Pidr,
12223 P40Pfs_SPEC,
12224 crate::common::R,
12225 > {
12226 crate::common::RegisterField::<
12227 1,
12228 0x1,
12229 1,
12230 0,
12231 p40pfs::Pidr,
12232 p40pfs::Pidr,
12233 P40Pfs_SPEC,
12234 crate::common::R,
12235 >::from_register(self, 0)
12236 }
12237
12238 #[doc = "Port Direction"]
12239 #[inline(always)]
12240 pub fn pdr(
12241 self,
12242 ) -> crate::common::RegisterField<
12243 2,
12244 0x1,
12245 1,
12246 0,
12247 p40pfs::Pdr,
12248 p40pfs::Pdr,
12249 P40Pfs_SPEC,
12250 crate::common::RW,
12251 > {
12252 crate::common::RegisterField::<
12253 2,
12254 0x1,
12255 1,
12256 0,
12257 p40pfs::Pdr,
12258 p40pfs::Pdr,
12259 P40Pfs_SPEC,
12260 crate::common::RW,
12261 >::from_register(self, 0)
12262 }
12263
12264 #[doc = "Pull-up Control"]
12265 #[inline(always)]
12266 pub fn pcr(
12267 self,
12268 ) -> crate::common::RegisterField<
12269 4,
12270 0x1,
12271 1,
12272 0,
12273 p40pfs::Pcr,
12274 p40pfs::Pcr,
12275 P40Pfs_SPEC,
12276 crate::common::RW,
12277 > {
12278 crate::common::RegisterField::<
12279 4,
12280 0x1,
12281 1,
12282 0,
12283 p40pfs::Pcr,
12284 p40pfs::Pcr,
12285 P40Pfs_SPEC,
12286 crate::common::RW,
12287 >::from_register(self, 0)
12288 }
12289
12290 #[doc = "N-Channel Open-Drain Control"]
12291 #[inline(always)]
12292 pub fn ncodr(
12293 self,
12294 ) -> crate::common::RegisterField<
12295 6,
12296 0x1,
12297 1,
12298 0,
12299 p40pfs::Ncodr,
12300 p40pfs::Ncodr,
12301 P40Pfs_SPEC,
12302 crate::common::RW,
12303 > {
12304 crate::common::RegisterField::<
12305 6,
12306 0x1,
12307 1,
12308 0,
12309 p40pfs::Ncodr,
12310 p40pfs::Ncodr,
12311 P40Pfs_SPEC,
12312 crate::common::RW,
12313 >::from_register(self, 0)
12314 }
12315
12316 #[doc = "Event on Falling/Event on Rising"]
12317 #[inline(always)]
12318 pub fn eofr(
12319 self,
12320 ) -> crate::common::RegisterField<
12321 12,
12322 0x3,
12323 1,
12324 0,
12325 p40pfs::Eofr,
12326 p40pfs::Eofr,
12327 P40Pfs_SPEC,
12328 crate::common::RW,
12329 > {
12330 crate::common::RegisterField::<
12331 12,
12332 0x3,
12333 1,
12334 0,
12335 p40pfs::Eofr,
12336 p40pfs::Eofr,
12337 P40Pfs_SPEC,
12338 crate::common::RW,
12339 >::from_register(self, 0)
12340 }
12341
12342 #[doc = "IRQ Input Enable"]
12343 #[inline(always)]
12344 pub fn isel(
12345 self,
12346 ) -> crate::common::RegisterField<
12347 14,
12348 0x1,
12349 1,
12350 0,
12351 p40pfs::Isel,
12352 p40pfs::Isel,
12353 P40Pfs_SPEC,
12354 crate::common::RW,
12355 > {
12356 crate::common::RegisterField::<
12357 14,
12358 0x1,
12359 1,
12360 0,
12361 p40pfs::Isel,
12362 p40pfs::Isel,
12363 P40Pfs_SPEC,
12364 crate::common::RW,
12365 >::from_register(self, 0)
12366 }
12367
12368 #[doc = "Analog Input Enable"]
12369 #[inline(always)]
12370 pub fn asel(
12371 self,
12372 ) -> crate::common::RegisterField<
12373 15,
12374 0x1,
12375 1,
12376 0,
12377 p40pfs::Asel,
12378 p40pfs::Asel,
12379 P40Pfs_SPEC,
12380 crate::common::RW,
12381 > {
12382 crate::common::RegisterField::<
12383 15,
12384 0x1,
12385 1,
12386 0,
12387 p40pfs::Asel,
12388 p40pfs::Asel,
12389 P40Pfs_SPEC,
12390 crate::common::RW,
12391 >::from_register(self, 0)
12392 }
12393
12394 #[doc = "Port Mode Control"]
12395 #[inline(always)]
12396 pub fn pmr(
12397 self,
12398 ) -> crate::common::RegisterField<
12399 16,
12400 0x1,
12401 1,
12402 0,
12403 p40pfs::Pmr,
12404 p40pfs::Pmr,
12405 P40Pfs_SPEC,
12406 crate::common::RW,
12407 > {
12408 crate::common::RegisterField::<
12409 16,
12410 0x1,
12411 1,
12412 0,
12413 p40pfs::Pmr,
12414 p40pfs::Pmr,
12415 P40Pfs_SPEC,
12416 crate::common::RW,
12417 >::from_register(self, 0)
12418 }
12419
12420 #[doc = "Peripheral Select"]
12421 #[inline(always)]
12422 pub fn psel(
12423 self,
12424 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P40Pfs_SPEC, crate::common::RW> {
12425 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P40Pfs_SPEC,crate::common::RW>::from_register(self,0)
12426 }
12427}
12428impl ::core::default::Default for P40Pfs {
12429 #[inline(always)]
12430 fn default() -> P40Pfs {
12431 <crate::RegValueT<P40Pfs_SPEC> as RegisterValue<_>>::new(0)
12432 }
12433}
12434pub mod p40pfs {
12435
12436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12437 pub struct Podr_SPEC;
12438 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12439 impl Podr {
12440 #[doc = "Output low"]
12441 pub const _0: Self = Self::new(0);
12442
12443 #[doc = "Output high"]
12444 pub const _1: Self = Self::new(1);
12445 }
12446 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12447 pub struct Pidr_SPEC;
12448 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12449 impl Pidr {
12450 #[doc = "Low level"]
12451 pub const _0: Self = Self::new(0);
12452
12453 #[doc = "High level"]
12454 pub const _1: Self = Self::new(1);
12455 }
12456 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12457 pub struct Pdr_SPEC;
12458 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12459 impl Pdr {
12460 #[doc = "Input (functions as an input pin)"]
12461 pub const _0: Self = Self::new(0);
12462
12463 #[doc = "Output (functions as an output pin)"]
12464 pub const _1: Self = Self::new(1);
12465 }
12466 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12467 pub struct Pcr_SPEC;
12468 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12469 impl Pcr {
12470 #[doc = "Disable input pull-up"]
12471 pub const _0: Self = Self::new(0);
12472
12473 #[doc = "Enable input pull-up"]
12474 pub const _1: Self = Self::new(1);
12475 }
12476 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12477 pub struct Ncodr_SPEC;
12478 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12479 impl Ncodr {
12480 #[doc = "Output CMOS"]
12481 pub const _0: Self = Self::new(0);
12482
12483 #[doc = "Output NMOS open-drain"]
12484 pub const _1: Self = Self::new(1);
12485 }
12486 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12487 pub struct Eofr_SPEC;
12488 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
12489 impl Eofr {
12490 #[doc = "Don\'t care"]
12491 pub const _00: Self = Self::new(0);
12492
12493 #[doc = "Detect rising edge"]
12494 pub const _01: Self = Self::new(1);
12495
12496 #[doc = "Detect falling edge"]
12497 pub const _10: Self = Self::new(2);
12498
12499 #[doc = "Detect both edges"]
12500 pub const _11: Self = Self::new(3);
12501 }
12502 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12503 pub struct Isel_SPEC;
12504 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12505 impl Isel {
12506 #[doc = "Do not use as IRQn input pin"]
12507 pub const _0: Self = Self::new(0);
12508
12509 #[doc = "Use as IRQn input pin"]
12510 pub const _1: Self = Self::new(1);
12511 }
12512 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12513 pub struct Asel_SPEC;
12514 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12515 impl Asel {
12516 #[doc = "Do not use as analog pin"]
12517 pub const _0: Self = Self::new(0);
12518
12519 #[doc = "Use as analog pin"]
12520 pub const _1: Self = Self::new(1);
12521 }
12522 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12523 pub struct Pmr_SPEC;
12524 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
12525 impl Pmr {
12526 #[doc = "Use as general I/O pin"]
12527 pub const _0: Self = Self::new(0);
12528
12529 #[doc = "Use as I/O port for peripheral functions"]
12530 pub const _1: Self = Self::new(1);
12531 }
12532}
12533#[doc(hidden)]
12534#[derive(Copy, Clone, Eq, PartialEq)]
12535pub struct P40PfsHa_SPEC;
12536impl crate::sealed::RegSpec for P40PfsHa_SPEC {
12537 type DataType = u16;
12538}
12539
12540#[doc = "Port 40%s Pin Function Select Register"]
12541pub type P40PfsHa = crate::RegValueT<P40PfsHa_SPEC>;
12542
12543impl P40PfsHa {
12544 #[doc = "Port Output Data"]
12545 #[inline(always)]
12546 pub fn podr(
12547 self,
12548 ) -> crate::common::RegisterField<
12549 0,
12550 0x1,
12551 1,
12552 0,
12553 p40pfs_ha::Podr,
12554 p40pfs_ha::Podr,
12555 P40PfsHa_SPEC,
12556 crate::common::RW,
12557 > {
12558 crate::common::RegisterField::<
12559 0,
12560 0x1,
12561 1,
12562 0,
12563 p40pfs_ha::Podr,
12564 p40pfs_ha::Podr,
12565 P40PfsHa_SPEC,
12566 crate::common::RW,
12567 >::from_register(self, 0)
12568 }
12569
12570 #[doc = "Port State"]
12571 #[inline(always)]
12572 pub fn pidr(
12573 self,
12574 ) -> crate::common::RegisterField<
12575 1,
12576 0x1,
12577 1,
12578 0,
12579 p40pfs_ha::Pidr,
12580 p40pfs_ha::Pidr,
12581 P40PfsHa_SPEC,
12582 crate::common::R,
12583 > {
12584 crate::common::RegisterField::<
12585 1,
12586 0x1,
12587 1,
12588 0,
12589 p40pfs_ha::Pidr,
12590 p40pfs_ha::Pidr,
12591 P40PfsHa_SPEC,
12592 crate::common::R,
12593 >::from_register(self, 0)
12594 }
12595
12596 #[doc = "Port Direction"]
12597 #[inline(always)]
12598 pub fn pdr(
12599 self,
12600 ) -> crate::common::RegisterField<
12601 2,
12602 0x1,
12603 1,
12604 0,
12605 p40pfs_ha::Pdr,
12606 p40pfs_ha::Pdr,
12607 P40PfsHa_SPEC,
12608 crate::common::RW,
12609 > {
12610 crate::common::RegisterField::<
12611 2,
12612 0x1,
12613 1,
12614 0,
12615 p40pfs_ha::Pdr,
12616 p40pfs_ha::Pdr,
12617 P40PfsHa_SPEC,
12618 crate::common::RW,
12619 >::from_register(self, 0)
12620 }
12621
12622 #[doc = "Pull-up Control"]
12623 #[inline(always)]
12624 pub fn pcr(
12625 self,
12626 ) -> crate::common::RegisterField<
12627 4,
12628 0x1,
12629 1,
12630 0,
12631 p40pfs_ha::Pcr,
12632 p40pfs_ha::Pcr,
12633 P40PfsHa_SPEC,
12634 crate::common::RW,
12635 > {
12636 crate::common::RegisterField::<
12637 4,
12638 0x1,
12639 1,
12640 0,
12641 p40pfs_ha::Pcr,
12642 p40pfs_ha::Pcr,
12643 P40PfsHa_SPEC,
12644 crate::common::RW,
12645 >::from_register(self, 0)
12646 }
12647
12648 #[doc = "N-Channel Open-Drain Control"]
12649 #[inline(always)]
12650 pub fn ncodr(
12651 self,
12652 ) -> crate::common::RegisterField<
12653 6,
12654 0x1,
12655 1,
12656 0,
12657 p40pfs_ha::Ncodr,
12658 p40pfs_ha::Ncodr,
12659 P40PfsHa_SPEC,
12660 crate::common::RW,
12661 > {
12662 crate::common::RegisterField::<
12663 6,
12664 0x1,
12665 1,
12666 0,
12667 p40pfs_ha::Ncodr,
12668 p40pfs_ha::Ncodr,
12669 P40PfsHa_SPEC,
12670 crate::common::RW,
12671 >::from_register(self, 0)
12672 }
12673
12674 #[doc = "Event on Falling/Event on Rising"]
12675 #[inline(always)]
12676 pub fn eofr(
12677 self,
12678 ) -> crate::common::RegisterField<
12679 12,
12680 0x3,
12681 1,
12682 0,
12683 p40pfs_ha::Eofr,
12684 p40pfs_ha::Eofr,
12685 P40PfsHa_SPEC,
12686 crate::common::RW,
12687 > {
12688 crate::common::RegisterField::<
12689 12,
12690 0x3,
12691 1,
12692 0,
12693 p40pfs_ha::Eofr,
12694 p40pfs_ha::Eofr,
12695 P40PfsHa_SPEC,
12696 crate::common::RW,
12697 >::from_register(self, 0)
12698 }
12699
12700 #[doc = "IRQ Input Enable"]
12701 #[inline(always)]
12702 pub fn isel(
12703 self,
12704 ) -> crate::common::RegisterField<
12705 14,
12706 0x1,
12707 1,
12708 0,
12709 p40pfs_ha::Isel,
12710 p40pfs_ha::Isel,
12711 P40PfsHa_SPEC,
12712 crate::common::RW,
12713 > {
12714 crate::common::RegisterField::<
12715 14,
12716 0x1,
12717 1,
12718 0,
12719 p40pfs_ha::Isel,
12720 p40pfs_ha::Isel,
12721 P40PfsHa_SPEC,
12722 crate::common::RW,
12723 >::from_register(self, 0)
12724 }
12725
12726 #[doc = "Analog Input Enable"]
12727 #[inline(always)]
12728 pub fn asel(
12729 self,
12730 ) -> crate::common::RegisterField<
12731 15,
12732 0x1,
12733 1,
12734 0,
12735 p40pfs_ha::Asel,
12736 p40pfs_ha::Asel,
12737 P40PfsHa_SPEC,
12738 crate::common::RW,
12739 > {
12740 crate::common::RegisterField::<
12741 15,
12742 0x1,
12743 1,
12744 0,
12745 p40pfs_ha::Asel,
12746 p40pfs_ha::Asel,
12747 P40PfsHa_SPEC,
12748 crate::common::RW,
12749 >::from_register(self, 0)
12750 }
12751}
12752impl ::core::default::Default for P40PfsHa {
12753 #[inline(always)]
12754 fn default() -> P40PfsHa {
12755 <crate::RegValueT<P40PfsHa_SPEC> as RegisterValue<_>>::new(0)
12756 }
12757}
12758pub mod p40pfs_ha {
12759
12760 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12761 pub struct Podr_SPEC;
12762 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12763 impl Podr {
12764 #[doc = "Output low"]
12765 pub const _0: Self = Self::new(0);
12766
12767 #[doc = "Output high"]
12768 pub const _1: Self = Self::new(1);
12769 }
12770 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12771 pub struct Pidr_SPEC;
12772 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12773 impl Pidr {
12774 #[doc = "Low level"]
12775 pub const _0: Self = Self::new(0);
12776
12777 #[doc = "High level"]
12778 pub const _1: Self = Self::new(1);
12779 }
12780 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12781 pub struct Pdr_SPEC;
12782 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12783 impl Pdr {
12784 #[doc = "Input (functions as an input pin)"]
12785 pub const _0: Self = Self::new(0);
12786
12787 #[doc = "Output (functions as an output pin)"]
12788 pub const _1: Self = Self::new(1);
12789 }
12790 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12791 pub struct Pcr_SPEC;
12792 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12793 impl Pcr {
12794 #[doc = "Disable input pull-up"]
12795 pub const _0: Self = Self::new(0);
12796
12797 #[doc = "Enable input pull-up"]
12798 pub const _1: Self = Self::new(1);
12799 }
12800 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12801 pub struct Ncodr_SPEC;
12802 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12803 impl Ncodr {
12804 #[doc = "Output CMOS"]
12805 pub const _0: Self = Self::new(0);
12806
12807 #[doc = "Output NMOS open-drain"]
12808 pub const _1: Self = Self::new(1);
12809 }
12810 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12811 pub struct Eofr_SPEC;
12812 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
12813 impl Eofr {
12814 #[doc = "Don\'t care"]
12815 pub const _00: Self = Self::new(0);
12816
12817 #[doc = "Detect rising edge"]
12818 pub const _01: Self = Self::new(1);
12819
12820 #[doc = "Detect falling edge"]
12821 pub const _10: Self = Self::new(2);
12822
12823 #[doc = "Detect both edges"]
12824 pub const _11: Self = Self::new(3);
12825 }
12826 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12827 pub struct Isel_SPEC;
12828 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12829 impl Isel {
12830 #[doc = "Do not use as IRQn input pin"]
12831 pub const _0: Self = Self::new(0);
12832
12833 #[doc = "Use as IRQn input pin"]
12834 pub const _1: Self = Self::new(1);
12835 }
12836 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12837 pub struct Asel_SPEC;
12838 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12839 impl Asel {
12840 #[doc = "Do not use as analog pin"]
12841 pub const _0: Self = Self::new(0);
12842
12843 #[doc = "Use as analog pin"]
12844 pub const _1: Self = Self::new(1);
12845 }
12846}
12847#[doc(hidden)]
12848#[derive(Copy, Clone, Eq, PartialEq)]
12849pub struct P40PfsBy_SPEC;
12850impl crate::sealed::RegSpec for P40PfsBy_SPEC {
12851 type DataType = u8;
12852}
12853
12854#[doc = "Port 40%s Pin Function Select Register"]
12855pub type P40PfsBy = crate::RegValueT<P40PfsBy_SPEC>;
12856
12857impl P40PfsBy {
12858 #[doc = "Port Output Data"]
12859 #[inline(always)]
12860 pub fn podr(
12861 self,
12862 ) -> crate::common::RegisterField<
12863 0,
12864 0x1,
12865 1,
12866 0,
12867 p40pfs_by::Podr,
12868 p40pfs_by::Podr,
12869 P40PfsBy_SPEC,
12870 crate::common::RW,
12871 > {
12872 crate::common::RegisterField::<
12873 0,
12874 0x1,
12875 1,
12876 0,
12877 p40pfs_by::Podr,
12878 p40pfs_by::Podr,
12879 P40PfsBy_SPEC,
12880 crate::common::RW,
12881 >::from_register(self, 0)
12882 }
12883
12884 #[doc = "Port State"]
12885 #[inline(always)]
12886 pub fn pidr(
12887 self,
12888 ) -> crate::common::RegisterField<
12889 1,
12890 0x1,
12891 1,
12892 0,
12893 p40pfs_by::Pidr,
12894 p40pfs_by::Pidr,
12895 P40PfsBy_SPEC,
12896 crate::common::R,
12897 > {
12898 crate::common::RegisterField::<
12899 1,
12900 0x1,
12901 1,
12902 0,
12903 p40pfs_by::Pidr,
12904 p40pfs_by::Pidr,
12905 P40PfsBy_SPEC,
12906 crate::common::R,
12907 >::from_register(self, 0)
12908 }
12909
12910 #[doc = "Port Direction"]
12911 #[inline(always)]
12912 pub fn pdr(
12913 self,
12914 ) -> crate::common::RegisterField<
12915 2,
12916 0x1,
12917 1,
12918 0,
12919 p40pfs_by::Pdr,
12920 p40pfs_by::Pdr,
12921 P40PfsBy_SPEC,
12922 crate::common::RW,
12923 > {
12924 crate::common::RegisterField::<
12925 2,
12926 0x1,
12927 1,
12928 0,
12929 p40pfs_by::Pdr,
12930 p40pfs_by::Pdr,
12931 P40PfsBy_SPEC,
12932 crate::common::RW,
12933 >::from_register(self, 0)
12934 }
12935
12936 #[doc = "Pull-up Control"]
12937 #[inline(always)]
12938 pub fn pcr(
12939 self,
12940 ) -> crate::common::RegisterField<
12941 4,
12942 0x1,
12943 1,
12944 0,
12945 p40pfs_by::Pcr,
12946 p40pfs_by::Pcr,
12947 P40PfsBy_SPEC,
12948 crate::common::RW,
12949 > {
12950 crate::common::RegisterField::<
12951 4,
12952 0x1,
12953 1,
12954 0,
12955 p40pfs_by::Pcr,
12956 p40pfs_by::Pcr,
12957 P40PfsBy_SPEC,
12958 crate::common::RW,
12959 >::from_register(self, 0)
12960 }
12961
12962 #[doc = "N-Channel Open-Drain Control"]
12963 #[inline(always)]
12964 pub fn ncodr(
12965 self,
12966 ) -> crate::common::RegisterField<
12967 6,
12968 0x1,
12969 1,
12970 0,
12971 p40pfs_by::Ncodr,
12972 p40pfs_by::Ncodr,
12973 P40PfsBy_SPEC,
12974 crate::common::RW,
12975 > {
12976 crate::common::RegisterField::<
12977 6,
12978 0x1,
12979 1,
12980 0,
12981 p40pfs_by::Ncodr,
12982 p40pfs_by::Ncodr,
12983 P40PfsBy_SPEC,
12984 crate::common::RW,
12985 >::from_register(self, 0)
12986 }
12987}
12988impl ::core::default::Default for P40PfsBy {
12989 #[inline(always)]
12990 fn default() -> P40PfsBy {
12991 <crate::RegValueT<P40PfsBy_SPEC> as RegisterValue<_>>::new(0)
12992 }
12993}
12994pub mod p40pfs_by {
12995
12996 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12997 pub struct Podr_SPEC;
12998 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12999 impl Podr {
13000 #[doc = "Output low"]
13001 pub const _0: Self = Self::new(0);
13002
13003 #[doc = "Output high"]
13004 pub const _1: Self = Self::new(1);
13005 }
13006 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13007 pub struct Pidr_SPEC;
13008 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13009 impl Pidr {
13010 #[doc = "Low level"]
13011 pub const _0: Self = Self::new(0);
13012
13013 #[doc = "High level"]
13014 pub const _1: Self = Self::new(1);
13015 }
13016 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13017 pub struct Pdr_SPEC;
13018 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13019 impl Pdr {
13020 #[doc = "Input (functions as an input pin)"]
13021 pub const _0: Self = Self::new(0);
13022
13023 #[doc = "Output (functions as an output pin)"]
13024 pub const _1: Self = Self::new(1);
13025 }
13026 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13027 pub struct Pcr_SPEC;
13028 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13029 impl Pcr {
13030 #[doc = "Disable input pull-up"]
13031 pub const _0: Self = Self::new(0);
13032
13033 #[doc = "Enable input pull-up"]
13034 pub const _1: Self = Self::new(1);
13035 }
13036 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13037 pub struct Ncodr_SPEC;
13038 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13039 impl Ncodr {
13040 #[doc = "Output CMOS"]
13041 pub const _0: Self = Self::new(0);
13042
13043 #[doc = "Output NMOS open-drain"]
13044 pub const _1: Self = Self::new(1);
13045 }
13046}
13047#[doc(hidden)]
13048#[derive(Copy, Clone, Eq, PartialEq)]
13049pub struct P4Pfs_SPEC;
13050impl crate::sealed::RegSpec for P4Pfs_SPEC {
13051 type DataType = u32;
13052}
13053
13054#[doc = "Port 4%s Pin Function Select Register"]
13055pub type P4Pfs = crate::RegValueT<P4Pfs_SPEC>;
13056
13057impl P4Pfs {
13058 #[doc = "Port Output Data"]
13059 #[inline(always)]
13060 pub fn podr(
13061 self,
13062 ) -> crate::common::RegisterField<
13063 0,
13064 0x1,
13065 1,
13066 0,
13067 p4pfs::Podr,
13068 p4pfs::Podr,
13069 P4Pfs_SPEC,
13070 crate::common::RW,
13071 > {
13072 crate::common::RegisterField::<
13073 0,
13074 0x1,
13075 1,
13076 0,
13077 p4pfs::Podr,
13078 p4pfs::Podr,
13079 P4Pfs_SPEC,
13080 crate::common::RW,
13081 >::from_register(self, 0)
13082 }
13083
13084 #[doc = "Port State"]
13085 #[inline(always)]
13086 pub fn pidr(
13087 self,
13088 ) -> crate::common::RegisterField<
13089 1,
13090 0x1,
13091 1,
13092 0,
13093 p4pfs::Pidr,
13094 p4pfs::Pidr,
13095 P4Pfs_SPEC,
13096 crate::common::R,
13097 > {
13098 crate::common::RegisterField::<
13099 1,
13100 0x1,
13101 1,
13102 0,
13103 p4pfs::Pidr,
13104 p4pfs::Pidr,
13105 P4Pfs_SPEC,
13106 crate::common::R,
13107 >::from_register(self, 0)
13108 }
13109
13110 #[doc = "Port Direction"]
13111 #[inline(always)]
13112 pub fn pdr(
13113 self,
13114 ) -> crate::common::RegisterField<
13115 2,
13116 0x1,
13117 1,
13118 0,
13119 p4pfs::Pdr,
13120 p4pfs::Pdr,
13121 P4Pfs_SPEC,
13122 crate::common::RW,
13123 > {
13124 crate::common::RegisterField::<
13125 2,
13126 0x1,
13127 1,
13128 0,
13129 p4pfs::Pdr,
13130 p4pfs::Pdr,
13131 P4Pfs_SPEC,
13132 crate::common::RW,
13133 >::from_register(self, 0)
13134 }
13135
13136 #[doc = "Pull-up Control"]
13137 #[inline(always)]
13138 pub fn pcr(
13139 self,
13140 ) -> crate::common::RegisterField<
13141 4,
13142 0x1,
13143 1,
13144 0,
13145 p4pfs::Pcr,
13146 p4pfs::Pcr,
13147 P4Pfs_SPEC,
13148 crate::common::RW,
13149 > {
13150 crate::common::RegisterField::<
13151 4,
13152 0x1,
13153 1,
13154 0,
13155 p4pfs::Pcr,
13156 p4pfs::Pcr,
13157 P4Pfs_SPEC,
13158 crate::common::RW,
13159 >::from_register(self, 0)
13160 }
13161
13162 #[doc = "N-Channel Open-Drain Control"]
13163 #[inline(always)]
13164 pub fn ncodr(
13165 self,
13166 ) -> crate::common::RegisterField<
13167 6,
13168 0x1,
13169 1,
13170 0,
13171 p4pfs::Ncodr,
13172 p4pfs::Ncodr,
13173 P4Pfs_SPEC,
13174 crate::common::RW,
13175 > {
13176 crate::common::RegisterField::<
13177 6,
13178 0x1,
13179 1,
13180 0,
13181 p4pfs::Ncodr,
13182 p4pfs::Ncodr,
13183 P4Pfs_SPEC,
13184 crate::common::RW,
13185 >::from_register(self, 0)
13186 }
13187
13188 #[doc = "Event on Falling/Event on Rising"]
13189 #[inline(always)]
13190 pub fn eofr(
13191 self,
13192 ) -> crate::common::RegisterField<
13193 12,
13194 0x3,
13195 1,
13196 0,
13197 p4pfs::Eofr,
13198 p4pfs::Eofr,
13199 P4Pfs_SPEC,
13200 crate::common::RW,
13201 > {
13202 crate::common::RegisterField::<
13203 12,
13204 0x3,
13205 1,
13206 0,
13207 p4pfs::Eofr,
13208 p4pfs::Eofr,
13209 P4Pfs_SPEC,
13210 crate::common::RW,
13211 >::from_register(self, 0)
13212 }
13213
13214 #[doc = "IRQ Input Enable"]
13215 #[inline(always)]
13216 pub fn isel(
13217 self,
13218 ) -> crate::common::RegisterField<
13219 14,
13220 0x1,
13221 1,
13222 0,
13223 p4pfs::Isel,
13224 p4pfs::Isel,
13225 P4Pfs_SPEC,
13226 crate::common::RW,
13227 > {
13228 crate::common::RegisterField::<
13229 14,
13230 0x1,
13231 1,
13232 0,
13233 p4pfs::Isel,
13234 p4pfs::Isel,
13235 P4Pfs_SPEC,
13236 crate::common::RW,
13237 >::from_register(self, 0)
13238 }
13239
13240 #[doc = "Analog Input Enable"]
13241 #[inline(always)]
13242 pub fn asel(
13243 self,
13244 ) -> crate::common::RegisterField<
13245 15,
13246 0x1,
13247 1,
13248 0,
13249 p4pfs::Asel,
13250 p4pfs::Asel,
13251 P4Pfs_SPEC,
13252 crate::common::RW,
13253 > {
13254 crate::common::RegisterField::<
13255 15,
13256 0x1,
13257 1,
13258 0,
13259 p4pfs::Asel,
13260 p4pfs::Asel,
13261 P4Pfs_SPEC,
13262 crate::common::RW,
13263 >::from_register(self, 0)
13264 }
13265
13266 #[doc = "Port Mode Control"]
13267 #[inline(always)]
13268 pub fn pmr(
13269 self,
13270 ) -> crate::common::RegisterField<
13271 16,
13272 0x1,
13273 1,
13274 0,
13275 p4pfs::Pmr,
13276 p4pfs::Pmr,
13277 P4Pfs_SPEC,
13278 crate::common::RW,
13279 > {
13280 crate::common::RegisterField::<
13281 16,
13282 0x1,
13283 1,
13284 0,
13285 p4pfs::Pmr,
13286 p4pfs::Pmr,
13287 P4Pfs_SPEC,
13288 crate::common::RW,
13289 >::from_register(self, 0)
13290 }
13291
13292 #[doc = "Peripheral Select"]
13293 #[inline(always)]
13294 pub fn psel(
13295 self,
13296 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P4Pfs_SPEC, crate::common::RW> {
13297 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P4Pfs_SPEC,crate::common::RW>::from_register(self,0)
13298 }
13299}
13300impl ::core::default::Default for P4Pfs {
13301 #[inline(always)]
13302 fn default() -> P4Pfs {
13303 <crate::RegValueT<P4Pfs_SPEC> as RegisterValue<_>>::new(0)
13304 }
13305}
13306pub mod p4pfs {
13307
13308 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13309 pub struct Podr_SPEC;
13310 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13311 impl Podr {
13312 #[doc = "Output low"]
13313 pub const _0: Self = Self::new(0);
13314
13315 #[doc = "Output high"]
13316 pub const _1: Self = Self::new(1);
13317 }
13318 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13319 pub struct Pidr_SPEC;
13320 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13321 impl Pidr {
13322 #[doc = "Low level"]
13323 pub const _0: Self = Self::new(0);
13324
13325 #[doc = "High level"]
13326 pub const _1: Self = Self::new(1);
13327 }
13328 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13329 pub struct Pdr_SPEC;
13330 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13331 impl Pdr {
13332 #[doc = "Input (functions as an input pin)"]
13333 pub const _0: Self = Self::new(0);
13334
13335 #[doc = "Output (functions as an output pin)"]
13336 pub const _1: Self = Self::new(1);
13337 }
13338 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13339 pub struct Pcr_SPEC;
13340 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13341 impl Pcr {
13342 #[doc = "Disable input pull-up"]
13343 pub const _0: Self = Self::new(0);
13344
13345 #[doc = "Enable input pull-up"]
13346 pub const _1: Self = Self::new(1);
13347 }
13348 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13349 pub struct Ncodr_SPEC;
13350 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13351 impl Ncodr {
13352 #[doc = "Output CMOS"]
13353 pub const _0: Self = Self::new(0);
13354
13355 #[doc = "Output NMOS open-drain"]
13356 pub const _1: Self = Self::new(1);
13357 }
13358 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13359 pub struct Eofr_SPEC;
13360 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
13361 impl Eofr {
13362 #[doc = "Don\'t care"]
13363 pub const _00: Self = Self::new(0);
13364
13365 #[doc = "Detect rising edge"]
13366 pub const _01: Self = Self::new(1);
13367
13368 #[doc = "Detect falling edge"]
13369 pub const _10: Self = Self::new(2);
13370
13371 #[doc = "Detect both edges"]
13372 pub const _11: Self = Self::new(3);
13373 }
13374 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13375 pub struct Isel_SPEC;
13376 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13377 impl Isel {
13378 #[doc = "Do not use as IRQn input pin"]
13379 pub const _0: Self = Self::new(0);
13380
13381 #[doc = "Use as IRQn input pin"]
13382 pub const _1: Self = Self::new(1);
13383 }
13384 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13385 pub struct Asel_SPEC;
13386 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13387 impl Asel {
13388 #[doc = "Do not use as analog pin"]
13389 pub const _0: Self = Self::new(0);
13390
13391 #[doc = "Use as analog pin"]
13392 pub const _1: Self = Self::new(1);
13393 }
13394 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13395 pub struct Pmr_SPEC;
13396 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
13397 impl Pmr {
13398 #[doc = "Use as general I/O pin"]
13399 pub const _0: Self = Self::new(0);
13400
13401 #[doc = "Use as I/O port for peripheral functions"]
13402 pub const _1: Self = Self::new(1);
13403 }
13404}
13405#[doc(hidden)]
13406#[derive(Copy, Clone, Eq, PartialEq)]
13407pub struct P4PfsHa_SPEC;
13408impl crate::sealed::RegSpec for P4PfsHa_SPEC {
13409 type DataType = u16;
13410}
13411
13412#[doc = "Port 4%s Pin Function Select Register"]
13413pub type P4PfsHa = crate::RegValueT<P4PfsHa_SPEC>;
13414
13415impl P4PfsHa {
13416 #[doc = "Port Output Data"]
13417 #[inline(always)]
13418 pub fn podr(
13419 self,
13420 ) -> crate::common::RegisterField<
13421 0,
13422 0x1,
13423 1,
13424 0,
13425 p4pfs_ha::Podr,
13426 p4pfs_ha::Podr,
13427 P4PfsHa_SPEC,
13428 crate::common::RW,
13429 > {
13430 crate::common::RegisterField::<
13431 0,
13432 0x1,
13433 1,
13434 0,
13435 p4pfs_ha::Podr,
13436 p4pfs_ha::Podr,
13437 P4PfsHa_SPEC,
13438 crate::common::RW,
13439 >::from_register(self, 0)
13440 }
13441
13442 #[doc = "Port State"]
13443 #[inline(always)]
13444 pub fn pidr(
13445 self,
13446 ) -> crate::common::RegisterField<
13447 1,
13448 0x1,
13449 1,
13450 0,
13451 p4pfs_ha::Pidr,
13452 p4pfs_ha::Pidr,
13453 P4PfsHa_SPEC,
13454 crate::common::R,
13455 > {
13456 crate::common::RegisterField::<
13457 1,
13458 0x1,
13459 1,
13460 0,
13461 p4pfs_ha::Pidr,
13462 p4pfs_ha::Pidr,
13463 P4PfsHa_SPEC,
13464 crate::common::R,
13465 >::from_register(self, 0)
13466 }
13467
13468 #[doc = "Port Direction"]
13469 #[inline(always)]
13470 pub fn pdr(
13471 self,
13472 ) -> crate::common::RegisterField<
13473 2,
13474 0x1,
13475 1,
13476 0,
13477 p4pfs_ha::Pdr,
13478 p4pfs_ha::Pdr,
13479 P4PfsHa_SPEC,
13480 crate::common::RW,
13481 > {
13482 crate::common::RegisterField::<
13483 2,
13484 0x1,
13485 1,
13486 0,
13487 p4pfs_ha::Pdr,
13488 p4pfs_ha::Pdr,
13489 P4PfsHa_SPEC,
13490 crate::common::RW,
13491 >::from_register(self, 0)
13492 }
13493
13494 #[doc = "Pull-up Control"]
13495 #[inline(always)]
13496 pub fn pcr(
13497 self,
13498 ) -> crate::common::RegisterField<
13499 4,
13500 0x1,
13501 1,
13502 0,
13503 p4pfs_ha::Pcr,
13504 p4pfs_ha::Pcr,
13505 P4PfsHa_SPEC,
13506 crate::common::RW,
13507 > {
13508 crate::common::RegisterField::<
13509 4,
13510 0x1,
13511 1,
13512 0,
13513 p4pfs_ha::Pcr,
13514 p4pfs_ha::Pcr,
13515 P4PfsHa_SPEC,
13516 crate::common::RW,
13517 >::from_register(self, 0)
13518 }
13519
13520 #[doc = "N-Channel Open-Drain Control"]
13521 #[inline(always)]
13522 pub fn ncodr(
13523 self,
13524 ) -> crate::common::RegisterField<
13525 6,
13526 0x1,
13527 1,
13528 0,
13529 p4pfs_ha::Ncodr,
13530 p4pfs_ha::Ncodr,
13531 P4PfsHa_SPEC,
13532 crate::common::RW,
13533 > {
13534 crate::common::RegisterField::<
13535 6,
13536 0x1,
13537 1,
13538 0,
13539 p4pfs_ha::Ncodr,
13540 p4pfs_ha::Ncodr,
13541 P4PfsHa_SPEC,
13542 crate::common::RW,
13543 >::from_register(self, 0)
13544 }
13545
13546 #[doc = "Event on Falling/Event on Rising"]
13547 #[inline(always)]
13548 pub fn eofr(
13549 self,
13550 ) -> crate::common::RegisterField<
13551 12,
13552 0x3,
13553 1,
13554 0,
13555 p4pfs_ha::Eofr,
13556 p4pfs_ha::Eofr,
13557 P4PfsHa_SPEC,
13558 crate::common::RW,
13559 > {
13560 crate::common::RegisterField::<
13561 12,
13562 0x3,
13563 1,
13564 0,
13565 p4pfs_ha::Eofr,
13566 p4pfs_ha::Eofr,
13567 P4PfsHa_SPEC,
13568 crate::common::RW,
13569 >::from_register(self, 0)
13570 }
13571
13572 #[doc = "IRQ Input Enable"]
13573 #[inline(always)]
13574 pub fn isel(
13575 self,
13576 ) -> crate::common::RegisterField<
13577 14,
13578 0x1,
13579 1,
13580 0,
13581 p4pfs_ha::Isel,
13582 p4pfs_ha::Isel,
13583 P4PfsHa_SPEC,
13584 crate::common::RW,
13585 > {
13586 crate::common::RegisterField::<
13587 14,
13588 0x1,
13589 1,
13590 0,
13591 p4pfs_ha::Isel,
13592 p4pfs_ha::Isel,
13593 P4PfsHa_SPEC,
13594 crate::common::RW,
13595 >::from_register(self, 0)
13596 }
13597
13598 #[doc = "Analog Input Enable"]
13599 #[inline(always)]
13600 pub fn asel(
13601 self,
13602 ) -> crate::common::RegisterField<
13603 15,
13604 0x1,
13605 1,
13606 0,
13607 p4pfs_ha::Asel,
13608 p4pfs_ha::Asel,
13609 P4PfsHa_SPEC,
13610 crate::common::RW,
13611 > {
13612 crate::common::RegisterField::<
13613 15,
13614 0x1,
13615 1,
13616 0,
13617 p4pfs_ha::Asel,
13618 p4pfs_ha::Asel,
13619 P4PfsHa_SPEC,
13620 crate::common::RW,
13621 >::from_register(self, 0)
13622 }
13623}
13624impl ::core::default::Default for P4PfsHa {
13625 #[inline(always)]
13626 fn default() -> P4PfsHa {
13627 <crate::RegValueT<P4PfsHa_SPEC> as RegisterValue<_>>::new(0)
13628 }
13629}
13630pub mod p4pfs_ha {
13631
13632 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13633 pub struct Podr_SPEC;
13634 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13635 impl Podr {
13636 #[doc = "Output low"]
13637 pub const _0: Self = Self::new(0);
13638
13639 #[doc = "Output high"]
13640 pub const _1: Self = Self::new(1);
13641 }
13642 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13643 pub struct Pidr_SPEC;
13644 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13645 impl Pidr {
13646 #[doc = "Low level"]
13647 pub const _0: Self = Self::new(0);
13648
13649 #[doc = "High level"]
13650 pub const _1: Self = Self::new(1);
13651 }
13652 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13653 pub struct Pdr_SPEC;
13654 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13655 impl Pdr {
13656 #[doc = "Input (functions as an input pin)"]
13657 pub const _0: Self = Self::new(0);
13658
13659 #[doc = "Output (functions as an output pin)"]
13660 pub const _1: Self = Self::new(1);
13661 }
13662 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13663 pub struct Pcr_SPEC;
13664 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13665 impl Pcr {
13666 #[doc = "Disable input pull-up"]
13667 pub const _0: Self = Self::new(0);
13668
13669 #[doc = "Enable input pull-up"]
13670 pub const _1: Self = Self::new(1);
13671 }
13672 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13673 pub struct Ncodr_SPEC;
13674 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13675 impl Ncodr {
13676 #[doc = "Output CMOS"]
13677 pub const _0: Self = Self::new(0);
13678
13679 #[doc = "Output NMOS open-drain"]
13680 pub const _1: Self = Self::new(1);
13681 }
13682 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13683 pub struct Eofr_SPEC;
13684 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
13685 impl Eofr {
13686 #[doc = "Don\'t care"]
13687 pub const _00: Self = Self::new(0);
13688
13689 #[doc = "Detect rising edge"]
13690 pub const _01: Self = Self::new(1);
13691
13692 #[doc = "Detect falling edge"]
13693 pub const _10: Self = Self::new(2);
13694
13695 #[doc = "Detect both edges"]
13696 pub const _11: Self = Self::new(3);
13697 }
13698 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13699 pub struct Isel_SPEC;
13700 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13701 impl Isel {
13702 #[doc = "Do not use as IRQn input pin"]
13703 pub const _0: Self = Self::new(0);
13704
13705 #[doc = "Use as IRQn input pin"]
13706 pub const _1: Self = Self::new(1);
13707 }
13708 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13709 pub struct Asel_SPEC;
13710 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13711 impl Asel {
13712 #[doc = "Do not use as analog pin"]
13713 pub const _0: Self = Self::new(0);
13714
13715 #[doc = "Use as analog pin"]
13716 pub const _1: Self = Self::new(1);
13717 }
13718}
13719#[doc(hidden)]
13720#[derive(Copy, Clone, Eq, PartialEq)]
13721pub struct P4PfsBy_SPEC;
13722impl crate::sealed::RegSpec for P4PfsBy_SPEC {
13723 type DataType = u8;
13724}
13725
13726#[doc = "Port 4%s Pin Function Select Register"]
13727pub type P4PfsBy = crate::RegValueT<P4PfsBy_SPEC>;
13728
13729impl P4PfsBy {
13730 #[doc = "Port Output Data"]
13731 #[inline(always)]
13732 pub fn podr(
13733 self,
13734 ) -> crate::common::RegisterField<
13735 0,
13736 0x1,
13737 1,
13738 0,
13739 p4pfs_by::Podr,
13740 p4pfs_by::Podr,
13741 P4PfsBy_SPEC,
13742 crate::common::RW,
13743 > {
13744 crate::common::RegisterField::<
13745 0,
13746 0x1,
13747 1,
13748 0,
13749 p4pfs_by::Podr,
13750 p4pfs_by::Podr,
13751 P4PfsBy_SPEC,
13752 crate::common::RW,
13753 >::from_register(self, 0)
13754 }
13755
13756 #[doc = "Port State"]
13757 #[inline(always)]
13758 pub fn pidr(
13759 self,
13760 ) -> crate::common::RegisterField<
13761 1,
13762 0x1,
13763 1,
13764 0,
13765 p4pfs_by::Pidr,
13766 p4pfs_by::Pidr,
13767 P4PfsBy_SPEC,
13768 crate::common::R,
13769 > {
13770 crate::common::RegisterField::<
13771 1,
13772 0x1,
13773 1,
13774 0,
13775 p4pfs_by::Pidr,
13776 p4pfs_by::Pidr,
13777 P4PfsBy_SPEC,
13778 crate::common::R,
13779 >::from_register(self, 0)
13780 }
13781
13782 #[doc = "Port Direction"]
13783 #[inline(always)]
13784 pub fn pdr(
13785 self,
13786 ) -> crate::common::RegisterField<
13787 2,
13788 0x1,
13789 1,
13790 0,
13791 p4pfs_by::Pdr,
13792 p4pfs_by::Pdr,
13793 P4PfsBy_SPEC,
13794 crate::common::RW,
13795 > {
13796 crate::common::RegisterField::<
13797 2,
13798 0x1,
13799 1,
13800 0,
13801 p4pfs_by::Pdr,
13802 p4pfs_by::Pdr,
13803 P4PfsBy_SPEC,
13804 crate::common::RW,
13805 >::from_register(self, 0)
13806 }
13807
13808 #[doc = "Pull-up Control"]
13809 #[inline(always)]
13810 pub fn pcr(
13811 self,
13812 ) -> crate::common::RegisterField<
13813 4,
13814 0x1,
13815 1,
13816 0,
13817 p4pfs_by::Pcr,
13818 p4pfs_by::Pcr,
13819 P4PfsBy_SPEC,
13820 crate::common::RW,
13821 > {
13822 crate::common::RegisterField::<
13823 4,
13824 0x1,
13825 1,
13826 0,
13827 p4pfs_by::Pcr,
13828 p4pfs_by::Pcr,
13829 P4PfsBy_SPEC,
13830 crate::common::RW,
13831 >::from_register(self, 0)
13832 }
13833
13834 #[doc = "N-Channel Open-Drain Control"]
13835 #[inline(always)]
13836 pub fn ncodr(
13837 self,
13838 ) -> crate::common::RegisterField<
13839 6,
13840 0x1,
13841 1,
13842 0,
13843 p4pfs_by::Ncodr,
13844 p4pfs_by::Ncodr,
13845 P4PfsBy_SPEC,
13846 crate::common::RW,
13847 > {
13848 crate::common::RegisterField::<
13849 6,
13850 0x1,
13851 1,
13852 0,
13853 p4pfs_by::Ncodr,
13854 p4pfs_by::Ncodr,
13855 P4PfsBy_SPEC,
13856 crate::common::RW,
13857 >::from_register(self, 0)
13858 }
13859}
13860impl ::core::default::Default for P4PfsBy {
13861 #[inline(always)]
13862 fn default() -> P4PfsBy {
13863 <crate::RegValueT<P4PfsBy_SPEC> as RegisterValue<_>>::new(0)
13864 }
13865}
13866pub mod p4pfs_by {
13867
13868 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13869 pub struct Podr_SPEC;
13870 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13871 impl Podr {
13872 #[doc = "Output low"]
13873 pub const _0: Self = Self::new(0);
13874
13875 #[doc = "Output high"]
13876 pub const _1: Self = Self::new(1);
13877 }
13878 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13879 pub struct Pidr_SPEC;
13880 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13881 impl Pidr {
13882 #[doc = "Low level"]
13883 pub const _0: Self = Self::new(0);
13884
13885 #[doc = "High level"]
13886 pub const _1: Self = Self::new(1);
13887 }
13888 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13889 pub struct Pdr_SPEC;
13890 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13891 impl Pdr {
13892 #[doc = "Input (functions as an input pin)"]
13893 pub const _0: Self = Self::new(0);
13894
13895 #[doc = "Output (functions as an output pin)"]
13896 pub const _1: Self = Self::new(1);
13897 }
13898 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13899 pub struct Pcr_SPEC;
13900 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13901 impl Pcr {
13902 #[doc = "Disable input pull-up"]
13903 pub const _0: Self = Self::new(0);
13904
13905 #[doc = "Enable input pull-up"]
13906 pub const _1: Self = Self::new(1);
13907 }
13908 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13909 pub struct Ncodr_SPEC;
13910 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13911 impl Ncodr {
13912 #[doc = "Output CMOS"]
13913 pub const _0: Self = Self::new(0);
13914
13915 #[doc = "Output NMOS open-drain"]
13916 pub const _1: Self = Self::new(1);
13917 }
13918}
13919#[doc(hidden)]
13920#[derive(Copy, Clone, Eq, PartialEq)]
13921pub struct P50Pfs_SPEC;
13922impl crate::sealed::RegSpec for P50Pfs_SPEC {
13923 type DataType = u32;
13924}
13925
13926#[doc = "Port 50%s Pin Function Select Register"]
13927pub type P50Pfs = crate::RegValueT<P50Pfs_SPEC>;
13928
13929impl P50Pfs {
13930 #[doc = "Port Output Data"]
13931 #[inline(always)]
13932 pub fn podr(
13933 self,
13934 ) -> crate::common::RegisterField<
13935 0,
13936 0x1,
13937 1,
13938 0,
13939 p50pfs::Podr,
13940 p50pfs::Podr,
13941 P50Pfs_SPEC,
13942 crate::common::RW,
13943 > {
13944 crate::common::RegisterField::<
13945 0,
13946 0x1,
13947 1,
13948 0,
13949 p50pfs::Podr,
13950 p50pfs::Podr,
13951 P50Pfs_SPEC,
13952 crate::common::RW,
13953 >::from_register(self, 0)
13954 }
13955
13956 #[doc = "Port State"]
13957 #[inline(always)]
13958 pub fn pidr(
13959 self,
13960 ) -> crate::common::RegisterField<
13961 1,
13962 0x1,
13963 1,
13964 0,
13965 p50pfs::Pidr,
13966 p50pfs::Pidr,
13967 P50Pfs_SPEC,
13968 crate::common::R,
13969 > {
13970 crate::common::RegisterField::<
13971 1,
13972 0x1,
13973 1,
13974 0,
13975 p50pfs::Pidr,
13976 p50pfs::Pidr,
13977 P50Pfs_SPEC,
13978 crate::common::R,
13979 >::from_register(self, 0)
13980 }
13981
13982 #[doc = "Port Direction"]
13983 #[inline(always)]
13984 pub fn pdr(
13985 self,
13986 ) -> crate::common::RegisterField<
13987 2,
13988 0x1,
13989 1,
13990 0,
13991 p50pfs::Pdr,
13992 p50pfs::Pdr,
13993 P50Pfs_SPEC,
13994 crate::common::RW,
13995 > {
13996 crate::common::RegisterField::<
13997 2,
13998 0x1,
13999 1,
14000 0,
14001 p50pfs::Pdr,
14002 p50pfs::Pdr,
14003 P50Pfs_SPEC,
14004 crate::common::RW,
14005 >::from_register(self, 0)
14006 }
14007
14008 #[doc = "Pull-up Control"]
14009 #[inline(always)]
14010 pub fn pcr(
14011 self,
14012 ) -> crate::common::RegisterField<
14013 4,
14014 0x1,
14015 1,
14016 0,
14017 p50pfs::Pcr,
14018 p50pfs::Pcr,
14019 P50Pfs_SPEC,
14020 crate::common::RW,
14021 > {
14022 crate::common::RegisterField::<
14023 4,
14024 0x1,
14025 1,
14026 0,
14027 p50pfs::Pcr,
14028 p50pfs::Pcr,
14029 P50Pfs_SPEC,
14030 crate::common::RW,
14031 >::from_register(self, 0)
14032 }
14033
14034 #[doc = "N-Channel Open-Drain Control"]
14035 #[inline(always)]
14036 pub fn ncodr(
14037 self,
14038 ) -> crate::common::RegisterField<
14039 6,
14040 0x1,
14041 1,
14042 0,
14043 p50pfs::Ncodr,
14044 p50pfs::Ncodr,
14045 P50Pfs_SPEC,
14046 crate::common::RW,
14047 > {
14048 crate::common::RegisterField::<
14049 6,
14050 0x1,
14051 1,
14052 0,
14053 p50pfs::Ncodr,
14054 p50pfs::Ncodr,
14055 P50Pfs_SPEC,
14056 crate::common::RW,
14057 >::from_register(self, 0)
14058 }
14059
14060 #[doc = "IRQ Input Enable"]
14061 #[inline(always)]
14062 pub fn isel(
14063 self,
14064 ) -> crate::common::RegisterField<
14065 14,
14066 0x1,
14067 1,
14068 0,
14069 p50pfs::Isel,
14070 p50pfs::Isel,
14071 P50Pfs_SPEC,
14072 crate::common::RW,
14073 > {
14074 crate::common::RegisterField::<
14075 14,
14076 0x1,
14077 1,
14078 0,
14079 p50pfs::Isel,
14080 p50pfs::Isel,
14081 P50Pfs_SPEC,
14082 crate::common::RW,
14083 >::from_register(self, 0)
14084 }
14085
14086 #[doc = "Analog Input Enable"]
14087 #[inline(always)]
14088 pub fn asel(
14089 self,
14090 ) -> crate::common::RegisterField<
14091 15,
14092 0x1,
14093 1,
14094 0,
14095 p50pfs::Asel,
14096 p50pfs::Asel,
14097 P50Pfs_SPEC,
14098 crate::common::RW,
14099 > {
14100 crate::common::RegisterField::<
14101 15,
14102 0x1,
14103 1,
14104 0,
14105 p50pfs::Asel,
14106 p50pfs::Asel,
14107 P50Pfs_SPEC,
14108 crate::common::RW,
14109 >::from_register(self, 0)
14110 }
14111
14112 #[doc = "Port Mode Control"]
14113 #[inline(always)]
14114 pub fn pmr(
14115 self,
14116 ) -> crate::common::RegisterField<
14117 16,
14118 0x1,
14119 1,
14120 0,
14121 p50pfs::Pmr,
14122 p50pfs::Pmr,
14123 P50Pfs_SPEC,
14124 crate::common::RW,
14125 > {
14126 crate::common::RegisterField::<
14127 16,
14128 0x1,
14129 1,
14130 0,
14131 p50pfs::Pmr,
14132 p50pfs::Pmr,
14133 P50Pfs_SPEC,
14134 crate::common::RW,
14135 >::from_register(self, 0)
14136 }
14137
14138 #[doc = "Peripheral Select"]
14139 #[inline(always)]
14140 pub fn psel(
14141 self,
14142 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P50Pfs_SPEC, crate::common::RW> {
14143 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P50Pfs_SPEC,crate::common::RW>::from_register(self,0)
14144 }
14145}
14146impl ::core::default::Default for P50Pfs {
14147 #[inline(always)]
14148 fn default() -> P50Pfs {
14149 <crate::RegValueT<P50Pfs_SPEC> as RegisterValue<_>>::new(0)
14150 }
14151}
14152pub mod p50pfs {
14153
14154 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14155 pub struct Podr_SPEC;
14156 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14157 impl Podr {
14158 #[doc = "Output low"]
14159 pub const _0: Self = Self::new(0);
14160
14161 #[doc = "Output high"]
14162 pub const _1: Self = Self::new(1);
14163 }
14164 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14165 pub struct Pidr_SPEC;
14166 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14167 impl Pidr {
14168 #[doc = "Low level"]
14169 pub const _0: Self = Self::new(0);
14170
14171 #[doc = "High level"]
14172 pub const _1: Self = Self::new(1);
14173 }
14174 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14175 pub struct Pdr_SPEC;
14176 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14177 impl Pdr {
14178 #[doc = "Input (functions as an input pin)"]
14179 pub const _0: Self = Self::new(0);
14180
14181 #[doc = "Output (functions as an output pin)"]
14182 pub const _1: Self = Self::new(1);
14183 }
14184 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14185 pub struct Pcr_SPEC;
14186 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14187 impl Pcr {
14188 #[doc = "Disable input pull-up"]
14189 pub const _0: Self = Self::new(0);
14190
14191 #[doc = "Enable input pull-up"]
14192 pub const _1: Self = Self::new(1);
14193 }
14194 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14195 pub struct Ncodr_SPEC;
14196 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14197 impl Ncodr {
14198 #[doc = "Output CMOS"]
14199 pub const _0: Self = Self::new(0);
14200
14201 #[doc = "Output NMOS open-drain"]
14202 pub const _1: Self = Self::new(1);
14203 }
14204 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14205 pub struct Isel_SPEC;
14206 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14207 impl Isel {
14208 #[doc = "Do not use as IRQn input pin"]
14209 pub const _0: Self = Self::new(0);
14210
14211 #[doc = "Use as IRQn input pin"]
14212 pub const _1: Self = Self::new(1);
14213 }
14214 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14215 pub struct Asel_SPEC;
14216 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14217 impl Asel {
14218 #[doc = "Do not use as analog pin"]
14219 pub const _0: Self = Self::new(0);
14220
14221 #[doc = "Use as analog pin"]
14222 pub const _1: Self = Self::new(1);
14223 }
14224 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14225 pub struct Pmr_SPEC;
14226 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
14227 impl Pmr {
14228 #[doc = "Use as general I/O pin"]
14229 pub const _0: Self = Self::new(0);
14230
14231 #[doc = "Use as I/O port for peripheral functions"]
14232 pub const _1: Self = Self::new(1);
14233 }
14234}
14235#[doc(hidden)]
14236#[derive(Copy, Clone, Eq, PartialEq)]
14237pub struct P50PfsHa_SPEC;
14238impl crate::sealed::RegSpec for P50PfsHa_SPEC {
14239 type DataType = u16;
14240}
14241
14242#[doc = "Port 50%s Pin Function Select Register"]
14243pub type P50PfsHa = crate::RegValueT<P50PfsHa_SPEC>;
14244
14245impl P50PfsHa {
14246 #[doc = "Port Output Data"]
14247 #[inline(always)]
14248 pub fn podr(
14249 self,
14250 ) -> crate::common::RegisterField<
14251 0,
14252 0x1,
14253 1,
14254 0,
14255 p50pfs_ha::Podr,
14256 p50pfs_ha::Podr,
14257 P50PfsHa_SPEC,
14258 crate::common::RW,
14259 > {
14260 crate::common::RegisterField::<
14261 0,
14262 0x1,
14263 1,
14264 0,
14265 p50pfs_ha::Podr,
14266 p50pfs_ha::Podr,
14267 P50PfsHa_SPEC,
14268 crate::common::RW,
14269 >::from_register(self, 0)
14270 }
14271
14272 #[doc = "Port State"]
14273 #[inline(always)]
14274 pub fn pidr(
14275 self,
14276 ) -> crate::common::RegisterField<
14277 1,
14278 0x1,
14279 1,
14280 0,
14281 p50pfs_ha::Pidr,
14282 p50pfs_ha::Pidr,
14283 P50PfsHa_SPEC,
14284 crate::common::R,
14285 > {
14286 crate::common::RegisterField::<
14287 1,
14288 0x1,
14289 1,
14290 0,
14291 p50pfs_ha::Pidr,
14292 p50pfs_ha::Pidr,
14293 P50PfsHa_SPEC,
14294 crate::common::R,
14295 >::from_register(self, 0)
14296 }
14297
14298 #[doc = "Port Direction"]
14299 #[inline(always)]
14300 pub fn pdr(
14301 self,
14302 ) -> crate::common::RegisterField<
14303 2,
14304 0x1,
14305 1,
14306 0,
14307 p50pfs_ha::Pdr,
14308 p50pfs_ha::Pdr,
14309 P50PfsHa_SPEC,
14310 crate::common::RW,
14311 > {
14312 crate::common::RegisterField::<
14313 2,
14314 0x1,
14315 1,
14316 0,
14317 p50pfs_ha::Pdr,
14318 p50pfs_ha::Pdr,
14319 P50PfsHa_SPEC,
14320 crate::common::RW,
14321 >::from_register(self, 0)
14322 }
14323
14324 #[doc = "Pull-up Control"]
14325 #[inline(always)]
14326 pub fn pcr(
14327 self,
14328 ) -> crate::common::RegisterField<
14329 4,
14330 0x1,
14331 1,
14332 0,
14333 p50pfs_ha::Pcr,
14334 p50pfs_ha::Pcr,
14335 P50PfsHa_SPEC,
14336 crate::common::RW,
14337 > {
14338 crate::common::RegisterField::<
14339 4,
14340 0x1,
14341 1,
14342 0,
14343 p50pfs_ha::Pcr,
14344 p50pfs_ha::Pcr,
14345 P50PfsHa_SPEC,
14346 crate::common::RW,
14347 >::from_register(self, 0)
14348 }
14349
14350 #[doc = "N-Channel Open-Drain Control"]
14351 #[inline(always)]
14352 pub fn ncodr(
14353 self,
14354 ) -> crate::common::RegisterField<
14355 6,
14356 0x1,
14357 1,
14358 0,
14359 p50pfs_ha::Ncodr,
14360 p50pfs_ha::Ncodr,
14361 P50PfsHa_SPEC,
14362 crate::common::RW,
14363 > {
14364 crate::common::RegisterField::<
14365 6,
14366 0x1,
14367 1,
14368 0,
14369 p50pfs_ha::Ncodr,
14370 p50pfs_ha::Ncodr,
14371 P50PfsHa_SPEC,
14372 crate::common::RW,
14373 >::from_register(self, 0)
14374 }
14375
14376 #[doc = "IRQ Input Enable"]
14377 #[inline(always)]
14378 pub fn isel(
14379 self,
14380 ) -> crate::common::RegisterField<
14381 14,
14382 0x1,
14383 1,
14384 0,
14385 p50pfs_ha::Isel,
14386 p50pfs_ha::Isel,
14387 P50PfsHa_SPEC,
14388 crate::common::RW,
14389 > {
14390 crate::common::RegisterField::<
14391 14,
14392 0x1,
14393 1,
14394 0,
14395 p50pfs_ha::Isel,
14396 p50pfs_ha::Isel,
14397 P50PfsHa_SPEC,
14398 crate::common::RW,
14399 >::from_register(self, 0)
14400 }
14401
14402 #[doc = "Analog Input Enable"]
14403 #[inline(always)]
14404 pub fn asel(
14405 self,
14406 ) -> crate::common::RegisterField<
14407 15,
14408 0x1,
14409 1,
14410 0,
14411 p50pfs_ha::Asel,
14412 p50pfs_ha::Asel,
14413 P50PfsHa_SPEC,
14414 crate::common::RW,
14415 > {
14416 crate::common::RegisterField::<
14417 15,
14418 0x1,
14419 1,
14420 0,
14421 p50pfs_ha::Asel,
14422 p50pfs_ha::Asel,
14423 P50PfsHa_SPEC,
14424 crate::common::RW,
14425 >::from_register(self, 0)
14426 }
14427}
14428impl ::core::default::Default for P50PfsHa {
14429 #[inline(always)]
14430 fn default() -> P50PfsHa {
14431 <crate::RegValueT<P50PfsHa_SPEC> as RegisterValue<_>>::new(0)
14432 }
14433}
14434pub mod p50pfs_ha {
14435
14436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14437 pub struct Podr_SPEC;
14438 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14439 impl Podr {
14440 #[doc = "Output low"]
14441 pub const _0: Self = Self::new(0);
14442
14443 #[doc = "Output high"]
14444 pub const _1: Self = Self::new(1);
14445 }
14446 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14447 pub struct Pidr_SPEC;
14448 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14449 impl Pidr {
14450 #[doc = "Low level"]
14451 pub const _0: Self = Self::new(0);
14452
14453 #[doc = "High level"]
14454 pub const _1: Self = Self::new(1);
14455 }
14456 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14457 pub struct Pdr_SPEC;
14458 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14459 impl Pdr {
14460 #[doc = "Input (functions as an input pin)"]
14461 pub const _0: Self = Self::new(0);
14462
14463 #[doc = "Output (functions as an output pin)"]
14464 pub const _1: Self = Self::new(1);
14465 }
14466 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14467 pub struct Pcr_SPEC;
14468 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14469 impl Pcr {
14470 #[doc = "Disable input pull-up"]
14471 pub const _0: Self = Self::new(0);
14472
14473 #[doc = "Enable input pull-up"]
14474 pub const _1: Self = Self::new(1);
14475 }
14476 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14477 pub struct Ncodr_SPEC;
14478 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14479 impl Ncodr {
14480 #[doc = "Output CMOS"]
14481 pub const _0: Self = Self::new(0);
14482
14483 #[doc = "Output NMOS open-drain"]
14484 pub const _1: Self = Self::new(1);
14485 }
14486 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14487 pub struct Isel_SPEC;
14488 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14489 impl Isel {
14490 #[doc = "Do not use as IRQn input pin"]
14491 pub const _0: Self = Self::new(0);
14492
14493 #[doc = "Use as IRQn input pin"]
14494 pub const _1: Self = Self::new(1);
14495 }
14496 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14497 pub struct Asel_SPEC;
14498 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14499 impl Asel {
14500 #[doc = "Do not use as analog pin"]
14501 pub const _0: Self = Self::new(0);
14502
14503 #[doc = "Use as analog pin"]
14504 pub const _1: Self = Self::new(1);
14505 }
14506}
14507#[doc(hidden)]
14508#[derive(Copy, Clone, Eq, PartialEq)]
14509pub struct P50PfsBy_SPEC;
14510impl crate::sealed::RegSpec for P50PfsBy_SPEC {
14511 type DataType = u8;
14512}
14513
14514#[doc = "Port 50%s Pin Function Select Register"]
14515pub type P50PfsBy = crate::RegValueT<P50PfsBy_SPEC>;
14516
14517impl P50PfsBy {
14518 #[doc = "Port Output Data"]
14519 #[inline(always)]
14520 pub fn podr(
14521 self,
14522 ) -> crate::common::RegisterField<
14523 0,
14524 0x1,
14525 1,
14526 0,
14527 p50pfs_by::Podr,
14528 p50pfs_by::Podr,
14529 P50PfsBy_SPEC,
14530 crate::common::RW,
14531 > {
14532 crate::common::RegisterField::<
14533 0,
14534 0x1,
14535 1,
14536 0,
14537 p50pfs_by::Podr,
14538 p50pfs_by::Podr,
14539 P50PfsBy_SPEC,
14540 crate::common::RW,
14541 >::from_register(self, 0)
14542 }
14543
14544 #[doc = "Port State"]
14545 #[inline(always)]
14546 pub fn pidr(
14547 self,
14548 ) -> crate::common::RegisterField<
14549 1,
14550 0x1,
14551 1,
14552 0,
14553 p50pfs_by::Pidr,
14554 p50pfs_by::Pidr,
14555 P50PfsBy_SPEC,
14556 crate::common::R,
14557 > {
14558 crate::common::RegisterField::<
14559 1,
14560 0x1,
14561 1,
14562 0,
14563 p50pfs_by::Pidr,
14564 p50pfs_by::Pidr,
14565 P50PfsBy_SPEC,
14566 crate::common::R,
14567 >::from_register(self, 0)
14568 }
14569
14570 #[doc = "Port Direction"]
14571 #[inline(always)]
14572 pub fn pdr(
14573 self,
14574 ) -> crate::common::RegisterField<
14575 2,
14576 0x1,
14577 1,
14578 0,
14579 p50pfs_by::Pdr,
14580 p50pfs_by::Pdr,
14581 P50PfsBy_SPEC,
14582 crate::common::RW,
14583 > {
14584 crate::common::RegisterField::<
14585 2,
14586 0x1,
14587 1,
14588 0,
14589 p50pfs_by::Pdr,
14590 p50pfs_by::Pdr,
14591 P50PfsBy_SPEC,
14592 crate::common::RW,
14593 >::from_register(self, 0)
14594 }
14595
14596 #[doc = "Pull-up Control"]
14597 #[inline(always)]
14598 pub fn pcr(
14599 self,
14600 ) -> crate::common::RegisterField<
14601 4,
14602 0x1,
14603 1,
14604 0,
14605 p50pfs_by::Pcr,
14606 p50pfs_by::Pcr,
14607 P50PfsBy_SPEC,
14608 crate::common::RW,
14609 > {
14610 crate::common::RegisterField::<
14611 4,
14612 0x1,
14613 1,
14614 0,
14615 p50pfs_by::Pcr,
14616 p50pfs_by::Pcr,
14617 P50PfsBy_SPEC,
14618 crate::common::RW,
14619 >::from_register(self, 0)
14620 }
14621
14622 #[doc = "N-Channel Open-Drain Control"]
14623 #[inline(always)]
14624 pub fn ncodr(
14625 self,
14626 ) -> crate::common::RegisterField<
14627 6,
14628 0x1,
14629 1,
14630 0,
14631 p50pfs_by::Ncodr,
14632 p50pfs_by::Ncodr,
14633 P50PfsBy_SPEC,
14634 crate::common::RW,
14635 > {
14636 crate::common::RegisterField::<
14637 6,
14638 0x1,
14639 1,
14640 0,
14641 p50pfs_by::Ncodr,
14642 p50pfs_by::Ncodr,
14643 P50PfsBy_SPEC,
14644 crate::common::RW,
14645 >::from_register(self, 0)
14646 }
14647}
14648impl ::core::default::Default for P50PfsBy {
14649 #[inline(always)]
14650 fn default() -> P50PfsBy {
14651 <crate::RegValueT<P50PfsBy_SPEC> as RegisterValue<_>>::new(0)
14652 }
14653}
14654pub mod p50pfs_by {
14655
14656 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14657 pub struct Podr_SPEC;
14658 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14659 impl Podr {
14660 #[doc = "Output low"]
14661 pub const _0: Self = Self::new(0);
14662
14663 #[doc = "Output high"]
14664 pub const _1: Self = Self::new(1);
14665 }
14666 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14667 pub struct Pidr_SPEC;
14668 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14669 impl Pidr {
14670 #[doc = "Low level"]
14671 pub const _0: Self = Self::new(0);
14672
14673 #[doc = "High level"]
14674 pub const _1: Self = Self::new(1);
14675 }
14676 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14677 pub struct Pdr_SPEC;
14678 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14679 impl Pdr {
14680 #[doc = "Input (functions as an input pin)"]
14681 pub const _0: Self = Self::new(0);
14682
14683 #[doc = "Output (functions as an output pin)"]
14684 pub const _1: Self = Self::new(1);
14685 }
14686 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14687 pub struct Pcr_SPEC;
14688 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14689 impl Pcr {
14690 #[doc = "Disable input pull-up"]
14691 pub const _0: Self = Self::new(0);
14692
14693 #[doc = "Enable input pull-up"]
14694 pub const _1: Self = Self::new(1);
14695 }
14696 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14697 pub struct Ncodr_SPEC;
14698 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14699 impl Ncodr {
14700 #[doc = "Output CMOS"]
14701 pub const _0: Self = Self::new(0);
14702
14703 #[doc = "Output NMOS open-drain"]
14704 pub const _1: Self = Self::new(1);
14705 }
14706}
14707#[doc(hidden)]
14708#[derive(Copy, Clone, Eq, PartialEq)]
14709pub struct P60Pfs_SPEC;
14710impl crate::sealed::RegSpec for P60Pfs_SPEC {
14711 type DataType = u32;
14712}
14713
14714#[doc = "Port 60%s Pin Function Select Register"]
14715pub type P60Pfs = crate::RegValueT<P60Pfs_SPEC>;
14716
14717impl P60Pfs {
14718 #[doc = "Port Output Data"]
14719 #[inline(always)]
14720 pub fn podr(
14721 self,
14722 ) -> crate::common::RegisterField<
14723 0,
14724 0x1,
14725 1,
14726 0,
14727 p60pfs::Podr,
14728 p60pfs::Podr,
14729 P60Pfs_SPEC,
14730 crate::common::RW,
14731 > {
14732 crate::common::RegisterField::<
14733 0,
14734 0x1,
14735 1,
14736 0,
14737 p60pfs::Podr,
14738 p60pfs::Podr,
14739 P60Pfs_SPEC,
14740 crate::common::RW,
14741 >::from_register(self, 0)
14742 }
14743
14744 #[doc = "Port State"]
14745 #[inline(always)]
14746 pub fn pidr(
14747 self,
14748 ) -> crate::common::RegisterField<
14749 1,
14750 0x1,
14751 1,
14752 0,
14753 p60pfs::Pidr,
14754 p60pfs::Pidr,
14755 P60Pfs_SPEC,
14756 crate::common::R,
14757 > {
14758 crate::common::RegisterField::<
14759 1,
14760 0x1,
14761 1,
14762 0,
14763 p60pfs::Pidr,
14764 p60pfs::Pidr,
14765 P60Pfs_SPEC,
14766 crate::common::R,
14767 >::from_register(self, 0)
14768 }
14769
14770 #[doc = "Port Direction"]
14771 #[inline(always)]
14772 pub fn pdr(
14773 self,
14774 ) -> crate::common::RegisterField<
14775 2,
14776 0x1,
14777 1,
14778 0,
14779 p60pfs::Pdr,
14780 p60pfs::Pdr,
14781 P60Pfs_SPEC,
14782 crate::common::RW,
14783 > {
14784 crate::common::RegisterField::<
14785 2,
14786 0x1,
14787 1,
14788 0,
14789 p60pfs::Pdr,
14790 p60pfs::Pdr,
14791 P60Pfs_SPEC,
14792 crate::common::RW,
14793 >::from_register(self, 0)
14794 }
14795
14796 #[doc = "Pull-up Control"]
14797 #[inline(always)]
14798 pub fn pcr(
14799 self,
14800 ) -> crate::common::RegisterField<
14801 4,
14802 0x1,
14803 1,
14804 0,
14805 p60pfs::Pcr,
14806 p60pfs::Pcr,
14807 P60Pfs_SPEC,
14808 crate::common::RW,
14809 > {
14810 crate::common::RegisterField::<
14811 4,
14812 0x1,
14813 1,
14814 0,
14815 p60pfs::Pcr,
14816 p60pfs::Pcr,
14817 P60Pfs_SPEC,
14818 crate::common::RW,
14819 >::from_register(self, 0)
14820 }
14821
14822 #[doc = "N-Channel Open-Drain Control"]
14823 #[inline(always)]
14824 pub fn ncodr(
14825 self,
14826 ) -> crate::common::RegisterField<
14827 6,
14828 0x1,
14829 1,
14830 0,
14831 p60pfs::Ncodr,
14832 p60pfs::Ncodr,
14833 P60Pfs_SPEC,
14834 crate::common::RW,
14835 > {
14836 crate::common::RegisterField::<
14837 6,
14838 0x1,
14839 1,
14840 0,
14841 p60pfs::Ncodr,
14842 p60pfs::Ncodr,
14843 P60Pfs_SPEC,
14844 crate::common::RW,
14845 >::from_register(self, 0)
14846 }
14847
14848 #[doc = "IRQ Input Enable"]
14849 #[inline(always)]
14850 pub fn isel(
14851 self,
14852 ) -> crate::common::RegisterField<
14853 14,
14854 0x1,
14855 1,
14856 0,
14857 p60pfs::Isel,
14858 p60pfs::Isel,
14859 P60Pfs_SPEC,
14860 crate::common::RW,
14861 > {
14862 crate::common::RegisterField::<
14863 14,
14864 0x1,
14865 1,
14866 0,
14867 p60pfs::Isel,
14868 p60pfs::Isel,
14869 P60Pfs_SPEC,
14870 crate::common::RW,
14871 >::from_register(self, 0)
14872 }
14873
14874 #[doc = "Analog Input Enable"]
14875 #[inline(always)]
14876 pub fn asel(
14877 self,
14878 ) -> crate::common::RegisterField<
14879 15,
14880 0x1,
14881 1,
14882 0,
14883 p60pfs::Asel,
14884 p60pfs::Asel,
14885 P60Pfs_SPEC,
14886 crate::common::RW,
14887 > {
14888 crate::common::RegisterField::<
14889 15,
14890 0x1,
14891 1,
14892 0,
14893 p60pfs::Asel,
14894 p60pfs::Asel,
14895 P60Pfs_SPEC,
14896 crate::common::RW,
14897 >::from_register(self, 0)
14898 }
14899
14900 #[doc = "Port Mode Control"]
14901 #[inline(always)]
14902 pub fn pmr(
14903 self,
14904 ) -> crate::common::RegisterField<
14905 16,
14906 0x1,
14907 1,
14908 0,
14909 p60pfs::Pmr,
14910 p60pfs::Pmr,
14911 P60Pfs_SPEC,
14912 crate::common::RW,
14913 > {
14914 crate::common::RegisterField::<
14915 16,
14916 0x1,
14917 1,
14918 0,
14919 p60pfs::Pmr,
14920 p60pfs::Pmr,
14921 P60Pfs_SPEC,
14922 crate::common::RW,
14923 >::from_register(self, 0)
14924 }
14925
14926 #[doc = "Peripheral Select"]
14927 #[inline(always)]
14928 pub fn psel(
14929 self,
14930 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P60Pfs_SPEC, crate::common::RW> {
14931 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P60Pfs_SPEC,crate::common::RW>::from_register(self,0)
14932 }
14933}
14934impl ::core::default::Default for P60Pfs {
14935 #[inline(always)]
14936 fn default() -> P60Pfs {
14937 <crate::RegValueT<P60Pfs_SPEC> as RegisterValue<_>>::new(0)
14938 }
14939}
14940pub mod p60pfs {
14941
14942 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14943 pub struct Podr_SPEC;
14944 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14945 impl Podr {
14946 #[doc = "Output low"]
14947 pub const _0: Self = Self::new(0);
14948
14949 #[doc = "Output high"]
14950 pub const _1: Self = Self::new(1);
14951 }
14952 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14953 pub struct Pidr_SPEC;
14954 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14955 impl Pidr {
14956 #[doc = "Low level"]
14957 pub const _0: Self = Self::new(0);
14958
14959 #[doc = "High level"]
14960 pub const _1: Self = Self::new(1);
14961 }
14962 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14963 pub struct Pdr_SPEC;
14964 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14965 impl Pdr {
14966 #[doc = "Input (functions as an input pin)"]
14967 pub const _0: Self = Self::new(0);
14968
14969 #[doc = "Output (functions as an output pin)"]
14970 pub const _1: Self = Self::new(1);
14971 }
14972 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14973 pub struct Pcr_SPEC;
14974 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14975 impl Pcr {
14976 #[doc = "Disable input pull-up"]
14977 pub const _0: Self = Self::new(0);
14978
14979 #[doc = "Enable input pull-up"]
14980 pub const _1: Self = Self::new(1);
14981 }
14982 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14983 pub struct Ncodr_SPEC;
14984 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14985 impl Ncodr {
14986 #[doc = "Output CMOS"]
14987 pub const _0: Self = Self::new(0);
14988
14989 #[doc = "Output NMOS open-drain"]
14990 pub const _1: Self = Self::new(1);
14991 }
14992 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14993 pub struct Isel_SPEC;
14994 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14995 impl Isel {
14996 #[doc = "Do not use as IRQn input pin"]
14997 pub const _0: Self = Self::new(0);
14998
14999 #[doc = "Use as IRQn input pin"]
15000 pub const _1: Self = Self::new(1);
15001 }
15002 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15003 pub struct Asel_SPEC;
15004 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15005 impl Asel {
15006 #[doc = "Do not use as analog pin"]
15007 pub const _0: Self = Self::new(0);
15008
15009 #[doc = "Use as analog pin"]
15010 pub const _1: Self = Self::new(1);
15011 }
15012 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15013 pub struct Pmr_SPEC;
15014 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
15015 impl Pmr {
15016 #[doc = "Use as general I/O pin"]
15017 pub const _0: Self = Self::new(0);
15018
15019 #[doc = "Use as I/O port for peripheral functions"]
15020 pub const _1: Self = Self::new(1);
15021 }
15022}
15023#[doc(hidden)]
15024#[derive(Copy, Clone, Eq, PartialEq)]
15025pub struct P60PfsHa_SPEC;
15026impl crate::sealed::RegSpec for P60PfsHa_SPEC {
15027 type DataType = u16;
15028}
15029
15030#[doc = "Port 60%s Pin Function Select Register"]
15031pub type P60PfsHa = crate::RegValueT<P60PfsHa_SPEC>;
15032
15033impl P60PfsHa {
15034 #[doc = "Port Output Data"]
15035 #[inline(always)]
15036 pub fn podr(
15037 self,
15038 ) -> crate::common::RegisterField<
15039 0,
15040 0x1,
15041 1,
15042 0,
15043 p60pfs_ha::Podr,
15044 p60pfs_ha::Podr,
15045 P60PfsHa_SPEC,
15046 crate::common::RW,
15047 > {
15048 crate::common::RegisterField::<
15049 0,
15050 0x1,
15051 1,
15052 0,
15053 p60pfs_ha::Podr,
15054 p60pfs_ha::Podr,
15055 P60PfsHa_SPEC,
15056 crate::common::RW,
15057 >::from_register(self, 0)
15058 }
15059
15060 #[doc = "Port State"]
15061 #[inline(always)]
15062 pub fn pidr(
15063 self,
15064 ) -> crate::common::RegisterField<
15065 1,
15066 0x1,
15067 1,
15068 0,
15069 p60pfs_ha::Pidr,
15070 p60pfs_ha::Pidr,
15071 P60PfsHa_SPEC,
15072 crate::common::R,
15073 > {
15074 crate::common::RegisterField::<
15075 1,
15076 0x1,
15077 1,
15078 0,
15079 p60pfs_ha::Pidr,
15080 p60pfs_ha::Pidr,
15081 P60PfsHa_SPEC,
15082 crate::common::R,
15083 >::from_register(self, 0)
15084 }
15085
15086 #[doc = "Port Direction"]
15087 #[inline(always)]
15088 pub fn pdr(
15089 self,
15090 ) -> crate::common::RegisterField<
15091 2,
15092 0x1,
15093 1,
15094 0,
15095 p60pfs_ha::Pdr,
15096 p60pfs_ha::Pdr,
15097 P60PfsHa_SPEC,
15098 crate::common::RW,
15099 > {
15100 crate::common::RegisterField::<
15101 2,
15102 0x1,
15103 1,
15104 0,
15105 p60pfs_ha::Pdr,
15106 p60pfs_ha::Pdr,
15107 P60PfsHa_SPEC,
15108 crate::common::RW,
15109 >::from_register(self, 0)
15110 }
15111
15112 #[doc = "Pull-up Control"]
15113 #[inline(always)]
15114 pub fn pcr(
15115 self,
15116 ) -> crate::common::RegisterField<
15117 4,
15118 0x1,
15119 1,
15120 0,
15121 p60pfs_ha::Pcr,
15122 p60pfs_ha::Pcr,
15123 P60PfsHa_SPEC,
15124 crate::common::RW,
15125 > {
15126 crate::common::RegisterField::<
15127 4,
15128 0x1,
15129 1,
15130 0,
15131 p60pfs_ha::Pcr,
15132 p60pfs_ha::Pcr,
15133 P60PfsHa_SPEC,
15134 crate::common::RW,
15135 >::from_register(self, 0)
15136 }
15137
15138 #[doc = "N-Channel Open-Drain Control"]
15139 #[inline(always)]
15140 pub fn ncodr(
15141 self,
15142 ) -> crate::common::RegisterField<
15143 6,
15144 0x1,
15145 1,
15146 0,
15147 p60pfs_ha::Ncodr,
15148 p60pfs_ha::Ncodr,
15149 P60PfsHa_SPEC,
15150 crate::common::RW,
15151 > {
15152 crate::common::RegisterField::<
15153 6,
15154 0x1,
15155 1,
15156 0,
15157 p60pfs_ha::Ncodr,
15158 p60pfs_ha::Ncodr,
15159 P60PfsHa_SPEC,
15160 crate::common::RW,
15161 >::from_register(self, 0)
15162 }
15163
15164 #[doc = "IRQ Input Enable"]
15165 #[inline(always)]
15166 pub fn isel(
15167 self,
15168 ) -> crate::common::RegisterField<
15169 14,
15170 0x1,
15171 1,
15172 0,
15173 p60pfs_ha::Isel,
15174 p60pfs_ha::Isel,
15175 P60PfsHa_SPEC,
15176 crate::common::RW,
15177 > {
15178 crate::common::RegisterField::<
15179 14,
15180 0x1,
15181 1,
15182 0,
15183 p60pfs_ha::Isel,
15184 p60pfs_ha::Isel,
15185 P60PfsHa_SPEC,
15186 crate::common::RW,
15187 >::from_register(self, 0)
15188 }
15189
15190 #[doc = "Analog Input Enable"]
15191 #[inline(always)]
15192 pub fn asel(
15193 self,
15194 ) -> crate::common::RegisterField<
15195 15,
15196 0x1,
15197 1,
15198 0,
15199 p60pfs_ha::Asel,
15200 p60pfs_ha::Asel,
15201 P60PfsHa_SPEC,
15202 crate::common::RW,
15203 > {
15204 crate::common::RegisterField::<
15205 15,
15206 0x1,
15207 1,
15208 0,
15209 p60pfs_ha::Asel,
15210 p60pfs_ha::Asel,
15211 P60PfsHa_SPEC,
15212 crate::common::RW,
15213 >::from_register(self, 0)
15214 }
15215}
15216impl ::core::default::Default for P60PfsHa {
15217 #[inline(always)]
15218 fn default() -> P60PfsHa {
15219 <crate::RegValueT<P60PfsHa_SPEC> as RegisterValue<_>>::new(0)
15220 }
15221}
15222pub mod p60pfs_ha {
15223
15224 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15225 pub struct Podr_SPEC;
15226 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15227 impl Podr {
15228 #[doc = "Output low"]
15229 pub const _0: Self = Self::new(0);
15230
15231 #[doc = "Output high"]
15232 pub const _1: Self = Self::new(1);
15233 }
15234 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15235 pub struct Pidr_SPEC;
15236 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15237 impl Pidr {
15238 #[doc = "Low level"]
15239 pub const _0: Self = Self::new(0);
15240
15241 #[doc = "High level"]
15242 pub const _1: Self = Self::new(1);
15243 }
15244 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15245 pub struct Pdr_SPEC;
15246 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15247 impl Pdr {
15248 #[doc = "Input (functions as an input pin)"]
15249 pub const _0: Self = Self::new(0);
15250
15251 #[doc = "Output (functions as an output pin)"]
15252 pub const _1: Self = Self::new(1);
15253 }
15254 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15255 pub struct Pcr_SPEC;
15256 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15257 impl Pcr {
15258 #[doc = "Disable input pull-up"]
15259 pub const _0: Self = Self::new(0);
15260
15261 #[doc = "Enable input pull-up"]
15262 pub const _1: Self = Self::new(1);
15263 }
15264 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15265 pub struct Ncodr_SPEC;
15266 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15267 impl Ncodr {
15268 #[doc = "Output CMOS"]
15269 pub const _0: Self = Self::new(0);
15270
15271 #[doc = "Output NMOS open-drain"]
15272 pub const _1: Self = Self::new(1);
15273 }
15274 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15275 pub struct Isel_SPEC;
15276 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15277 impl Isel {
15278 #[doc = "Do not use as IRQn input pin"]
15279 pub const _0: Self = Self::new(0);
15280
15281 #[doc = "Use as IRQn input pin"]
15282 pub const _1: Self = Self::new(1);
15283 }
15284 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15285 pub struct Asel_SPEC;
15286 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15287 impl Asel {
15288 #[doc = "Do not use as analog pin"]
15289 pub const _0: Self = Self::new(0);
15290
15291 #[doc = "Use as analog pin"]
15292 pub const _1: Self = Self::new(1);
15293 }
15294}
15295#[doc(hidden)]
15296#[derive(Copy, Clone, Eq, PartialEq)]
15297pub struct P60PfsBy_SPEC;
15298impl crate::sealed::RegSpec for P60PfsBy_SPEC {
15299 type DataType = u8;
15300}
15301
15302#[doc = "Port 60%s Pin Function Select Register"]
15303pub type P60PfsBy = crate::RegValueT<P60PfsBy_SPEC>;
15304
15305impl P60PfsBy {
15306 #[doc = "Port Output Data"]
15307 #[inline(always)]
15308 pub fn podr(
15309 self,
15310 ) -> crate::common::RegisterField<
15311 0,
15312 0x1,
15313 1,
15314 0,
15315 p60pfs_by::Podr,
15316 p60pfs_by::Podr,
15317 P60PfsBy_SPEC,
15318 crate::common::RW,
15319 > {
15320 crate::common::RegisterField::<
15321 0,
15322 0x1,
15323 1,
15324 0,
15325 p60pfs_by::Podr,
15326 p60pfs_by::Podr,
15327 P60PfsBy_SPEC,
15328 crate::common::RW,
15329 >::from_register(self, 0)
15330 }
15331
15332 #[doc = "Port State"]
15333 #[inline(always)]
15334 pub fn pidr(
15335 self,
15336 ) -> crate::common::RegisterField<
15337 1,
15338 0x1,
15339 1,
15340 0,
15341 p60pfs_by::Pidr,
15342 p60pfs_by::Pidr,
15343 P60PfsBy_SPEC,
15344 crate::common::R,
15345 > {
15346 crate::common::RegisterField::<
15347 1,
15348 0x1,
15349 1,
15350 0,
15351 p60pfs_by::Pidr,
15352 p60pfs_by::Pidr,
15353 P60PfsBy_SPEC,
15354 crate::common::R,
15355 >::from_register(self, 0)
15356 }
15357
15358 #[doc = "Port Direction"]
15359 #[inline(always)]
15360 pub fn pdr(
15361 self,
15362 ) -> crate::common::RegisterField<
15363 2,
15364 0x1,
15365 1,
15366 0,
15367 p60pfs_by::Pdr,
15368 p60pfs_by::Pdr,
15369 P60PfsBy_SPEC,
15370 crate::common::RW,
15371 > {
15372 crate::common::RegisterField::<
15373 2,
15374 0x1,
15375 1,
15376 0,
15377 p60pfs_by::Pdr,
15378 p60pfs_by::Pdr,
15379 P60PfsBy_SPEC,
15380 crate::common::RW,
15381 >::from_register(self, 0)
15382 }
15383
15384 #[doc = "Pull-up Control"]
15385 #[inline(always)]
15386 pub fn pcr(
15387 self,
15388 ) -> crate::common::RegisterField<
15389 4,
15390 0x1,
15391 1,
15392 0,
15393 p60pfs_by::Pcr,
15394 p60pfs_by::Pcr,
15395 P60PfsBy_SPEC,
15396 crate::common::RW,
15397 > {
15398 crate::common::RegisterField::<
15399 4,
15400 0x1,
15401 1,
15402 0,
15403 p60pfs_by::Pcr,
15404 p60pfs_by::Pcr,
15405 P60PfsBy_SPEC,
15406 crate::common::RW,
15407 >::from_register(self, 0)
15408 }
15409
15410 #[doc = "N-Channel Open-Drain Control"]
15411 #[inline(always)]
15412 pub fn ncodr(
15413 self,
15414 ) -> crate::common::RegisterField<
15415 6,
15416 0x1,
15417 1,
15418 0,
15419 p60pfs_by::Ncodr,
15420 p60pfs_by::Ncodr,
15421 P60PfsBy_SPEC,
15422 crate::common::RW,
15423 > {
15424 crate::common::RegisterField::<
15425 6,
15426 0x1,
15427 1,
15428 0,
15429 p60pfs_by::Ncodr,
15430 p60pfs_by::Ncodr,
15431 P60PfsBy_SPEC,
15432 crate::common::RW,
15433 >::from_register(self, 0)
15434 }
15435}
15436impl ::core::default::Default for P60PfsBy {
15437 #[inline(always)]
15438 fn default() -> P60PfsBy {
15439 <crate::RegValueT<P60PfsBy_SPEC> as RegisterValue<_>>::new(0)
15440 }
15441}
15442pub mod p60pfs_by {
15443
15444 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15445 pub struct Podr_SPEC;
15446 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15447 impl Podr {
15448 #[doc = "Output low"]
15449 pub const _0: Self = Self::new(0);
15450
15451 #[doc = "Output high"]
15452 pub const _1: Self = Self::new(1);
15453 }
15454 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15455 pub struct Pidr_SPEC;
15456 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15457 impl Pidr {
15458 #[doc = "Low level"]
15459 pub const _0: Self = Self::new(0);
15460
15461 #[doc = "High level"]
15462 pub const _1: Self = Self::new(1);
15463 }
15464 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15465 pub struct Pdr_SPEC;
15466 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15467 impl Pdr {
15468 #[doc = "Input (functions as an input pin)"]
15469 pub const _0: Self = Self::new(0);
15470
15471 #[doc = "Output (functions as an output pin)"]
15472 pub const _1: Self = Self::new(1);
15473 }
15474 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15475 pub struct Pcr_SPEC;
15476 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15477 impl Pcr {
15478 #[doc = "Disable input pull-up"]
15479 pub const _0: Self = Self::new(0);
15480
15481 #[doc = "Enable input pull-up"]
15482 pub const _1: Self = Self::new(1);
15483 }
15484 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15485 pub struct Ncodr_SPEC;
15486 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15487 impl Ncodr {
15488 #[doc = "Output CMOS"]
15489 pub const _0: Self = Self::new(0);
15490
15491 #[doc = "Output NMOS open-drain"]
15492 pub const _1: Self = Self::new(1);
15493 }
15494}
15495#[doc(hidden)]
15496#[derive(Copy, Clone, Eq, PartialEq)]
15497pub struct P610Pfs_SPEC;
15498impl crate::sealed::RegSpec for P610Pfs_SPEC {
15499 type DataType = u32;
15500}
15501
15502#[doc = "Port 610 Pin Function Select Register"]
15503pub type P610Pfs = crate::RegValueT<P610Pfs_SPEC>;
15504
15505impl P610Pfs {
15506 #[doc = "Port Output Data"]
15507 #[inline(always)]
15508 pub fn podr(
15509 self,
15510 ) -> crate::common::RegisterField<
15511 0,
15512 0x1,
15513 1,
15514 0,
15515 p610pfs::Podr,
15516 p610pfs::Podr,
15517 P610Pfs_SPEC,
15518 crate::common::RW,
15519 > {
15520 crate::common::RegisterField::<
15521 0,
15522 0x1,
15523 1,
15524 0,
15525 p610pfs::Podr,
15526 p610pfs::Podr,
15527 P610Pfs_SPEC,
15528 crate::common::RW,
15529 >::from_register(self, 0)
15530 }
15531
15532 #[doc = "Port State"]
15533 #[inline(always)]
15534 pub fn pidr(
15535 self,
15536 ) -> crate::common::RegisterField<
15537 1,
15538 0x1,
15539 1,
15540 0,
15541 p610pfs::Pidr,
15542 p610pfs::Pidr,
15543 P610Pfs_SPEC,
15544 crate::common::R,
15545 > {
15546 crate::common::RegisterField::<
15547 1,
15548 0x1,
15549 1,
15550 0,
15551 p610pfs::Pidr,
15552 p610pfs::Pidr,
15553 P610Pfs_SPEC,
15554 crate::common::R,
15555 >::from_register(self, 0)
15556 }
15557
15558 #[doc = "Port Direction"]
15559 #[inline(always)]
15560 pub fn pdr(
15561 self,
15562 ) -> crate::common::RegisterField<
15563 2,
15564 0x1,
15565 1,
15566 0,
15567 p610pfs::Pdr,
15568 p610pfs::Pdr,
15569 P610Pfs_SPEC,
15570 crate::common::RW,
15571 > {
15572 crate::common::RegisterField::<
15573 2,
15574 0x1,
15575 1,
15576 0,
15577 p610pfs::Pdr,
15578 p610pfs::Pdr,
15579 P610Pfs_SPEC,
15580 crate::common::RW,
15581 >::from_register(self, 0)
15582 }
15583
15584 #[doc = "Pull-up Control"]
15585 #[inline(always)]
15586 pub fn pcr(
15587 self,
15588 ) -> crate::common::RegisterField<
15589 4,
15590 0x1,
15591 1,
15592 0,
15593 p610pfs::Pcr,
15594 p610pfs::Pcr,
15595 P610Pfs_SPEC,
15596 crate::common::RW,
15597 > {
15598 crate::common::RegisterField::<
15599 4,
15600 0x1,
15601 1,
15602 0,
15603 p610pfs::Pcr,
15604 p610pfs::Pcr,
15605 P610Pfs_SPEC,
15606 crate::common::RW,
15607 >::from_register(self, 0)
15608 }
15609
15610 #[doc = "N-Channel Open-Drain Control"]
15611 #[inline(always)]
15612 pub fn ncodr(
15613 self,
15614 ) -> crate::common::RegisterField<
15615 6,
15616 0x1,
15617 1,
15618 0,
15619 p610pfs::Ncodr,
15620 p610pfs::Ncodr,
15621 P610Pfs_SPEC,
15622 crate::common::RW,
15623 > {
15624 crate::common::RegisterField::<
15625 6,
15626 0x1,
15627 1,
15628 0,
15629 p610pfs::Ncodr,
15630 p610pfs::Ncodr,
15631 P610Pfs_SPEC,
15632 crate::common::RW,
15633 >::from_register(self, 0)
15634 }
15635
15636 #[doc = "IRQ Input Enable"]
15637 #[inline(always)]
15638 pub fn isel(
15639 self,
15640 ) -> crate::common::RegisterField<
15641 14,
15642 0x1,
15643 1,
15644 0,
15645 p610pfs::Isel,
15646 p610pfs::Isel,
15647 P610Pfs_SPEC,
15648 crate::common::RW,
15649 > {
15650 crate::common::RegisterField::<
15651 14,
15652 0x1,
15653 1,
15654 0,
15655 p610pfs::Isel,
15656 p610pfs::Isel,
15657 P610Pfs_SPEC,
15658 crate::common::RW,
15659 >::from_register(self, 0)
15660 }
15661
15662 #[doc = "Analog Input Enable"]
15663 #[inline(always)]
15664 pub fn asel(
15665 self,
15666 ) -> crate::common::RegisterField<
15667 15,
15668 0x1,
15669 1,
15670 0,
15671 p610pfs::Asel,
15672 p610pfs::Asel,
15673 P610Pfs_SPEC,
15674 crate::common::RW,
15675 > {
15676 crate::common::RegisterField::<
15677 15,
15678 0x1,
15679 1,
15680 0,
15681 p610pfs::Asel,
15682 p610pfs::Asel,
15683 P610Pfs_SPEC,
15684 crate::common::RW,
15685 >::from_register(self, 0)
15686 }
15687
15688 #[doc = "Port Mode Control"]
15689 #[inline(always)]
15690 pub fn pmr(
15691 self,
15692 ) -> crate::common::RegisterField<
15693 16,
15694 0x1,
15695 1,
15696 0,
15697 p610pfs::Pmr,
15698 p610pfs::Pmr,
15699 P610Pfs_SPEC,
15700 crate::common::RW,
15701 > {
15702 crate::common::RegisterField::<
15703 16,
15704 0x1,
15705 1,
15706 0,
15707 p610pfs::Pmr,
15708 p610pfs::Pmr,
15709 P610Pfs_SPEC,
15710 crate::common::RW,
15711 >::from_register(self, 0)
15712 }
15713
15714 #[doc = "Peripheral Select"]
15715 #[inline(always)]
15716 pub fn psel(
15717 self,
15718 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P610Pfs_SPEC, crate::common::RW> {
15719 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P610Pfs_SPEC,crate::common::RW>::from_register(self,0)
15720 }
15721}
15722impl ::core::default::Default for P610Pfs {
15723 #[inline(always)]
15724 fn default() -> P610Pfs {
15725 <crate::RegValueT<P610Pfs_SPEC> as RegisterValue<_>>::new(0)
15726 }
15727}
15728pub mod p610pfs {
15729
15730 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15731 pub struct Podr_SPEC;
15732 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15733 impl Podr {
15734 #[doc = "Output low"]
15735 pub const _0: Self = Self::new(0);
15736
15737 #[doc = "Output high"]
15738 pub const _1: Self = Self::new(1);
15739 }
15740 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15741 pub struct Pidr_SPEC;
15742 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15743 impl Pidr {
15744 #[doc = "Low level"]
15745 pub const _0: Self = Self::new(0);
15746
15747 #[doc = "High level"]
15748 pub const _1: Self = Self::new(1);
15749 }
15750 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15751 pub struct Pdr_SPEC;
15752 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15753 impl Pdr {
15754 #[doc = "Input (functions as an input pin)"]
15755 pub const _0: Self = Self::new(0);
15756
15757 #[doc = "Output (functions as an output pin)"]
15758 pub const _1: Self = Self::new(1);
15759 }
15760 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15761 pub struct Pcr_SPEC;
15762 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15763 impl Pcr {
15764 #[doc = "Disable input pull-up"]
15765 pub const _0: Self = Self::new(0);
15766
15767 #[doc = "Enable input pull-up"]
15768 pub const _1: Self = Self::new(1);
15769 }
15770 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15771 pub struct Ncodr_SPEC;
15772 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15773 impl Ncodr {
15774 #[doc = "Output CMOS"]
15775 pub const _0: Self = Self::new(0);
15776
15777 #[doc = "Output NMOS open-drain"]
15778 pub const _1: Self = Self::new(1);
15779 }
15780 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15781 pub struct Isel_SPEC;
15782 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15783 impl Isel {
15784 #[doc = "Do not use as IRQn input pin"]
15785 pub const _0: Self = Self::new(0);
15786
15787 #[doc = "Use as IRQn input pin"]
15788 pub const _1: Self = Self::new(1);
15789 }
15790 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15791 pub struct Asel_SPEC;
15792 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15793 impl Asel {
15794 #[doc = "Do not use as analog pin"]
15795 pub const _0: Self = Self::new(0);
15796
15797 #[doc = "Use as analog pin"]
15798 pub const _1: Self = Self::new(1);
15799 }
15800 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15801 pub struct Pmr_SPEC;
15802 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
15803 impl Pmr {
15804 #[doc = "Use as general I/O pin"]
15805 pub const _0: Self = Self::new(0);
15806
15807 #[doc = "Use as I/O port for peripheral functions"]
15808 pub const _1: Self = Self::new(1);
15809 }
15810}
15811#[doc(hidden)]
15812#[derive(Copy, Clone, Eq, PartialEq)]
15813pub struct P610PfsHa_SPEC;
15814impl crate::sealed::RegSpec for P610PfsHa_SPEC {
15815 type DataType = u16;
15816}
15817
15818#[doc = "Port 610 Pin Function Select Register"]
15819pub type P610PfsHa = crate::RegValueT<P610PfsHa_SPEC>;
15820
15821impl P610PfsHa {
15822 #[doc = "Port Output Data"]
15823 #[inline(always)]
15824 pub fn podr(
15825 self,
15826 ) -> crate::common::RegisterField<
15827 0,
15828 0x1,
15829 1,
15830 0,
15831 p610pfs_ha::Podr,
15832 p610pfs_ha::Podr,
15833 P610PfsHa_SPEC,
15834 crate::common::RW,
15835 > {
15836 crate::common::RegisterField::<
15837 0,
15838 0x1,
15839 1,
15840 0,
15841 p610pfs_ha::Podr,
15842 p610pfs_ha::Podr,
15843 P610PfsHa_SPEC,
15844 crate::common::RW,
15845 >::from_register(self, 0)
15846 }
15847
15848 #[doc = "Port State"]
15849 #[inline(always)]
15850 pub fn pidr(
15851 self,
15852 ) -> crate::common::RegisterField<
15853 1,
15854 0x1,
15855 1,
15856 0,
15857 p610pfs_ha::Pidr,
15858 p610pfs_ha::Pidr,
15859 P610PfsHa_SPEC,
15860 crate::common::R,
15861 > {
15862 crate::common::RegisterField::<
15863 1,
15864 0x1,
15865 1,
15866 0,
15867 p610pfs_ha::Pidr,
15868 p610pfs_ha::Pidr,
15869 P610PfsHa_SPEC,
15870 crate::common::R,
15871 >::from_register(self, 0)
15872 }
15873
15874 #[doc = "Port Direction"]
15875 #[inline(always)]
15876 pub fn pdr(
15877 self,
15878 ) -> crate::common::RegisterField<
15879 2,
15880 0x1,
15881 1,
15882 0,
15883 p610pfs_ha::Pdr,
15884 p610pfs_ha::Pdr,
15885 P610PfsHa_SPEC,
15886 crate::common::RW,
15887 > {
15888 crate::common::RegisterField::<
15889 2,
15890 0x1,
15891 1,
15892 0,
15893 p610pfs_ha::Pdr,
15894 p610pfs_ha::Pdr,
15895 P610PfsHa_SPEC,
15896 crate::common::RW,
15897 >::from_register(self, 0)
15898 }
15899
15900 #[doc = "Pull-up Control"]
15901 #[inline(always)]
15902 pub fn pcr(
15903 self,
15904 ) -> crate::common::RegisterField<
15905 4,
15906 0x1,
15907 1,
15908 0,
15909 p610pfs_ha::Pcr,
15910 p610pfs_ha::Pcr,
15911 P610PfsHa_SPEC,
15912 crate::common::RW,
15913 > {
15914 crate::common::RegisterField::<
15915 4,
15916 0x1,
15917 1,
15918 0,
15919 p610pfs_ha::Pcr,
15920 p610pfs_ha::Pcr,
15921 P610PfsHa_SPEC,
15922 crate::common::RW,
15923 >::from_register(self, 0)
15924 }
15925
15926 #[doc = "N-Channel Open-Drain Control"]
15927 #[inline(always)]
15928 pub fn ncodr(
15929 self,
15930 ) -> crate::common::RegisterField<
15931 6,
15932 0x1,
15933 1,
15934 0,
15935 p610pfs_ha::Ncodr,
15936 p610pfs_ha::Ncodr,
15937 P610PfsHa_SPEC,
15938 crate::common::RW,
15939 > {
15940 crate::common::RegisterField::<
15941 6,
15942 0x1,
15943 1,
15944 0,
15945 p610pfs_ha::Ncodr,
15946 p610pfs_ha::Ncodr,
15947 P610PfsHa_SPEC,
15948 crate::common::RW,
15949 >::from_register(self, 0)
15950 }
15951
15952 #[doc = "IRQ Input Enable"]
15953 #[inline(always)]
15954 pub fn isel(
15955 self,
15956 ) -> crate::common::RegisterField<
15957 14,
15958 0x1,
15959 1,
15960 0,
15961 p610pfs_ha::Isel,
15962 p610pfs_ha::Isel,
15963 P610PfsHa_SPEC,
15964 crate::common::RW,
15965 > {
15966 crate::common::RegisterField::<
15967 14,
15968 0x1,
15969 1,
15970 0,
15971 p610pfs_ha::Isel,
15972 p610pfs_ha::Isel,
15973 P610PfsHa_SPEC,
15974 crate::common::RW,
15975 >::from_register(self, 0)
15976 }
15977
15978 #[doc = "Analog Input Enable"]
15979 #[inline(always)]
15980 pub fn asel(
15981 self,
15982 ) -> crate::common::RegisterField<
15983 15,
15984 0x1,
15985 1,
15986 0,
15987 p610pfs_ha::Asel,
15988 p610pfs_ha::Asel,
15989 P610PfsHa_SPEC,
15990 crate::common::RW,
15991 > {
15992 crate::common::RegisterField::<
15993 15,
15994 0x1,
15995 1,
15996 0,
15997 p610pfs_ha::Asel,
15998 p610pfs_ha::Asel,
15999 P610PfsHa_SPEC,
16000 crate::common::RW,
16001 >::from_register(self, 0)
16002 }
16003}
16004impl ::core::default::Default for P610PfsHa {
16005 #[inline(always)]
16006 fn default() -> P610PfsHa {
16007 <crate::RegValueT<P610PfsHa_SPEC> as RegisterValue<_>>::new(0)
16008 }
16009}
16010pub mod p610pfs_ha {
16011
16012 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16013 pub struct Podr_SPEC;
16014 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16015 impl Podr {
16016 #[doc = "Output low"]
16017 pub const _0: Self = Self::new(0);
16018
16019 #[doc = "Output high"]
16020 pub const _1: Self = Self::new(1);
16021 }
16022 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16023 pub struct Pidr_SPEC;
16024 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16025 impl Pidr {
16026 #[doc = "Low level"]
16027 pub const _0: Self = Self::new(0);
16028
16029 #[doc = "High level"]
16030 pub const _1: Self = Self::new(1);
16031 }
16032 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16033 pub struct Pdr_SPEC;
16034 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16035 impl Pdr {
16036 #[doc = "Input (functions as an input pin)"]
16037 pub const _0: Self = Self::new(0);
16038
16039 #[doc = "Output (functions as an output pin)"]
16040 pub const _1: Self = Self::new(1);
16041 }
16042 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16043 pub struct Pcr_SPEC;
16044 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16045 impl Pcr {
16046 #[doc = "Disable input pull-up"]
16047 pub const _0: Self = Self::new(0);
16048
16049 #[doc = "Enable input pull-up"]
16050 pub const _1: Self = Self::new(1);
16051 }
16052 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16053 pub struct Ncodr_SPEC;
16054 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16055 impl Ncodr {
16056 #[doc = "Output CMOS"]
16057 pub const _0: Self = Self::new(0);
16058
16059 #[doc = "Output NMOS open-drain"]
16060 pub const _1: Self = Self::new(1);
16061 }
16062 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16063 pub struct Isel_SPEC;
16064 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16065 impl Isel {
16066 #[doc = "Do not use as IRQn input pin"]
16067 pub const _0: Self = Self::new(0);
16068
16069 #[doc = "Use as IRQn input pin"]
16070 pub const _1: Self = Self::new(1);
16071 }
16072 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16073 pub struct Asel_SPEC;
16074 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16075 impl Asel {
16076 #[doc = "Do not use as analog pin"]
16077 pub const _0: Self = Self::new(0);
16078
16079 #[doc = "Use as analog pin"]
16080 pub const _1: Self = Self::new(1);
16081 }
16082}
16083#[doc(hidden)]
16084#[derive(Copy, Clone, Eq, PartialEq)]
16085pub struct P610PfsBy_SPEC;
16086impl crate::sealed::RegSpec for P610PfsBy_SPEC {
16087 type DataType = u8;
16088}
16089
16090#[doc = "Port 610 Pin Function Select Register"]
16091pub type P610PfsBy = crate::RegValueT<P610PfsBy_SPEC>;
16092
16093impl P610PfsBy {
16094 #[doc = "Port Output Data"]
16095 #[inline(always)]
16096 pub fn podr(
16097 self,
16098 ) -> crate::common::RegisterField<
16099 0,
16100 0x1,
16101 1,
16102 0,
16103 p610pfs_by::Podr,
16104 p610pfs_by::Podr,
16105 P610PfsBy_SPEC,
16106 crate::common::RW,
16107 > {
16108 crate::common::RegisterField::<
16109 0,
16110 0x1,
16111 1,
16112 0,
16113 p610pfs_by::Podr,
16114 p610pfs_by::Podr,
16115 P610PfsBy_SPEC,
16116 crate::common::RW,
16117 >::from_register(self, 0)
16118 }
16119
16120 #[doc = "Port State"]
16121 #[inline(always)]
16122 pub fn pidr(
16123 self,
16124 ) -> crate::common::RegisterField<
16125 1,
16126 0x1,
16127 1,
16128 0,
16129 p610pfs_by::Pidr,
16130 p610pfs_by::Pidr,
16131 P610PfsBy_SPEC,
16132 crate::common::R,
16133 > {
16134 crate::common::RegisterField::<
16135 1,
16136 0x1,
16137 1,
16138 0,
16139 p610pfs_by::Pidr,
16140 p610pfs_by::Pidr,
16141 P610PfsBy_SPEC,
16142 crate::common::R,
16143 >::from_register(self, 0)
16144 }
16145
16146 #[doc = "Port Direction"]
16147 #[inline(always)]
16148 pub fn pdr(
16149 self,
16150 ) -> crate::common::RegisterField<
16151 2,
16152 0x1,
16153 1,
16154 0,
16155 p610pfs_by::Pdr,
16156 p610pfs_by::Pdr,
16157 P610PfsBy_SPEC,
16158 crate::common::RW,
16159 > {
16160 crate::common::RegisterField::<
16161 2,
16162 0x1,
16163 1,
16164 0,
16165 p610pfs_by::Pdr,
16166 p610pfs_by::Pdr,
16167 P610PfsBy_SPEC,
16168 crate::common::RW,
16169 >::from_register(self, 0)
16170 }
16171
16172 #[doc = "Pull-up Control"]
16173 #[inline(always)]
16174 pub fn pcr(
16175 self,
16176 ) -> crate::common::RegisterField<
16177 4,
16178 0x1,
16179 1,
16180 0,
16181 p610pfs_by::Pcr,
16182 p610pfs_by::Pcr,
16183 P610PfsBy_SPEC,
16184 crate::common::RW,
16185 > {
16186 crate::common::RegisterField::<
16187 4,
16188 0x1,
16189 1,
16190 0,
16191 p610pfs_by::Pcr,
16192 p610pfs_by::Pcr,
16193 P610PfsBy_SPEC,
16194 crate::common::RW,
16195 >::from_register(self, 0)
16196 }
16197
16198 #[doc = "N-Channel Open-Drain Control"]
16199 #[inline(always)]
16200 pub fn ncodr(
16201 self,
16202 ) -> crate::common::RegisterField<
16203 6,
16204 0x1,
16205 1,
16206 0,
16207 p610pfs_by::Ncodr,
16208 p610pfs_by::Ncodr,
16209 P610PfsBy_SPEC,
16210 crate::common::RW,
16211 > {
16212 crate::common::RegisterField::<
16213 6,
16214 0x1,
16215 1,
16216 0,
16217 p610pfs_by::Ncodr,
16218 p610pfs_by::Ncodr,
16219 P610PfsBy_SPEC,
16220 crate::common::RW,
16221 >::from_register(self, 0)
16222 }
16223}
16224impl ::core::default::Default for P610PfsBy {
16225 #[inline(always)]
16226 fn default() -> P610PfsBy {
16227 <crate::RegValueT<P610PfsBy_SPEC> as RegisterValue<_>>::new(0)
16228 }
16229}
16230pub mod p610pfs_by {
16231
16232 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16233 pub struct Podr_SPEC;
16234 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16235 impl Podr {
16236 #[doc = "Output low"]
16237 pub const _0: Self = Self::new(0);
16238
16239 #[doc = "Output high"]
16240 pub const _1: Self = Self::new(1);
16241 }
16242 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16243 pub struct Pidr_SPEC;
16244 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16245 impl Pidr {
16246 #[doc = "Low level"]
16247 pub const _0: Self = Self::new(0);
16248
16249 #[doc = "High level"]
16250 pub const _1: Self = Self::new(1);
16251 }
16252 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16253 pub struct Pdr_SPEC;
16254 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16255 impl Pdr {
16256 #[doc = "Input (functions as an input pin)"]
16257 pub const _0: Self = Self::new(0);
16258
16259 #[doc = "Output (functions as an output pin)"]
16260 pub const _1: Self = Self::new(1);
16261 }
16262 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16263 pub struct Pcr_SPEC;
16264 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16265 impl Pcr {
16266 #[doc = "Disable input pull-up"]
16267 pub const _0: Self = Self::new(0);
16268
16269 #[doc = "Enable input pull-up"]
16270 pub const _1: Self = Self::new(1);
16271 }
16272 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16273 pub struct Ncodr_SPEC;
16274 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16275 impl Ncodr {
16276 #[doc = "Output CMOS"]
16277 pub const _0: Self = Self::new(0);
16278
16279 #[doc = "Output NMOS open-drain"]
16280 pub const _1: Self = Self::new(1);
16281 }
16282}
16283#[doc(hidden)]
16284#[derive(Copy, Clone, Eq, PartialEq)]
16285pub struct P708Pfs_SPEC;
16286impl crate::sealed::RegSpec for P708Pfs_SPEC {
16287 type DataType = u32;
16288}
16289
16290#[doc = "Port 708 Pin Function Select Register"]
16291pub type P708Pfs = crate::RegValueT<P708Pfs_SPEC>;
16292
16293impl P708Pfs {
16294 #[doc = "Port Output Data"]
16295 #[inline(always)]
16296 pub fn podr(
16297 self,
16298 ) -> crate::common::RegisterField<
16299 0,
16300 0x1,
16301 1,
16302 0,
16303 p708pfs::Podr,
16304 p708pfs::Podr,
16305 P708Pfs_SPEC,
16306 crate::common::RW,
16307 > {
16308 crate::common::RegisterField::<
16309 0,
16310 0x1,
16311 1,
16312 0,
16313 p708pfs::Podr,
16314 p708pfs::Podr,
16315 P708Pfs_SPEC,
16316 crate::common::RW,
16317 >::from_register(self, 0)
16318 }
16319
16320 #[doc = "Port State"]
16321 #[inline(always)]
16322 pub fn pidr(
16323 self,
16324 ) -> crate::common::RegisterField<
16325 1,
16326 0x1,
16327 1,
16328 0,
16329 p708pfs::Pidr,
16330 p708pfs::Pidr,
16331 P708Pfs_SPEC,
16332 crate::common::R,
16333 > {
16334 crate::common::RegisterField::<
16335 1,
16336 0x1,
16337 1,
16338 0,
16339 p708pfs::Pidr,
16340 p708pfs::Pidr,
16341 P708Pfs_SPEC,
16342 crate::common::R,
16343 >::from_register(self, 0)
16344 }
16345
16346 #[doc = "Port Direction"]
16347 #[inline(always)]
16348 pub fn pdr(
16349 self,
16350 ) -> crate::common::RegisterField<
16351 2,
16352 0x1,
16353 1,
16354 0,
16355 p708pfs::Pdr,
16356 p708pfs::Pdr,
16357 P708Pfs_SPEC,
16358 crate::common::RW,
16359 > {
16360 crate::common::RegisterField::<
16361 2,
16362 0x1,
16363 1,
16364 0,
16365 p708pfs::Pdr,
16366 p708pfs::Pdr,
16367 P708Pfs_SPEC,
16368 crate::common::RW,
16369 >::from_register(self, 0)
16370 }
16371
16372 #[doc = "Pull-up Control"]
16373 #[inline(always)]
16374 pub fn pcr(
16375 self,
16376 ) -> crate::common::RegisterField<
16377 4,
16378 0x1,
16379 1,
16380 0,
16381 p708pfs::Pcr,
16382 p708pfs::Pcr,
16383 P708Pfs_SPEC,
16384 crate::common::RW,
16385 > {
16386 crate::common::RegisterField::<
16387 4,
16388 0x1,
16389 1,
16390 0,
16391 p708pfs::Pcr,
16392 p708pfs::Pcr,
16393 P708Pfs_SPEC,
16394 crate::common::RW,
16395 >::from_register(self, 0)
16396 }
16397
16398 #[doc = "N-Channel Open-Drain Control"]
16399 #[inline(always)]
16400 pub fn ncodr(
16401 self,
16402 ) -> crate::common::RegisterField<
16403 6,
16404 0x1,
16405 1,
16406 0,
16407 p708pfs::Ncodr,
16408 p708pfs::Ncodr,
16409 P708Pfs_SPEC,
16410 crate::common::RW,
16411 > {
16412 crate::common::RegisterField::<
16413 6,
16414 0x1,
16415 1,
16416 0,
16417 p708pfs::Ncodr,
16418 p708pfs::Ncodr,
16419 P708Pfs_SPEC,
16420 crate::common::RW,
16421 >::from_register(self, 0)
16422 }
16423
16424 #[doc = "IRQ Input Enable"]
16425 #[inline(always)]
16426 pub fn isel(
16427 self,
16428 ) -> crate::common::RegisterField<
16429 14,
16430 0x1,
16431 1,
16432 0,
16433 p708pfs::Isel,
16434 p708pfs::Isel,
16435 P708Pfs_SPEC,
16436 crate::common::RW,
16437 > {
16438 crate::common::RegisterField::<
16439 14,
16440 0x1,
16441 1,
16442 0,
16443 p708pfs::Isel,
16444 p708pfs::Isel,
16445 P708Pfs_SPEC,
16446 crate::common::RW,
16447 >::from_register(self, 0)
16448 }
16449
16450 #[doc = "Analog Input Enable"]
16451 #[inline(always)]
16452 pub fn asel(
16453 self,
16454 ) -> crate::common::RegisterField<
16455 15,
16456 0x1,
16457 1,
16458 0,
16459 p708pfs::Asel,
16460 p708pfs::Asel,
16461 P708Pfs_SPEC,
16462 crate::common::RW,
16463 > {
16464 crate::common::RegisterField::<
16465 15,
16466 0x1,
16467 1,
16468 0,
16469 p708pfs::Asel,
16470 p708pfs::Asel,
16471 P708Pfs_SPEC,
16472 crate::common::RW,
16473 >::from_register(self, 0)
16474 }
16475
16476 #[doc = "Port Mode Control"]
16477 #[inline(always)]
16478 pub fn pmr(
16479 self,
16480 ) -> crate::common::RegisterField<
16481 16,
16482 0x1,
16483 1,
16484 0,
16485 p708pfs::Pmr,
16486 p708pfs::Pmr,
16487 P708Pfs_SPEC,
16488 crate::common::RW,
16489 > {
16490 crate::common::RegisterField::<
16491 16,
16492 0x1,
16493 1,
16494 0,
16495 p708pfs::Pmr,
16496 p708pfs::Pmr,
16497 P708Pfs_SPEC,
16498 crate::common::RW,
16499 >::from_register(self, 0)
16500 }
16501
16502 #[doc = "Peripheral Select"]
16503 #[inline(always)]
16504 pub fn psel(
16505 self,
16506 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P708Pfs_SPEC, crate::common::RW> {
16507 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P708Pfs_SPEC,crate::common::RW>::from_register(self,0)
16508 }
16509}
16510impl ::core::default::Default for P708Pfs {
16511 #[inline(always)]
16512 fn default() -> P708Pfs {
16513 <crate::RegValueT<P708Pfs_SPEC> as RegisterValue<_>>::new(0)
16514 }
16515}
16516pub mod p708pfs {
16517
16518 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16519 pub struct Podr_SPEC;
16520 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16521 impl Podr {
16522 #[doc = "Output low"]
16523 pub const _0: Self = Self::new(0);
16524
16525 #[doc = "Output high"]
16526 pub const _1: Self = Self::new(1);
16527 }
16528 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16529 pub struct Pidr_SPEC;
16530 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16531 impl Pidr {
16532 #[doc = "Low level"]
16533 pub const _0: Self = Self::new(0);
16534
16535 #[doc = "High level"]
16536 pub const _1: Self = Self::new(1);
16537 }
16538 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16539 pub struct Pdr_SPEC;
16540 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16541 impl Pdr {
16542 #[doc = "Input (functions as an input pin)"]
16543 pub const _0: Self = Self::new(0);
16544
16545 #[doc = "Output (functions as an output pin)"]
16546 pub const _1: Self = Self::new(1);
16547 }
16548 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16549 pub struct Pcr_SPEC;
16550 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16551 impl Pcr {
16552 #[doc = "Disable input pull-up"]
16553 pub const _0: Self = Self::new(0);
16554
16555 #[doc = "Enable input pull-up"]
16556 pub const _1: Self = Self::new(1);
16557 }
16558 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16559 pub struct Ncodr_SPEC;
16560 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16561 impl Ncodr {
16562 #[doc = "Output CMOS"]
16563 pub const _0: Self = Self::new(0);
16564
16565 #[doc = "Output NMOS open-drain"]
16566 pub const _1: Self = Self::new(1);
16567 }
16568 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16569 pub struct Isel_SPEC;
16570 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16571 impl Isel {
16572 #[doc = "Do not use as IRQn input pin"]
16573 pub const _0: Self = Self::new(0);
16574
16575 #[doc = "Use as IRQn input pin"]
16576 pub const _1: Self = Self::new(1);
16577 }
16578 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16579 pub struct Asel_SPEC;
16580 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16581 impl Asel {
16582 #[doc = "Do not use as analog pin"]
16583 pub const _0: Self = Self::new(0);
16584
16585 #[doc = "Use as analog pin"]
16586 pub const _1: Self = Self::new(1);
16587 }
16588 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16589 pub struct Pmr_SPEC;
16590 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
16591 impl Pmr {
16592 #[doc = "Use as general I/O pin"]
16593 pub const _0: Self = Self::new(0);
16594
16595 #[doc = "Use as I/O port for peripheral functions"]
16596 pub const _1: Self = Self::new(1);
16597 }
16598}
16599#[doc(hidden)]
16600#[derive(Copy, Clone, Eq, PartialEq)]
16601pub struct P708PfsHa_SPEC;
16602impl crate::sealed::RegSpec for P708PfsHa_SPEC {
16603 type DataType = u16;
16604}
16605
16606#[doc = "Port 708 Pin Function Select Register"]
16607pub type P708PfsHa = crate::RegValueT<P708PfsHa_SPEC>;
16608
16609impl P708PfsHa {
16610 #[doc = "Port Output Data"]
16611 #[inline(always)]
16612 pub fn podr(
16613 self,
16614 ) -> crate::common::RegisterField<
16615 0,
16616 0x1,
16617 1,
16618 0,
16619 p708pfs_ha::Podr,
16620 p708pfs_ha::Podr,
16621 P708PfsHa_SPEC,
16622 crate::common::RW,
16623 > {
16624 crate::common::RegisterField::<
16625 0,
16626 0x1,
16627 1,
16628 0,
16629 p708pfs_ha::Podr,
16630 p708pfs_ha::Podr,
16631 P708PfsHa_SPEC,
16632 crate::common::RW,
16633 >::from_register(self, 0)
16634 }
16635
16636 #[doc = "Port State"]
16637 #[inline(always)]
16638 pub fn pidr(
16639 self,
16640 ) -> crate::common::RegisterField<
16641 1,
16642 0x1,
16643 1,
16644 0,
16645 p708pfs_ha::Pidr,
16646 p708pfs_ha::Pidr,
16647 P708PfsHa_SPEC,
16648 crate::common::R,
16649 > {
16650 crate::common::RegisterField::<
16651 1,
16652 0x1,
16653 1,
16654 0,
16655 p708pfs_ha::Pidr,
16656 p708pfs_ha::Pidr,
16657 P708PfsHa_SPEC,
16658 crate::common::R,
16659 >::from_register(self, 0)
16660 }
16661
16662 #[doc = "Port Direction"]
16663 #[inline(always)]
16664 pub fn pdr(
16665 self,
16666 ) -> crate::common::RegisterField<
16667 2,
16668 0x1,
16669 1,
16670 0,
16671 p708pfs_ha::Pdr,
16672 p708pfs_ha::Pdr,
16673 P708PfsHa_SPEC,
16674 crate::common::RW,
16675 > {
16676 crate::common::RegisterField::<
16677 2,
16678 0x1,
16679 1,
16680 0,
16681 p708pfs_ha::Pdr,
16682 p708pfs_ha::Pdr,
16683 P708PfsHa_SPEC,
16684 crate::common::RW,
16685 >::from_register(self, 0)
16686 }
16687
16688 #[doc = "Pull-up Control"]
16689 #[inline(always)]
16690 pub fn pcr(
16691 self,
16692 ) -> crate::common::RegisterField<
16693 4,
16694 0x1,
16695 1,
16696 0,
16697 p708pfs_ha::Pcr,
16698 p708pfs_ha::Pcr,
16699 P708PfsHa_SPEC,
16700 crate::common::RW,
16701 > {
16702 crate::common::RegisterField::<
16703 4,
16704 0x1,
16705 1,
16706 0,
16707 p708pfs_ha::Pcr,
16708 p708pfs_ha::Pcr,
16709 P708PfsHa_SPEC,
16710 crate::common::RW,
16711 >::from_register(self, 0)
16712 }
16713
16714 #[doc = "N-Channel Open-Drain Control"]
16715 #[inline(always)]
16716 pub fn ncodr(
16717 self,
16718 ) -> crate::common::RegisterField<
16719 6,
16720 0x1,
16721 1,
16722 0,
16723 p708pfs_ha::Ncodr,
16724 p708pfs_ha::Ncodr,
16725 P708PfsHa_SPEC,
16726 crate::common::RW,
16727 > {
16728 crate::common::RegisterField::<
16729 6,
16730 0x1,
16731 1,
16732 0,
16733 p708pfs_ha::Ncodr,
16734 p708pfs_ha::Ncodr,
16735 P708PfsHa_SPEC,
16736 crate::common::RW,
16737 >::from_register(self, 0)
16738 }
16739
16740 #[doc = "IRQ Input Enable"]
16741 #[inline(always)]
16742 pub fn isel(
16743 self,
16744 ) -> crate::common::RegisterField<
16745 14,
16746 0x1,
16747 1,
16748 0,
16749 p708pfs_ha::Isel,
16750 p708pfs_ha::Isel,
16751 P708PfsHa_SPEC,
16752 crate::common::RW,
16753 > {
16754 crate::common::RegisterField::<
16755 14,
16756 0x1,
16757 1,
16758 0,
16759 p708pfs_ha::Isel,
16760 p708pfs_ha::Isel,
16761 P708PfsHa_SPEC,
16762 crate::common::RW,
16763 >::from_register(self, 0)
16764 }
16765
16766 #[doc = "Analog Input Enable"]
16767 #[inline(always)]
16768 pub fn asel(
16769 self,
16770 ) -> crate::common::RegisterField<
16771 15,
16772 0x1,
16773 1,
16774 0,
16775 p708pfs_ha::Asel,
16776 p708pfs_ha::Asel,
16777 P708PfsHa_SPEC,
16778 crate::common::RW,
16779 > {
16780 crate::common::RegisterField::<
16781 15,
16782 0x1,
16783 1,
16784 0,
16785 p708pfs_ha::Asel,
16786 p708pfs_ha::Asel,
16787 P708PfsHa_SPEC,
16788 crate::common::RW,
16789 >::from_register(self, 0)
16790 }
16791}
16792impl ::core::default::Default for P708PfsHa {
16793 #[inline(always)]
16794 fn default() -> P708PfsHa {
16795 <crate::RegValueT<P708PfsHa_SPEC> as RegisterValue<_>>::new(0)
16796 }
16797}
16798pub mod p708pfs_ha {
16799
16800 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16801 pub struct Podr_SPEC;
16802 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16803 impl Podr {
16804 #[doc = "Output low"]
16805 pub const _0: Self = Self::new(0);
16806
16807 #[doc = "Output high"]
16808 pub const _1: Self = Self::new(1);
16809 }
16810 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16811 pub struct Pidr_SPEC;
16812 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16813 impl Pidr {
16814 #[doc = "Low level"]
16815 pub const _0: Self = Self::new(0);
16816
16817 #[doc = "High level"]
16818 pub const _1: Self = Self::new(1);
16819 }
16820 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16821 pub struct Pdr_SPEC;
16822 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16823 impl Pdr {
16824 #[doc = "Input (functions as an input pin)"]
16825 pub const _0: Self = Self::new(0);
16826
16827 #[doc = "Output (functions as an output pin)"]
16828 pub const _1: Self = Self::new(1);
16829 }
16830 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16831 pub struct Pcr_SPEC;
16832 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16833 impl Pcr {
16834 #[doc = "Disable input pull-up"]
16835 pub const _0: Self = Self::new(0);
16836
16837 #[doc = "Enable input pull-up"]
16838 pub const _1: Self = Self::new(1);
16839 }
16840 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16841 pub struct Ncodr_SPEC;
16842 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16843 impl Ncodr {
16844 #[doc = "Output CMOS"]
16845 pub const _0: Self = Self::new(0);
16846
16847 #[doc = "Output NMOS open-drain"]
16848 pub const _1: Self = Self::new(1);
16849 }
16850 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16851 pub struct Isel_SPEC;
16852 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16853 impl Isel {
16854 #[doc = "Do not use as IRQn input pin"]
16855 pub const _0: Self = Self::new(0);
16856
16857 #[doc = "Use as IRQn input pin"]
16858 pub const _1: Self = Self::new(1);
16859 }
16860 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16861 pub struct Asel_SPEC;
16862 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16863 impl Asel {
16864 #[doc = "Do not use as analog pin"]
16865 pub const _0: Self = Self::new(0);
16866
16867 #[doc = "Use as analog pin"]
16868 pub const _1: Self = Self::new(1);
16869 }
16870}
16871#[doc(hidden)]
16872#[derive(Copy, Clone, Eq, PartialEq)]
16873pub struct P708PfsBy_SPEC;
16874impl crate::sealed::RegSpec for P708PfsBy_SPEC {
16875 type DataType = u8;
16876}
16877
16878#[doc = "Port 708 Pin Function Select Register"]
16879pub type P708PfsBy = crate::RegValueT<P708PfsBy_SPEC>;
16880
16881impl P708PfsBy {
16882 #[doc = "Port Output Data"]
16883 #[inline(always)]
16884 pub fn podr(
16885 self,
16886 ) -> crate::common::RegisterField<
16887 0,
16888 0x1,
16889 1,
16890 0,
16891 p708pfs_by::Podr,
16892 p708pfs_by::Podr,
16893 P708PfsBy_SPEC,
16894 crate::common::RW,
16895 > {
16896 crate::common::RegisterField::<
16897 0,
16898 0x1,
16899 1,
16900 0,
16901 p708pfs_by::Podr,
16902 p708pfs_by::Podr,
16903 P708PfsBy_SPEC,
16904 crate::common::RW,
16905 >::from_register(self, 0)
16906 }
16907
16908 #[doc = "Port State"]
16909 #[inline(always)]
16910 pub fn pidr(
16911 self,
16912 ) -> crate::common::RegisterField<
16913 1,
16914 0x1,
16915 1,
16916 0,
16917 p708pfs_by::Pidr,
16918 p708pfs_by::Pidr,
16919 P708PfsBy_SPEC,
16920 crate::common::R,
16921 > {
16922 crate::common::RegisterField::<
16923 1,
16924 0x1,
16925 1,
16926 0,
16927 p708pfs_by::Pidr,
16928 p708pfs_by::Pidr,
16929 P708PfsBy_SPEC,
16930 crate::common::R,
16931 >::from_register(self, 0)
16932 }
16933
16934 #[doc = "Port Direction"]
16935 #[inline(always)]
16936 pub fn pdr(
16937 self,
16938 ) -> crate::common::RegisterField<
16939 2,
16940 0x1,
16941 1,
16942 0,
16943 p708pfs_by::Pdr,
16944 p708pfs_by::Pdr,
16945 P708PfsBy_SPEC,
16946 crate::common::RW,
16947 > {
16948 crate::common::RegisterField::<
16949 2,
16950 0x1,
16951 1,
16952 0,
16953 p708pfs_by::Pdr,
16954 p708pfs_by::Pdr,
16955 P708PfsBy_SPEC,
16956 crate::common::RW,
16957 >::from_register(self, 0)
16958 }
16959
16960 #[doc = "Pull-up Control"]
16961 #[inline(always)]
16962 pub fn pcr(
16963 self,
16964 ) -> crate::common::RegisterField<
16965 4,
16966 0x1,
16967 1,
16968 0,
16969 p708pfs_by::Pcr,
16970 p708pfs_by::Pcr,
16971 P708PfsBy_SPEC,
16972 crate::common::RW,
16973 > {
16974 crate::common::RegisterField::<
16975 4,
16976 0x1,
16977 1,
16978 0,
16979 p708pfs_by::Pcr,
16980 p708pfs_by::Pcr,
16981 P708PfsBy_SPEC,
16982 crate::common::RW,
16983 >::from_register(self, 0)
16984 }
16985
16986 #[doc = "N-Channel Open-Drain Control"]
16987 #[inline(always)]
16988 pub fn ncodr(
16989 self,
16990 ) -> crate::common::RegisterField<
16991 6,
16992 0x1,
16993 1,
16994 0,
16995 p708pfs_by::Ncodr,
16996 p708pfs_by::Ncodr,
16997 P708PfsBy_SPEC,
16998 crate::common::RW,
16999 > {
17000 crate::common::RegisterField::<
17001 6,
17002 0x1,
17003 1,
17004 0,
17005 p708pfs_by::Ncodr,
17006 p708pfs_by::Ncodr,
17007 P708PfsBy_SPEC,
17008 crate::common::RW,
17009 >::from_register(self, 0)
17010 }
17011}
17012impl ::core::default::Default for P708PfsBy {
17013 #[inline(always)]
17014 fn default() -> P708PfsBy {
17015 <crate::RegValueT<P708PfsBy_SPEC> as RegisterValue<_>>::new(0)
17016 }
17017}
17018pub mod p708pfs_by {
17019
17020 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17021 pub struct Podr_SPEC;
17022 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
17023 impl Podr {
17024 #[doc = "Output low"]
17025 pub const _0: Self = Self::new(0);
17026
17027 #[doc = "Output high"]
17028 pub const _1: Self = Self::new(1);
17029 }
17030 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17031 pub struct Pidr_SPEC;
17032 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
17033 impl Pidr {
17034 #[doc = "Low level"]
17035 pub const _0: Self = Self::new(0);
17036
17037 #[doc = "High level"]
17038 pub const _1: Self = Self::new(1);
17039 }
17040 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17041 pub struct Pdr_SPEC;
17042 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
17043 impl Pdr {
17044 #[doc = "Input (functions as an input pin)"]
17045 pub const _0: Self = Self::new(0);
17046
17047 #[doc = "Output (functions as an output pin)"]
17048 pub const _1: Self = Self::new(1);
17049 }
17050 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17051 pub struct Pcr_SPEC;
17052 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
17053 impl Pcr {
17054 #[doc = "Disable input pull-up"]
17055 pub const _0: Self = Self::new(0);
17056
17057 #[doc = "Enable input pull-up"]
17058 pub const _1: Self = Self::new(1);
17059 }
17060 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17061 pub struct Ncodr_SPEC;
17062 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
17063 impl Ncodr {
17064 #[doc = "Output CMOS"]
17065 pub const _0: Self = Self::new(0);
17066
17067 #[doc = "Output NMOS open-drain"]
17068 pub const _1: Self = Self::new(1);
17069 }
17070}
17071#[doc(hidden)]
17072#[derive(Copy, Clone, Eq, PartialEq)]
17073pub struct Pfenet_SPEC;
17074impl crate::sealed::RegSpec for Pfenet_SPEC {
17075 type DataType = u8;
17076}
17077
17078#[doc = "Ethernet Control Register"]
17079pub type Pfenet = crate::RegValueT<Pfenet_SPEC>;
17080
17081impl Pfenet {
17082 #[doc = "Ethernet Mode Setting ch0"]
17083 #[inline(always)]
17084 pub fn phymode0(
17085 self,
17086 ) -> crate::common::RegisterField<
17087 4,
17088 0x1,
17089 1,
17090 0,
17091 pfenet::Phymode0,
17092 pfenet::Phymode0,
17093 Pfenet_SPEC,
17094 crate::common::RW,
17095 > {
17096 crate::common::RegisterField::<
17097 4,
17098 0x1,
17099 1,
17100 0,
17101 pfenet::Phymode0,
17102 pfenet::Phymode0,
17103 Pfenet_SPEC,
17104 crate::common::RW,
17105 >::from_register(self, 0)
17106 }
17107}
17108impl ::core::default::Default for Pfenet {
17109 #[inline(always)]
17110 fn default() -> Pfenet {
17111 <crate::RegValueT<Pfenet_SPEC> as RegisterValue<_>>::new(0)
17112 }
17113}
17114pub mod pfenet {
17115
17116 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17117 pub struct Phymode0_SPEC;
17118 pub type Phymode0 = crate::EnumBitfieldStruct<u8, Phymode0_SPEC>;
17119 impl Phymode0 {
17120 #[doc = "RMII mode (ETHERC channel 0)"]
17121 pub const _0: Self = Self::new(0);
17122
17123 #[doc = "Setting prohibited"]
17124 pub const _1: Self = Self::new(1);
17125 }
17126}
17127#[doc(hidden)]
17128#[derive(Copy, Clone, Eq, PartialEq)]
17129pub struct Pwpr_SPEC;
17130impl crate::sealed::RegSpec for Pwpr_SPEC {
17131 type DataType = u8;
17132}
17133
17134#[doc = "Write-Protect Register"]
17135pub type Pwpr = crate::RegValueT<Pwpr_SPEC>;
17136
17137impl Pwpr {
17138 #[doc = "PmnPFS Register Write Enable"]
17139 #[inline(always)]
17140 pub fn pfswe(
17141 self,
17142 ) -> crate::common::RegisterField<
17143 6,
17144 0x1,
17145 1,
17146 0,
17147 pwpr::Pfswe,
17148 pwpr::Pfswe,
17149 Pwpr_SPEC,
17150 crate::common::RW,
17151 > {
17152 crate::common::RegisterField::<
17153 6,
17154 0x1,
17155 1,
17156 0,
17157 pwpr::Pfswe,
17158 pwpr::Pfswe,
17159 Pwpr_SPEC,
17160 crate::common::RW,
17161 >::from_register(self, 0)
17162 }
17163
17164 #[doc = "PFSWE Bit Write Disable"]
17165 #[inline(always)]
17166 pub fn b0wi(
17167 self,
17168 ) -> crate::common::RegisterField<
17169 7,
17170 0x1,
17171 1,
17172 0,
17173 pwpr::B0Wi,
17174 pwpr::B0Wi,
17175 Pwpr_SPEC,
17176 crate::common::RW,
17177 > {
17178 crate::common::RegisterField::<
17179 7,
17180 0x1,
17181 1,
17182 0,
17183 pwpr::B0Wi,
17184 pwpr::B0Wi,
17185 Pwpr_SPEC,
17186 crate::common::RW,
17187 >::from_register(self, 0)
17188 }
17189}
17190impl ::core::default::Default for Pwpr {
17191 #[inline(always)]
17192 fn default() -> Pwpr {
17193 <crate::RegValueT<Pwpr_SPEC> as RegisterValue<_>>::new(128)
17194 }
17195}
17196pub mod pwpr {
17197
17198 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17199 pub struct Pfswe_SPEC;
17200 pub type Pfswe = crate::EnumBitfieldStruct<u8, Pfswe_SPEC>;
17201 impl Pfswe {
17202 #[doc = "Writing to the PmnPFS register is disabled"]
17203 pub const _0: Self = Self::new(0);
17204
17205 #[doc = "Writing to the PmnPFS register is enabled"]
17206 pub const _1: Self = Self::new(1);
17207 }
17208 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17209 pub struct B0Wi_SPEC;
17210 pub type B0Wi = crate::EnumBitfieldStruct<u8, B0Wi_SPEC>;
17211 impl B0Wi {
17212 #[doc = "Writing to the PFSWE bit is enabled"]
17213 pub const _0: Self = Self::new(0);
17214
17215 #[doc = "Writing to the PFSWE bit is disabled"]
17216 pub const _1: Self = Self::new(1);
17217 }
17218}
17219#[doc(hidden)]
17220#[derive(Copy, Clone, Eq, PartialEq)]
17221pub struct Pwprs_SPEC;
17222impl crate::sealed::RegSpec for Pwprs_SPEC {
17223 type DataType = u8;
17224}
17225
17226#[doc = "Write-Protect Register for Secure"]
17227pub type Pwprs = crate::RegValueT<Pwprs_SPEC>;
17228
17229impl Pwprs {
17230 #[doc = "PmnPFS Register Write Enable"]
17231 #[inline(always)]
17232 pub fn pfswe(
17233 self,
17234 ) -> crate::common::RegisterField<
17235 6,
17236 0x1,
17237 1,
17238 0,
17239 pwprs::Pfswe,
17240 pwprs::Pfswe,
17241 Pwprs_SPEC,
17242 crate::common::RW,
17243 > {
17244 crate::common::RegisterField::<
17245 6,
17246 0x1,
17247 1,
17248 0,
17249 pwprs::Pfswe,
17250 pwprs::Pfswe,
17251 Pwprs_SPEC,
17252 crate::common::RW,
17253 >::from_register(self, 0)
17254 }
17255
17256 #[doc = "PFSWE Bit Write Disable"]
17257 #[inline(always)]
17258 pub fn b0wi(
17259 self,
17260 ) -> crate::common::RegisterField<
17261 7,
17262 0x1,
17263 1,
17264 0,
17265 pwprs::B0Wi,
17266 pwprs::B0Wi,
17267 Pwprs_SPEC,
17268 crate::common::RW,
17269 > {
17270 crate::common::RegisterField::<
17271 7,
17272 0x1,
17273 1,
17274 0,
17275 pwprs::B0Wi,
17276 pwprs::B0Wi,
17277 Pwprs_SPEC,
17278 crate::common::RW,
17279 >::from_register(self, 0)
17280 }
17281}
17282impl ::core::default::Default for Pwprs {
17283 #[inline(always)]
17284 fn default() -> Pwprs {
17285 <crate::RegValueT<Pwprs_SPEC> as RegisterValue<_>>::new(128)
17286 }
17287}
17288pub mod pwprs {
17289
17290 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17291 pub struct Pfswe_SPEC;
17292 pub type Pfswe = crate::EnumBitfieldStruct<u8, Pfswe_SPEC>;
17293 impl Pfswe {
17294 #[doc = "Disable writes to the PmnPFS register"]
17295 pub const _0: Self = Self::new(0);
17296
17297 #[doc = "Enable writes to the PmnPFS register"]
17298 pub const _1: Self = Self::new(1);
17299 }
17300 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17301 pub struct B0Wi_SPEC;
17302 pub type B0Wi = crate::EnumBitfieldStruct<u8, B0Wi_SPEC>;
17303 impl B0Wi {
17304 #[doc = "Enable writes the PFSWE bit"]
17305 pub const _0: Self = Self::new(0);
17306
17307 #[doc = "Disable writes to the PFSWE bit"]
17308 pub const _1: Self = Self::new(1);
17309 }
17310}
17311#[doc(hidden)]
17312#[derive(Copy, Clone, Eq, PartialEq)]
17313pub struct Psar_SPEC;
17314impl crate::sealed::RegSpec for Psar_SPEC {
17315 type DataType = u16;
17316}
17317
17318#[doc = "Port Security Attribution register"]
17319pub type Psar = crate::RegValueT<Psar_SPEC>;
17320
17321impl Psar {
17322 #[doc = "Pmn Security Attribution"]
17323 #[inline(always)]
17324 pub fn pmnsa(
17325 self,
17326 ) -> crate::common::RegisterField<
17327 0,
17328 0xffff,
17329 1,
17330 0,
17331 psar::Pmnsa,
17332 psar::Pmnsa,
17333 Psar_SPEC,
17334 crate::common::RW,
17335 > {
17336 crate::common::RegisterField::<
17337 0,
17338 0xffff,
17339 1,
17340 0,
17341 psar::Pmnsa,
17342 psar::Pmnsa,
17343 Psar_SPEC,
17344 crate::common::RW,
17345 >::from_register(self, 0)
17346 }
17347}
17348impl ::core::default::Default for Psar {
17349 #[inline(always)]
17350 fn default() -> Psar {
17351 <crate::RegValueT<Psar_SPEC> as RegisterValue<_>>::new(65535)
17352 }
17353}
17354pub mod psar {
17355
17356 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17357 pub struct Pmnsa_SPEC;
17358 pub type Pmnsa = crate::EnumBitfieldStruct<u8, Pmnsa_SPEC>;
17359 impl Pmnsa {
17360 #[doc = "Secure"]
17361 pub const _0: Self = Self::new(0);
17362
17363 #[doc = "Non Secure"]
17364 pub const _1: Self = Self::new(1);
17365 }
17366}