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 3,
362 0x4,
363 > {
364 unsafe {
365 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x34usize))
366 }
367 }
368 #[inline(always)]
369 pub const fn p013pfs(
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(0x34usize),
375 )
376 }
377 }
378 #[inline(always)]
379 pub const fn p014pfs(
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(0x38usize),
385 )
386 }
387 }
388 #[inline(always)]
389 pub const fn p015pfs(
390 &self,
391 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
392 unsafe {
393 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
394 self._svd2pac_as_ptr().add(0x3cusize),
395 )
396 }
397 }
398
399 #[doc = "Port 0%s Pin Function Select Register"]
400 #[inline(always)]
401 pub const fn p0pfs_ha(
402 &self,
403 ) -> &'static crate::common::ClusterRegisterArray<
404 crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW>,
405 3,
406 0x4,
407 > {
408 unsafe {
409 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x36usize))
410 }
411 }
412 #[inline(always)]
413 pub const fn p013pfs_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(0x36usize),
419 )
420 }
421 }
422 #[inline(always)]
423 pub const fn p014pfs_ha(
424 &self,
425 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
426 unsafe {
427 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
428 self._svd2pac_as_ptr().add(0x3ausize),
429 )
430 }
431 }
432 #[inline(always)]
433 pub const fn p015pfs_ha(
434 &self,
435 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
436 unsafe {
437 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
438 self._svd2pac_as_ptr().add(0x3eusize),
439 )
440 }
441 }
442
443 #[doc = "Port 0%s Pin Function Select Register"]
444 #[inline(always)]
445 pub const fn p0pfs_by(
446 &self,
447 ) -> &'static crate::common::ClusterRegisterArray<
448 crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW>,
449 3,
450 0x4,
451 > {
452 unsafe {
453 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x37usize))
454 }
455 }
456 #[inline(always)]
457 pub const fn p013pfs_by(
458 &self,
459 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
460 unsafe {
461 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
462 self._svd2pac_as_ptr().add(0x37usize),
463 )
464 }
465 }
466 #[inline(always)]
467 pub const fn p014pfs_by(
468 &self,
469 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
470 unsafe {
471 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
472 self._svd2pac_as_ptr().add(0x3busize),
473 )
474 }
475 }
476 #[inline(always)]
477 pub const fn p015pfs_by(
478 &self,
479 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
480 unsafe {
481 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
482 self._svd2pac_as_ptr().add(0x3fusize),
483 )
484 }
485 }
486
487 #[doc = "Port 10%s Pin Function Select Register"]
488 #[inline(always)]
489 pub const fn p10pfs(
490 &self,
491 ) -> &'static crate::common::ClusterRegisterArray<
492 crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW>,
493 10,
494 0x4,
495 > {
496 unsafe {
497 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x40usize))
498 }
499 }
500 #[inline(always)]
501 pub const fn p100pfs(
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(0x40usize),
507 )
508 }
509 }
510 #[inline(always)]
511 pub const fn p101pfs(
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(0x44usize),
517 )
518 }
519 }
520 #[inline(always)]
521 pub const fn p102pfs(
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(0x48usize),
527 )
528 }
529 }
530 #[inline(always)]
531 pub const fn p103pfs(
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(0x4cusize),
537 )
538 }
539 }
540 #[inline(always)]
541 pub const fn p104pfs(
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(0x50usize),
547 )
548 }
549 }
550 #[inline(always)]
551 pub const fn p105pfs(
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(0x54usize),
557 )
558 }
559 }
560 #[inline(always)]
561 pub const fn p106pfs(
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(0x58usize),
567 )
568 }
569 }
570 #[inline(always)]
571 pub const fn p107pfs(
572 &self,
573 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
574 unsafe {
575 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
576 self._svd2pac_as_ptr().add(0x5cusize),
577 )
578 }
579 }
580 #[inline(always)]
581 pub const fn p108pfs(
582 &self,
583 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
584 unsafe {
585 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
586 self._svd2pac_as_ptr().add(0x60usize),
587 )
588 }
589 }
590 #[inline(always)]
591 pub const fn p109pfs(
592 &self,
593 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
594 unsafe {
595 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
596 self._svd2pac_as_ptr().add(0x64usize),
597 )
598 }
599 }
600
601 #[doc = "Port 10%s Pin Function Select Register"]
602 #[inline(always)]
603 pub const fn p10pfs_ha(
604 &self,
605 ) -> &'static crate::common::ClusterRegisterArray<
606 crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW>,
607 10,
608 0x4,
609 > {
610 unsafe {
611 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x42usize))
612 }
613 }
614 #[inline(always)]
615 pub const fn p100pfs_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(0x42usize),
621 )
622 }
623 }
624 #[inline(always)]
625 pub const fn p101pfs_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(0x46usize),
631 )
632 }
633 }
634 #[inline(always)]
635 pub const fn p102pfs_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(0x4ausize),
641 )
642 }
643 }
644 #[inline(always)]
645 pub const fn p103pfs_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(0x4eusize),
651 )
652 }
653 }
654 #[inline(always)]
655 pub const fn p104pfs_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(0x52usize),
661 )
662 }
663 }
664 #[inline(always)]
665 pub const fn p105pfs_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(0x56usize),
671 )
672 }
673 }
674 #[inline(always)]
675 pub const fn p106pfs_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(0x5ausize),
681 )
682 }
683 }
684 #[inline(always)]
685 pub const fn p107pfs_ha(
686 &self,
687 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
688 unsafe {
689 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
690 self._svd2pac_as_ptr().add(0x5eusize),
691 )
692 }
693 }
694 #[inline(always)]
695 pub const fn p108pfs_ha(
696 &self,
697 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
698 unsafe {
699 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
700 self._svd2pac_as_ptr().add(0x62usize),
701 )
702 }
703 }
704 #[inline(always)]
705 pub const fn p109pfs_ha(
706 &self,
707 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
708 unsafe {
709 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
710 self._svd2pac_as_ptr().add(0x66usize),
711 )
712 }
713 }
714
715 #[doc = "Port 10%s Pin Function Select Register"]
716 #[inline(always)]
717 pub const fn p10pfs_by(
718 &self,
719 ) -> &'static crate::common::ClusterRegisterArray<
720 crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW>,
721 10,
722 0x4,
723 > {
724 unsafe {
725 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x43usize))
726 }
727 }
728 #[inline(always)]
729 pub const fn p100pfs_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(0x43usize),
735 )
736 }
737 }
738 #[inline(always)]
739 pub const fn p101pfs_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(0x47usize),
745 )
746 }
747 }
748 #[inline(always)]
749 pub const fn p102pfs_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(0x4busize),
755 )
756 }
757 }
758 #[inline(always)]
759 pub const fn p103pfs_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(0x4fusize),
765 )
766 }
767 }
768 #[inline(always)]
769 pub const fn p104pfs_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(0x53usize),
775 )
776 }
777 }
778 #[inline(always)]
779 pub const fn p105pfs_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(0x57usize),
785 )
786 }
787 }
788 #[inline(always)]
789 pub const fn p106pfs_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(0x5busize),
795 )
796 }
797 }
798 #[inline(always)]
799 pub const fn p107pfs_by(
800 &self,
801 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
802 unsafe {
803 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
804 self._svd2pac_as_ptr().add(0x5fusize),
805 )
806 }
807 }
808 #[inline(always)]
809 pub const fn p108pfs_by(
810 &self,
811 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
812 unsafe {
813 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
814 self._svd2pac_as_ptr().add(0x63usize),
815 )
816 }
817 }
818 #[inline(always)]
819 pub const fn p109pfs_by(
820 &self,
821 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
822 unsafe {
823 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
824 self._svd2pac_as_ptr().add(0x67usize),
825 )
826 }
827 }
828
829 #[doc = "Port 1%s Pin Function Select Register"]
830 #[inline(always)]
831 pub const fn p1pfs(
832 &self,
833 ) -> &'static crate::common::ClusterRegisterArray<
834 crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW>,
835 6,
836 0x4,
837 > {
838 unsafe {
839 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x68usize))
840 }
841 }
842 #[inline(always)]
843 pub const fn p110pfs(
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(0x68usize),
849 )
850 }
851 }
852 #[inline(always)]
853 pub const fn p111pfs(
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(0x6cusize),
859 )
860 }
861 }
862 #[inline(always)]
863 pub const fn p112pfs(
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(0x70usize),
869 )
870 }
871 }
872 #[inline(always)]
873 pub const fn p113pfs(
874 &self,
875 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
876 unsafe {
877 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
878 self._svd2pac_as_ptr().add(0x74usize),
879 )
880 }
881 }
882 #[inline(always)]
883 pub const fn p114pfs(
884 &self,
885 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
886 unsafe {
887 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
888 self._svd2pac_as_ptr().add(0x78usize),
889 )
890 }
891 }
892 #[inline(always)]
893 pub const fn p115pfs(
894 &self,
895 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
896 unsafe {
897 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
898 self._svd2pac_as_ptr().add(0x7cusize),
899 )
900 }
901 }
902
903 #[doc = "Port 1%s Pin Function Select Register"]
904 #[inline(always)]
905 pub const fn p1pfs_ha(
906 &self,
907 ) -> &'static crate::common::ClusterRegisterArray<
908 crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW>,
909 6,
910 0x4,
911 > {
912 unsafe {
913 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x6ausize))
914 }
915 }
916 #[inline(always)]
917 pub const fn p110pfs_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(0x6ausize),
923 )
924 }
925 }
926 #[inline(always)]
927 pub const fn p111pfs_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(0x6eusize),
933 )
934 }
935 }
936 #[inline(always)]
937 pub const fn p112pfs_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(0x72usize),
943 )
944 }
945 }
946 #[inline(always)]
947 pub const fn p113pfs_ha(
948 &self,
949 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
950 unsafe {
951 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
952 self._svd2pac_as_ptr().add(0x76usize),
953 )
954 }
955 }
956 #[inline(always)]
957 pub const fn p114pfs_ha(
958 &self,
959 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
960 unsafe {
961 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
962 self._svd2pac_as_ptr().add(0x7ausize),
963 )
964 }
965 }
966 #[inline(always)]
967 pub const fn p115pfs_ha(
968 &self,
969 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
970 unsafe {
971 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
972 self._svd2pac_as_ptr().add(0x7eusize),
973 )
974 }
975 }
976
977 #[doc = "Port 1%s Pin Function Select Register"]
978 #[inline(always)]
979 pub const fn p1pfs_by(
980 &self,
981 ) -> &'static crate::common::ClusterRegisterArray<
982 crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW>,
983 6,
984 0x4,
985 > {
986 unsafe {
987 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x6busize))
988 }
989 }
990 #[inline(always)]
991 pub const fn p110pfs_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(0x6busize),
997 )
998 }
999 }
1000 #[inline(always)]
1001 pub const fn p111pfs_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(0x6fusize),
1007 )
1008 }
1009 }
1010 #[inline(always)]
1011 pub const fn p112pfs_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(0x73usize),
1017 )
1018 }
1019 }
1020 #[inline(always)]
1021 pub const fn p113pfs_by(
1022 &self,
1023 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1024 unsafe {
1025 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1026 self._svd2pac_as_ptr().add(0x77usize),
1027 )
1028 }
1029 }
1030 #[inline(always)]
1031 pub const fn p114pfs_by(
1032 &self,
1033 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1034 unsafe {
1035 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1036 self._svd2pac_as_ptr().add(0x7busize),
1037 )
1038 }
1039 }
1040 #[inline(always)]
1041 pub const fn p115pfs_by(
1042 &self,
1043 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1044 unsafe {
1045 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1046 self._svd2pac_as_ptr().add(0x7fusize),
1047 )
1048 }
1049 }
1050
1051 #[doc = "Port 200 Pin Function Select Register"]
1052 #[inline(always)]
1053 pub const fn p200pfs(
1054 &self,
1055 ) -> &'static crate::common::Reg<self::P200Pfs_SPEC, crate::common::RW> {
1056 unsafe {
1057 crate::common::Reg::<self::P200Pfs_SPEC, crate::common::RW>::from_ptr(
1058 self._svd2pac_as_ptr().add(128usize),
1059 )
1060 }
1061 }
1062
1063 #[doc = "Port 200 Pin Function Select Register"]
1064 #[inline(always)]
1065 pub const fn p200pfs_ha(
1066 &self,
1067 ) -> &'static crate::common::Reg<self::P200PfsHa_SPEC, crate::common::RW> {
1068 unsafe {
1069 crate::common::Reg::<self::P200PfsHa_SPEC, crate::common::RW>::from_ptr(
1070 self._svd2pac_as_ptr().add(130usize),
1071 )
1072 }
1073 }
1074
1075 #[doc = "Port 200 Pin Function Select Register"]
1076 #[inline(always)]
1077 pub const fn p200pfs_by(
1078 &self,
1079 ) -> &'static crate::common::Reg<self::P200PfsBy_SPEC, crate::common::RW> {
1080 unsafe {
1081 crate::common::Reg::<self::P200PfsBy_SPEC, crate::common::RW>::from_ptr(
1082 self._svd2pac_as_ptr().add(131usize),
1083 )
1084 }
1085 }
1086
1087 #[doc = "Port 201 Pin Function Select Register"]
1088 #[inline(always)]
1089 pub const fn p201pfs(
1090 &self,
1091 ) -> &'static crate::common::Reg<self::P201Pfs_SPEC, crate::common::RW> {
1092 unsafe {
1093 crate::common::Reg::<self::P201Pfs_SPEC, crate::common::RW>::from_ptr(
1094 self._svd2pac_as_ptr().add(132usize),
1095 )
1096 }
1097 }
1098
1099 #[doc = "Port 201 Pin Function Select Register"]
1100 #[inline(always)]
1101 pub const fn p201pfs_ha(
1102 &self,
1103 ) -> &'static crate::common::Reg<self::P201PfsHa_SPEC, crate::common::RW> {
1104 unsafe {
1105 crate::common::Reg::<self::P201PfsHa_SPEC, crate::common::RW>::from_ptr(
1106 self._svd2pac_as_ptr().add(134usize),
1107 )
1108 }
1109 }
1110
1111 #[doc = "Port 201 Pin Function Select Register"]
1112 #[inline(always)]
1113 pub const fn p201pfs_by(
1114 &self,
1115 ) -> &'static crate::common::Reg<self::P201PfsBy_SPEC, crate::common::RW> {
1116 unsafe {
1117 crate::common::Reg::<self::P201PfsBy_SPEC, crate::common::RW>::from_ptr(
1118 self._svd2pac_as_ptr().add(135usize),
1119 )
1120 }
1121 }
1122
1123 #[doc = "Port 20%s Pin Function Select Register"]
1124 #[inline(always)]
1125 pub const fn p20pfs(
1126 &self,
1127 ) -> &'static crate::common::ClusterRegisterArray<
1128 crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW>,
1129 5,
1130 0x4,
1131 > {
1132 unsafe {
1133 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x94usize))
1134 }
1135 }
1136 #[inline(always)]
1137 pub const fn p205pfs(
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(0x94usize),
1143 )
1144 }
1145 }
1146 #[inline(always)]
1147 pub const fn p206pfs(
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(0x98usize),
1153 )
1154 }
1155 }
1156 #[inline(always)]
1157 pub const fn p207pfs(
1158 &self,
1159 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1160 unsafe {
1161 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1162 self._svd2pac_as_ptr().add(0x9cusize),
1163 )
1164 }
1165 }
1166 #[inline(always)]
1167 pub const fn p208pfs(
1168 &self,
1169 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1170 unsafe {
1171 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1172 self._svd2pac_as_ptr().add(0xa0usize),
1173 )
1174 }
1175 }
1176 #[inline(always)]
1177 pub const fn p209pfs(
1178 &self,
1179 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1180 unsafe {
1181 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1182 self._svd2pac_as_ptr().add(0xa4usize),
1183 )
1184 }
1185 }
1186
1187 #[doc = "Port 20%s Pin Function Select Register"]
1188 #[inline(always)]
1189 pub const fn p20pfs_ha(
1190 &self,
1191 ) -> &'static crate::common::ClusterRegisterArray<
1192 crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW>,
1193 5,
1194 0x4,
1195 > {
1196 unsafe {
1197 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x96usize))
1198 }
1199 }
1200 #[inline(always)]
1201 pub const fn p205pfs_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(0x96usize),
1207 )
1208 }
1209 }
1210 #[inline(always)]
1211 pub const fn p206pfs_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(0x9ausize),
1217 )
1218 }
1219 }
1220 #[inline(always)]
1221 pub const fn p207pfs_ha(
1222 &self,
1223 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1224 unsafe {
1225 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1226 self._svd2pac_as_ptr().add(0x9eusize),
1227 )
1228 }
1229 }
1230 #[inline(always)]
1231 pub const fn p208pfs_ha(
1232 &self,
1233 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1234 unsafe {
1235 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1236 self._svd2pac_as_ptr().add(0xa2usize),
1237 )
1238 }
1239 }
1240 #[inline(always)]
1241 pub const fn p209pfs_ha(
1242 &self,
1243 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1244 unsafe {
1245 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1246 self._svd2pac_as_ptr().add(0xa6usize),
1247 )
1248 }
1249 }
1250
1251 #[doc = "Port 20%s Pin Function Select Register"]
1252 #[inline(always)]
1253 pub const fn p20pfs_by(
1254 &self,
1255 ) -> &'static crate::common::ClusterRegisterArray<
1256 crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW>,
1257 5,
1258 0x4,
1259 > {
1260 unsafe {
1261 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x97usize))
1262 }
1263 }
1264 #[inline(always)]
1265 pub const fn p205pfs_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(0x97usize),
1271 )
1272 }
1273 }
1274 #[inline(always)]
1275 pub const fn p206pfs_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(0x9busize),
1281 )
1282 }
1283 }
1284 #[inline(always)]
1285 pub const fn p207pfs_by(
1286 &self,
1287 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1288 unsafe {
1289 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1290 self._svd2pac_as_ptr().add(0x9fusize),
1291 )
1292 }
1293 }
1294 #[inline(always)]
1295 pub const fn p208pfs_by(
1296 &self,
1297 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1298 unsafe {
1299 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1300 self._svd2pac_as_ptr().add(0xa3usize),
1301 )
1302 }
1303 }
1304 #[inline(always)]
1305 pub const fn p209pfs_by(
1306 &self,
1307 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1308 unsafe {
1309 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1310 self._svd2pac_as_ptr().add(0xa7usize),
1311 )
1312 }
1313 }
1314
1315 #[doc = "Port 2%s Pin Function Select Register"]
1316 #[inline(always)]
1317 pub const fn p2pfs(
1318 &self,
1319 ) -> &'static crate::common::ClusterRegisterArray<
1320 crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW>,
1321 5,
1322 0x4,
1323 > {
1324 unsafe {
1325 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xa8usize))
1326 }
1327 }
1328 #[inline(always)]
1329 pub const fn p210pfs(
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(0xa8usize),
1335 )
1336 }
1337 }
1338 #[inline(always)]
1339 pub const fn p211pfs(
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(0xacusize),
1345 )
1346 }
1347 }
1348 #[inline(always)]
1349 pub const fn p212pfs(
1350 &self,
1351 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1352 unsafe {
1353 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1354 self._svd2pac_as_ptr().add(0xb0usize),
1355 )
1356 }
1357 }
1358 #[inline(always)]
1359 pub const fn p213pfs(
1360 &self,
1361 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1362 unsafe {
1363 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1364 self._svd2pac_as_ptr().add(0xb4usize),
1365 )
1366 }
1367 }
1368 #[inline(always)]
1369 pub const fn p214pfs(
1370 &self,
1371 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1372 unsafe {
1373 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1374 self._svd2pac_as_ptr().add(0xb8usize),
1375 )
1376 }
1377 }
1378
1379 #[doc = "Port 2%s Pin Function Select Register"]
1380 #[inline(always)]
1381 pub const fn p2pfs_ha(
1382 &self,
1383 ) -> &'static crate::common::ClusterRegisterArray<
1384 crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW>,
1385 5,
1386 0x4,
1387 > {
1388 unsafe {
1389 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xaausize))
1390 }
1391 }
1392 #[inline(always)]
1393 pub const fn p210pfs_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(0xaausize),
1399 )
1400 }
1401 }
1402 #[inline(always)]
1403 pub const fn p211pfs_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(0xaeusize),
1409 )
1410 }
1411 }
1412 #[inline(always)]
1413 pub const fn p212pfs_ha(
1414 &self,
1415 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1416 unsafe {
1417 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1418 self._svd2pac_as_ptr().add(0xb2usize),
1419 )
1420 }
1421 }
1422 #[inline(always)]
1423 pub const fn p213pfs_ha(
1424 &self,
1425 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1426 unsafe {
1427 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1428 self._svd2pac_as_ptr().add(0xb6usize),
1429 )
1430 }
1431 }
1432 #[inline(always)]
1433 pub const fn p214pfs_ha(
1434 &self,
1435 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1436 unsafe {
1437 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1438 self._svd2pac_as_ptr().add(0xbausize),
1439 )
1440 }
1441 }
1442
1443 #[doc = "Port 2%s Pin Function Select Register"]
1444 #[inline(always)]
1445 pub const fn p2pfs_by(
1446 &self,
1447 ) -> &'static crate::common::ClusterRegisterArray<
1448 crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW>,
1449 5,
1450 0x4,
1451 > {
1452 unsafe {
1453 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xabusize))
1454 }
1455 }
1456 #[inline(always)]
1457 pub const fn p210pfs_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(0xabusize),
1463 )
1464 }
1465 }
1466 #[inline(always)]
1467 pub const fn p211pfs_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(0xafusize),
1473 )
1474 }
1475 }
1476 #[inline(always)]
1477 pub const fn p212pfs_by(
1478 &self,
1479 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1480 unsafe {
1481 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1482 self._svd2pac_as_ptr().add(0xb3usize),
1483 )
1484 }
1485 }
1486 #[inline(always)]
1487 pub const fn p213pfs_by(
1488 &self,
1489 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1490 unsafe {
1491 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1492 self._svd2pac_as_ptr().add(0xb7usize),
1493 )
1494 }
1495 }
1496 #[inline(always)]
1497 pub const fn p214pfs_by(
1498 &self,
1499 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1500 unsafe {
1501 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1502 self._svd2pac_as_ptr().add(0xbbusize),
1503 )
1504 }
1505 }
1506
1507 #[doc = "Port 300 Pin Function Select Register"]
1508 #[inline(always)]
1509 pub const fn p300pfs(
1510 &self,
1511 ) -> &'static crate::common::Reg<self::P300Pfs_SPEC, crate::common::RW> {
1512 unsafe {
1513 crate::common::Reg::<self::P300Pfs_SPEC, crate::common::RW>::from_ptr(
1514 self._svd2pac_as_ptr().add(192usize),
1515 )
1516 }
1517 }
1518
1519 #[doc = "Port 300 Pin Function Select Register"]
1520 #[inline(always)]
1521 pub const fn p300pfs_ha(
1522 &self,
1523 ) -> &'static crate::common::Reg<self::P300PfsHa_SPEC, crate::common::RW> {
1524 unsafe {
1525 crate::common::Reg::<self::P300PfsHa_SPEC, crate::common::RW>::from_ptr(
1526 self._svd2pac_as_ptr().add(194usize),
1527 )
1528 }
1529 }
1530
1531 #[doc = "Port 300 Pin Function Select Register"]
1532 #[inline(always)]
1533 pub const fn p300pfs_by(
1534 &self,
1535 ) -> &'static crate::common::Reg<self::P300PfsBy_SPEC, crate::common::RW> {
1536 unsafe {
1537 crate::common::Reg::<self::P300PfsBy_SPEC, crate::common::RW>::from_ptr(
1538 self._svd2pac_as_ptr().add(195usize),
1539 )
1540 }
1541 }
1542
1543 #[doc = "Port 30%s Pin Function Select Register"]
1544 #[inline(always)]
1545 pub const fn p30pfs(
1546 &self,
1547 ) -> &'static crate::common::ClusterRegisterArray<
1548 crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW>,
1549 7,
1550 0x4,
1551 > {
1552 unsafe {
1553 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc4usize))
1554 }
1555 }
1556 #[inline(always)]
1557 pub const fn p301pfs(
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(0xc4usize),
1563 )
1564 }
1565 }
1566 #[inline(always)]
1567 pub const fn p302pfs(
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(0xc8usize),
1573 )
1574 }
1575 }
1576 #[inline(always)]
1577 pub const fn p303pfs(
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(0xccusize),
1583 )
1584 }
1585 }
1586 #[inline(always)]
1587 pub const fn p304pfs(
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(0xd0usize),
1593 )
1594 }
1595 }
1596 #[inline(always)]
1597 pub const fn p305pfs(
1598 &self,
1599 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1600 unsafe {
1601 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1602 self._svd2pac_as_ptr().add(0xd4usize),
1603 )
1604 }
1605 }
1606 #[inline(always)]
1607 pub const fn p306pfs(
1608 &self,
1609 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1610 unsafe {
1611 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1612 self._svd2pac_as_ptr().add(0xd8usize),
1613 )
1614 }
1615 }
1616 #[inline(always)]
1617 pub const fn p307pfs(
1618 &self,
1619 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1620 unsafe {
1621 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1622 self._svd2pac_as_ptr().add(0xdcusize),
1623 )
1624 }
1625 }
1626
1627 #[doc = "Port 30%s Pin Function Select Register"]
1628 #[inline(always)]
1629 pub const fn p30pfs_ha(
1630 &self,
1631 ) -> &'static crate::common::ClusterRegisterArray<
1632 crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW>,
1633 7,
1634 0x4,
1635 > {
1636 unsafe {
1637 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc6usize))
1638 }
1639 }
1640 #[inline(always)]
1641 pub const fn p301pfs_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(0xc6usize),
1647 )
1648 }
1649 }
1650 #[inline(always)]
1651 pub const fn p302pfs_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(0xcausize),
1657 )
1658 }
1659 }
1660 #[inline(always)]
1661 pub const fn p303pfs_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(0xceusize),
1667 )
1668 }
1669 }
1670 #[inline(always)]
1671 pub const fn p304pfs_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(0xd2usize),
1677 )
1678 }
1679 }
1680 #[inline(always)]
1681 pub const fn p305pfs_ha(
1682 &self,
1683 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1684 unsafe {
1685 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1686 self._svd2pac_as_ptr().add(0xd6usize),
1687 )
1688 }
1689 }
1690 #[inline(always)]
1691 pub const fn p306pfs_ha(
1692 &self,
1693 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1694 unsafe {
1695 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1696 self._svd2pac_as_ptr().add(0xdausize),
1697 )
1698 }
1699 }
1700 #[inline(always)]
1701 pub const fn p307pfs_ha(
1702 &self,
1703 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1704 unsafe {
1705 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1706 self._svd2pac_as_ptr().add(0xdeusize),
1707 )
1708 }
1709 }
1710
1711 #[doc = "Port 30%s Pin Function Select Register"]
1712 #[inline(always)]
1713 pub const fn p30pfs_by(
1714 &self,
1715 ) -> &'static crate::common::ClusterRegisterArray<
1716 crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW>,
1717 7,
1718 0x4,
1719 > {
1720 unsafe {
1721 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc7usize))
1722 }
1723 }
1724 #[inline(always)]
1725 pub const fn p301pfs_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(0xc7usize),
1731 )
1732 }
1733 }
1734 #[inline(always)]
1735 pub const fn p302pfs_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(0xcbusize),
1741 )
1742 }
1743 }
1744 #[inline(always)]
1745 pub const fn p303pfs_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(0xcfusize),
1751 )
1752 }
1753 }
1754 #[inline(always)]
1755 pub const fn p304pfs_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(0xd3usize),
1761 )
1762 }
1763 }
1764 #[inline(always)]
1765 pub const fn p305pfs_by(
1766 &self,
1767 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1768 unsafe {
1769 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1770 self._svd2pac_as_ptr().add(0xd7usize),
1771 )
1772 }
1773 }
1774 #[inline(always)]
1775 pub const fn p306pfs_by(
1776 &self,
1777 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1778 unsafe {
1779 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1780 self._svd2pac_as_ptr().add(0xdbusize),
1781 )
1782 }
1783 }
1784 #[inline(always)]
1785 pub const fn p307pfs_by(
1786 &self,
1787 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1788 unsafe {
1789 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1790 self._svd2pac_as_ptr().add(0xdfusize),
1791 )
1792 }
1793 }
1794
1795 #[doc = "Port 40%s Pin Function Select Register"]
1796 #[inline(always)]
1797 pub const fn p40pfs(
1798 &self,
1799 ) -> &'static crate::common::ClusterRegisterArray<
1800 crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW>,
1801 10,
1802 0x4,
1803 > {
1804 unsafe {
1805 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x100usize))
1806 }
1807 }
1808 #[inline(always)]
1809 pub const fn p400pfs(
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(0x100usize),
1815 )
1816 }
1817 }
1818 #[inline(always)]
1819 pub const fn p401pfs(
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(0x104usize),
1825 )
1826 }
1827 }
1828 #[inline(always)]
1829 pub const fn p402pfs(
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(0x108usize),
1835 )
1836 }
1837 }
1838 #[inline(always)]
1839 pub const fn p403pfs(
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(0x10cusize),
1845 )
1846 }
1847 }
1848 #[inline(always)]
1849 pub const fn p404pfs(
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(0x110usize),
1855 )
1856 }
1857 }
1858 #[inline(always)]
1859 pub const fn p405pfs(
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(0x114usize),
1865 )
1866 }
1867 }
1868 #[inline(always)]
1869 pub const fn p406pfs(
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(0x118usize),
1875 )
1876 }
1877 }
1878 #[inline(always)]
1879 pub const fn p407pfs(
1880 &self,
1881 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1882 unsafe {
1883 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1884 self._svd2pac_as_ptr().add(0x11cusize),
1885 )
1886 }
1887 }
1888 #[inline(always)]
1889 pub const fn p408pfs(
1890 &self,
1891 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1892 unsafe {
1893 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1894 self._svd2pac_as_ptr().add(0x120usize),
1895 )
1896 }
1897 }
1898 #[inline(always)]
1899 pub const fn p409pfs(
1900 &self,
1901 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1902 unsafe {
1903 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1904 self._svd2pac_as_ptr().add(0x124usize),
1905 )
1906 }
1907 }
1908
1909 #[doc = "Port 40%s Pin Function Select Register"]
1910 #[inline(always)]
1911 pub const fn p40pfs_ha(
1912 &self,
1913 ) -> &'static crate::common::ClusterRegisterArray<
1914 crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW>,
1915 10,
1916 0x4,
1917 > {
1918 unsafe {
1919 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x102usize))
1920 }
1921 }
1922 #[inline(always)]
1923 pub const fn p400pfs_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(0x102usize),
1929 )
1930 }
1931 }
1932 #[inline(always)]
1933 pub const fn p401pfs_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(0x106usize),
1939 )
1940 }
1941 }
1942 #[inline(always)]
1943 pub const fn p402pfs_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(0x10ausize),
1949 )
1950 }
1951 }
1952 #[inline(always)]
1953 pub const fn p403pfs_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(0x10eusize),
1959 )
1960 }
1961 }
1962 #[inline(always)]
1963 pub const fn p404pfs_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(0x112usize),
1969 )
1970 }
1971 }
1972 #[inline(always)]
1973 pub const fn p405pfs_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(0x116usize),
1979 )
1980 }
1981 }
1982 #[inline(always)]
1983 pub const fn p406pfs_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(0x11ausize),
1989 )
1990 }
1991 }
1992 #[inline(always)]
1993 pub const fn p407pfs_ha(
1994 &self,
1995 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
1996 unsafe {
1997 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
1998 self._svd2pac_as_ptr().add(0x11eusize),
1999 )
2000 }
2001 }
2002 #[inline(always)]
2003 pub const fn p408pfs_ha(
2004 &self,
2005 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2006 unsafe {
2007 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2008 self._svd2pac_as_ptr().add(0x122usize),
2009 )
2010 }
2011 }
2012 #[inline(always)]
2013 pub const fn p409pfs_ha(
2014 &self,
2015 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2016 unsafe {
2017 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2018 self._svd2pac_as_ptr().add(0x126usize),
2019 )
2020 }
2021 }
2022
2023 #[doc = "Port 40%s Pin Function Select Register"]
2024 #[inline(always)]
2025 pub const fn p40pfs_by(
2026 &self,
2027 ) -> &'static crate::common::ClusterRegisterArray<
2028 crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW>,
2029 10,
2030 0x4,
2031 > {
2032 unsafe {
2033 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x103usize))
2034 }
2035 }
2036 #[inline(always)]
2037 pub const fn p400pfs_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(0x103usize),
2043 )
2044 }
2045 }
2046 #[inline(always)]
2047 pub const fn p401pfs_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(0x107usize),
2053 )
2054 }
2055 }
2056 #[inline(always)]
2057 pub const fn p402pfs_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(0x10busize),
2063 )
2064 }
2065 }
2066 #[inline(always)]
2067 pub const fn p403pfs_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(0x10fusize),
2073 )
2074 }
2075 }
2076 #[inline(always)]
2077 pub const fn p404pfs_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(0x113usize),
2083 )
2084 }
2085 }
2086 #[inline(always)]
2087 pub const fn p405pfs_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(0x117usize),
2093 )
2094 }
2095 }
2096 #[inline(always)]
2097 pub const fn p406pfs_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(0x11busize),
2103 )
2104 }
2105 }
2106 #[inline(always)]
2107 pub const fn p407pfs_by(
2108 &self,
2109 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2110 unsafe {
2111 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2112 self._svd2pac_as_ptr().add(0x11fusize),
2113 )
2114 }
2115 }
2116 #[inline(always)]
2117 pub const fn p408pfs_by(
2118 &self,
2119 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2120 unsafe {
2121 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2122 self._svd2pac_as_ptr().add(0x123usize),
2123 )
2124 }
2125 }
2126 #[inline(always)]
2127 pub const fn p409pfs_by(
2128 &self,
2129 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2130 unsafe {
2131 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2132 self._svd2pac_as_ptr().add(0x127usize),
2133 )
2134 }
2135 }
2136
2137 #[doc = "Port 4%s Pin Function Select Register"]
2138 #[inline(always)]
2139 pub const fn p4pfs(
2140 &self,
2141 ) -> &'static crate::common::ClusterRegisterArray<
2142 crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW>,
2143 6,
2144 0x4,
2145 > {
2146 unsafe {
2147 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x128usize))
2148 }
2149 }
2150 #[inline(always)]
2151 pub const fn p410pfs(
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(0x128usize),
2157 )
2158 }
2159 }
2160 #[inline(always)]
2161 pub const fn p411pfs(
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(0x12cusize),
2167 )
2168 }
2169 }
2170 #[inline(always)]
2171 pub const fn p412pfs(
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(0x130usize),
2177 )
2178 }
2179 }
2180 #[inline(always)]
2181 pub const fn p413pfs(
2182 &self,
2183 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2184 unsafe {
2185 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2186 self._svd2pac_as_ptr().add(0x134usize),
2187 )
2188 }
2189 }
2190 #[inline(always)]
2191 pub const fn p414pfs(
2192 &self,
2193 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2194 unsafe {
2195 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2196 self._svd2pac_as_ptr().add(0x138usize),
2197 )
2198 }
2199 }
2200 #[inline(always)]
2201 pub const fn p415pfs(
2202 &self,
2203 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2204 unsafe {
2205 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2206 self._svd2pac_as_ptr().add(0x13cusize),
2207 )
2208 }
2209 }
2210
2211 #[doc = "Port 4%s Pin Function Select Register"]
2212 #[inline(always)]
2213 pub const fn p4pfs_ha(
2214 &self,
2215 ) -> &'static crate::common::ClusterRegisterArray<
2216 crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW>,
2217 6,
2218 0x4,
2219 > {
2220 unsafe {
2221 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x12ausize))
2222 }
2223 }
2224 #[inline(always)]
2225 pub const fn p410pfs_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(0x12ausize),
2231 )
2232 }
2233 }
2234 #[inline(always)]
2235 pub const fn p411pfs_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(0x12eusize),
2241 )
2242 }
2243 }
2244 #[inline(always)]
2245 pub const fn p412pfs_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(0x132usize),
2251 )
2252 }
2253 }
2254 #[inline(always)]
2255 pub const fn p413pfs_ha(
2256 &self,
2257 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2258 unsafe {
2259 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2260 self._svd2pac_as_ptr().add(0x136usize),
2261 )
2262 }
2263 }
2264 #[inline(always)]
2265 pub const fn p414pfs_ha(
2266 &self,
2267 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2268 unsafe {
2269 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2270 self._svd2pac_as_ptr().add(0x13ausize),
2271 )
2272 }
2273 }
2274 #[inline(always)]
2275 pub const fn p415pfs_ha(
2276 &self,
2277 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2278 unsafe {
2279 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2280 self._svd2pac_as_ptr().add(0x13eusize),
2281 )
2282 }
2283 }
2284
2285 #[doc = "Port 4%s Pin Function Select Register"]
2286 #[inline(always)]
2287 pub const fn p4pfs_by(
2288 &self,
2289 ) -> &'static crate::common::ClusterRegisterArray<
2290 crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW>,
2291 6,
2292 0x4,
2293 > {
2294 unsafe {
2295 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x12busize))
2296 }
2297 }
2298 #[inline(always)]
2299 pub const fn p410pfs_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(0x12busize),
2305 )
2306 }
2307 }
2308 #[inline(always)]
2309 pub const fn p411pfs_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(0x12fusize),
2315 )
2316 }
2317 }
2318 #[inline(always)]
2319 pub const fn p412pfs_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(0x133usize),
2325 )
2326 }
2327 }
2328 #[inline(always)]
2329 pub const fn p413pfs_by(
2330 &self,
2331 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2332 unsafe {
2333 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2334 self._svd2pac_as_ptr().add(0x137usize),
2335 )
2336 }
2337 }
2338 #[inline(always)]
2339 pub const fn p414pfs_by(
2340 &self,
2341 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2342 unsafe {
2343 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2344 self._svd2pac_as_ptr().add(0x13busize),
2345 )
2346 }
2347 }
2348 #[inline(always)]
2349 pub const fn p415pfs_by(
2350 &self,
2351 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2352 unsafe {
2353 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2354 self._svd2pac_as_ptr().add(0x13fusize),
2355 )
2356 }
2357 }
2358
2359 #[doc = "Port 50%s Pin Function Select Register"]
2360 #[inline(always)]
2361 pub const fn p50pfs(
2362 &self,
2363 ) -> &'static crate::common::ClusterRegisterArray<
2364 crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW>,
2365 6,
2366 0x4,
2367 > {
2368 unsafe {
2369 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x140usize))
2370 }
2371 }
2372 #[inline(always)]
2373 pub const fn p500pfs(
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(0x140usize),
2379 )
2380 }
2381 }
2382 #[inline(always)]
2383 pub const fn p501pfs(
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(0x144usize),
2389 )
2390 }
2391 }
2392 #[inline(always)]
2393 pub const fn p502pfs(
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(0x148usize),
2399 )
2400 }
2401 }
2402 #[inline(always)]
2403 pub const fn p503pfs(
2404 &self,
2405 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2406 unsafe {
2407 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2408 self._svd2pac_as_ptr().add(0x14cusize),
2409 )
2410 }
2411 }
2412 #[inline(always)]
2413 pub const fn p504pfs(
2414 &self,
2415 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2416 unsafe {
2417 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2418 self._svd2pac_as_ptr().add(0x150usize),
2419 )
2420 }
2421 }
2422 #[inline(always)]
2423 pub const fn p505pfs(
2424 &self,
2425 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2426 unsafe {
2427 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2428 self._svd2pac_as_ptr().add(0x154usize),
2429 )
2430 }
2431 }
2432
2433 #[doc = "Port 50%s Pin Function Select Register"]
2434 #[inline(always)]
2435 pub const fn p50pfs_ha(
2436 &self,
2437 ) -> &'static crate::common::ClusterRegisterArray<
2438 crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW>,
2439 6,
2440 0x4,
2441 > {
2442 unsafe {
2443 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x142usize))
2444 }
2445 }
2446 #[inline(always)]
2447 pub const fn p500pfs_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(0x142usize),
2453 )
2454 }
2455 }
2456 #[inline(always)]
2457 pub const fn p501pfs_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(0x146usize),
2463 )
2464 }
2465 }
2466 #[inline(always)]
2467 pub const fn p502pfs_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(0x14ausize),
2473 )
2474 }
2475 }
2476 #[inline(always)]
2477 pub const fn p503pfs_ha(
2478 &self,
2479 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2480 unsafe {
2481 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2482 self._svd2pac_as_ptr().add(0x14eusize),
2483 )
2484 }
2485 }
2486 #[inline(always)]
2487 pub const fn p504pfs_ha(
2488 &self,
2489 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2490 unsafe {
2491 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2492 self._svd2pac_as_ptr().add(0x152usize),
2493 )
2494 }
2495 }
2496 #[inline(always)]
2497 pub const fn p505pfs_ha(
2498 &self,
2499 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2500 unsafe {
2501 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2502 self._svd2pac_as_ptr().add(0x156usize),
2503 )
2504 }
2505 }
2506
2507 #[doc = "Port 50%s Pin Function Select Register"]
2508 #[inline(always)]
2509 pub const fn p50pfs_by(
2510 &self,
2511 ) -> &'static crate::common::ClusterRegisterArray<
2512 crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW>,
2513 6,
2514 0x4,
2515 > {
2516 unsafe {
2517 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x143usize))
2518 }
2519 }
2520 #[inline(always)]
2521 pub const fn p500pfs_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(0x143usize),
2527 )
2528 }
2529 }
2530 #[inline(always)]
2531 pub const fn p501pfs_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(0x147usize),
2537 )
2538 }
2539 }
2540 #[inline(always)]
2541 pub const fn p502pfs_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(0x14busize),
2547 )
2548 }
2549 }
2550 #[inline(always)]
2551 pub const fn p503pfs_by(
2552 &self,
2553 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2554 unsafe {
2555 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2556 self._svd2pac_as_ptr().add(0x14fusize),
2557 )
2558 }
2559 }
2560 #[inline(always)]
2561 pub const fn p504pfs_by(
2562 &self,
2563 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2564 unsafe {
2565 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2566 self._svd2pac_as_ptr().add(0x153usize),
2567 )
2568 }
2569 }
2570 #[inline(always)]
2571 pub const fn p505pfs_by(
2572 &self,
2573 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2574 unsafe {
2575 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2576 self._svd2pac_as_ptr().add(0x157usize),
2577 )
2578 }
2579 }
2580
2581 #[doc = "Port 60%s Pin Function Select Register"]
2582 #[inline(always)]
2583 pub const fn p60pfs(
2584 &self,
2585 ) -> &'static crate::common::ClusterRegisterArray<
2586 crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW>,
2587 2,
2588 0x4,
2589 > {
2590 unsafe {
2591 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a0usize))
2592 }
2593 }
2594 #[inline(always)]
2595 pub const fn p608pfs(
2596 &self,
2597 ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
2598 unsafe {
2599 crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
2600 self._svd2pac_as_ptr().add(0x1a0usize),
2601 )
2602 }
2603 }
2604 #[inline(always)]
2605 pub const fn p609pfs(
2606 &self,
2607 ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
2608 unsafe {
2609 crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
2610 self._svd2pac_as_ptr().add(0x1a4usize),
2611 )
2612 }
2613 }
2614
2615 #[doc = "Port 60%s Pin Function Select Register"]
2616 #[inline(always)]
2617 pub const fn p60pfs_ha(
2618 &self,
2619 ) -> &'static crate::common::ClusterRegisterArray<
2620 crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW>,
2621 2,
2622 0x4,
2623 > {
2624 unsafe {
2625 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a2usize))
2626 }
2627 }
2628 #[inline(always)]
2629 pub const fn p608pfs_ha(
2630 &self,
2631 ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
2632 unsafe {
2633 crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
2634 self._svd2pac_as_ptr().add(0x1a2usize),
2635 )
2636 }
2637 }
2638 #[inline(always)]
2639 pub const fn p609pfs_ha(
2640 &self,
2641 ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
2642 unsafe {
2643 crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
2644 self._svd2pac_as_ptr().add(0x1a6usize),
2645 )
2646 }
2647 }
2648
2649 #[doc = "Port 60%s Pin Function Select Register"]
2650 #[inline(always)]
2651 pub const fn p60pfs_by(
2652 &self,
2653 ) -> &'static crate::common::ClusterRegisterArray<
2654 crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW>,
2655 2,
2656 0x4,
2657 > {
2658 unsafe {
2659 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a3usize))
2660 }
2661 }
2662 #[inline(always)]
2663 pub const fn p608pfs_by(
2664 &self,
2665 ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
2666 unsafe {
2667 crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
2668 self._svd2pac_as_ptr().add(0x1a3usize),
2669 )
2670 }
2671 }
2672 #[inline(always)]
2673 pub const fn p609pfs_by(
2674 &self,
2675 ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
2676 unsafe {
2677 crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
2678 self._svd2pac_as_ptr().add(0x1a7usize),
2679 )
2680 }
2681 }
2682
2683 #[doc = "Port 610 Pin Function Select Register"]
2684 #[inline(always)]
2685 pub const fn p610pfs(
2686 &self,
2687 ) -> &'static crate::common::Reg<self::P610Pfs_SPEC, crate::common::RW> {
2688 unsafe {
2689 crate::common::Reg::<self::P610Pfs_SPEC, crate::common::RW>::from_ptr(
2690 self._svd2pac_as_ptr().add(424usize),
2691 )
2692 }
2693 }
2694
2695 #[doc = "Port 610 Pin Function Select Register"]
2696 #[inline(always)]
2697 pub const fn p610pfs_ha(
2698 &self,
2699 ) -> &'static crate::common::Reg<self::P610PfsHa_SPEC, crate::common::RW> {
2700 unsafe {
2701 crate::common::Reg::<self::P610PfsHa_SPEC, crate::common::RW>::from_ptr(
2702 self._svd2pac_as_ptr().add(426usize),
2703 )
2704 }
2705 }
2706
2707 #[doc = "Port 610 Pin Function Select Register"]
2708 #[inline(always)]
2709 pub const fn p610pfs_by(
2710 &self,
2711 ) -> &'static crate::common::Reg<self::P610PfsBy_SPEC, crate::common::RW> {
2712 unsafe {
2713 crate::common::Reg::<self::P610PfsBy_SPEC, crate::common::RW>::from_ptr(
2714 self._svd2pac_as_ptr().add(427usize),
2715 )
2716 }
2717 }
2718
2719 #[doc = "Port 708 Pin Function Select Register"]
2720 #[inline(always)]
2721 pub const fn p708pfs(
2722 &self,
2723 ) -> &'static crate::common::Reg<self::P708Pfs_SPEC, crate::common::RW> {
2724 unsafe {
2725 crate::common::Reg::<self::P708Pfs_SPEC, crate::common::RW>::from_ptr(
2726 self._svd2pac_as_ptr().add(480usize),
2727 )
2728 }
2729 }
2730
2731 #[doc = "Port 708 Pin Function Select Register"]
2732 #[inline(always)]
2733 pub const fn p708pfs_ha(
2734 &self,
2735 ) -> &'static crate::common::Reg<self::P708PfsHa_SPEC, crate::common::RW> {
2736 unsafe {
2737 crate::common::Reg::<self::P708PfsHa_SPEC, crate::common::RW>::from_ptr(
2738 self._svd2pac_as_ptr().add(482usize),
2739 )
2740 }
2741 }
2742
2743 #[doc = "Port 708 Pin Function Select Register"]
2744 #[inline(always)]
2745 pub const fn p708pfs_by(
2746 &self,
2747 ) -> &'static crate::common::Reg<self::P708PfsBy_SPEC, crate::common::RW> {
2748 unsafe {
2749 crate::common::Reg::<self::P708PfsBy_SPEC, crate::common::RW>::from_ptr(
2750 self._svd2pac_as_ptr().add(483usize),
2751 )
2752 }
2753 }
2754
2755 #[doc = "Write-Protect Register"]
2756 #[inline(always)]
2757 pub const fn pwpr(&self) -> &'static crate::common::Reg<self::Pwpr_SPEC, crate::common::RW> {
2758 unsafe {
2759 crate::common::Reg::<self::Pwpr_SPEC, crate::common::RW>::from_ptr(
2760 self._svd2pac_as_ptr().add(1283usize),
2761 )
2762 }
2763 }
2764
2765 #[doc = "Write-Protect Register for Secure"]
2766 #[inline(always)]
2767 pub const fn pwprs(&self) -> &'static crate::common::Reg<self::Pwprs_SPEC, crate::common::RW> {
2768 unsafe {
2769 crate::common::Reg::<self::Pwprs_SPEC, crate::common::RW>::from_ptr(
2770 self._svd2pac_as_ptr().add(1285usize),
2771 )
2772 }
2773 }
2774
2775 #[doc = "Port Security Attribution register"]
2776 #[inline(always)]
2777 pub const fn psar(
2778 &self,
2779 ) -> &'static crate::common::ClusterRegisterArray<
2780 crate::common::Reg<self::Psar_SPEC, crate::common::RW>,
2781 8,
2782 0x2,
2783 > {
2784 unsafe {
2785 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x510usize))
2786 }
2787 }
2788 #[inline(always)]
2789 pub const fn p0sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2790 unsafe {
2791 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2792 self._svd2pac_as_ptr().add(0x510usize),
2793 )
2794 }
2795 }
2796 #[inline(always)]
2797 pub const fn p1sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2798 unsafe {
2799 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2800 self._svd2pac_as_ptr().add(0x512usize),
2801 )
2802 }
2803 }
2804 #[inline(always)]
2805 pub const fn p2sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2806 unsafe {
2807 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2808 self._svd2pac_as_ptr().add(0x514usize),
2809 )
2810 }
2811 }
2812 #[inline(always)]
2813 pub const fn p3sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2814 unsafe {
2815 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2816 self._svd2pac_as_ptr().add(0x516usize),
2817 )
2818 }
2819 }
2820 #[inline(always)]
2821 pub const fn p4sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2822 unsafe {
2823 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2824 self._svd2pac_as_ptr().add(0x518usize),
2825 )
2826 }
2827 }
2828 #[inline(always)]
2829 pub const fn p5sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2830 unsafe {
2831 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2832 self._svd2pac_as_ptr().add(0x51ausize),
2833 )
2834 }
2835 }
2836 #[inline(always)]
2837 pub const fn p6sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2838 unsafe {
2839 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2840 self._svd2pac_as_ptr().add(0x51cusize),
2841 )
2842 }
2843 }
2844 #[inline(always)]
2845 pub const fn p7sar(&self) -> &'static crate::common::Reg<self::Psar_SPEC, crate::common::RW> {
2846 unsafe {
2847 crate::common::Reg::<self::Psar_SPEC, crate::common::RW>::from_ptr(
2848 self._svd2pac_as_ptr().add(0x51eusize),
2849 )
2850 }
2851 }
2852}
2853#[doc(hidden)]
2854#[derive(Copy, Clone, Eq, PartialEq)]
2855pub struct P00Pfs_SPEC;
2856impl crate::sealed::RegSpec for P00Pfs_SPEC {
2857 type DataType = u32;
2858}
2859
2860#[doc = "Port 00%s Pin Function Select Register"]
2861pub type P00Pfs = crate::RegValueT<P00Pfs_SPEC>;
2862
2863impl P00Pfs {
2864 #[doc = "Port Output Data"]
2865 #[inline(always)]
2866 pub fn podr(
2867 self,
2868 ) -> crate::common::RegisterField<
2869 0,
2870 0x1,
2871 1,
2872 0,
2873 p00pfs::Podr,
2874 p00pfs::Podr,
2875 P00Pfs_SPEC,
2876 crate::common::RW,
2877 > {
2878 crate::common::RegisterField::<
2879 0,
2880 0x1,
2881 1,
2882 0,
2883 p00pfs::Podr,
2884 p00pfs::Podr,
2885 P00Pfs_SPEC,
2886 crate::common::RW,
2887 >::from_register(self, 0)
2888 }
2889
2890 #[doc = "Port State"]
2891 #[inline(always)]
2892 pub fn pidr(
2893 self,
2894 ) -> crate::common::RegisterField<
2895 1,
2896 0x1,
2897 1,
2898 0,
2899 p00pfs::Pidr,
2900 p00pfs::Pidr,
2901 P00Pfs_SPEC,
2902 crate::common::R,
2903 > {
2904 crate::common::RegisterField::<
2905 1,
2906 0x1,
2907 1,
2908 0,
2909 p00pfs::Pidr,
2910 p00pfs::Pidr,
2911 P00Pfs_SPEC,
2912 crate::common::R,
2913 >::from_register(self, 0)
2914 }
2915
2916 #[doc = "Port Direction"]
2917 #[inline(always)]
2918 pub fn pdr(
2919 self,
2920 ) -> crate::common::RegisterField<
2921 2,
2922 0x1,
2923 1,
2924 0,
2925 p00pfs::Pdr,
2926 p00pfs::Pdr,
2927 P00Pfs_SPEC,
2928 crate::common::RW,
2929 > {
2930 crate::common::RegisterField::<
2931 2,
2932 0x1,
2933 1,
2934 0,
2935 p00pfs::Pdr,
2936 p00pfs::Pdr,
2937 P00Pfs_SPEC,
2938 crate::common::RW,
2939 >::from_register(self, 0)
2940 }
2941
2942 #[doc = "Pull-up Control"]
2943 #[inline(always)]
2944 pub fn pcr(
2945 self,
2946 ) -> crate::common::RegisterField<
2947 4,
2948 0x1,
2949 1,
2950 0,
2951 p00pfs::Pcr,
2952 p00pfs::Pcr,
2953 P00Pfs_SPEC,
2954 crate::common::RW,
2955 > {
2956 crate::common::RegisterField::<
2957 4,
2958 0x1,
2959 1,
2960 0,
2961 p00pfs::Pcr,
2962 p00pfs::Pcr,
2963 P00Pfs_SPEC,
2964 crate::common::RW,
2965 >::from_register(self, 0)
2966 }
2967
2968 #[doc = "N-Channel Open-Drain Control"]
2969 #[inline(always)]
2970 pub fn ncodr(
2971 self,
2972 ) -> crate::common::RegisterField<
2973 6,
2974 0x1,
2975 1,
2976 0,
2977 p00pfs::Ncodr,
2978 p00pfs::Ncodr,
2979 P00Pfs_SPEC,
2980 crate::common::RW,
2981 > {
2982 crate::common::RegisterField::<
2983 6,
2984 0x1,
2985 1,
2986 0,
2987 p00pfs::Ncodr,
2988 p00pfs::Ncodr,
2989 P00Pfs_SPEC,
2990 crate::common::RW,
2991 >::from_register(self, 0)
2992 }
2993
2994 #[doc = "Port Drive Capability"]
2995 #[inline(always)]
2996 pub fn dscr(
2997 self,
2998 ) -> crate::common::RegisterField<
2999 10,
3000 0x3,
3001 1,
3002 0,
3003 p00pfs::Dscr,
3004 p00pfs::Dscr,
3005 P00Pfs_SPEC,
3006 crate::common::RW,
3007 > {
3008 crate::common::RegisterField::<
3009 10,
3010 0x3,
3011 1,
3012 0,
3013 p00pfs::Dscr,
3014 p00pfs::Dscr,
3015 P00Pfs_SPEC,
3016 crate::common::RW,
3017 >::from_register(self, 0)
3018 }
3019
3020 #[doc = "Event on Falling/Event on Rising"]
3021 #[inline(always)]
3022 pub fn eofr(
3023 self,
3024 ) -> crate::common::RegisterField<
3025 12,
3026 0x3,
3027 1,
3028 0,
3029 p00pfs::Eofr,
3030 p00pfs::Eofr,
3031 P00Pfs_SPEC,
3032 crate::common::RW,
3033 > {
3034 crate::common::RegisterField::<
3035 12,
3036 0x3,
3037 1,
3038 0,
3039 p00pfs::Eofr,
3040 p00pfs::Eofr,
3041 P00Pfs_SPEC,
3042 crate::common::RW,
3043 >::from_register(self, 0)
3044 }
3045
3046 #[doc = "IRQ Input Enable"]
3047 #[inline(always)]
3048 pub fn isel(
3049 self,
3050 ) -> crate::common::RegisterField<
3051 14,
3052 0x1,
3053 1,
3054 0,
3055 p00pfs::Isel,
3056 p00pfs::Isel,
3057 P00Pfs_SPEC,
3058 crate::common::RW,
3059 > {
3060 crate::common::RegisterField::<
3061 14,
3062 0x1,
3063 1,
3064 0,
3065 p00pfs::Isel,
3066 p00pfs::Isel,
3067 P00Pfs_SPEC,
3068 crate::common::RW,
3069 >::from_register(self, 0)
3070 }
3071
3072 #[doc = "Analog Input Enable"]
3073 #[inline(always)]
3074 pub fn asel(
3075 self,
3076 ) -> crate::common::RegisterField<
3077 15,
3078 0x1,
3079 1,
3080 0,
3081 p00pfs::Asel,
3082 p00pfs::Asel,
3083 P00Pfs_SPEC,
3084 crate::common::RW,
3085 > {
3086 crate::common::RegisterField::<
3087 15,
3088 0x1,
3089 1,
3090 0,
3091 p00pfs::Asel,
3092 p00pfs::Asel,
3093 P00Pfs_SPEC,
3094 crate::common::RW,
3095 >::from_register(self, 0)
3096 }
3097
3098 #[doc = "Port Mode Control"]
3099 #[inline(always)]
3100 pub fn pmr(
3101 self,
3102 ) -> crate::common::RegisterField<
3103 16,
3104 0x1,
3105 1,
3106 0,
3107 p00pfs::Pmr,
3108 p00pfs::Pmr,
3109 P00Pfs_SPEC,
3110 crate::common::RW,
3111 > {
3112 crate::common::RegisterField::<
3113 16,
3114 0x1,
3115 1,
3116 0,
3117 p00pfs::Pmr,
3118 p00pfs::Pmr,
3119 P00Pfs_SPEC,
3120 crate::common::RW,
3121 >::from_register(self, 0)
3122 }
3123
3124 #[doc = "Peripheral Select"]
3125 #[inline(always)]
3126 pub fn psel(
3127 self,
3128 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P00Pfs_SPEC, crate::common::RW> {
3129 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P00Pfs_SPEC,crate::common::RW>::from_register(self,0)
3130 }
3131}
3132impl ::core::default::Default for P00Pfs {
3133 #[inline(always)]
3134 fn default() -> P00Pfs {
3135 <crate::RegValueT<P00Pfs_SPEC> as RegisterValue<_>>::new(0)
3136 }
3137}
3138pub mod p00pfs {
3139
3140 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3141 pub struct Podr_SPEC;
3142 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3143 impl Podr {
3144 #[doc = "Output low"]
3145 pub const _0: Self = Self::new(0);
3146
3147 #[doc = "Output high"]
3148 pub const _1: Self = Self::new(1);
3149 }
3150 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3151 pub struct Pidr_SPEC;
3152 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3153 impl Pidr {
3154 #[doc = "Low level"]
3155 pub const _0: Self = Self::new(0);
3156
3157 #[doc = "High level"]
3158 pub const _1: Self = Self::new(1);
3159 }
3160 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3161 pub struct Pdr_SPEC;
3162 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3163 impl Pdr {
3164 #[doc = "Input (functions as an input pin)"]
3165 pub const _0: Self = Self::new(0);
3166
3167 #[doc = "Output (functions as an output pin)"]
3168 pub const _1: Self = Self::new(1);
3169 }
3170 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3171 pub struct Pcr_SPEC;
3172 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3173 impl Pcr {
3174 #[doc = "Disable input pull-up"]
3175 pub const _0: Self = Self::new(0);
3176
3177 #[doc = "Enable input pull-up"]
3178 pub const _1: Self = Self::new(1);
3179 }
3180 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3181 pub struct Ncodr_SPEC;
3182 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3183 impl Ncodr {
3184 #[doc = "Output CMOS"]
3185 pub const _0: Self = Self::new(0);
3186
3187 #[doc = "Output NMOS open-drain"]
3188 pub const _1: Self = Self::new(1);
3189 }
3190 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3191 pub struct Dscr_SPEC;
3192 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
3193 impl Dscr {
3194 #[doc = "Low drive"]
3195 pub const _00: Self = Self::new(0);
3196
3197 #[doc = "Middle drive"]
3198 pub const _01: Self = Self::new(1);
3199
3200 #[doc = "Setting prohibited"]
3201 pub const _10: Self = Self::new(2);
3202
3203 #[doc = "High drive"]
3204 pub const _11: Self = Self::new(3);
3205 }
3206 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3207 pub struct Eofr_SPEC;
3208 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
3209 impl Eofr {
3210 #[doc = "Don\'t care"]
3211 pub const _00: Self = Self::new(0);
3212
3213 #[doc = "Detect rising edge"]
3214 pub const _01: Self = Self::new(1);
3215
3216 #[doc = "Detect falling edge"]
3217 pub const _10: Self = Self::new(2);
3218
3219 #[doc = "Detect both edges"]
3220 pub const _11: Self = Self::new(3);
3221 }
3222 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3223 pub struct Isel_SPEC;
3224 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3225 impl Isel {
3226 #[doc = "Do not use as IRQn input pin"]
3227 pub const _0: Self = Self::new(0);
3228
3229 #[doc = "Use as IRQn input pin"]
3230 pub const _1: Self = Self::new(1);
3231 }
3232 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3233 pub struct Asel_SPEC;
3234 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
3235 impl Asel {
3236 #[doc = "Do not use as analog pin"]
3237 pub const _0: Self = Self::new(0);
3238
3239 #[doc = "Use as analog pin"]
3240 pub const _1: Self = Self::new(1);
3241 }
3242 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3243 pub struct Pmr_SPEC;
3244 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
3245 impl Pmr {
3246 #[doc = "Use as general I/O pin"]
3247 pub const _0: Self = Self::new(0);
3248
3249 #[doc = "Use as I/O port for peripheral functions"]
3250 pub const _1: Self = Self::new(1);
3251 }
3252}
3253#[doc(hidden)]
3254#[derive(Copy, Clone, Eq, PartialEq)]
3255pub struct P00PfsHa_SPEC;
3256impl crate::sealed::RegSpec for P00PfsHa_SPEC {
3257 type DataType = u16;
3258}
3259
3260#[doc = "Port 00%s Pin Function Select Register"]
3261pub type P00PfsHa = crate::RegValueT<P00PfsHa_SPEC>;
3262
3263impl P00PfsHa {
3264 #[doc = "Port Output Data"]
3265 #[inline(always)]
3266 pub fn podr(
3267 self,
3268 ) -> crate::common::RegisterField<
3269 0,
3270 0x1,
3271 1,
3272 0,
3273 p00pfs_ha::Podr,
3274 p00pfs_ha::Podr,
3275 P00PfsHa_SPEC,
3276 crate::common::RW,
3277 > {
3278 crate::common::RegisterField::<
3279 0,
3280 0x1,
3281 1,
3282 0,
3283 p00pfs_ha::Podr,
3284 p00pfs_ha::Podr,
3285 P00PfsHa_SPEC,
3286 crate::common::RW,
3287 >::from_register(self, 0)
3288 }
3289
3290 #[doc = "Port State"]
3291 #[inline(always)]
3292 pub fn pidr(
3293 self,
3294 ) -> crate::common::RegisterField<
3295 1,
3296 0x1,
3297 1,
3298 0,
3299 p00pfs_ha::Pidr,
3300 p00pfs_ha::Pidr,
3301 P00PfsHa_SPEC,
3302 crate::common::R,
3303 > {
3304 crate::common::RegisterField::<
3305 1,
3306 0x1,
3307 1,
3308 0,
3309 p00pfs_ha::Pidr,
3310 p00pfs_ha::Pidr,
3311 P00PfsHa_SPEC,
3312 crate::common::R,
3313 >::from_register(self, 0)
3314 }
3315
3316 #[doc = "Port Direction"]
3317 #[inline(always)]
3318 pub fn pdr(
3319 self,
3320 ) -> crate::common::RegisterField<
3321 2,
3322 0x1,
3323 1,
3324 0,
3325 p00pfs_ha::Pdr,
3326 p00pfs_ha::Pdr,
3327 P00PfsHa_SPEC,
3328 crate::common::RW,
3329 > {
3330 crate::common::RegisterField::<
3331 2,
3332 0x1,
3333 1,
3334 0,
3335 p00pfs_ha::Pdr,
3336 p00pfs_ha::Pdr,
3337 P00PfsHa_SPEC,
3338 crate::common::RW,
3339 >::from_register(self, 0)
3340 }
3341
3342 #[doc = "Pull-up Control"]
3343 #[inline(always)]
3344 pub fn pcr(
3345 self,
3346 ) -> crate::common::RegisterField<
3347 4,
3348 0x1,
3349 1,
3350 0,
3351 p00pfs_ha::Pcr,
3352 p00pfs_ha::Pcr,
3353 P00PfsHa_SPEC,
3354 crate::common::RW,
3355 > {
3356 crate::common::RegisterField::<
3357 4,
3358 0x1,
3359 1,
3360 0,
3361 p00pfs_ha::Pcr,
3362 p00pfs_ha::Pcr,
3363 P00PfsHa_SPEC,
3364 crate::common::RW,
3365 >::from_register(self, 0)
3366 }
3367
3368 #[doc = "N-Channel Open-Drain Control"]
3369 #[inline(always)]
3370 pub fn ncodr(
3371 self,
3372 ) -> crate::common::RegisterField<
3373 6,
3374 0x1,
3375 1,
3376 0,
3377 p00pfs_ha::Ncodr,
3378 p00pfs_ha::Ncodr,
3379 P00PfsHa_SPEC,
3380 crate::common::RW,
3381 > {
3382 crate::common::RegisterField::<
3383 6,
3384 0x1,
3385 1,
3386 0,
3387 p00pfs_ha::Ncodr,
3388 p00pfs_ha::Ncodr,
3389 P00PfsHa_SPEC,
3390 crate::common::RW,
3391 >::from_register(self, 0)
3392 }
3393
3394 #[doc = "Port Drive Capability"]
3395 #[inline(always)]
3396 pub fn dscr(
3397 self,
3398 ) -> crate::common::RegisterField<
3399 10,
3400 0x3,
3401 1,
3402 0,
3403 p00pfs_ha::Dscr,
3404 p00pfs_ha::Dscr,
3405 P00PfsHa_SPEC,
3406 crate::common::RW,
3407 > {
3408 crate::common::RegisterField::<
3409 10,
3410 0x3,
3411 1,
3412 0,
3413 p00pfs_ha::Dscr,
3414 p00pfs_ha::Dscr,
3415 P00PfsHa_SPEC,
3416 crate::common::RW,
3417 >::from_register(self, 0)
3418 }
3419
3420 #[doc = "Event on Falling/Event on Rising"]
3421 #[inline(always)]
3422 pub fn eofr(
3423 self,
3424 ) -> crate::common::RegisterField<
3425 12,
3426 0x3,
3427 1,
3428 0,
3429 p00pfs_ha::Eofr,
3430 p00pfs_ha::Eofr,
3431 P00PfsHa_SPEC,
3432 crate::common::RW,
3433 > {
3434 crate::common::RegisterField::<
3435 12,
3436 0x3,
3437 1,
3438 0,
3439 p00pfs_ha::Eofr,
3440 p00pfs_ha::Eofr,
3441 P00PfsHa_SPEC,
3442 crate::common::RW,
3443 >::from_register(self, 0)
3444 }
3445
3446 #[doc = "IRQ Input Enable"]
3447 #[inline(always)]
3448 pub fn isel(
3449 self,
3450 ) -> crate::common::RegisterField<
3451 14,
3452 0x1,
3453 1,
3454 0,
3455 p00pfs_ha::Isel,
3456 p00pfs_ha::Isel,
3457 P00PfsHa_SPEC,
3458 crate::common::RW,
3459 > {
3460 crate::common::RegisterField::<
3461 14,
3462 0x1,
3463 1,
3464 0,
3465 p00pfs_ha::Isel,
3466 p00pfs_ha::Isel,
3467 P00PfsHa_SPEC,
3468 crate::common::RW,
3469 >::from_register(self, 0)
3470 }
3471
3472 #[doc = "Analog Input Enable"]
3473 #[inline(always)]
3474 pub fn asel(
3475 self,
3476 ) -> crate::common::RegisterField<
3477 15,
3478 0x1,
3479 1,
3480 0,
3481 p00pfs_ha::Asel,
3482 p00pfs_ha::Asel,
3483 P00PfsHa_SPEC,
3484 crate::common::RW,
3485 > {
3486 crate::common::RegisterField::<
3487 15,
3488 0x1,
3489 1,
3490 0,
3491 p00pfs_ha::Asel,
3492 p00pfs_ha::Asel,
3493 P00PfsHa_SPEC,
3494 crate::common::RW,
3495 >::from_register(self, 0)
3496 }
3497}
3498impl ::core::default::Default for P00PfsHa {
3499 #[inline(always)]
3500 fn default() -> P00PfsHa {
3501 <crate::RegValueT<P00PfsHa_SPEC> as RegisterValue<_>>::new(0)
3502 }
3503}
3504pub mod p00pfs_ha {
3505
3506 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3507 pub struct Podr_SPEC;
3508 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3509 impl Podr {
3510 #[doc = "Output low"]
3511 pub const _0: Self = Self::new(0);
3512
3513 #[doc = "Output high"]
3514 pub const _1: Self = Self::new(1);
3515 }
3516 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3517 pub struct Pidr_SPEC;
3518 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3519 impl Pidr {
3520 #[doc = "Low level"]
3521 pub const _0: Self = Self::new(0);
3522
3523 #[doc = "High level"]
3524 pub const _1: Self = Self::new(1);
3525 }
3526 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3527 pub struct Pdr_SPEC;
3528 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3529 impl Pdr {
3530 #[doc = "Input (functions as an input pin)"]
3531 pub const _0: Self = Self::new(0);
3532
3533 #[doc = "Output (functions as an output pin)"]
3534 pub const _1: Self = Self::new(1);
3535 }
3536 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3537 pub struct Pcr_SPEC;
3538 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3539 impl Pcr {
3540 #[doc = "Disable input pull-up"]
3541 pub const _0: Self = Self::new(0);
3542
3543 #[doc = "Enable input pull-up"]
3544 pub const _1: Self = Self::new(1);
3545 }
3546 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3547 pub struct Ncodr_SPEC;
3548 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3549 impl Ncodr {
3550 #[doc = "Output CMOS"]
3551 pub const _0: Self = Self::new(0);
3552
3553 #[doc = "Output NMOS open-drain"]
3554 pub const _1: Self = Self::new(1);
3555 }
3556 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3557 pub struct Dscr_SPEC;
3558 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
3559 impl Dscr {
3560 #[doc = "Low drive"]
3561 pub const _00: Self = Self::new(0);
3562
3563 #[doc = "Middle drive"]
3564 pub const _01: Self = Self::new(1);
3565
3566 #[doc = "Setting prohibited"]
3567 pub const _10: Self = Self::new(2);
3568
3569 #[doc = "High drive"]
3570 pub const _11: Self = Self::new(3);
3571 }
3572 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3573 pub struct Eofr_SPEC;
3574 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
3575 impl Eofr {
3576 #[doc = "Don\'t care"]
3577 pub const _00: Self = Self::new(0);
3578
3579 #[doc = "Detect rising edge"]
3580 pub const _01: Self = Self::new(1);
3581
3582 #[doc = "Detect falling edge"]
3583 pub const _10: Self = Self::new(2);
3584
3585 #[doc = "Detect both edges"]
3586 pub const _11: Self = Self::new(3);
3587 }
3588 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3589 pub struct Isel_SPEC;
3590 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3591 impl Isel {
3592 #[doc = "Do not use as IRQn input pin"]
3593 pub const _0: Self = Self::new(0);
3594
3595 #[doc = "Use as IRQn input pin"]
3596 pub const _1: Self = Self::new(1);
3597 }
3598 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3599 pub struct Asel_SPEC;
3600 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
3601 impl Asel {
3602 #[doc = "Do not use as analog pin"]
3603 pub const _0: Self = Self::new(0);
3604
3605 #[doc = "Use as analog pin"]
3606 pub const _1: Self = Self::new(1);
3607 }
3608}
3609#[doc(hidden)]
3610#[derive(Copy, Clone, Eq, PartialEq)]
3611pub struct P00PfsBy_SPEC;
3612impl crate::sealed::RegSpec for P00PfsBy_SPEC {
3613 type DataType = u8;
3614}
3615
3616#[doc = "Port 00%s Pin Function Select Register"]
3617pub type P00PfsBy = crate::RegValueT<P00PfsBy_SPEC>;
3618
3619impl P00PfsBy {
3620 #[doc = "Port Output Data"]
3621 #[inline(always)]
3622 pub fn podr(
3623 self,
3624 ) -> crate::common::RegisterField<
3625 0,
3626 0x1,
3627 1,
3628 0,
3629 p00pfs_by::Podr,
3630 p00pfs_by::Podr,
3631 P00PfsBy_SPEC,
3632 crate::common::RW,
3633 > {
3634 crate::common::RegisterField::<
3635 0,
3636 0x1,
3637 1,
3638 0,
3639 p00pfs_by::Podr,
3640 p00pfs_by::Podr,
3641 P00PfsBy_SPEC,
3642 crate::common::RW,
3643 >::from_register(self, 0)
3644 }
3645
3646 #[doc = "Port State"]
3647 #[inline(always)]
3648 pub fn pidr(
3649 self,
3650 ) -> crate::common::RegisterField<
3651 1,
3652 0x1,
3653 1,
3654 0,
3655 p00pfs_by::Pidr,
3656 p00pfs_by::Pidr,
3657 P00PfsBy_SPEC,
3658 crate::common::R,
3659 > {
3660 crate::common::RegisterField::<
3661 1,
3662 0x1,
3663 1,
3664 0,
3665 p00pfs_by::Pidr,
3666 p00pfs_by::Pidr,
3667 P00PfsBy_SPEC,
3668 crate::common::R,
3669 >::from_register(self, 0)
3670 }
3671
3672 #[doc = "Port Direction"]
3673 #[inline(always)]
3674 pub fn pdr(
3675 self,
3676 ) -> crate::common::RegisterField<
3677 2,
3678 0x1,
3679 1,
3680 0,
3681 p00pfs_by::Pdr,
3682 p00pfs_by::Pdr,
3683 P00PfsBy_SPEC,
3684 crate::common::RW,
3685 > {
3686 crate::common::RegisterField::<
3687 2,
3688 0x1,
3689 1,
3690 0,
3691 p00pfs_by::Pdr,
3692 p00pfs_by::Pdr,
3693 P00PfsBy_SPEC,
3694 crate::common::RW,
3695 >::from_register(self, 0)
3696 }
3697
3698 #[doc = "Pull-up Control"]
3699 #[inline(always)]
3700 pub fn pcr(
3701 self,
3702 ) -> crate::common::RegisterField<
3703 4,
3704 0x1,
3705 1,
3706 0,
3707 p00pfs_by::Pcr,
3708 p00pfs_by::Pcr,
3709 P00PfsBy_SPEC,
3710 crate::common::RW,
3711 > {
3712 crate::common::RegisterField::<
3713 4,
3714 0x1,
3715 1,
3716 0,
3717 p00pfs_by::Pcr,
3718 p00pfs_by::Pcr,
3719 P00PfsBy_SPEC,
3720 crate::common::RW,
3721 >::from_register(self, 0)
3722 }
3723
3724 #[doc = "N-Channel Open-Drain Control"]
3725 #[inline(always)]
3726 pub fn ncodr(
3727 self,
3728 ) -> crate::common::RegisterField<
3729 6,
3730 0x1,
3731 1,
3732 0,
3733 p00pfs_by::Ncodr,
3734 p00pfs_by::Ncodr,
3735 P00PfsBy_SPEC,
3736 crate::common::RW,
3737 > {
3738 crate::common::RegisterField::<
3739 6,
3740 0x1,
3741 1,
3742 0,
3743 p00pfs_by::Ncodr,
3744 p00pfs_by::Ncodr,
3745 P00PfsBy_SPEC,
3746 crate::common::RW,
3747 >::from_register(self, 0)
3748 }
3749}
3750impl ::core::default::Default for P00PfsBy {
3751 #[inline(always)]
3752 fn default() -> P00PfsBy {
3753 <crate::RegValueT<P00PfsBy_SPEC> as RegisterValue<_>>::new(0)
3754 }
3755}
3756pub mod p00pfs_by {
3757
3758 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3759 pub struct Podr_SPEC;
3760 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3761 impl Podr {
3762 #[doc = "Output low"]
3763 pub const _0: Self = Self::new(0);
3764
3765 #[doc = "Output high"]
3766 pub const _1: Self = Self::new(1);
3767 }
3768 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3769 pub struct Pidr_SPEC;
3770 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3771 impl Pidr {
3772 #[doc = "Low level"]
3773 pub const _0: Self = Self::new(0);
3774
3775 #[doc = "High level"]
3776 pub const _1: Self = Self::new(1);
3777 }
3778 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3779 pub struct Pdr_SPEC;
3780 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3781 impl Pdr {
3782 #[doc = "Input (functions as an input pin)"]
3783 pub const _0: Self = Self::new(0);
3784
3785 #[doc = "Output (functions as an output pin)"]
3786 pub const _1: Self = Self::new(1);
3787 }
3788 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3789 pub struct Pcr_SPEC;
3790 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3791 impl Pcr {
3792 #[doc = "Disable input pull-up"]
3793 pub const _0: Self = Self::new(0);
3794
3795 #[doc = "Enable input pull-up"]
3796 pub const _1: Self = Self::new(1);
3797 }
3798 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3799 pub struct Ncodr_SPEC;
3800 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3801 impl Ncodr {
3802 #[doc = "Output CMOS"]
3803 pub const _0: Self = Self::new(0);
3804
3805 #[doc = "Output NMOS open-drain"]
3806 pub const _1: Self = Self::new(1);
3807 }
3808}
3809#[doc(hidden)]
3810#[derive(Copy, Clone, Eq, PartialEq)]
3811pub struct P008Pfs_SPEC;
3812impl crate::sealed::RegSpec for P008Pfs_SPEC {
3813 type DataType = u32;
3814}
3815
3816#[doc = "Port 008 Pin Function Select Register"]
3817pub type P008Pfs = crate::RegValueT<P008Pfs_SPEC>;
3818
3819impl P008Pfs {
3820 #[doc = "Port Output Data"]
3821 #[inline(always)]
3822 pub fn podr(
3823 self,
3824 ) -> crate::common::RegisterField<
3825 0,
3826 0x1,
3827 1,
3828 0,
3829 p008pfs::Podr,
3830 p008pfs::Podr,
3831 P008Pfs_SPEC,
3832 crate::common::RW,
3833 > {
3834 crate::common::RegisterField::<
3835 0,
3836 0x1,
3837 1,
3838 0,
3839 p008pfs::Podr,
3840 p008pfs::Podr,
3841 P008Pfs_SPEC,
3842 crate::common::RW,
3843 >::from_register(self, 0)
3844 }
3845
3846 #[doc = "Port State"]
3847 #[inline(always)]
3848 pub fn pidr(
3849 self,
3850 ) -> crate::common::RegisterField<
3851 1,
3852 0x1,
3853 1,
3854 0,
3855 p008pfs::Pidr,
3856 p008pfs::Pidr,
3857 P008Pfs_SPEC,
3858 crate::common::R,
3859 > {
3860 crate::common::RegisterField::<
3861 1,
3862 0x1,
3863 1,
3864 0,
3865 p008pfs::Pidr,
3866 p008pfs::Pidr,
3867 P008Pfs_SPEC,
3868 crate::common::R,
3869 >::from_register(self, 0)
3870 }
3871
3872 #[doc = "Port Direction"]
3873 #[inline(always)]
3874 pub fn pdr(
3875 self,
3876 ) -> crate::common::RegisterField<
3877 2,
3878 0x1,
3879 1,
3880 0,
3881 p008pfs::Pdr,
3882 p008pfs::Pdr,
3883 P008Pfs_SPEC,
3884 crate::common::RW,
3885 > {
3886 crate::common::RegisterField::<
3887 2,
3888 0x1,
3889 1,
3890 0,
3891 p008pfs::Pdr,
3892 p008pfs::Pdr,
3893 P008Pfs_SPEC,
3894 crate::common::RW,
3895 >::from_register(self, 0)
3896 }
3897
3898 #[doc = "Pull-up Control"]
3899 #[inline(always)]
3900 pub fn pcr(
3901 self,
3902 ) -> crate::common::RegisterField<
3903 4,
3904 0x1,
3905 1,
3906 0,
3907 p008pfs::Pcr,
3908 p008pfs::Pcr,
3909 P008Pfs_SPEC,
3910 crate::common::RW,
3911 > {
3912 crate::common::RegisterField::<
3913 4,
3914 0x1,
3915 1,
3916 0,
3917 p008pfs::Pcr,
3918 p008pfs::Pcr,
3919 P008Pfs_SPEC,
3920 crate::common::RW,
3921 >::from_register(self, 0)
3922 }
3923
3924 #[doc = "N-Channel Open-Drain Control"]
3925 #[inline(always)]
3926 pub fn ncodr(
3927 self,
3928 ) -> crate::common::RegisterField<
3929 6,
3930 0x1,
3931 1,
3932 0,
3933 p008pfs::Ncodr,
3934 p008pfs::Ncodr,
3935 P008Pfs_SPEC,
3936 crate::common::RW,
3937 > {
3938 crate::common::RegisterField::<
3939 6,
3940 0x1,
3941 1,
3942 0,
3943 p008pfs::Ncodr,
3944 p008pfs::Ncodr,
3945 P008Pfs_SPEC,
3946 crate::common::RW,
3947 >::from_register(self, 0)
3948 }
3949
3950 #[doc = "Port Drive Capability"]
3951 #[inline(always)]
3952 pub fn dscr(
3953 self,
3954 ) -> crate::common::RegisterField<
3955 10,
3956 0x3,
3957 1,
3958 0,
3959 p008pfs::Dscr,
3960 p008pfs::Dscr,
3961 P008Pfs_SPEC,
3962 crate::common::RW,
3963 > {
3964 crate::common::RegisterField::<
3965 10,
3966 0x3,
3967 1,
3968 0,
3969 p008pfs::Dscr,
3970 p008pfs::Dscr,
3971 P008Pfs_SPEC,
3972 crate::common::RW,
3973 >::from_register(self, 0)
3974 }
3975
3976 #[doc = "Event on Falling/Event on Rising"]
3977 #[inline(always)]
3978 pub fn eofr(
3979 self,
3980 ) -> crate::common::RegisterField<
3981 12,
3982 0x3,
3983 1,
3984 0,
3985 p008pfs::Eofr,
3986 p008pfs::Eofr,
3987 P008Pfs_SPEC,
3988 crate::common::RW,
3989 > {
3990 crate::common::RegisterField::<
3991 12,
3992 0x3,
3993 1,
3994 0,
3995 p008pfs::Eofr,
3996 p008pfs::Eofr,
3997 P008Pfs_SPEC,
3998 crate::common::RW,
3999 >::from_register(self, 0)
4000 }
4001
4002 #[doc = "IRQ Input Enable"]
4003 #[inline(always)]
4004 pub fn isel(
4005 self,
4006 ) -> crate::common::RegisterField<
4007 14,
4008 0x1,
4009 1,
4010 0,
4011 p008pfs::Isel,
4012 p008pfs::Isel,
4013 P008Pfs_SPEC,
4014 crate::common::RW,
4015 > {
4016 crate::common::RegisterField::<
4017 14,
4018 0x1,
4019 1,
4020 0,
4021 p008pfs::Isel,
4022 p008pfs::Isel,
4023 P008Pfs_SPEC,
4024 crate::common::RW,
4025 >::from_register(self, 0)
4026 }
4027
4028 #[doc = "Analog Input Enable"]
4029 #[inline(always)]
4030 pub fn asel(
4031 self,
4032 ) -> crate::common::RegisterField<
4033 15,
4034 0x1,
4035 1,
4036 0,
4037 p008pfs::Asel,
4038 p008pfs::Asel,
4039 P008Pfs_SPEC,
4040 crate::common::RW,
4041 > {
4042 crate::common::RegisterField::<
4043 15,
4044 0x1,
4045 1,
4046 0,
4047 p008pfs::Asel,
4048 p008pfs::Asel,
4049 P008Pfs_SPEC,
4050 crate::common::RW,
4051 >::from_register(self, 0)
4052 }
4053
4054 #[doc = "Port Mode Control"]
4055 #[inline(always)]
4056 pub fn pmr(
4057 self,
4058 ) -> crate::common::RegisterField<
4059 16,
4060 0x1,
4061 1,
4062 0,
4063 p008pfs::Pmr,
4064 p008pfs::Pmr,
4065 P008Pfs_SPEC,
4066 crate::common::RW,
4067 > {
4068 crate::common::RegisterField::<
4069 16,
4070 0x1,
4071 1,
4072 0,
4073 p008pfs::Pmr,
4074 p008pfs::Pmr,
4075 P008Pfs_SPEC,
4076 crate::common::RW,
4077 >::from_register(self, 0)
4078 }
4079
4080 #[doc = "Peripheral Select"]
4081 #[inline(always)]
4082 pub fn psel(
4083 self,
4084 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P008Pfs_SPEC, crate::common::RW> {
4085 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P008Pfs_SPEC,crate::common::RW>::from_register(self,0)
4086 }
4087}
4088impl ::core::default::Default for P008Pfs {
4089 #[inline(always)]
4090 fn default() -> P008Pfs {
4091 <crate::RegValueT<P008Pfs_SPEC> as RegisterValue<_>>::new(66576)
4092 }
4093}
4094pub mod p008pfs {
4095
4096 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4097 pub struct Podr_SPEC;
4098 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4099 impl Podr {
4100 #[doc = "Output low"]
4101 pub const _0: Self = Self::new(0);
4102
4103 #[doc = "Output high"]
4104 pub const _1: Self = Self::new(1);
4105 }
4106 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4107 pub struct Pidr_SPEC;
4108 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4109 impl Pidr {
4110 #[doc = "Low level"]
4111 pub const _0: Self = Self::new(0);
4112
4113 #[doc = "High level"]
4114 pub const _1: Self = Self::new(1);
4115 }
4116 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4117 pub struct Pdr_SPEC;
4118 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4119 impl Pdr {
4120 #[doc = "Input (functions as an input pin)"]
4121 pub const _0: Self = Self::new(0);
4122
4123 #[doc = "Output (functions as an output pin)"]
4124 pub const _1: Self = Self::new(1);
4125 }
4126 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4127 pub struct Pcr_SPEC;
4128 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4129 impl Pcr {
4130 #[doc = "Disable input pull-up"]
4131 pub const _0: Self = Self::new(0);
4132
4133 #[doc = "Enable input pull-up"]
4134 pub const _1: Self = Self::new(1);
4135 }
4136 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4137 pub struct Ncodr_SPEC;
4138 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4139 impl Ncodr {
4140 #[doc = "Output CMOS"]
4141 pub const _0: Self = Self::new(0);
4142
4143 #[doc = "Output NMOS open-drain"]
4144 pub const _1: Self = Self::new(1);
4145 }
4146 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4147 pub struct Dscr_SPEC;
4148 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
4149 impl Dscr {
4150 #[doc = "Low drive"]
4151 pub const _00: Self = Self::new(0);
4152
4153 #[doc = "Middle drive"]
4154 pub const _01: Self = Self::new(1);
4155
4156 #[doc = "Setting prohibited"]
4157 pub const _10: Self = Self::new(2);
4158
4159 #[doc = "High drive"]
4160 pub const _11: Self = Self::new(3);
4161 }
4162 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4163 pub struct Eofr_SPEC;
4164 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
4165 impl Eofr {
4166 #[doc = "Don\'t care"]
4167 pub const _00: Self = Self::new(0);
4168
4169 #[doc = "Detect rising edge"]
4170 pub const _01: Self = Self::new(1);
4171
4172 #[doc = "Detect falling edge"]
4173 pub const _10: Self = Self::new(2);
4174
4175 #[doc = "Detect both edges"]
4176 pub const _11: Self = Self::new(3);
4177 }
4178 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4179 pub struct Isel_SPEC;
4180 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4181 impl Isel {
4182 #[doc = "Do not use as IRQn input pin"]
4183 pub const _0: Self = Self::new(0);
4184
4185 #[doc = "Use as IRQn input pin"]
4186 pub const _1: Self = Self::new(1);
4187 }
4188 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4189 pub struct Asel_SPEC;
4190 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4191 impl Asel {
4192 #[doc = "Do not use as analog pin"]
4193 pub const _0: Self = Self::new(0);
4194
4195 #[doc = "Use as analog pin"]
4196 pub const _1: Self = Self::new(1);
4197 }
4198 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4199 pub struct Pmr_SPEC;
4200 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
4201 impl Pmr {
4202 #[doc = "Use as general I/O pin"]
4203 pub const _0: Self = Self::new(0);
4204
4205 #[doc = "Use as I/O port for peripheral functions"]
4206 pub const _1: Self = Self::new(1);
4207 }
4208}
4209#[doc(hidden)]
4210#[derive(Copy, Clone, Eq, PartialEq)]
4211pub struct P008PfsHa_SPEC;
4212impl crate::sealed::RegSpec for P008PfsHa_SPEC {
4213 type DataType = u16;
4214}
4215
4216#[doc = "Port 008 Pin Function Select Register"]
4217pub type P008PfsHa = crate::RegValueT<P008PfsHa_SPEC>;
4218
4219impl P008PfsHa {
4220 #[doc = "Port Output Data"]
4221 #[inline(always)]
4222 pub fn podr(
4223 self,
4224 ) -> crate::common::RegisterField<
4225 0,
4226 0x1,
4227 1,
4228 0,
4229 p008pfs_ha::Podr,
4230 p008pfs_ha::Podr,
4231 P008PfsHa_SPEC,
4232 crate::common::RW,
4233 > {
4234 crate::common::RegisterField::<
4235 0,
4236 0x1,
4237 1,
4238 0,
4239 p008pfs_ha::Podr,
4240 p008pfs_ha::Podr,
4241 P008PfsHa_SPEC,
4242 crate::common::RW,
4243 >::from_register(self, 0)
4244 }
4245
4246 #[doc = "Port State"]
4247 #[inline(always)]
4248 pub fn pidr(
4249 self,
4250 ) -> crate::common::RegisterField<
4251 1,
4252 0x1,
4253 1,
4254 0,
4255 p008pfs_ha::Pidr,
4256 p008pfs_ha::Pidr,
4257 P008PfsHa_SPEC,
4258 crate::common::R,
4259 > {
4260 crate::common::RegisterField::<
4261 1,
4262 0x1,
4263 1,
4264 0,
4265 p008pfs_ha::Pidr,
4266 p008pfs_ha::Pidr,
4267 P008PfsHa_SPEC,
4268 crate::common::R,
4269 >::from_register(self, 0)
4270 }
4271
4272 #[doc = "Port Direction"]
4273 #[inline(always)]
4274 pub fn pdr(
4275 self,
4276 ) -> crate::common::RegisterField<
4277 2,
4278 0x1,
4279 1,
4280 0,
4281 p008pfs_ha::Pdr,
4282 p008pfs_ha::Pdr,
4283 P008PfsHa_SPEC,
4284 crate::common::RW,
4285 > {
4286 crate::common::RegisterField::<
4287 2,
4288 0x1,
4289 1,
4290 0,
4291 p008pfs_ha::Pdr,
4292 p008pfs_ha::Pdr,
4293 P008PfsHa_SPEC,
4294 crate::common::RW,
4295 >::from_register(self, 0)
4296 }
4297
4298 #[doc = "Pull-up Control"]
4299 #[inline(always)]
4300 pub fn pcr(
4301 self,
4302 ) -> crate::common::RegisterField<
4303 4,
4304 0x1,
4305 1,
4306 0,
4307 p008pfs_ha::Pcr,
4308 p008pfs_ha::Pcr,
4309 P008PfsHa_SPEC,
4310 crate::common::RW,
4311 > {
4312 crate::common::RegisterField::<
4313 4,
4314 0x1,
4315 1,
4316 0,
4317 p008pfs_ha::Pcr,
4318 p008pfs_ha::Pcr,
4319 P008PfsHa_SPEC,
4320 crate::common::RW,
4321 >::from_register(self, 0)
4322 }
4323
4324 #[doc = "N-Channel Open-Drain Control"]
4325 #[inline(always)]
4326 pub fn ncodr(
4327 self,
4328 ) -> crate::common::RegisterField<
4329 6,
4330 0x1,
4331 1,
4332 0,
4333 p008pfs_ha::Ncodr,
4334 p008pfs_ha::Ncodr,
4335 P008PfsHa_SPEC,
4336 crate::common::RW,
4337 > {
4338 crate::common::RegisterField::<
4339 6,
4340 0x1,
4341 1,
4342 0,
4343 p008pfs_ha::Ncodr,
4344 p008pfs_ha::Ncodr,
4345 P008PfsHa_SPEC,
4346 crate::common::RW,
4347 >::from_register(self, 0)
4348 }
4349
4350 #[doc = "Port Drive Capability"]
4351 #[inline(always)]
4352 pub fn dscr(
4353 self,
4354 ) -> crate::common::RegisterField<
4355 10,
4356 0x3,
4357 1,
4358 0,
4359 p008pfs_ha::Dscr,
4360 p008pfs_ha::Dscr,
4361 P008PfsHa_SPEC,
4362 crate::common::RW,
4363 > {
4364 crate::common::RegisterField::<
4365 10,
4366 0x3,
4367 1,
4368 0,
4369 p008pfs_ha::Dscr,
4370 p008pfs_ha::Dscr,
4371 P008PfsHa_SPEC,
4372 crate::common::RW,
4373 >::from_register(self, 0)
4374 }
4375
4376 #[doc = "Event on Falling/Event on Rising"]
4377 #[inline(always)]
4378 pub fn eofr(
4379 self,
4380 ) -> crate::common::RegisterField<
4381 12,
4382 0x3,
4383 1,
4384 0,
4385 p008pfs_ha::Eofr,
4386 p008pfs_ha::Eofr,
4387 P008PfsHa_SPEC,
4388 crate::common::RW,
4389 > {
4390 crate::common::RegisterField::<
4391 12,
4392 0x3,
4393 1,
4394 0,
4395 p008pfs_ha::Eofr,
4396 p008pfs_ha::Eofr,
4397 P008PfsHa_SPEC,
4398 crate::common::RW,
4399 >::from_register(self, 0)
4400 }
4401
4402 #[doc = "IRQ Input Enable"]
4403 #[inline(always)]
4404 pub fn isel(
4405 self,
4406 ) -> crate::common::RegisterField<
4407 14,
4408 0x1,
4409 1,
4410 0,
4411 p008pfs_ha::Isel,
4412 p008pfs_ha::Isel,
4413 P008PfsHa_SPEC,
4414 crate::common::RW,
4415 > {
4416 crate::common::RegisterField::<
4417 14,
4418 0x1,
4419 1,
4420 0,
4421 p008pfs_ha::Isel,
4422 p008pfs_ha::Isel,
4423 P008PfsHa_SPEC,
4424 crate::common::RW,
4425 >::from_register(self, 0)
4426 }
4427
4428 #[doc = "Analog Input Enable"]
4429 #[inline(always)]
4430 pub fn asel(
4431 self,
4432 ) -> crate::common::RegisterField<
4433 15,
4434 0x1,
4435 1,
4436 0,
4437 p008pfs_ha::Asel,
4438 p008pfs_ha::Asel,
4439 P008PfsHa_SPEC,
4440 crate::common::RW,
4441 > {
4442 crate::common::RegisterField::<
4443 15,
4444 0x1,
4445 1,
4446 0,
4447 p008pfs_ha::Asel,
4448 p008pfs_ha::Asel,
4449 P008PfsHa_SPEC,
4450 crate::common::RW,
4451 >::from_register(self, 0)
4452 }
4453}
4454impl ::core::default::Default for P008PfsHa {
4455 #[inline(always)]
4456 fn default() -> P008PfsHa {
4457 <crate::RegValueT<P008PfsHa_SPEC> as RegisterValue<_>>::new(1040)
4458 }
4459}
4460pub mod p008pfs_ha {
4461
4462 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4463 pub struct Podr_SPEC;
4464 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4465 impl Podr {
4466 #[doc = "Output low"]
4467 pub const _0: Self = Self::new(0);
4468
4469 #[doc = "Output high"]
4470 pub const _1: Self = Self::new(1);
4471 }
4472 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4473 pub struct Pidr_SPEC;
4474 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4475 impl Pidr {
4476 #[doc = "Low level"]
4477 pub const _0: Self = Self::new(0);
4478
4479 #[doc = "High level"]
4480 pub const _1: Self = Self::new(1);
4481 }
4482 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4483 pub struct Pdr_SPEC;
4484 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4485 impl Pdr {
4486 #[doc = "Input (functions as an input pin)"]
4487 pub const _0: Self = Self::new(0);
4488
4489 #[doc = "Output (functions as an output pin)"]
4490 pub const _1: Self = Self::new(1);
4491 }
4492 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4493 pub struct Pcr_SPEC;
4494 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4495 impl Pcr {
4496 #[doc = "Disable input pull-up"]
4497 pub const _0: Self = Self::new(0);
4498
4499 #[doc = "Enable input pull-up"]
4500 pub const _1: Self = Self::new(1);
4501 }
4502 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4503 pub struct Ncodr_SPEC;
4504 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4505 impl Ncodr {
4506 #[doc = "Output CMOS"]
4507 pub const _0: Self = Self::new(0);
4508
4509 #[doc = "Output NMOS open-drain"]
4510 pub const _1: Self = Self::new(1);
4511 }
4512 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4513 pub struct Dscr_SPEC;
4514 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
4515 impl Dscr {
4516 #[doc = "Low drive"]
4517 pub const _00: Self = Self::new(0);
4518
4519 #[doc = "Middle drive"]
4520 pub const _01: Self = Self::new(1);
4521
4522 #[doc = "Setting prohibited"]
4523 pub const _10: Self = Self::new(2);
4524
4525 #[doc = "High drive"]
4526 pub const _11: Self = Self::new(3);
4527 }
4528 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4529 pub struct Eofr_SPEC;
4530 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
4531 impl Eofr {
4532 #[doc = "Don\'t care"]
4533 pub const _00: Self = Self::new(0);
4534
4535 #[doc = "Detect rising edge"]
4536 pub const _01: Self = Self::new(1);
4537
4538 #[doc = "Detect falling edge"]
4539 pub const _10: Self = Self::new(2);
4540
4541 #[doc = "Detect both edges"]
4542 pub const _11: Self = Self::new(3);
4543 }
4544 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4545 pub struct Isel_SPEC;
4546 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4547 impl Isel {
4548 #[doc = "Do not use as IRQn input pin"]
4549 pub const _0: Self = Self::new(0);
4550
4551 #[doc = "Use as IRQn input pin"]
4552 pub const _1: Self = Self::new(1);
4553 }
4554 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4555 pub struct Asel_SPEC;
4556 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4557 impl Asel {
4558 #[doc = "Do not use as analog pin"]
4559 pub const _0: Self = Self::new(0);
4560
4561 #[doc = "Use as analog pin"]
4562 pub const _1: Self = Self::new(1);
4563 }
4564}
4565#[doc(hidden)]
4566#[derive(Copy, Clone, Eq, PartialEq)]
4567pub struct P008PfsBy_SPEC;
4568impl crate::sealed::RegSpec for P008PfsBy_SPEC {
4569 type DataType = u8;
4570}
4571
4572#[doc = "Port 008 Pin Function Select Register"]
4573pub type P008PfsBy = crate::RegValueT<P008PfsBy_SPEC>;
4574
4575impl P008PfsBy {
4576 #[doc = "Port Output Data"]
4577 #[inline(always)]
4578 pub fn podr(
4579 self,
4580 ) -> crate::common::RegisterField<
4581 0,
4582 0x1,
4583 1,
4584 0,
4585 p008pfs_by::Podr,
4586 p008pfs_by::Podr,
4587 P008PfsBy_SPEC,
4588 crate::common::RW,
4589 > {
4590 crate::common::RegisterField::<
4591 0,
4592 0x1,
4593 1,
4594 0,
4595 p008pfs_by::Podr,
4596 p008pfs_by::Podr,
4597 P008PfsBy_SPEC,
4598 crate::common::RW,
4599 >::from_register(self, 0)
4600 }
4601
4602 #[doc = "Port State"]
4603 #[inline(always)]
4604 pub fn pidr(
4605 self,
4606 ) -> crate::common::RegisterField<
4607 1,
4608 0x1,
4609 1,
4610 0,
4611 p008pfs_by::Pidr,
4612 p008pfs_by::Pidr,
4613 P008PfsBy_SPEC,
4614 crate::common::R,
4615 > {
4616 crate::common::RegisterField::<
4617 1,
4618 0x1,
4619 1,
4620 0,
4621 p008pfs_by::Pidr,
4622 p008pfs_by::Pidr,
4623 P008PfsBy_SPEC,
4624 crate::common::R,
4625 >::from_register(self, 0)
4626 }
4627
4628 #[doc = "Port Direction"]
4629 #[inline(always)]
4630 pub fn pdr(
4631 self,
4632 ) -> crate::common::RegisterField<
4633 2,
4634 0x1,
4635 1,
4636 0,
4637 p008pfs_by::Pdr,
4638 p008pfs_by::Pdr,
4639 P008PfsBy_SPEC,
4640 crate::common::RW,
4641 > {
4642 crate::common::RegisterField::<
4643 2,
4644 0x1,
4645 1,
4646 0,
4647 p008pfs_by::Pdr,
4648 p008pfs_by::Pdr,
4649 P008PfsBy_SPEC,
4650 crate::common::RW,
4651 >::from_register(self, 0)
4652 }
4653
4654 #[doc = "Pull-up Control"]
4655 #[inline(always)]
4656 pub fn pcr(
4657 self,
4658 ) -> crate::common::RegisterField<
4659 4,
4660 0x1,
4661 1,
4662 0,
4663 p008pfs_by::Pcr,
4664 p008pfs_by::Pcr,
4665 P008PfsBy_SPEC,
4666 crate::common::RW,
4667 > {
4668 crate::common::RegisterField::<
4669 4,
4670 0x1,
4671 1,
4672 0,
4673 p008pfs_by::Pcr,
4674 p008pfs_by::Pcr,
4675 P008PfsBy_SPEC,
4676 crate::common::RW,
4677 >::from_register(self, 0)
4678 }
4679
4680 #[doc = "N-Channel Open-Drain Control"]
4681 #[inline(always)]
4682 pub fn ncodr(
4683 self,
4684 ) -> crate::common::RegisterField<
4685 6,
4686 0x1,
4687 1,
4688 0,
4689 p008pfs_by::Ncodr,
4690 p008pfs_by::Ncodr,
4691 P008PfsBy_SPEC,
4692 crate::common::RW,
4693 > {
4694 crate::common::RegisterField::<
4695 6,
4696 0x1,
4697 1,
4698 0,
4699 p008pfs_by::Ncodr,
4700 p008pfs_by::Ncodr,
4701 P008PfsBy_SPEC,
4702 crate::common::RW,
4703 >::from_register(self, 0)
4704 }
4705}
4706impl ::core::default::Default for P008PfsBy {
4707 #[inline(always)]
4708 fn default() -> P008PfsBy {
4709 <crate::RegValueT<P008PfsBy_SPEC> as RegisterValue<_>>::new(16)
4710 }
4711}
4712pub mod p008pfs_by {
4713
4714 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4715 pub struct Podr_SPEC;
4716 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4717 impl Podr {
4718 #[doc = "Output low"]
4719 pub const _0: Self = Self::new(0);
4720
4721 #[doc = "Output high"]
4722 pub const _1: Self = Self::new(1);
4723 }
4724 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4725 pub struct Pidr_SPEC;
4726 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4727 impl Pidr {
4728 #[doc = "Low level"]
4729 pub const _0: Self = Self::new(0);
4730
4731 #[doc = "High level"]
4732 pub const _1: Self = Self::new(1);
4733 }
4734 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4735 pub struct Pdr_SPEC;
4736 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4737 impl Pdr {
4738 #[doc = "Input (functions as an input pin)"]
4739 pub const _0: Self = Self::new(0);
4740
4741 #[doc = "Output (functions as an output pin)"]
4742 pub const _1: Self = Self::new(1);
4743 }
4744 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4745 pub struct Pcr_SPEC;
4746 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4747 impl Pcr {
4748 #[doc = "Disable input pull-up"]
4749 pub const _0: Self = Self::new(0);
4750
4751 #[doc = "Enable input pull-up"]
4752 pub const _1: Self = Self::new(1);
4753 }
4754 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4755 pub struct Ncodr_SPEC;
4756 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4757 impl Ncodr {
4758 #[doc = "Output CMOS"]
4759 pub const _0: Self = Self::new(0);
4760
4761 #[doc = "Output NMOS open-drain"]
4762 pub const _1: Self = Self::new(1);
4763 }
4764}
4765#[doc(hidden)]
4766#[derive(Copy, Clone, Eq, PartialEq)]
4767pub struct P0Pfs_SPEC;
4768impl crate::sealed::RegSpec for P0Pfs_SPEC {
4769 type DataType = u32;
4770}
4771
4772#[doc = "Port 0%s Pin Function Select Register"]
4773pub type P0Pfs = crate::RegValueT<P0Pfs_SPEC>;
4774
4775impl P0Pfs {
4776 #[doc = "Port Output Data"]
4777 #[inline(always)]
4778 pub fn podr(
4779 self,
4780 ) -> crate::common::RegisterField<
4781 0,
4782 0x1,
4783 1,
4784 0,
4785 p0pfs::Podr,
4786 p0pfs::Podr,
4787 P0Pfs_SPEC,
4788 crate::common::RW,
4789 > {
4790 crate::common::RegisterField::<
4791 0,
4792 0x1,
4793 1,
4794 0,
4795 p0pfs::Podr,
4796 p0pfs::Podr,
4797 P0Pfs_SPEC,
4798 crate::common::RW,
4799 >::from_register(self, 0)
4800 }
4801
4802 #[doc = "Port State"]
4803 #[inline(always)]
4804 pub fn pidr(
4805 self,
4806 ) -> crate::common::RegisterField<
4807 1,
4808 0x1,
4809 1,
4810 0,
4811 p0pfs::Pidr,
4812 p0pfs::Pidr,
4813 P0Pfs_SPEC,
4814 crate::common::R,
4815 > {
4816 crate::common::RegisterField::<
4817 1,
4818 0x1,
4819 1,
4820 0,
4821 p0pfs::Pidr,
4822 p0pfs::Pidr,
4823 P0Pfs_SPEC,
4824 crate::common::R,
4825 >::from_register(self, 0)
4826 }
4827
4828 #[doc = "Port Direction"]
4829 #[inline(always)]
4830 pub fn pdr(
4831 self,
4832 ) -> crate::common::RegisterField<
4833 2,
4834 0x1,
4835 1,
4836 0,
4837 p0pfs::Pdr,
4838 p0pfs::Pdr,
4839 P0Pfs_SPEC,
4840 crate::common::RW,
4841 > {
4842 crate::common::RegisterField::<
4843 2,
4844 0x1,
4845 1,
4846 0,
4847 p0pfs::Pdr,
4848 p0pfs::Pdr,
4849 P0Pfs_SPEC,
4850 crate::common::RW,
4851 >::from_register(self, 0)
4852 }
4853
4854 #[doc = "Pull-up Control"]
4855 #[inline(always)]
4856 pub fn pcr(
4857 self,
4858 ) -> crate::common::RegisterField<
4859 4,
4860 0x1,
4861 1,
4862 0,
4863 p0pfs::Pcr,
4864 p0pfs::Pcr,
4865 P0Pfs_SPEC,
4866 crate::common::RW,
4867 > {
4868 crate::common::RegisterField::<
4869 4,
4870 0x1,
4871 1,
4872 0,
4873 p0pfs::Pcr,
4874 p0pfs::Pcr,
4875 P0Pfs_SPEC,
4876 crate::common::RW,
4877 >::from_register(self, 0)
4878 }
4879
4880 #[doc = "N-Channel Open-Drain Control"]
4881 #[inline(always)]
4882 pub fn ncodr(
4883 self,
4884 ) -> crate::common::RegisterField<
4885 6,
4886 0x1,
4887 1,
4888 0,
4889 p0pfs::Ncodr,
4890 p0pfs::Ncodr,
4891 P0Pfs_SPEC,
4892 crate::common::RW,
4893 > {
4894 crate::common::RegisterField::<
4895 6,
4896 0x1,
4897 1,
4898 0,
4899 p0pfs::Ncodr,
4900 p0pfs::Ncodr,
4901 P0Pfs_SPEC,
4902 crate::common::RW,
4903 >::from_register(self, 0)
4904 }
4905
4906 #[doc = "Port Drive Capability"]
4907 #[inline(always)]
4908 pub fn dscr(
4909 self,
4910 ) -> crate::common::RegisterField<
4911 10,
4912 0x3,
4913 1,
4914 0,
4915 p0pfs::Dscr,
4916 p0pfs::Dscr,
4917 P0Pfs_SPEC,
4918 crate::common::RW,
4919 > {
4920 crate::common::RegisterField::<
4921 10,
4922 0x3,
4923 1,
4924 0,
4925 p0pfs::Dscr,
4926 p0pfs::Dscr,
4927 P0Pfs_SPEC,
4928 crate::common::RW,
4929 >::from_register(self, 0)
4930 }
4931
4932 #[doc = "Event on Falling/Event on Rising"]
4933 #[inline(always)]
4934 pub fn eofr(
4935 self,
4936 ) -> crate::common::RegisterField<
4937 12,
4938 0x3,
4939 1,
4940 0,
4941 p0pfs::Eofr,
4942 p0pfs::Eofr,
4943 P0Pfs_SPEC,
4944 crate::common::RW,
4945 > {
4946 crate::common::RegisterField::<
4947 12,
4948 0x3,
4949 1,
4950 0,
4951 p0pfs::Eofr,
4952 p0pfs::Eofr,
4953 P0Pfs_SPEC,
4954 crate::common::RW,
4955 >::from_register(self, 0)
4956 }
4957
4958 #[doc = "IRQ Input Enable"]
4959 #[inline(always)]
4960 pub fn isel(
4961 self,
4962 ) -> crate::common::RegisterField<
4963 14,
4964 0x1,
4965 1,
4966 0,
4967 p0pfs::Isel,
4968 p0pfs::Isel,
4969 P0Pfs_SPEC,
4970 crate::common::RW,
4971 > {
4972 crate::common::RegisterField::<
4973 14,
4974 0x1,
4975 1,
4976 0,
4977 p0pfs::Isel,
4978 p0pfs::Isel,
4979 P0Pfs_SPEC,
4980 crate::common::RW,
4981 >::from_register(self, 0)
4982 }
4983
4984 #[doc = "Analog Input Enable"]
4985 #[inline(always)]
4986 pub fn asel(
4987 self,
4988 ) -> crate::common::RegisterField<
4989 15,
4990 0x1,
4991 1,
4992 0,
4993 p0pfs::Asel,
4994 p0pfs::Asel,
4995 P0Pfs_SPEC,
4996 crate::common::RW,
4997 > {
4998 crate::common::RegisterField::<
4999 15,
5000 0x1,
5001 1,
5002 0,
5003 p0pfs::Asel,
5004 p0pfs::Asel,
5005 P0Pfs_SPEC,
5006 crate::common::RW,
5007 >::from_register(self, 0)
5008 }
5009
5010 #[doc = "Port Mode Control"]
5011 #[inline(always)]
5012 pub fn pmr(
5013 self,
5014 ) -> crate::common::RegisterField<
5015 16,
5016 0x1,
5017 1,
5018 0,
5019 p0pfs::Pmr,
5020 p0pfs::Pmr,
5021 P0Pfs_SPEC,
5022 crate::common::RW,
5023 > {
5024 crate::common::RegisterField::<
5025 16,
5026 0x1,
5027 1,
5028 0,
5029 p0pfs::Pmr,
5030 p0pfs::Pmr,
5031 P0Pfs_SPEC,
5032 crate::common::RW,
5033 >::from_register(self, 0)
5034 }
5035
5036 #[doc = "Peripheral Select"]
5037 #[inline(always)]
5038 pub fn psel(
5039 self,
5040 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P0Pfs_SPEC, crate::common::RW> {
5041 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P0Pfs_SPEC,crate::common::RW>::from_register(self,0)
5042 }
5043}
5044impl ::core::default::Default for P0Pfs {
5045 #[inline(always)]
5046 fn default() -> P0Pfs {
5047 <crate::RegValueT<P0Pfs_SPEC> as RegisterValue<_>>::new(0)
5048 }
5049}
5050pub mod p0pfs {
5051
5052 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5053 pub struct Podr_SPEC;
5054 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5055 impl Podr {
5056 #[doc = "Output low"]
5057 pub const _0: Self = Self::new(0);
5058
5059 #[doc = "Output high"]
5060 pub const _1: Self = Self::new(1);
5061 }
5062 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5063 pub struct Pidr_SPEC;
5064 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5065 impl Pidr {
5066 #[doc = "Low level"]
5067 pub const _0: Self = Self::new(0);
5068
5069 #[doc = "High level"]
5070 pub const _1: Self = Self::new(1);
5071 }
5072 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5073 pub struct Pdr_SPEC;
5074 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5075 impl Pdr {
5076 #[doc = "Input (functions as an input pin)"]
5077 pub const _0: Self = Self::new(0);
5078
5079 #[doc = "Output (functions as an output pin)"]
5080 pub const _1: Self = Self::new(1);
5081 }
5082 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5083 pub struct Pcr_SPEC;
5084 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5085 impl Pcr {
5086 #[doc = "Disable input pull-up"]
5087 pub const _0: Self = Self::new(0);
5088
5089 #[doc = "Enable input pull-up"]
5090 pub const _1: Self = Self::new(1);
5091 }
5092 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5093 pub struct Ncodr_SPEC;
5094 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5095 impl Ncodr {
5096 #[doc = "Output CMOS"]
5097 pub const _0: Self = Self::new(0);
5098
5099 #[doc = "Output NMOS open-drain"]
5100 pub const _1: Self = Self::new(1);
5101 }
5102 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5103 pub struct Dscr_SPEC;
5104 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
5105 impl Dscr {
5106 #[doc = "Low drive"]
5107 pub const _00: Self = Self::new(0);
5108
5109 #[doc = "Middle drive"]
5110 pub const _01: Self = Self::new(1);
5111
5112 #[doc = "Setting prohibited"]
5113 pub const _10: Self = Self::new(2);
5114
5115 #[doc = "High drive"]
5116 pub const _11: Self = Self::new(3);
5117 }
5118 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5119 pub struct Eofr_SPEC;
5120 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
5121 impl Eofr {
5122 #[doc = "Don\'t care"]
5123 pub const _00: Self = Self::new(0);
5124
5125 #[doc = "Detect rising edge"]
5126 pub const _01: Self = Self::new(1);
5127
5128 #[doc = "Detect falling edge"]
5129 pub const _10: Self = Self::new(2);
5130
5131 #[doc = "Detect both edges"]
5132 pub const _11: Self = Self::new(3);
5133 }
5134 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5135 pub struct Isel_SPEC;
5136 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5137 impl Isel {
5138 #[doc = "Do not use as IRQn input pin"]
5139 pub const _0: Self = Self::new(0);
5140
5141 #[doc = "Use as IRQn input pin"]
5142 pub const _1: Self = Self::new(1);
5143 }
5144 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5145 pub struct Asel_SPEC;
5146 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5147 impl Asel {
5148 #[doc = "Do not use as analog pin"]
5149 pub const _0: Self = Self::new(0);
5150
5151 #[doc = "Use as analog pin"]
5152 pub const _1: Self = Self::new(1);
5153 }
5154 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5155 pub struct Pmr_SPEC;
5156 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
5157 impl Pmr {
5158 #[doc = "Use as general I/O pin"]
5159 pub const _0: Self = Self::new(0);
5160
5161 #[doc = "Use as I/O port for peripheral functions"]
5162 pub const _1: Self = Self::new(1);
5163 }
5164}
5165#[doc(hidden)]
5166#[derive(Copy, Clone, Eq, PartialEq)]
5167pub struct P0PfsHa_SPEC;
5168impl crate::sealed::RegSpec for P0PfsHa_SPEC {
5169 type DataType = u16;
5170}
5171
5172#[doc = "Port 0%s Pin Function Select Register"]
5173pub type P0PfsHa = crate::RegValueT<P0PfsHa_SPEC>;
5174
5175impl P0PfsHa {
5176 #[doc = "Port Output Data"]
5177 #[inline(always)]
5178 pub fn podr(
5179 self,
5180 ) -> crate::common::RegisterField<
5181 0,
5182 0x1,
5183 1,
5184 0,
5185 p0pfs_ha::Podr,
5186 p0pfs_ha::Podr,
5187 P0PfsHa_SPEC,
5188 crate::common::RW,
5189 > {
5190 crate::common::RegisterField::<
5191 0,
5192 0x1,
5193 1,
5194 0,
5195 p0pfs_ha::Podr,
5196 p0pfs_ha::Podr,
5197 P0PfsHa_SPEC,
5198 crate::common::RW,
5199 >::from_register(self, 0)
5200 }
5201
5202 #[doc = "Port State"]
5203 #[inline(always)]
5204 pub fn pidr(
5205 self,
5206 ) -> crate::common::RegisterField<
5207 1,
5208 0x1,
5209 1,
5210 0,
5211 p0pfs_ha::Pidr,
5212 p0pfs_ha::Pidr,
5213 P0PfsHa_SPEC,
5214 crate::common::R,
5215 > {
5216 crate::common::RegisterField::<
5217 1,
5218 0x1,
5219 1,
5220 0,
5221 p0pfs_ha::Pidr,
5222 p0pfs_ha::Pidr,
5223 P0PfsHa_SPEC,
5224 crate::common::R,
5225 >::from_register(self, 0)
5226 }
5227
5228 #[doc = "Port Direction"]
5229 #[inline(always)]
5230 pub fn pdr(
5231 self,
5232 ) -> crate::common::RegisterField<
5233 2,
5234 0x1,
5235 1,
5236 0,
5237 p0pfs_ha::Pdr,
5238 p0pfs_ha::Pdr,
5239 P0PfsHa_SPEC,
5240 crate::common::RW,
5241 > {
5242 crate::common::RegisterField::<
5243 2,
5244 0x1,
5245 1,
5246 0,
5247 p0pfs_ha::Pdr,
5248 p0pfs_ha::Pdr,
5249 P0PfsHa_SPEC,
5250 crate::common::RW,
5251 >::from_register(self, 0)
5252 }
5253
5254 #[doc = "Pull-up Control"]
5255 #[inline(always)]
5256 pub fn pcr(
5257 self,
5258 ) -> crate::common::RegisterField<
5259 4,
5260 0x1,
5261 1,
5262 0,
5263 p0pfs_ha::Pcr,
5264 p0pfs_ha::Pcr,
5265 P0PfsHa_SPEC,
5266 crate::common::RW,
5267 > {
5268 crate::common::RegisterField::<
5269 4,
5270 0x1,
5271 1,
5272 0,
5273 p0pfs_ha::Pcr,
5274 p0pfs_ha::Pcr,
5275 P0PfsHa_SPEC,
5276 crate::common::RW,
5277 >::from_register(self, 0)
5278 }
5279
5280 #[doc = "N-Channel Open-Drain Control"]
5281 #[inline(always)]
5282 pub fn ncodr(
5283 self,
5284 ) -> crate::common::RegisterField<
5285 6,
5286 0x1,
5287 1,
5288 0,
5289 p0pfs_ha::Ncodr,
5290 p0pfs_ha::Ncodr,
5291 P0PfsHa_SPEC,
5292 crate::common::RW,
5293 > {
5294 crate::common::RegisterField::<
5295 6,
5296 0x1,
5297 1,
5298 0,
5299 p0pfs_ha::Ncodr,
5300 p0pfs_ha::Ncodr,
5301 P0PfsHa_SPEC,
5302 crate::common::RW,
5303 >::from_register(self, 0)
5304 }
5305
5306 #[doc = "Port Drive Capability"]
5307 #[inline(always)]
5308 pub fn dscr(
5309 self,
5310 ) -> crate::common::RegisterField<
5311 10,
5312 0x3,
5313 1,
5314 0,
5315 p0pfs_ha::Dscr,
5316 p0pfs_ha::Dscr,
5317 P0PfsHa_SPEC,
5318 crate::common::RW,
5319 > {
5320 crate::common::RegisterField::<
5321 10,
5322 0x3,
5323 1,
5324 0,
5325 p0pfs_ha::Dscr,
5326 p0pfs_ha::Dscr,
5327 P0PfsHa_SPEC,
5328 crate::common::RW,
5329 >::from_register(self, 0)
5330 }
5331
5332 #[doc = "Event on Falling/Event on Rising"]
5333 #[inline(always)]
5334 pub fn eofr(
5335 self,
5336 ) -> crate::common::RegisterField<
5337 12,
5338 0x3,
5339 1,
5340 0,
5341 p0pfs_ha::Eofr,
5342 p0pfs_ha::Eofr,
5343 P0PfsHa_SPEC,
5344 crate::common::RW,
5345 > {
5346 crate::common::RegisterField::<
5347 12,
5348 0x3,
5349 1,
5350 0,
5351 p0pfs_ha::Eofr,
5352 p0pfs_ha::Eofr,
5353 P0PfsHa_SPEC,
5354 crate::common::RW,
5355 >::from_register(self, 0)
5356 }
5357
5358 #[doc = "IRQ Input Enable"]
5359 #[inline(always)]
5360 pub fn isel(
5361 self,
5362 ) -> crate::common::RegisterField<
5363 14,
5364 0x1,
5365 1,
5366 0,
5367 p0pfs_ha::Isel,
5368 p0pfs_ha::Isel,
5369 P0PfsHa_SPEC,
5370 crate::common::RW,
5371 > {
5372 crate::common::RegisterField::<
5373 14,
5374 0x1,
5375 1,
5376 0,
5377 p0pfs_ha::Isel,
5378 p0pfs_ha::Isel,
5379 P0PfsHa_SPEC,
5380 crate::common::RW,
5381 >::from_register(self, 0)
5382 }
5383
5384 #[doc = "Analog Input Enable"]
5385 #[inline(always)]
5386 pub fn asel(
5387 self,
5388 ) -> crate::common::RegisterField<
5389 15,
5390 0x1,
5391 1,
5392 0,
5393 p0pfs_ha::Asel,
5394 p0pfs_ha::Asel,
5395 P0PfsHa_SPEC,
5396 crate::common::RW,
5397 > {
5398 crate::common::RegisterField::<
5399 15,
5400 0x1,
5401 1,
5402 0,
5403 p0pfs_ha::Asel,
5404 p0pfs_ha::Asel,
5405 P0PfsHa_SPEC,
5406 crate::common::RW,
5407 >::from_register(self, 0)
5408 }
5409}
5410impl ::core::default::Default for P0PfsHa {
5411 #[inline(always)]
5412 fn default() -> P0PfsHa {
5413 <crate::RegValueT<P0PfsHa_SPEC> as RegisterValue<_>>::new(0)
5414 }
5415}
5416pub mod p0pfs_ha {
5417
5418 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5419 pub struct Podr_SPEC;
5420 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5421 impl Podr {
5422 #[doc = "Output low"]
5423 pub const _0: Self = Self::new(0);
5424
5425 #[doc = "Output high"]
5426 pub const _1: Self = Self::new(1);
5427 }
5428 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5429 pub struct Pidr_SPEC;
5430 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5431 impl Pidr {
5432 #[doc = "Low level"]
5433 pub const _0: Self = Self::new(0);
5434
5435 #[doc = "High level"]
5436 pub const _1: Self = Self::new(1);
5437 }
5438 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5439 pub struct Pdr_SPEC;
5440 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5441 impl Pdr {
5442 #[doc = "Input (functions as an input pin)"]
5443 pub const _0: Self = Self::new(0);
5444
5445 #[doc = "Output (functions as an output pin)"]
5446 pub const _1: Self = Self::new(1);
5447 }
5448 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5449 pub struct Pcr_SPEC;
5450 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5451 impl Pcr {
5452 #[doc = "Disable input pull-up"]
5453 pub const _0: Self = Self::new(0);
5454
5455 #[doc = "Enable input pull-up"]
5456 pub const _1: Self = Self::new(1);
5457 }
5458 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5459 pub struct Ncodr_SPEC;
5460 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5461 impl Ncodr {
5462 #[doc = "Output CMOS"]
5463 pub const _0: Self = Self::new(0);
5464
5465 #[doc = "Output NMOS open-drain"]
5466 pub const _1: Self = Self::new(1);
5467 }
5468 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5469 pub struct Dscr_SPEC;
5470 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
5471 impl Dscr {
5472 #[doc = "Low drive"]
5473 pub const _00: Self = Self::new(0);
5474
5475 #[doc = "Middle drive"]
5476 pub const _01: Self = Self::new(1);
5477
5478 #[doc = "Setting prohibited"]
5479 pub const _10: Self = Self::new(2);
5480
5481 #[doc = "High drive"]
5482 pub const _11: Self = Self::new(3);
5483 }
5484 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5485 pub struct Eofr_SPEC;
5486 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
5487 impl Eofr {
5488 #[doc = "Don\'t care"]
5489 pub const _00: Self = Self::new(0);
5490
5491 #[doc = "Detect rising edge"]
5492 pub const _01: Self = Self::new(1);
5493
5494 #[doc = "Detect falling edge"]
5495 pub const _10: Self = Self::new(2);
5496
5497 #[doc = "Detect both edges"]
5498 pub const _11: Self = Self::new(3);
5499 }
5500 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5501 pub struct Isel_SPEC;
5502 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5503 impl Isel {
5504 #[doc = "Do not use as IRQn input pin"]
5505 pub const _0: Self = Self::new(0);
5506
5507 #[doc = "Use as IRQn input pin"]
5508 pub const _1: Self = Self::new(1);
5509 }
5510 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5511 pub struct Asel_SPEC;
5512 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5513 impl Asel {
5514 #[doc = "Do not use as analog pin"]
5515 pub const _0: Self = Self::new(0);
5516
5517 #[doc = "Use as analog pin"]
5518 pub const _1: Self = Self::new(1);
5519 }
5520}
5521#[doc(hidden)]
5522#[derive(Copy, Clone, Eq, PartialEq)]
5523pub struct P0PfsBy_SPEC;
5524impl crate::sealed::RegSpec for P0PfsBy_SPEC {
5525 type DataType = u8;
5526}
5527
5528#[doc = "Port 0%s Pin Function Select Register"]
5529pub type P0PfsBy = crate::RegValueT<P0PfsBy_SPEC>;
5530
5531impl P0PfsBy {
5532 #[doc = "Port Output Data"]
5533 #[inline(always)]
5534 pub fn podr(
5535 self,
5536 ) -> crate::common::RegisterField<
5537 0,
5538 0x1,
5539 1,
5540 0,
5541 p0pfs_by::Podr,
5542 p0pfs_by::Podr,
5543 P0PfsBy_SPEC,
5544 crate::common::RW,
5545 > {
5546 crate::common::RegisterField::<
5547 0,
5548 0x1,
5549 1,
5550 0,
5551 p0pfs_by::Podr,
5552 p0pfs_by::Podr,
5553 P0PfsBy_SPEC,
5554 crate::common::RW,
5555 >::from_register(self, 0)
5556 }
5557
5558 #[doc = "Port State"]
5559 #[inline(always)]
5560 pub fn pidr(
5561 self,
5562 ) -> crate::common::RegisterField<
5563 1,
5564 0x1,
5565 1,
5566 0,
5567 p0pfs_by::Pidr,
5568 p0pfs_by::Pidr,
5569 P0PfsBy_SPEC,
5570 crate::common::R,
5571 > {
5572 crate::common::RegisterField::<
5573 1,
5574 0x1,
5575 1,
5576 0,
5577 p0pfs_by::Pidr,
5578 p0pfs_by::Pidr,
5579 P0PfsBy_SPEC,
5580 crate::common::R,
5581 >::from_register(self, 0)
5582 }
5583
5584 #[doc = "Port Direction"]
5585 #[inline(always)]
5586 pub fn pdr(
5587 self,
5588 ) -> crate::common::RegisterField<
5589 2,
5590 0x1,
5591 1,
5592 0,
5593 p0pfs_by::Pdr,
5594 p0pfs_by::Pdr,
5595 P0PfsBy_SPEC,
5596 crate::common::RW,
5597 > {
5598 crate::common::RegisterField::<
5599 2,
5600 0x1,
5601 1,
5602 0,
5603 p0pfs_by::Pdr,
5604 p0pfs_by::Pdr,
5605 P0PfsBy_SPEC,
5606 crate::common::RW,
5607 >::from_register(self, 0)
5608 }
5609
5610 #[doc = "Pull-up Control"]
5611 #[inline(always)]
5612 pub fn pcr(
5613 self,
5614 ) -> crate::common::RegisterField<
5615 4,
5616 0x1,
5617 1,
5618 0,
5619 p0pfs_by::Pcr,
5620 p0pfs_by::Pcr,
5621 P0PfsBy_SPEC,
5622 crate::common::RW,
5623 > {
5624 crate::common::RegisterField::<
5625 4,
5626 0x1,
5627 1,
5628 0,
5629 p0pfs_by::Pcr,
5630 p0pfs_by::Pcr,
5631 P0PfsBy_SPEC,
5632 crate::common::RW,
5633 >::from_register(self, 0)
5634 }
5635
5636 #[doc = "N-Channel Open-Drain Control"]
5637 #[inline(always)]
5638 pub fn ncodr(
5639 self,
5640 ) -> crate::common::RegisterField<
5641 6,
5642 0x1,
5643 1,
5644 0,
5645 p0pfs_by::Ncodr,
5646 p0pfs_by::Ncodr,
5647 P0PfsBy_SPEC,
5648 crate::common::RW,
5649 > {
5650 crate::common::RegisterField::<
5651 6,
5652 0x1,
5653 1,
5654 0,
5655 p0pfs_by::Ncodr,
5656 p0pfs_by::Ncodr,
5657 P0PfsBy_SPEC,
5658 crate::common::RW,
5659 >::from_register(self, 0)
5660 }
5661}
5662impl ::core::default::Default for P0PfsBy {
5663 #[inline(always)]
5664 fn default() -> P0PfsBy {
5665 <crate::RegValueT<P0PfsBy_SPEC> as RegisterValue<_>>::new(0)
5666 }
5667}
5668pub mod p0pfs_by {
5669
5670 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5671 pub struct Podr_SPEC;
5672 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5673 impl Podr {
5674 #[doc = "Output low"]
5675 pub const _0: Self = Self::new(0);
5676
5677 #[doc = "Output high"]
5678 pub const _1: Self = Self::new(1);
5679 }
5680 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5681 pub struct Pidr_SPEC;
5682 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5683 impl Pidr {
5684 #[doc = "Low level"]
5685 pub const _0: Self = Self::new(0);
5686
5687 #[doc = "High level"]
5688 pub const _1: Self = Self::new(1);
5689 }
5690 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5691 pub struct Pdr_SPEC;
5692 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5693 impl Pdr {
5694 #[doc = "Input (functions as an input pin)"]
5695 pub const _0: Self = Self::new(0);
5696
5697 #[doc = "Output (functions as an output pin)"]
5698 pub const _1: Self = Self::new(1);
5699 }
5700 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5701 pub struct Pcr_SPEC;
5702 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5703 impl Pcr {
5704 #[doc = "Disable input pull-up"]
5705 pub const _0: Self = Self::new(0);
5706
5707 #[doc = "Enable input pull-up"]
5708 pub const _1: Self = Self::new(1);
5709 }
5710 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5711 pub struct Ncodr_SPEC;
5712 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5713 impl Ncodr {
5714 #[doc = "Output CMOS"]
5715 pub const _0: Self = Self::new(0);
5716
5717 #[doc = "Output NMOS open-drain"]
5718 pub const _1: Self = Self::new(1);
5719 }
5720}
5721#[doc(hidden)]
5722#[derive(Copy, Clone, Eq, PartialEq)]
5723pub struct P10Pfs_SPEC;
5724impl crate::sealed::RegSpec for P10Pfs_SPEC {
5725 type DataType = u32;
5726}
5727
5728#[doc = "Port 10%s Pin Function Select Register"]
5729pub type P10Pfs = crate::RegValueT<P10Pfs_SPEC>;
5730
5731impl P10Pfs {
5732 #[doc = "Port Output Data"]
5733 #[inline(always)]
5734 pub fn podr(
5735 self,
5736 ) -> crate::common::RegisterField<
5737 0,
5738 0x1,
5739 1,
5740 0,
5741 p10pfs::Podr,
5742 p10pfs::Podr,
5743 P10Pfs_SPEC,
5744 crate::common::RW,
5745 > {
5746 crate::common::RegisterField::<
5747 0,
5748 0x1,
5749 1,
5750 0,
5751 p10pfs::Podr,
5752 p10pfs::Podr,
5753 P10Pfs_SPEC,
5754 crate::common::RW,
5755 >::from_register(self, 0)
5756 }
5757
5758 #[doc = "Port State"]
5759 #[inline(always)]
5760 pub fn pidr(
5761 self,
5762 ) -> crate::common::RegisterField<
5763 1,
5764 0x1,
5765 1,
5766 0,
5767 p10pfs::Pidr,
5768 p10pfs::Pidr,
5769 P10Pfs_SPEC,
5770 crate::common::R,
5771 > {
5772 crate::common::RegisterField::<
5773 1,
5774 0x1,
5775 1,
5776 0,
5777 p10pfs::Pidr,
5778 p10pfs::Pidr,
5779 P10Pfs_SPEC,
5780 crate::common::R,
5781 >::from_register(self, 0)
5782 }
5783
5784 #[doc = "Port Direction"]
5785 #[inline(always)]
5786 pub fn pdr(
5787 self,
5788 ) -> crate::common::RegisterField<
5789 2,
5790 0x1,
5791 1,
5792 0,
5793 p10pfs::Pdr,
5794 p10pfs::Pdr,
5795 P10Pfs_SPEC,
5796 crate::common::RW,
5797 > {
5798 crate::common::RegisterField::<
5799 2,
5800 0x1,
5801 1,
5802 0,
5803 p10pfs::Pdr,
5804 p10pfs::Pdr,
5805 P10Pfs_SPEC,
5806 crate::common::RW,
5807 >::from_register(self, 0)
5808 }
5809
5810 #[doc = "Pull-up Control"]
5811 #[inline(always)]
5812 pub fn pcr(
5813 self,
5814 ) -> crate::common::RegisterField<
5815 4,
5816 0x1,
5817 1,
5818 0,
5819 p10pfs::Pcr,
5820 p10pfs::Pcr,
5821 P10Pfs_SPEC,
5822 crate::common::RW,
5823 > {
5824 crate::common::RegisterField::<
5825 4,
5826 0x1,
5827 1,
5828 0,
5829 p10pfs::Pcr,
5830 p10pfs::Pcr,
5831 P10Pfs_SPEC,
5832 crate::common::RW,
5833 >::from_register(self, 0)
5834 }
5835
5836 #[doc = "N-Channel Open-Drain Control"]
5837 #[inline(always)]
5838 pub fn ncodr(
5839 self,
5840 ) -> crate::common::RegisterField<
5841 6,
5842 0x1,
5843 1,
5844 0,
5845 p10pfs::Ncodr,
5846 p10pfs::Ncodr,
5847 P10Pfs_SPEC,
5848 crate::common::RW,
5849 > {
5850 crate::common::RegisterField::<
5851 6,
5852 0x1,
5853 1,
5854 0,
5855 p10pfs::Ncodr,
5856 p10pfs::Ncodr,
5857 P10Pfs_SPEC,
5858 crate::common::RW,
5859 >::from_register(self, 0)
5860 }
5861
5862 #[doc = "Port Drive Capability"]
5863 #[inline(always)]
5864 pub fn dscr(
5865 self,
5866 ) -> crate::common::RegisterField<
5867 10,
5868 0x3,
5869 1,
5870 0,
5871 p10pfs::Dscr,
5872 p10pfs::Dscr,
5873 P10Pfs_SPEC,
5874 crate::common::RW,
5875 > {
5876 crate::common::RegisterField::<
5877 10,
5878 0x3,
5879 1,
5880 0,
5881 p10pfs::Dscr,
5882 p10pfs::Dscr,
5883 P10Pfs_SPEC,
5884 crate::common::RW,
5885 >::from_register(self, 0)
5886 }
5887
5888 #[doc = "Event on Falling/Event on Rising"]
5889 #[inline(always)]
5890 pub fn eofr(
5891 self,
5892 ) -> crate::common::RegisterField<
5893 12,
5894 0x3,
5895 1,
5896 0,
5897 p10pfs::Eofr,
5898 p10pfs::Eofr,
5899 P10Pfs_SPEC,
5900 crate::common::RW,
5901 > {
5902 crate::common::RegisterField::<
5903 12,
5904 0x3,
5905 1,
5906 0,
5907 p10pfs::Eofr,
5908 p10pfs::Eofr,
5909 P10Pfs_SPEC,
5910 crate::common::RW,
5911 >::from_register(self, 0)
5912 }
5913
5914 #[doc = "IRQ Input Enable"]
5915 #[inline(always)]
5916 pub fn isel(
5917 self,
5918 ) -> crate::common::RegisterField<
5919 14,
5920 0x1,
5921 1,
5922 0,
5923 p10pfs::Isel,
5924 p10pfs::Isel,
5925 P10Pfs_SPEC,
5926 crate::common::RW,
5927 > {
5928 crate::common::RegisterField::<
5929 14,
5930 0x1,
5931 1,
5932 0,
5933 p10pfs::Isel,
5934 p10pfs::Isel,
5935 P10Pfs_SPEC,
5936 crate::common::RW,
5937 >::from_register(self, 0)
5938 }
5939
5940 #[doc = "Analog Input Enable"]
5941 #[inline(always)]
5942 pub fn asel(
5943 self,
5944 ) -> crate::common::RegisterField<
5945 15,
5946 0x1,
5947 1,
5948 0,
5949 p10pfs::Asel,
5950 p10pfs::Asel,
5951 P10Pfs_SPEC,
5952 crate::common::RW,
5953 > {
5954 crate::common::RegisterField::<
5955 15,
5956 0x1,
5957 1,
5958 0,
5959 p10pfs::Asel,
5960 p10pfs::Asel,
5961 P10Pfs_SPEC,
5962 crate::common::RW,
5963 >::from_register(self, 0)
5964 }
5965
5966 #[doc = "Port Mode Control"]
5967 #[inline(always)]
5968 pub fn pmr(
5969 self,
5970 ) -> crate::common::RegisterField<
5971 16,
5972 0x1,
5973 1,
5974 0,
5975 p10pfs::Pmr,
5976 p10pfs::Pmr,
5977 P10Pfs_SPEC,
5978 crate::common::RW,
5979 > {
5980 crate::common::RegisterField::<
5981 16,
5982 0x1,
5983 1,
5984 0,
5985 p10pfs::Pmr,
5986 p10pfs::Pmr,
5987 P10Pfs_SPEC,
5988 crate::common::RW,
5989 >::from_register(self, 0)
5990 }
5991
5992 #[doc = "Peripheral Select"]
5993 #[inline(always)]
5994 pub fn psel(
5995 self,
5996 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P10Pfs_SPEC, crate::common::RW> {
5997 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P10Pfs_SPEC,crate::common::RW>::from_register(self,0)
5998 }
5999}
6000impl ::core::default::Default for P10Pfs {
6001 #[inline(always)]
6002 fn default() -> P10Pfs {
6003 <crate::RegValueT<P10Pfs_SPEC> as RegisterValue<_>>::new(0)
6004 }
6005}
6006pub mod p10pfs {
6007
6008 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6009 pub struct Podr_SPEC;
6010 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6011 impl Podr {
6012 #[doc = "Output low"]
6013 pub const _0: Self = Self::new(0);
6014
6015 #[doc = "Output high"]
6016 pub const _1: Self = Self::new(1);
6017 }
6018 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6019 pub struct Pidr_SPEC;
6020 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6021 impl Pidr {
6022 #[doc = "Low level"]
6023 pub const _0: Self = Self::new(0);
6024
6025 #[doc = "High level"]
6026 pub const _1: Self = Self::new(1);
6027 }
6028 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6029 pub struct Pdr_SPEC;
6030 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6031 impl Pdr {
6032 #[doc = "Input (functions as an input pin)"]
6033 pub const _0: Self = Self::new(0);
6034
6035 #[doc = "Output (functions as an output pin)"]
6036 pub const _1: Self = Self::new(1);
6037 }
6038 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6039 pub struct Pcr_SPEC;
6040 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6041 impl Pcr {
6042 #[doc = "Disable input pull-up"]
6043 pub const _0: Self = Self::new(0);
6044
6045 #[doc = "Enable input pull-up"]
6046 pub const _1: Self = Self::new(1);
6047 }
6048 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6049 pub struct Ncodr_SPEC;
6050 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6051 impl Ncodr {
6052 #[doc = "Output CMOS"]
6053 pub const _0: Self = Self::new(0);
6054
6055 #[doc = "Output NMOS open-drain"]
6056 pub const _1: Self = Self::new(1);
6057 }
6058 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6059 pub struct Dscr_SPEC;
6060 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
6061 impl Dscr {
6062 #[doc = "Low drive"]
6063 pub const _00: Self = Self::new(0);
6064
6065 #[doc = "Middle drive"]
6066 pub const _01: Self = Self::new(1);
6067
6068 #[doc = "Setting prohibited"]
6069 pub const _10: Self = Self::new(2);
6070
6071 #[doc = "High drive"]
6072 pub const _11: Self = Self::new(3);
6073 }
6074 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6075 pub struct Eofr_SPEC;
6076 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
6077 impl Eofr {
6078 #[doc = "Don\'t care"]
6079 pub const _00: Self = Self::new(0);
6080
6081 #[doc = "Detect rising edge"]
6082 pub const _01: Self = Self::new(1);
6083
6084 #[doc = "Detect falling edge"]
6085 pub const _10: Self = Self::new(2);
6086
6087 #[doc = "Detect both edges"]
6088 pub const _11: Self = Self::new(3);
6089 }
6090 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6091 pub struct Isel_SPEC;
6092 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6093 impl Isel {
6094 #[doc = "Do not use as IRQn input pin"]
6095 pub const _0: Self = Self::new(0);
6096
6097 #[doc = "Use as IRQn input pin"]
6098 pub const _1: Self = Self::new(1);
6099 }
6100 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6101 pub struct Asel_SPEC;
6102 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6103 impl Asel {
6104 #[doc = "Do not use as analog pin"]
6105 pub const _0: Self = Self::new(0);
6106
6107 #[doc = "Use as analog pin"]
6108 pub const _1: Self = Self::new(1);
6109 }
6110 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6111 pub struct Pmr_SPEC;
6112 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
6113 impl Pmr {
6114 #[doc = "Use as general I/O pin"]
6115 pub const _0: Self = Self::new(0);
6116
6117 #[doc = "Use as I/O port for peripheral functions"]
6118 pub const _1: Self = Self::new(1);
6119 }
6120}
6121#[doc(hidden)]
6122#[derive(Copy, Clone, Eq, PartialEq)]
6123pub struct P10PfsHa_SPEC;
6124impl crate::sealed::RegSpec for P10PfsHa_SPEC {
6125 type DataType = u16;
6126}
6127
6128#[doc = "Port 10%s Pin Function Select Register"]
6129pub type P10PfsHa = crate::RegValueT<P10PfsHa_SPEC>;
6130
6131impl P10PfsHa {
6132 #[doc = "Port Output Data"]
6133 #[inline(always)]
6134 pub fn podr(
6135 self,
6136 ) -> crate::common::RegisterField<
6137 0,
6138 0x1,
6139 1,
6140 0,
6141 p10pfs_ha::Podr,
6142 p10pfs_ha::Podr,
6143 P10PfsHa_SPEC,
6144 crate::common::RW,
6145 > {
6146 crate::common::RegisterField::<
6147 0,
6148 0x1,
6149 1,
6150 0,
6151 p10pfs_ha::Podr,
6152 p10pfs_ha::Podr,
6153 P10PfsHa_SPEC,
6154 crate::common::RW,
6155 >::from_register(self, 0)
6156 }
6157
6158 #[doc = "Port State"]
6159 #[inline(always)]
6160 pub fn pidr(
6161 self,
6162 ) -> crate::common::RegisterField<
6163 1,
6164 0x1,
6165 1,
6166 0,
6167 p10pfs_ha::Pidr,
6168 p10pfs_ha::Pidr,
6169 P10PfsHa_SPEC,
6170 crate::common::R,
6171 > {
6172 crate::common::RegisterField::<
6173 1,
6174 0x1,
6175 1,
6176 0,
6177 p10pfs_ha::Pidr,
6178 p10pfs_ha::Pidr,
6179 P10PfsHa_SPEC,
6180 crate::common::R,
6181 >::from_register(self, 0)
6182 }
6183
6184 #[doc = "Port Direction"]
6185 #[inline(always)]
6186 pub fn pdr(
6187 self,
6188 ) -> crate::common::RegisterField<
6189 2,
6190 0x1,
6191 1,
6192 0,
6193 p10pfs_ha::Pdr,
6194 p10pfs_ha::Pdr,
6195 P10PfsHa_SPEC,
6196 crate::common::RW,
6197 > {
6198 crate::common::RegisterField::<
6199 2,
6200 0x1,
6201 1,
6202 0,
6203 p10pfs_ha::Pdr,
6204 p10pfs_ha::Pdr,
6205 P10PfsHa_SPEC,
6206 crate::common::RW,
6207 >::from_register(self, 0)
6208 }
6209
6210 #[doc = "Pull-up Control"]
6211 #[inline(always)]
6212 pub fn pcr(
6213 self,
6214 ) -> crate::common::RegisterField<
6215 4,
6216 0x1,
6217 1,
6218 0,
6219 p10pfs_ha::Pcr,
6220 p10pfs_ha::Pcr,
6221 P10PfsHa_SPEC,
6222 crate::common::RW,
6223 > {
6224 crate::common::RegisterField::<
6225 4,
6226 0x1,
6227 1,
6228 0,
6229 p10pfs_ha::Pcr,
6230 p10pfs_ha::Pcr,
6231 P10PfsHa_SPEC,
6232 crate::common::RW,
6233 >::from_register(self, 0)
6234 }
6235
6236 #[doc = "N-Channel Open-Drain Control"]
6237 #[inline(always)]
6238 pub fn ncodr(
6239 self,
6240 ) -> crate::common::RegisterField<
6241 6,
6242 0x1,
6243 1,
6244 0,
6245 p10pfs_ha::Ncodr,
6246 p10pfs_ha::Ncodr,
6247 P10PfsHa_SPEC,
6248 crate::common::RW,
6249 > {
6250 crate::common::RegisterField::<
6251 6,
6252 0x1,
6253 1,
6254 0,
6255 p10pfs_ha::Ncodr,
6256 p10pfs_ha::Ncodr,
6257 P10PfsHa_SPEC,
6258 crate::common::RW,
6259 >::from_register(self, 0)
6260 }
6261
6262 #[doc = "Port Drive Capability"]
6263 #[inline(always)]
6264 pub fn dscr(
6265 self,
6266 ) -> crate::common::RegisterField<
6267 10,
6268 0x3,
6269 1,
6270 0,
6271 p10pfs_ha::Dscr,
6272 p10pfs_ha::Dscr,
6273 P10PfsHa_SPEC,
6274 crate::common::RW,
6275 > {
6276 crate::common::RegisterField::<
6277 10,
6278 0x3,
6279 1,
6280 0,
6281 p10pfs_ha::Dscr,
6282 p10pfs_ha::Dscr,
6283 P10PfsHa_SPEC,
6284 crate::common::RW,
6285 >::from_register(self, 0)
6286 }
6287
6288 #[doc = "Event on Falling/Event on Rising"]
6289 #[inline(always)]
6290 pub fn eofr(
6291 self,
6292 ) -> crate::common::RegisterField<
6293 12,
6294 0x3,
6295 1,
6296 0,
6297 p10pfs_ha::Eofr,
6298 p10pfs_ha::Eofr,
6299 P10PfsHa_SPEC,
6300 crate::common::RW,
6301 > {
6302 crate::common::RegisterField::<
6303 12,
6304 0x3,
6305 1,
6306 0,
6307 p10pfs_ha::Eofr,
6308 p10pfs_ha::Eofr,
6309 P10PfsHa_SPEC,
6310 crate::common::RW,
6311 >::from_register(self, 0)
6312 }
6313
6314 #[doc = "IRQ Input Enable"]
6315 #[inline(always)]
6316 pub fn isel(
6317 self,
6318 ) -> crate::common::RegisterField<
6319 14,
6320 0x1,
6321 1,
6322 0,
6323 p10pfs_ha::Isel,
6324 p10pfs_ha::Isel,
6325 P10PfsHa_SPEC,
6326 crate::common::RW,
6327 > {
6328 crate::common::RegisterField::<
6329 14,
6330 0x1,
6331 1,
6332 0,
6333 p10pfs_ha::Isel,
6334 p10pfs_ha::Isel,
6335 P10PfsHa_SPEC,
6336 crate::common::RW,
6337 >::from_register(self, 0)
6338 }
6339
6340 #[doc = "Analog Input Enable"]
6341 #[inline(always)]
6342 pub fn asel(
6343 self,
6344 ) -> crate::common::RegisterField<
6345 15,
6346 0x1,
6347 1,
6348 0,
6349 p10pfs_ha::Asel,
6350 p10pfs_ha::Asel,
6351 P10PfsHa_SPEC,
6352 crate::common::RW,
6353 > {
6354 crate::common::RegisterField::<
6355 15,
6356 0x1,
6357 1,
6358 0,
6359 p10pfs_ha::Asel,
6360 p10pfs_ha::Asel,
6361 P10PfsHa_SPEC,
6362 crate::common::RW,
6363 >::from_register(self, 0)
6364 }
6365}
6366impl ::core::default::Default for P10PfsHa {
6367 #[inline(always)]
6368 fn default() -> P10PfsHa {
6369 <crate::RegValueT<P10PfsHa_SPEC> as RegisterValue<_>>::new(0)
6370 }
6371}
6372pub mod p10pfs_ha {
6373
6374 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6375 pub struct Podr_SPEC;
6376 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6377 impl Podr {
6378 #[doc = "Output low"]
6379 pub const _0: Self = Self::new(0);
6380
6381 #[doc = "Output high"]
6382 pub const _1: Self = Self::new(1);
6383 }
6384 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6385 pub struct Pidr_SPEC;
6386 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6387 impl Pidr {
6388 #[doc = "Low level"]
6389 pub const _0: Self = Self::new(0);
6390
6391 #[doc = "High level"]
6392 pub const _1: Self = Self::new(1);
6393 }
6394 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6395 pub struct Pdr_SPEC;
6396 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6397 impl Pdr {
6398 #[doc = "Input (functions as an input pin)"]
6399 pub const _0: Self = Self::new(0);
6400
6401 #[doc = "Output (functions as an output pin)"]
6402 pub const _1: Self = Self::new(1);
6403 }
6404 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6405 pub struct Pcr_SPEC;
6406 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6407 impl Pcr {
6408 #[doc = "Disable input pull-up"]
6409 pub const _0: Self = Self::new(0);
6410
6411 #[doc = "Enable input pull-up"]
6412 pub const _1: Self = Self::new(1);
6413 }
6414 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6415 pub struct Ncodr_SPEC;
6416 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6417 impl Ncodr {
6418 #[doc = "Output CMOS"]
6419 pub const _0: Self = Self::new(0);
6420
6421 #[doc = "Output NMOS open-drain"]
6422 pub const _1: Self = Self::new(1);
6423 }
6424 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6425 pub struct Dscr_SPEC;
6426 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
6427 impl Dscr {
6428 #[doc = "Low drive"]
6429 pub const _00: Self = Self::new(0);
6430
6431 #[doc = "Middle drive"]
6432 pub const _01: Self = Self::new(1);
6433
6434 #[doc = "Setting prohibited"]
6435 pub const _10: Self = Self::new(2);
6436
6437 #[doc = "High drive"]
6438 pub const _11: Self = Self::new(3);
6439 }
6440 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6441 pub struct Eofr_SPEC;
6442 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
6443 impl Eofr {
6444 #[doc = "Don\'t care"]
6445 pub const _00: Self = Self::new(0);
6446
6447 #[doc = "Detect rising edge"]
6448 pub const _01: Self = Self::new(1);
6449
6450 #[doc = "Detect falling edge"]
6451 pub const _10: Self = Self::new(2);
6452
6453 #[doc = "Detect both edges"]
6454 pub const _11: Self = Self::new(3);
6455 }
6456 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6457 pub struct Isel_SPEC;
6458 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6459 impl Isel {
6460 #[doc = "Do not use as IRQn input pin"]
6461 pub const _0: Self = Self::new(0);
6462
6463 #[doc = "Use as IRQn input pin"]
6464 pub const _1: Self = Self::new(1);
6465 }
6466 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6467 pub struct Asel_SPEC;
6468 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6469 impl Asel {
6470 #[doc = "Do not use as analog pin"]
6471 pub const _0: Self = Self::new(0);
6472
6473 #[doc = "Use as analog pin"]
6474 pub const _1: Self = Self::new(1);
6475 }
6476}
6477#[doc(hidden)]
6478#[derive(Copy, Clone, Eq, PartialEq)]
6479pub struct P10PfsBy_SPEC;
6480impl crate::sealed::RegSpec for P10PfsBy_SPEC {
6481 type DataType = u8;
6482}
6483
6484#[doc = "Port 10%s Pin Function Select Register"]
6485pub type P10PfsBy = crate::RegValueT<P10PfsBy_SPEC>;
6486
6487impl P10PfsBy {
6488 #[doc = "Port Output Data"]
6489 #[inline(always)]
6490 pub fn podr(
6491 self,
6492 ) -> crate::common::RegisterField<
6493 0,
6494 0x1,
6495 1,
6496 0,
6497 p10pfs_by::Podr,
6498 p10pfs_by::Podr,
6499 P10PfsBy_SPEC,
6500 crate::common::RW,
6501 > {
6502 crate::common::RegisterField::<
6503 0,
6504 0x1,
6505 1,
6506 0,
6507 p10pfs_by::Podr,
6508 p10pfs_by::Podr,
6509 P10PfsBy_SPEC,
6510 crate::common::RW,
6511 >::from_register(self, 0)
6512 }
6513
6514 #[doc = "Port State"]
6515 #[inline(always)]
6516 pub fn pidr(
6517 self,
6518 ) -> crate::common::RegisterField<
6519 1,
6520 0x1,
6521 1,
6522 0,
6523 p10pfs_by::Pidr,
6524 p10pfs_by::Pidr,
6525 P10PfsBy_SPEC,
6526 crate::common::R,
6527 > {
6528 crate::common::RegisterField::<
6529 1,
6530 0x1,
6531 1,
6532 0,
6533 p10pfs_by::Pidr,
6534 p10pfs_by::Pidr,
6535 P10PfsBy_SPEC,
6536 crate::common::R,
6537 >::from_register(self, 0)
6538 }
6539
6540 #[doc = "Port Direction"]
6541 #[inline(always)]
6542 pub fn pdr(
6543 self,
6544 ) -> crate::common::RegisterField<
6545 2,
6546 0x1,
6547 1,
6548 0,
6549 p10pfs_by::Pdr,
6550 p10pfs_by::Pdr,
6551 P10PfsBy_SPEC,
6552 crate::common::RW,
6553 > {
6554 crate::common::RegisterField::<
6555 2,
6556 0x1,
6557 1,
6558 0,
6559 p10pfs_by::Pdr,
6560 p10pfs_by::Pdr,
6561 P10PfsBy_SPEC,
6562 crate::common::RW,
6563 >::from_register(self, 0)
6564 }
6565
6566 #[doc = "Pull-up Control"]
6567 #[inline(always)]
6568 pub fn pcr(
6569 self,
6570 ) -> crate::common::RegisterField<
6571 4,
6572 0x1,
6573 1,
6574 0,
6575 p10pfs_by::Pcr,
6576 p10pfs_by::Pcr,
6577 P10PfsBy_SPEC,
6578 crate::common::RW,
6579 > {
6580 crate::common::RegisterField::<
6581 4,
6582 0x1,
6583 1,
6584 0,
6585 p10pfs_by::Pcr,
6586 p10pfs_by::Pcr,
6587 P10PfsBy_SPEC,
6588 crate::common::RW,
6589 >::from_register(self, 0)
6590 }
6591
6592 #[doc = "N-Channel Open-Drain Control"]
6593 #[inline(always)]
6594 pub fn ncodr(
6595 self,
6596 ) -> crate::common::RegisterField<
6597 6,
6598 0x1,
6599 1,
6600 0,
6601 p10pfs_by::Ncodr,
6602 p10pfs_by::Ncodr,
6603 P10PfsBy_SPEC,
6604 crate::common::RW,
6605 > {
6606 crate::common::RegisterField::<
6607 6,
6608 0x1,
6609 1,
6610 0,
6611 p10pfs_by::Ncodr,
6612 p10pfs_by::Ncodr,
6613 P10PfsBy_SPEC,
6614 crate::common::RW,
6615 >::from_register(self, 0)
6616 }
6617}
6618impl ::core::default::Default for P10PfsBy {
6619 #[inline(always)]
6620 fn default() -> P10PfsBy {
6621 <crate::RegValueT<P10PfsBy_SPEC> as RegisterValue<_>>::new(0)
6622 }
6623}
6624pub mod p10pfs_by {
6625
6626 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6627 pub struct Podr_SPEC;
6628 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6629 impl Podr {
6630 #[doc = "Output low"]
6631 pub const _0: Self = Self::new(0);
6632
6633 #[doc = "Output high"]
6634 pub const _1: Self = Self::new(1);
6635 }
6636 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6637 pub struct Pidr_SPEC;
6638 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6639 impl Pidr {
6640 #[doc = "Low level"]
6641 pub const _0: Self = Self::new(0);
6642
6643 #[doc = "High level"]
6644 pub const _1: Self = Self::new(1);
6645 }
6646 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6647 pub struct Pdr_SPEC;
6648 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6649 impl Pdr {
6650 #[doc = "Input (functions as an input pin)"]
6651 pub const _0: Self = Self::new(0);
6652
6653 #[doc = "Output (functions as an output pin)"]
6654 pub const _1: Self = Self::new(1);
6655 }
6656 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6657 pub struct Pcr_SPEC;
6658 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6659 impl Pcr {
6660 #[doc = "Disable input pull-up"]
6661 pub const _0: Self = Self::new(0);
6662
6663 #[doc = "Enable input pull-up"]
6664 pub const _1: Self = Self::new(1);
6665 }
6666 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6667 pub struct Ncodr_SPEC;
6668 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6669 impl Ncodr {
6670 #[doc = "Output CMOS"]
6671 pub const _0: Self = Self::new(0);
6672
6673 #[doc = "Output NMOS open-drain"]
6674 pub const _1: Self = Self::new(1);
6675 }
6676}
6677#[doc(hidden)]
6678#[derive(Copy, Clone, Eq, PartialEq)]
6679pub struct P1Pfs_SPEC;
6680impl crate::sealed::RegSpec for P1Pfs_SPEC {
6681 type DataType = u32;
6682}
6683
6684#[doc = "Port 1%s Pin Function Select Register"]
6685pub type P1Pfs = crate::RegValueT<P1Pfs_SPEC>;
6686
6687impl P1Pfs {
6688 #[doc = "Port Output Data"]
6689 #[inline(always)]
6690 pub fn podr(
6691 self,
6692 ) -> crate::common::RegisterField<
6693 0,
6694 0x1,
6695 1,
6696 0,
6697 p1pfs::Podr,
6698 p1pfs::Podr,
6699 P1Pfs_SPEC,
6700 crate::common::RW,
6701 > {
6702 crate::common::RegisterField::<
6703 0,
6704 0x1,
6705 1,
6706 0,
6707 p1pfs::Podr,
6708 p1pfs::Podr,
6709 P1Pfs_SPEC,
6710 crate::common::RW,
6711 >::from_register(self, 0)
6712 }
6713
6714 #[doc = "Port State"]
6715 #[inline(always)]
6716 pub fn pidr(
6717 self,
6718 ) -> crate::common::RegisterField<
6719 1,
6720 0x1,
6721 1,
6722 0,
6723 p1pfs::Pidr,
6724 p1pfs::Pidr,
6725 P1Pfs_SPEC,
6726 crate::common::R,
6727 > {
6728 crate::common::RegisterField::<
6729 1,
6730 0x1,
6731 1,
6732 0,
6733 p1pfs::Pidr,
6734 p1pfs::Pidr,
6735 P1Pfs_SPEC,
6736 crate::common::R,
6737 >::from_register(self, 0)
6738 }
6739
6740 #[doc = "Port Direction"]
6741 #[inline(always)]
6742 pub fn pdr(
6743 self,
6744 ) -> crate::common::RegisterField<
6745 2,
6746 0x1,
6747 1,
6748 0,
6749 p1pfs::Pdr,
6750 p1pfs::Pdr,
6751 P1Pfs_SPEC,
6752 crate::common::RW,
6753 > {
6754 crate::common::RegisterField::<
6755 2,
6756 0x1,
6757 1,
6758 0,
6759 p1pfs::Pdr,
6760 p1pfs::Pdr,
6761 P1Pfs_SPEC,
6762 crate::common::RW,
6763 >::from_register(self, 0)
6764 }
6765
6766 #[doc = "Pull-up Control"]
6767 #[inline(always)]
6768 pub fn pcr(
6769 self,
6770 ) -> crate::common::RegisterField<
6771 4,
6772 0x1,
6773 1,
6774 0,
6775 p1pfs::Pcr,
6776 p1pfs::Pcr,
6777 P1Pfs_SPEC,
6778 crate::common::RW,
6779 > {
6780 crate::common::RegisterField::<
6781 4,
6782 0x1,
6783 1,
6784 0,
6785 p1pfs::Pcr,
6786 p1pfs::Pcr,
6787 P1Pfs_SPEC,
6788 crate::common::RW,
6789 >::from_register(self, 0)
6790 }
6791
6792 #[doc = "N-Channel Open-Drain Control"]
6793 #[inline(always)]
6794 pub fn ncodr(
6795 self,
6796 ) -> crate::common::RegisterField<
6797 6,
6798 0x1,
6799 1,
6800 0,
6801 p1pfs::Ncodr,
6802 p1pfs::Ncodr,
6803 P1Pfs_SPEC,
6804 crate::common::RW,
6805 > {
6806 crate::common::RegisterField::<
6807 6,
6808 0x1,
6809 1,
6810 0,
6811 p1pfs::Ncodr,
6812 p1pfs::Ncodr,
6813 P1Pfs_SPEC,
6814 crate::common::RW,
6815 >::from_register(self, 0)
6816 }
6817
6818 #[doc = "Port Drive Capability"]
6819 #[inline(always)]
6820 pub fn dscr(
6821 self,
6822 ) -> crate::common::RegisterField<
6823 10,
6824 0x3,
6825 1,
6826 0,
6827 p1pfs::Dscr,
6828 p1pfs::Dscr,
6829 P1Pfs_SPEC,
6830 crate::common::RW,
6831 > {
6832 crate::common::RegisterField::<
6833 10,
6834 0x3,
6835 1,
6836 0,
6837 p1pfs::Dscr,
6838 p1pfs::Dscr,
6839 P1Pfs_SPEC,
6840 crate::common::RW,
6841 >::from_register(self, 0)
6842 }
6843
6844 #[doc = "Event on Falling/Event on Rising"]
6845 #[inline(always)]
6846 pub fn eofr(
6847 self,
6848 ) -> crate::common::RegisterField<
6849 12,
6850 0x3,
6851 1,
6852 0,
6853 p1pfs::Eofr,
6854 p1pfs::Eofr,
6855 P1Pfs_SPEC,
6856 crate::common::RW,
6857 > {
6858 crate::common::RegisterField::<
6859 12,
6860 0x3,
6861 1,
6862 0,
6863 p1pfs::Eofr,
6864 p1pfs::Eofr,
6865 P1Pfs_SPEC,
6866 crate::common::RW,
6867 >::from_register(self, 0)
6868 }
6869
6870 #[doc = "IRQ Input Enable"]
6871 #[inline(always)]
6872 pub fn isel(
6873 self,
6874 ) -> crate::common::RegisterField<
6875 14,
6876 0x1,
6877 1,
6878 0,
6879 p1pfs::Isel,
6880 p1pfs::Isel,
6881 P1Pfs_SPEC,
6882 crate::common::RW,
6883 > {
6884 crate::common::RegisterField::<
6885 14,
6886 0x1,
6887 1,
6888 0,
6889 p1pfs::Isel,
6890 p1pfs::Isel,
6891 P1Pfs_SPEC,
6892 crate::common::RW,
6893 >::from_register(self, 0)
6894 }
6895
6896 #[doc = "Analog Input Enable"]
6897 #[inline(always)]
6898 pub fn asel(
6899 self,
6900 ) -> crate::common::RegisterField<
6901 15,
6902 0x1,
6903 1,
6904 0,
6905 p1pfs::Asel,
6906 p1pfs::Asel,
6907 P1Pfs_SPEC,
6908 crate::common::RW,
6909 > {
6910 crate::common::RegisterField::<
6911 15,
6912 0x1,
6913 1,
6914 0,
6915 p1pfs::Asel,
6916 p1pfs::Asel,
6917 P1Pfs_SPEC,
6918 crate::common::RW,
6919 >::from_register(self, 0)
6920 }
6921
6922 #[doc = "Port Mode Control"]
6923 #[inline(always)]
6924 pub fn pmr(
6925 self,
6926 ) -> crate::common::RegisterField<
6927 16,
6928 0x1,
6929 1,
6930 0,
6931 p1pfs::Pmr,
6932 p1pfs::Pmr,
6933 P1Pfs_SPEC,
6934 crate::common::RW,
6935 > {
6936 crate::common::RegisterField::<
6937 16,
6938 0x1,
6939 1,
6940 0,
6941 p1pfs::Pmr,
6942 p1pfs::Pmr,
6943 P1Pfs_SPEC,
6944 crate::common::RW,
6945 >::from_register(self, 0)
6946 }
6947
6948 #[doc = "Peripheral Select"]
6949 #[inline(always)]
6950 pub fn psel(
6951 self,
6952 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P1Pfs_SPEC, crate::common::RW> {
6953 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P1Pfs_SPEC,crate::common::RW>::from_register(self,0)
6954 }
6955}
6956impl ::core::default::Default for P1Pfs {
6957 #[inline(always)]
6958 fn default() -> P1Pfs {
6959 <crate::RegValueT<P1Pfs_SPEC> as RegisterValue<_>>::new(0)
6960 }
6961}
6962pub mod p1pfs {
6963
6964 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6965 pub struct Podr_SPEC;
6966 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6967 impl Podr {
6968 #[doc = "Output low"]
6969 pub const _0: Self = Self::new(0);
6970
6971 #[doc = "Output high"]
6972 pub const _1: Self = Self::new(1);
6973 }
6974 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6975 pub struct Pidr_SPEC;
6976 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6977 impl Pidr {
6978 #[doc = "Low level"]
6979 pub const _0: Self = Self::new(0);
6980
6981 #[doc = "High level"]
6982 pub const _1: Self = Self::new(1);
6983 }
6984 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6985 pub struct Pdr_SPEC;
6986 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6987 impl Pdr {
6988 #[doc = "Input (functions as an input pin)"]
6989 pub const _0: Self = Self::new(0);
6990
6991 #[doc = "Output (functions as an output pin)"]
6992 pub const _1: Self = Self::new(1);
6993 }
6994 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6995 pub struct Pcr_SPEC;
6996 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6997 impl Pcr {
6998 #[doc = "Disable input pull-up"]
6999 pub const _0: Self = Self::new(0);
7000
7001 #[doc = "Enable input pull-up"]
7002 pub const _1: Self = Self::new(1);
7003 }
7004 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7005 pub struct Ncodr_SPEC;
7006 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7007 impl Ncodr {
7008 #[doc = "Output CMOS"]
7009 pub const _0: Self = Self::new(0);
7010
7011 #[doc = "Output NMOS open-drain"]
7012 pub const _1: Self = Self::new(1);
7013 }
7014 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7015 pub struct Dscr_SPEC;
7016 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
7017 impl Dscr {
7018 #[doc = "Low drive"]
7019 pub const _00: Self = Self::new(0);
7020
7021 #[doc = "Middle drive"]
7022 pub const _01: Self = Self::new(1);
7023
7024 #[doc = "Setting prohibited"]
7025 pub const _10: Self = Self::new(2);
7026
7027 #[doc = "High drive"]
7028 pub const _11: Self = Self::new(3);
7029 }
7030 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7031 pub struct Eofr_SPEC;
7032 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7033 impl Eofr {
7034 #[doc = "Don\'t care"]
7035 pub const _00: Self = Self::new(0);
7036
7037 #[doc = "Detect rising edge"]
7038 pub const _01: Self = Self::new(1);
7039
7040 #[doc = "Detect falling edge"]
7041 pub const _10: Self = Self::new(2);
7042
7043 #[doc = "Detect both edges"]
7044 pub const _11: Self = Self::new(3);
7045 }
7046 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7047 pub struct Isel_SPEC;
7048 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7049 impl Isel {
7050 #[doc = "Do not use as IRQn input pin"]
7051 pub const _0: Self = Self::new(0);
7052
7053 #[doc = "Use as IRQn input pin"]
7054 pub const _1: Self = Self::new(1);
7055 }
7056 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7057 pub struct Asel_SPEC;
7058 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7059 impl Asel {
7060 #[doc = "Do not use as analog pin"]
7061 pub const _0: Self = Self::new(0);
7062
7063 #[doc = "Use as analog pin"]
7064 pub const _1: Self = Self::new(1);
7065 }
7066 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7067 pub struct Pmr_SPEC;
7068 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
7069 impl Pmr {
7070 #[doc = "Use as general I/O pin"]
7071 pub const _0: Self = Self::new(0);
7072
7073 #[doc = "Use as I/O port for peripheral functions"]
7074 pub const _1: Self = Self::new(1);
7075 }
7076}
7077#[doc(hidden)]
7078#[derive(Copy, Clone, Eq, PartialEq)]
7079pub struct P1PfsHa_SPEC;
7080impl crate::sealed::RegSpec for P1PfsHa_SPEC {
7081 type DataType = u16;
7082}
7083
7084#[doc = "Port 1%s Pin Function Select Register"]
7085pub type P1PfsHa = crate::RegValueT<P1PfsHa_SPEC>;
7086
7087impl P1PfsHa {
7088 #[doc = "Port Output Data"]
7089 #[inline(always)]
7090 pub fn podr(
7091 self,
7092 ) -> crate::common::RegisterField<
7093 0,
7094 0x1,
7095 1,
7096 0,
7097 p1pfs_ha::Podr,
7098 p1pfs_ha::Podr,
7099 P1PfsHa_SPEC,
7100 crate::common::RW,
7101 > {
7102 crate::common::RegisterField::<
7103 0,
7104 0x1,
7105 1,
7106 0,
7107 p1pfs_ha::Podr,
7108 p1pfs_ha::Podr,
7109 P1PfsHa_SPEC,
7110 crate::common::RW,
7111 >::from_register(self, 0)
7112 }
7113
7114 #[doc = "Port State"]
7115 #[inline(always)]
7116 pub fn pidr(
7117 self,
7118 ) -> crate::common::RegisterField<
7119 1,
7120 0x1,
7121 1,
7122 0,
7123 p1pfs_ha::Pidr,
7124 p1pfs_ha::Pidr,
7125 P1PfsHa_SPEC,
7126 crate::common::R,
7127 > {
7128 crate::common::RegisterField::<
7129 1,
7130 0x1,
7131 1,
7132 0,
7133 p1pfs_ha::Pidr,
7134 p1pfs_ha::Pidr,
7135 P1PfsHa_SPEC,
7136 crate::common::R,
7137 >::from_register(self, 0)
7138 }
7139
7140 #[doc = "Port Direction"]
7141 #[inline(always)]
7142 pub fn pdr(
7143 self,
7144 ) -> crate::common::RegisterField<
7145 2,
7146 0x1,
7147 1,
7148 0,
7149 p1pfs_ha::Pdr,
7150 p1pfs_ha::Pdr,
7151 P1PfsHa_SPEC,
7152 crate::common::RW,
7153 > {
7154 crate::common::RegisterField::<
7155 2,
7156 0x1,
7157 1,
7158 0,
7159 p1pfs_ha::Pdr,
7160 p1pfs_ha::Pdr,
7161 P1PfsHa_SPEC,
7162 crate::common::RW,
7163 >::from_register(self, 0)
7164 }
7165
7166 #[doc = "Pull-up Control"]
7167 #[inline(always)]
7168 pub fn pcr(
7169 self,
7170 ) -> crate::common::RegisterField<
7171 4,
7172 0x1,
7173 1,
7174 0,
7175 p1pfs_ha::Pcr,
7176 p1pfs_ha::Pcr,
7177 P1PfsHa_SPEC,
7178 crate::common::RW,
7179 > {
7180 crate::common::RegisterField::<
7181 4,
7182 0x1,
7183 1,
7184 0,
7185 p1pfs_ha::Pcr,
7186 p1pfs_ha::Pcr,
7187 P1PfsHa_SPEC,
7188 crate::common::RW,
7189 >::from_register(self, 0)
7190 }
7191
7192 #[doc = "N-Channel Open-Drain Control"]
7193 #[inline(always)]
7194 pub fn ncodr(
7195 self,
7196 ) -> crate::common::RegisterField<
7197 6,
7198 0x1,
7199 1,
7200 0,
7201 p1pfs_ha::Ncodr,
7202 p1pfs_ha::Ncodr,
7203 P1PfsHa_SPEC,
7204 crate::common::RW,
7205 > {
7206 crate::common::RegisterField::<
7207 6,
7208 0x1,
7209 1,
7210 0,
7211 p1pfs_ha::Ncodr,
7212 p1pfs_ha::Ncodr,
7213 P1PfsHa_SPEC,
7214 crate::common::RW,
7215 >::from_register(self, 0)
7216 }
7217
7218 #[doc = "Port Drive Capability"]
7219 #[inline(always)]
7220 pub fn dscr(
7221 self,
7222 ) -> crate::common::RegisterField<
7223 10,
7224 0x3,
7225 1,
7226 0,
7227 p1pfs_ha::Dscr,
7228 p1pfs_ha::Dscr,
7229 P1PfsHa_SPEC,
7230 crate::common::RW,
7231 > {
7232 crate::common::RegisterField::<
7233 10,
7234 0x3,
7235 1,
7236 0,
7237 p1pfs_ha::Dscr,
7238 p1pfs_ha::Dscr,
7239 P1PfsHa_SPEC,
7240 crate::common::RW,
7241 >::from_register(self, 0)
7242 }
7243
7244 #[doc = "Event on Falling/Event on Rising"]
7245 #[inline(always)]
7246 pub fn eofr(
7247 self,
7248 ) -> crate::common::RegisterField<
7249 12,
7250 0x3,
7251 1,
7252 0,
7253 p1pfs_ha::Eofr,
7254 p1pfs_ha::Eofr,
7255 P1PfsHa_SPEC,
7256 crate::common::RW,
7257 > {
7258 crate::common::RegisterField::<
7259 12,
7260 0x3,
7261 1,
7262 0,
7263 p1pfs_ha::Eofr,
7264 p1pfs_ha::Eofr,
7265 P1PfsHa_SPEC,
7266 crate::common::RW,
7267 >::from_register(self, 0)
7268 }
7269
7270 #[doc = "IRQ Input Enable"]
7271 #[inline(always)]
7272 pub fn isel(
7273 self,
7274 ) -> crate::common::RegisterField<
7275 14,
7276 0x1,
7277 1,
7278 0,
7279 p1pfs_ha::Isel,
7280 p1pfs_ha::Isel,
7281 P1PfsHa_SPEC,
7282 crate::common::RW,
7283 > {
7284 crate::common::RegisterField::<
7285 14,
7286 0x1,
7287 1,
7288 0,
7289 p1pfs_ha::Isel,
7290 p1pfs_ha::Isel,
7291 P1PfsHa_SPEC,
7292 crate::common::RW,
7293 >::from_register(self, 0)
7294 }
7295
7296 #[doc = "Analog Input Enable"]
7297 #[inline(always)]
7298 pub fn asel(
7299 self,
7300 ) -> crate::common::RegisterField<
7301 15,
7302 0x1,
7303 1,
7304 0,
7305 p1pfs_ha::Asel,
7306 p1pfs_ha::Asel,
7307 P1PfsHa_SPEC,
7308 crate::common::RW,
7309 > {
7310 crate::common::RegisterField::<
7311 15,
7312 0x1,
7313 1,
7314 0,
7315 p1pfs_ha::Asel,
7316 p1pfs_ha::Asel,
7317 P1PfsHa_SPEC,
7318 crate::common::RW,
7319 >::from_register(self, 0)
7320 }
7321}
7322impl ::core::default::Default for P1PfsHa {
7323 #[inline(always)]
7324 fn default() -> P1PfsHa {
7325 <crate::RegValueT<P1PfsHa_SPEC> as RegisterValue<_>>::new(0)
7326 }
7327}
7328pub mod p1pfs_ha {
7329
7330 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7331 pub struct Podr_SPEC;
7332 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7333 impl Podr {
7334 #[doc = "Output low"]
7335 pub const _0: Self = Self::new(0);
7336
7337 #[doc = "Output high"]
7338 pub const _1: Self = Self::new(1);
7339 }
7340 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7341 pub struct Pidr_SPEC;
7342 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7343 impl Pidr {
7344 #[doc = "Low level"]
7345 pub const _0: Self = Self::new(0);
7346
7347 #[doc = "High level"]
7348 pub const _1: Self = Self::new(1);
7349 }
7350 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7351 pub struct Pdr_SPEC;
7352 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7353 impl Pdr {
7354 #[doc = "Input (functions as an input pin)"]
7355 pub const _0: Self = Self::new(0);
7356
7357 #[doc = "Output (functions as an output pin)"]
7358 pub const _1: Self = Self::new(1);
7359 }
7360 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7361 pub struct Pcr_SPEC;
7362 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7363 impl Pcr {
7364 #[doc = "Disable input pull-up"]
7365 pub const _0: Self = Self::new(0);
7366
7367 #[doc = "Enable input pull-up"]
7368 pub const _1: Self = Self::new(1);
7369 }
7370 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7371 pub struct Ncodr_SPEC;
7372 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7373 impl Ncodr {
7374 #[doc = "Output CMOS"]
7375 pub const _0: Self = Self::new(0);
7376
7377 #[doc = "Output NMOS open-drain"]
7378 pub const _1: Self = Self::new(1);
7379 }
7380 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7381 pub struct Dscr_SPEC;
7382 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
7383 impl Dscr {
7384 #[doc = "Low drive"]
7385 pub const _00: Self = Self::new(0);
7386
7387 #[doc = "Middle drive"]
7388 pub const _01: Self = Self::new(1);
7389
7390 #[doc = "Setting prohibited"]
7391 pub const _10: Self = Self::new(2);
7392
7393 #[doc = "High drive"]
7394 pub const _11: Self = Self::new(3);
7395 }
7396 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7397 pub struct Eofr_SPEC;
7398 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7399 impl Eofr {
7400 #[doc = "Don\'t care"]
7401 pub const _00: Self = Self::new(0);
7402
7403 #[doc = "Detect rising edge"]
7404 pub const _01: Self = Self::new(1);
7405
7406 #[doc = "Detect falling edge"]
7407 pub const _10: Self = Self::new(2);
7408
7409 #[doc = "Detect both edges"]
7410 pub const _11: Self = Self::new(3);
7411 }
7412 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7413 pub struct Isel_SPEC;
7414 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7415 impl Isel {
7416 #[doc = "Do not use as IRQn input pin"]
7417 pub const _0: Self = Self::new(0);
7418
7419 #[doc = "Use as IRQn input pin"]
7420 pub const _1: Self = Self::new(1);
7421 }
7422 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7423 pub struct Asel_SPEC;
7424 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7425 impl Asel {
7426 #[doc = "Do not use as analog pin"]
7427 pub const _0: Self = Self::new(0);
7428
7429 #[doc = "Use as analog pin"]
7430 pub const _1: Self = Self::new(1);
7431 }
7432}
7433#[doc(hidden)]
7434#[derive(Copy, Clone, Eq, PartialEq)]
7435pub struct P1PfsBy_SPEC;
7436impl crate::sealed::RegSpec for P1PfsBy_SPEC {
7437 type DataType = u8;
7438}
7439
7440#[doc = "Port 1%s Pin Function Select Register"]
7441pub type P1PfsBy = crate::RegValueT<P1PfsBy_SPEC>;
7442
7443impl P1PfsBy {
7444 #[doc = "Port Output Data"]
7445 #[inline(always)]
7446 pub fn podr(
7447 self,
7448 ) -> crate::common::RegisterField<
7449 0,
7450 0x1,
7451 1,
7452 0,
7453 p1pfs_by::Podr,
7454 p1pfs_by::Podr,
7455 P1PfsBy_SPEC,
7456 crate::common::RW,
7457 > {
7458 crate::common::RegisterField::<
7459 0,
7460 0x1,
7461 1,
7462 0,
7463 p1pfs_by::Podr,
7464 p1pfs_by::Podr,
7465 P1PfsBy_SPEC,
7466 crate::common::RW,
7467 >::from_register(self, 0)
7468 }
7469
7470 #[doc = "Port State"]
7471 #[inline(always)]
7472 pub fn pidr(
7473 self,
7474 ) -> crate::common::RegisterField<
7475 1,
7476 0x1,
7477 1,
7478 0,
7479 p1pfs_by::Pidr,
7480 p1pfs_by::Pidr,
7481 P1PfsBy_SPEC,
7482 crate::common::R,
7483 > {
7484 crate::common::RegisterField::<
7485 1,
7486 0x1,
7487 1,
7488 0,
7489 p1pfs_by::Pidr,
7490 p1pfs_by::Pidr,
7491 P1PfsBy_SPEC,
7492 crate::common::R,
7493 >::from_register(self, 0)
7494 }
7495
7496 #[doc = "Port Direction"]
7497 #[inline(always)]
7498 pub fn pdr(
7499 self,
7500 ) -> crate::common::RegisterField<
7501 2,
7502 0x1,
7503 1,
7504 0,
7505 p1pfs_by::Pdr,
7506 p1pfs_by::Pdr,
7507 P1PfsBy_SPEC,
7508 crate::common::RW,
7509 > {
7510 crate::common::RegisterField::<
7511 2,
7512 0x1,
7513 1,
7514 0,
7515 p1pfs_by::Pdr,
7516 p1pfs_by::Pdr,
7517 P1PfsBy_SPEC,
7518 crate::common::RW,
7519 >::from_register(self, 0)
7520 }
7521
7522 #[doc = "Pull-up Control"]
7523 #[inline(always)]
7524 pub fn pcr(
7525 self,
7526 ) -> crate::common::RegisterField<
7527 4,
7528 0x1,
7529 1,
7530 0,
7531 p1pfs_by::Pcr,
7532 p1pfs_by::Pcr,
7533 P1PfsBy_SPEC,
7534 crate::common::RW,
7535 > {
7536 crate::common::RegisterField::<
7537 4,
7538 0x1,
7539 1,
7540 0,
7541 p1pfs_by::Pcr,
7542 p1pfs_by::Pcr,
7543 P1PfsBy_SPEC,
7544 crate::common::RW,
7545 >::from_register(self, 0)
7546 }
7547
7548 #[doc = "N-Channel Open-Drain Control"]
7549 #[inline(always)]
7550 pub fn ncodr(
7551 self,
7552 ) -> crate::common::RegisterField<
7553 6,
7554 0x1,
7555 1,
7556 0,
7557 p1pfs_by::Ncodr,
7558 p1pfs_by::Ncodr,
7559 P1PfsBy_SPEC,
7560 crate::common::RW,
7561 > {
7562 crate::common::RegisterField::<
7563 6,
7564 0x1,
7565 1,
7566 0,
7567 p1pfs_by::Ncodr,
7568 p1pfs_by::Ncodr,
7569 P1PfsBy_SPEC,
7570 crate::common::RW,
7571 >::from_register(self, 0)
7572 }
7573}
7574impl ::core::default::Default for P1PfsBy {
7575 #[inline(always)]
7576 fn default() -> P1PfsBy {
7577 <crate::RegValueT<P1PfsBy_SPEC> as RegisterValue<_>>::new(0)
7578 }
7579}
7580pub mod p1pfs_by {
7581
7582 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7583 pub struct Podr_SPEC;
7584 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7585 impl Podr {
7586 #[doc = "Output low"]
7587 pub const _0: Self = Self::new(0);
7588
7589 #[doc = "Output high"]
7590 pub const _1: Self = Self::new(1);
7591 }
7592 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7593 pub struct Pidr_SPEC;
7594 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7595 impl Pidr {
7596 #[doc = "Low level"]
7597 pub const _0: Self = Self::new(0);
7598
7599 #[doc = "High level"]
7600 pub const _1: Self = Self::new(1);
7601 }
7602 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7603 pub struct Pdr_SPEC;
7604 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7605 impl Pdr {
7606 #[doc = "Input (functions as an input pin)"]
7607 pub const _0: Self = Self::new(0);
7608
7609 #[doc = "Output (functions as an output pin)"]
7610 pub const _1: Self = Self::new(1);
7611 }
7612 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7613 pub struct Pcr_SPEC;
7614 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7615 impl Pcr {
7616 #[doc = "Disable input pull-up"]
7617 pub const _0: Self = Self::new(0);
7618
7619 #[doc = "Enable input pull-up"]
7620 pub const _1: Self = Self::new(1);
7621 }
7622 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7623 pub struct Ncodr_SPEC;
7624 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7625 impl Ncodr {
7626 #[doc = "Output CMOS"]
7627 pub const _0: Self = Self::new(0);
7628
7629 #[doc = "Output NMOS open-drain"]
7630 pub const _1: Self = Self::new(1);
7631 }
7632}
7633#[doc(hidden)]
7634#[derive(Copy, Clone, Eq, PartialEq)]
7635pub struct P200Pfs_SPEC;
7636impl crate::sealed::RegSpec for P200Pfs_SPEC {
7637 type DataType = u32;
7638}
7639
7640#[doc = "Port 200 Pin Function Select Register"]
7641pub type P200Pfs = crate::RegValueT<P200Pfs_SPEC>;
7642
7643impl P200Pfs {
7644 #[doc = "Port Output Data"]
7645 #[inline(always)]
7646 pub fn podr(
7647 self,
7648 ) -> crate::common::RegisterField<
7649 0,
7650 0x1,
7651 1,
7652 0,
7653 p200pfs::Podr,
7654 p200pfs::Podr,
7655 P200Pfs_SPEC,
7656 crate::common::RW,
7657 > {
7658 crate::common::RegisterField::<
7659 0,
7660 0x1,
7661 1,
7662 0,
7663 p200pfs::Podr,
7664 p200pfs::Podr,
7665 P200Pfs_SPEC,
7666 crate::common::RW,
7667 >::from_register(self, 0)
7668 }
7669
7670 #[doc = "Port State"]
7671 #[inline(always)]
7672 pub fn pidr(
7673 self,
7674 ) -> crate::common::RegisterField<
7675 1,
7676 0x1,
7677 1,
7678 0,
7679 p200pfs::Pidr,
7680 p200pfs::Pidr,
7681 P200Pfs_SPEC,
7682 crate::common::R,
7683 > {
7684 crate::common::RegisterField::<
7685 1,
7686 0x1,
7687 1,
7688 0,
7689 p200pfs::Pidr,
7690 p200pfs::Pidr,
7691 P200Pfs_SPEC,
7692 crate::common::R,
7693 >::from_register(self, 0)
7694 }
7695
7696 #[doc = "Port Direction"]
7697 #[inline(always)]
7698 pub fn pdr(
7699 self,
7700 ) -> crate::common::RegisterField<
7701 2,
7702 0x1,
7703 1,
7704 0,
7705 p200pfs::Pdr,
7706 p200pfs::Pdr,
7707 P200Pfs_SPEC,
7708 crate::common::RW,
7709 > {
7710 crate::common::RegisterField::<
7711 2,
7712 0x1,
7713 1,
7714 0,
7715 p200pfs::Pdr,
7716 p200pfs::Pdr,
7717 P200Pfs_SPEC,
7718 crate::common::RW,
7719 >::from_register(self, 0)
7720 }
7721
7722 #[doc = "Pull-up Control"]
7723 #[inline(always)]
7724 pub fn pcr(
7725 self,
7726 ) -> crate::common::RegisterField<
7727 4,
7728 0x1,
7729 1,
7730 0,
7731 p200pfs::Pcr,
7732 p200pfs::Pcr,
7733 P200Pfs_SPEC,
7734 crate::common::RW,
7735 > {
7736 crate::common::RegisterField::<
7737 4,
7738 0x1,
7739 1,
7740 0,
7741 p200pfs::Pcr,
7742 p200pfs::Pcr,
7743 P200Pfs_SPEC,
7744 crate::common::RW,
7745 >::from_register(self, 0)
7746 }
7747
7748 #[doc = "N-Channel Open-Drain Control"]
7749 #[inline(always)]
7750 pub fn ncodr(
7751 self,
7752 ) -> crate::common::RegisterField<
7753 6,
7754 0x1,
7755 1,
7756 0,
7757 p200pfs::Ncodr,
7758 p200pfs::Ncodr,
7759 P200Pfs_SPEC,
7760 crate::common::RW,
7761 > {
7762 crate::common::RegisterField::<
7763 6,
7764 0x1,
7765 1,
7766 0,
7767 p200pfs::Ncodr,
7768 p200pfs::Ncodr,
7769 P200Pfs_SPEC,
7770 crate::common::RW,
7771 >::from_register(self, 0)
7772 }
7773
7774 #[doc = "Port Drive Capability"]
7775 #[inline(always)]
7776 pub fn dscr(
7777 self,
7778 ) -> crate::common::RegisterField<
7779 10,
7780 0x3,
7781 1,
7782 0,
7783 p200pfs::Dscr,
7784 p200pfs::Dscr,
7785 P200Pfs_SPEC,
7786 crate::common::RW,
7787 > {
7788 crate::common::RegisterField::<
7789 10,
7790 0x3,
7791 1,
7792 0,
7793 p200pfs::Dscr,
7794 p200pfs::Dscr,
7795 P200Pfs_SPEC,
7796 crate::common::RW,
7797 >::from_register(self, 0)
7798 }
7799
7800 #[doc = "Event on Falling/Event on Rising"]
7801 #[inline(always)]
7802 pub fn eofr(
7803 self,
7804 ) -> crate::common::RegisterField<
7805 12,
7806 0x3,
7807 1,
7808 0,
7809 p200pfs::Eofr,
7810 p200pfs::Eofr,
7811 P200Pfs_SPEC,
7812 crate::common::RW,
7813 > {
7814 crate::common::RegisterField::<
7815 12,
7816 0x3,
7817 1,
7818 0,
7819 p200pfs::Eofr,
7820 p200pfs::Eofr,
7821 P200Pfs_SPEC,
7822 crate::common::RW,
7823 >::from_register(self, 0)
7824 }
7825
7826 #[doc = "IRQ Input Enable"]
7827 #[inline(always)]
7828 pub fn isel(
7829 self,
7830 ) -> crate::common::RegisterField<
7831 14,
7832 0x1,
7833 1,
7834 0,
7835 p200pfs::Isel,
7836 p200pfs::Isel,
7837 P200Pfs_SPEC,
7838 crate::common::RW,
7839 > {
7840 crate::common::RegisterField::<
7841 14,
7842 0x1,
7843 1,
7844 0,
7845 p200pfs::Isel,
7846 p200pfs::Isel,
7847 P200Pfs_SPEC,
7848 crate::common::RW,
7849 >::from_register(self, 0)
7850 }
7851
7852 #[doc = "Analog Input Enable"]
7853 #[inline(always)]
7854 pub fn asel(
7855 self,
7856 ) -> crate::common::RegisterField<
7857 15,
7858 0x1,
7859 1,
7860 0,
7861 p200pfs::Asel,
7862 p200pfs::Asel,
7863 P200Pfs_SPEC,
7864 crate::common::RW,
7865 > {
7866 crate::common::RegisterField::<
7867 15,
7868 0x1,
7869 1,
7870 0,
7871 p200pfs::Asel,
7872 p200pfs::Asel,
7873 P200Pfs_SPEC,
7874 crate::common::RW,
7875 >::from_register(self, 0)
7876 }
7877
7878 #[doc = "Port Mode Control"]
7879 #[inline(always)]
7880 pub fn pmr(
7881 self,
7882 ) -> crate::common::RegisterField<
7883 16,
7884 0x1,
7885 1,
7886 0,
7887 p200pfs::Pmr,
7888 p200pfs::Pmr,
7889 P200Pfs_SPEC,
7890 crate::common::RW,
7891 > {
7892 crate::common::RegisterField::<
7893 16,
7894 0x1,
7895 1,
7896 0,
7897 p200pfs::Pmr,
7898 p200pfs::Pmr,
7899 P200Pfs_SPEC,
7900 crate::common::RW,
7901 >::from_register(self, 0)
7902 }
7903
7904 #[doc = "Peripheral Select"]
7905 #[inline(always)]
7906 pub fn psel(
7907 self,
7908 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P200Pfs_SPEC, crate::common::RW> {
7909 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P200Pfs_SPEC,crate::common::RW>::from_register(self,0)
7910 }
7911}
7912impl ::core::default::Default for P200Pfs {
7913 #[inline(always)]
7914 fn default() -> P200Pfs {
7915 <crate::RegValueT<P200Pfs_SPEC> as RegisterValue<_>>::new(0)
7916 }
7917}
7918pub mod p200pfs {
7919
7920 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7921 pub struct Podr_SPEC;
7922 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7923 impl Podr {
7924 #[doc = "Output low"]
7925 pub const _0: Self = Self::new(0);
7926
7927 #[doc = "Output high"]
7928 pub const _1: Self = Self::new(1);
7929 }
7930 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7931 pub struct Pidr_SPEC;
7932 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7933 impl Pidr {
7934 #[doc = "Low level"]
7935 pub const _0: Self = Self::new(0);
7936
7937 #[doc = "High level"]
7938 pub const _1: Self = Self::new(1);
7939 }
7940 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7941 pub struct Pdr_SPEC;
7942 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7943 impl Pdr {
7944 #[doc = "Input (functions as an input pin)"]
7945 pub const _0: Self = Self::new(0);
7946
7947 #[doc = "Output (functions as an output pin)"]
7948 pub const _1: Self = Self::new(1);
7949 }
7950 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7951 pub struct Pcr_SPEC;
7952 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7953 impl Pcr {
7954 #[doc = "Disable input pull-up"]
7955 pub const _0: Self = Self::new(0);
7956
7957 #[doc = "Enable input pull-up"]
7958 pub const _1: Self = Self::new(1);
7959 }
7960 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7961 pub struct Ncodr_SPEC;
7962 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7963 impl Ncodr {
7964 #[doc = "Output CMOS"]
7965 pub const _0: Self = Self::new(0);
7966
7967 #[doc = "Output NMOS open-drain"]
7968 pub const _1: Self = Self::new(1);
7969 }
7970 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7971 pub struct Dscr_SPEC;
7972 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
7973 impl Dscr {
7974 #[doc = "Low drive"]
7975 pub const _00: Self = Self::new(0);
7976
7977 #[doc = "Middle drive"]
7978 pub const _01: Self = Self::new(1);
7979
7980 #[doc = "Setting prohibited"]
7981 pub const _10: Self = Self::new(2);
7982
7983 #[doc = "High drive"]
7984 pub const _11: Self = Self::new(3);
7985 }
7986 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7987 pub struct Eofr_SPEC;
7988 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7989 impl Eofr {
7990 #[doc = "Don\'t care"]
7991 pub const _00: Self = Self::new(0);
7992
7993 #[doc = "Detect rising edge"]
7994 pub const _01: Self = Self::new(1);
7995
7996 #[doc = "Detect falling edge"]
7997 pub const _10: Self = Self::new(2);
7998
7999 #[doc = "Detect both edges"]
8000 pub const _11: Self = Self::new(3);
8001 }
8002 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8003 pub struct Isel_SPEC;
8004 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8005 impl Isel {
8006 #[doc = "Do not use as IRQn input pin"]
8007 pub const _0: Self = Self::new(0);
8008
8009 #[doc = "Use as IRQn input pin"]
8010 pub const _1: Self = Self::new(1);
8011 }
8012 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8013 pub struct Asel_SPEC;
8014 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8015 impl Asel {
8016 #[doc = "Do not use as analog pin"]
8017 pub const _0: Self = Self::new(0);
8018
8019 #[doc = "Use as analog pin"]
8020 pub const _1: Self = Self::new(1);
8021 }
8022 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8023 pub struct Pmr_SPEC;
8024 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
8025 impl Pmr {
8026 #[doc = "Use as general I/O pin"]
8027 pub const _0: Self = Self::new(0);
8028
8029 #[doc = "Use as I/O port for peripheral functions"]
8030 pub const _1: Self = Self::new(1);
8031 }
8032}
8033#[doc(hidden)]
8034#[derive(Copy, Clone, Eq, PartialEq)]
8035pub struct P200PfsHa_SPEC;
8036impl crate::sealed::RegSpec for P200PfsHa_SPEC {
8037 type DataType = u16;
8038}
8039
8040#[doc = "Port 200 Pin Function Select Register"]
8041pub type P200PfsHa = crate::RegValueT<P200PfsHa_SPEC>;
8042
8043impl P200PfsHa {
8044 #[doc = "Port Output Data"]
8045 #[inline(always)]
8046 pub fn podr(
8047 self,
8048 ) -> crate::common::RegisterField<
8049 0,
8050 0x1,
8051 1,
8052 0,
8053 p200pfs_ha::Podr,
8054 p200pfs_ha::Podr,
8055 P200PfsHa_SPEC,
8056 crate::common::RW,
8057 > {
8058 crate::common::RegisterField::<
8059 0,
8060 0x1,
8061 1,
8062 0,
8063 p200pfs_ha::Podr,
8064 p200pfs_ha::Podr,
8065 P200PfsHa_SPEC,
8066 crate::common::RW,
8067 >::from_register(self, 0)
8068 }
8069
8070 #[doc = "Port State"]
8071 #[inline(always)]
8072 pub fn pidr(
8073 self,
8074 ) -> crate::common::RegisterField<
8075 1,
8076 0x1,
8077 1,
8078 0,
8079 p200pfs_ha::Pidr,
8080 p200pfs_ha::Pidr,
8081 P200PfsHa_SPEC,
8082 crate::common::R,
8083 > {
8084 crate::common::RegisterField::<
8085 1,
8086 0x1,
8087 1,
8088 0,
8089 p200pfs_ha::Pidr,
8090 p200pfs_ha::Pidr,
8091 P200PfsHa_SPEC,
8092 crate::common::R,
8093 >::from_register(self, 0)
8094 }
8095
8096 #[doc = "Port Direction"]
8097 #[inline(always)]
8098 pub fn pdr(
8099 self,
8100 ) -> crate::common::RegisterField<
8101 2,
8102 0x1,
8103 1,
8104 0,
8105 p200pfs_ha::Pdr,
8106 p200pfs_ha::Pdr,
8107 P200PfsHa_SPEC,
8108 crate::common::RW,
8109 > {
8110 crate::common::RegisterField::<
8111 2,
8112 0x1,
8113 1,
8114 0,
8115 p200pfs_ha::Pdr,
8116 p200pfs_ha::Pdr,
8117 P200PfsHa_SPEC,
8118 crate::common::RW,
8119 >::from_register(self, 0)
8120 }
8121
8122 #[doc = "Pull-up Control"]
8123 #[inline(always)]
8124 pub fn pcr(
8125 self,
8126 ) -> crate::common::RegisterField<
8127 4,
8128 0x1,
8129 1,
8130 0,
8131 p200pfs_ha::Pcr,
8132 p200pfs_ha::Pcr,
8133 P200PfsHa_SPEC,
8134 crate::common::RW,
8135 > {
8136 crate::common::RegisterField::<
8137 4,
8138 0x1,
8139 1,
8140 0,
8141 p200pfs_ha::Pcr,
8142 p200pfs_ha::Pcr,
8143 P200PfsHa_SPEC,
8144 crate::common::RW,
8145 >::from_register(self, 0)
8146 }
8147
8148 #[doc = "N-Channel Open-Drain Control"]
8149 #[inline(always)]
8150 pub fn ncodr(
8151 self,
8152 ) -> crate::common::RegisterField<
8153 6,
8154 0x1,
8155 1,
8156 0,
8157 p200pfs_ha::Ncodr,
8158 p200pfs_ha::Ncodr,
8159 P200PfsHa_SPEC,
8160 crate::common::RW,
8161 > {
8162 crate::common::RegisterField::<
8163 6,
8164 0x1,
8165 1,
8166 0,
8167 p200pfs_ha::Ncodr,
8168 p200pfs_ha::Ncodr,
8169 P200PfsHa_SPEC,
8170 crate::common::RW,
8171 >::from_register(self, 0)
8172 }
8173
8174 #[doc = "Port Drive Capability"]
8175 #[inline(always)]
8176 pub fn dscr(
8177 self,
8178 ) -> crate::common::RegisterField<
8179 10,
8180 0x3,
8181 1,
8182 0,
8183 p200pfs_ha::Dscr,
8184 p200pfs_ha::Dscr,
8185 P200PfsHa_SPEC,
8186 crate::common::RW,
8187 > {
8188 crate::common::RegisterField::<
8189 10,
8190 0x3,
8191 1,
8192 0,
8193 p200pfs_ha::Dscr,
8194 p200pfs_ha::Dscr,
8195 P200PfsHa_SPEC,
8196 crate::common::RW,
8197 >::from_register(self, 0)
8198 }
8199
8200 #[doc = "Event on Falling/Event on Rising"]
8201 #[inline(always)]
8202 pub fn eofr(
8203 self,
8204 ) -> crate::common::RegisterField<
8205 12,
8206 0x3,
8207 1,
8208 0,
8209 p200pfs_ha::Eofr,
8210 p200pfs_ha::Eofr,
8211 P200PfsHa_SPEC,
8212 crate::common::RW,
8213 > {
8214 crate::common::RegisterField::<
8215 12,
8216 0x3,
8217 1,
8218 0,
8219 p200pfs_ha::Eofr,
8220 p200pfs_ha::Eofr,
8221 P200PfsHa_SPEC,
8222 crate::common::RW,
8223 >::from_register(self, 0)
8224 }
8225
8226 #[doc = "IRQ Input Enable"]
8227 #[inline(always)]
8228 pub fn isel(
8229 self,
8230 ) -> crate::common::RegisterField<
8231 14,
8232 0x1,
8233 1,
8234 0,
8235 p200pfs_ha::Isel,
8236 p200pfs_ha::Isel,
8237 P200PfsHa_SPEC,
8238 crate::common::RW,
8239 > {
8240 crate::common::RegisterField::<
8241 14,
8242 0x1,
8243 1,
8244 0,
8245 p200pfs_ha::Isel,
8246 p200pfs_ha::Isel,
8247 P200PfsHa_SPEC,
8248 crate::common::RW,
8249 >::from_register(self, 0)
8250 }
8251
8252 #[doc = "Analog Input Enable"]
8253 #[inline(always)]
8254 pub fn asel(
8255 self,
8256 ) -> crate::common::RegisterField<
8257 15,
8258 0x1,
8259 1,
8260 0,
8261 p200pfs_ha::Asel,
8262 p200pfs_ha::Asel,
8263 P200PfsHa_SPEC,
8264 crate::common::RW,
8265 > {
8266 crate::common::RegisterField::<
8267 15,
8268 0x1,
8269 1,
8270 0,
8271 p200pfs_ha::Asel,
8272 p200pfs_ha::Asel,
8273 P200PfsHa_SPEC,
8274 crate::common::RW,
8275 >::from_register(self, 0)
8276 }
8277}
8278impl ::core::default::Default for P200PfsHa {
8279 #[inline(always)]
8280 fn default() -> P200PfsHa {
8281 <crate::RegValueT<P200PfsHa_SPEC> as RegisterValue<_>>::new(0)
8282 }
8283}
8284pub mod p200pfs_ha {
8285
8286 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8287 pub struct Podr_SPEC;
8288 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8289 impl Podr {
8290 #[doc = "Output low"]
8291 pub const _0: Self = Self::new(0);
8292
8293 #[doc = "Output high"]
8294 pub const _1: Self = Self::new(1);
8295 }
8296 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8297 pub struct Pidr_SPEC;
8298 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8299 impl Pidr {
8300 #[doc = "Low level"]
8301 pub const _0: Self = Self::new(0);
8302
8303 #[doc = "High level"]
8304 pub const _1: Self = Self::new(1);
8305 }
8306 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8307 pub struct Pdr_SPEC;
8308 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8309 impl Pdr {
8310 #[doc = "Input (functions as an input pin)"]
8311 pub const _0: Self = Self::new(0);
8312
8313 #[doc = "Output (functions as an output pin)"]
8314 pub const _1: Self = Self::new(1);
8315 }
8316 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8317 pub struct Pcr_SPEC;
8318 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8319 impl Pcr {
8320 #[doc = "Disable input pull-up"]
8321 pub const _0: Self = Self::new(0);
8322
8323 #[doc = "Enable input pull-up"]
8324 pub const _1: Self = Self::new(1);
8325 }
8326 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8327 pub struct Ncodr_SPEC;
8328 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8329 impl Ncodr {
8330 #[doc = "Output CMOS"]
8331 pub const _0: Self = Self::new(0);
8332
8333 #[doc = "Output NMOS open-drain"]
8334 pub const _1: Self = Self::new(1);
8335 }
8336 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8337 pub struct Dscr_SPEC;
8338 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
8339 impl Dscr {
8340 #[doc = "Low drive"]
8341 pub const _00: Self = Self::new(0);
8342
8343 #[doc = "Middle drive"]
8344 pub const _01: Self = Self::new(1);
8345
8346 #[doc = "Setting prohibited"]
8347 pub const _10: Self = Self::new(2);
8348
8349 #[doc = "High drive"]
8350 pub const _11: Self = Self::new(3);
8351 }
8352 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8353 pub struct Eofr_SPEC;
8354 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8355 impl Eofr {
8356 #[doc = "Don\'t care"]
8357 pub const _00: Self = Self::new(0);
8358
8359 #[doc = "Detect rising edge"]
8360 pub const _01: Self = Self::new(1);
8361
8362 #[doc = "Detect falling edge"]
8363 pub const _10: Self = Self::new(2);
8364
8365 #[doc = "Detect both edges"]
8366 pub const _11: Self = Self::new(3);
8367 }
8368 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8369 pub struct Isel_SPEC;
8370 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8371 impl Isel {
8372 #[doc = "Do not use as IRQn input pin"]
8373 pub const _0: Self = Self::new(0);
8374
8375 #[doc = "Use as IRQn input pin"]
8376 pub const _1: Self = Self::new(1);
8377 }
8378 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8379 pub struct Asel_SPEC;
8380 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8381 impl Asel {
8382 #[doc = "Do not use as analog pin"]
8383 pub const _0: Self = Self::new(0);
8384
8385 #[doc = "Use as analog pin"]
8386 pub const _1: Self = Self::new(1);
8387 }
8388}
8389#[doc(hidden)]
8390#[derive(Copy, Clone, Eq, PartialEq)]
8391pub struct P200PfsBy_SPEC;
8392impl crate::sealed::RegSpec for P200PfsBy_SPEC {
8393 type DataType = u8;
8394}
8395
8396#[doc = "Port 200 Pin Function Select Register"]
8397pub type P200PfsBy = crate::RegValueT<P200PfsBy_SPEC>;
8398
8399impl P200PfsBy {
8400 #[doc = "Port Output Data"]
8401 #[inline(always)]
8402 pub fn podr(
8403 self,
8404 ) -> crate::common::RegisterField<
8405 0,
8406 0x1,
8407 1,
8408 0,
8409 p200pfs_by::Podr,
8410 p200pfs_by::Podr,
8411 P200PfsBy_SPEC,
8412 crate::common::RW,
8413 > {
8414 crate::common::RegisterField::<
8415 0,
8416 0x1,
8417 1,
8418 0,
8419 p200pfs_by::Podr,
8420 p200pfs_by::Podr,
8421 P200PfsBy_SPEC,
8422 crate::common::RW,
8423 >::from_register(self, 0)
8424 }
8425
8426 #[doc = "Port State"]
8427 #[inline(always)]
8428 pub fn pidr(
8429 self,
8430 ) -> crate::common::RegisterField<
8431 1,
8432 0x1,
8433 1,
8434 0,
8435 p200pfs_by::Pidr,
8436 p200pfs_by::Pidr,
8437 P200PfsBy_SPEC,
8438 crate::common::R,
8439 > {
8440 crate::common::RegisterField::<
8441 1,
8442 0x1,
8443 1,
8444 0,
8445 p200pfs_by::Pidr,
8446 p200pfs_by::Pidr,
8447 P200PfsBy_SPEC,
8448 crate::common::R,
8449 >::from_register(self, 0)
8450 }
8451
8452 #[doc = "Port Direction"]
8453 #[inline(always)]
8454 pub fn pdr(
8455 self,
8456 ) -> crate::common::RegisterField<
8457 2,
8458 0x1,
8459 1,
8460 0,
8461 p200pfs_by::Pdr,
8462 p200pfs_by::Pdr,
8463 P200PfsBy_SPEC,
8464 crate::common::RW,
8465 > {
8466 crate::common::RegisterField::<
8467 2,
8468 0x1,
8469 1,
8470 0,
8471 p200pfs_by::Pdr,
8472 p200pfs_by::Pdr,
8473 P200PfsBy_SPEC,
8474 crate::common::RW,
8475 >::from_register(self, 0)
8476 }
8477
8478 #[doc = "Pull-up Control"]
8479 #[inline(always)]
8480 pub fn pcr(
8481 self,
8482 ) -> crate::common::RegisterField<
8483 4,
8484 0x1,
8485 1,
8486 0,
8487 p200pfs_by::Pcr,
8488 p200pfs_by::Pcr,
8489 P200PfsBy_SPEC,
8490 crate::common::RW,
8491 > {
8492 crate::common::RegisterField::<
8493 4,
8494 0x1,
8495 1,
8496 0,
8497 p200pfs_by::Pcr,
8498 p200pfs_by::Pcr,
8499 P200PfsBy_SPEC,
8500 crate::common::RW,
8501 >::from_register(self, 0)
8502 }
8503
8504 #[doc = "N-Channel Open-Drain Control"]
8505 #[inline(always)]
8506 pub fn ncodr(
8507 self,
8508 ) -> crate::common::RegisterField<
8509 6,
8510 0x1,
8511 1,
8512 0,
8513 p200pfs_by::Ncodr,
8514 p200pfs_by::Ncodr,
8515 P200PfsBy_SPEC,
8516 crate::common::RW,
8517 > {
8518 crate::common::RegisterField::<
8519 6,
8520 0x1,
8521 1,
8522 0,
8523 p200pfs_by::Ncodr,
8524 p200pfs_by::Ncodr,
8525 P200PfsBy_SPEC,
8526 crate::common::RW,
8527 >::from_register(self, 0)
8528 }
8529}
8530impl ::core::default::Default for P200PfsBy {
8531 #[inline(always)]
8532 fn default() -> P200PfsBy {
8533 <crate::RegValueT<P200PfsBy_SPEC> as RegisterValue<_>>::new(0)
8534 }
8535}
8536pub mod p200pfs_by {
8537
8538 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8539 pub struct Podr_SPEC;
8540 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8541 impl Podr {
8542 #[doc = "Output low"]
8543 pub const _0: Self = Self::new(0);
8544
8545 #[doc = "Output high"]
8546 pub const _1: Self = Self::new(1);
8547 }
8548 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8549 pub struct Pidr_SPEC;
8550 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8551 impl Pidr {
8552 #[doc = "Low level"]
8553 pub const _0: Self = Self::new(0);
8554
8555 #[doc = "High level"]
8556 pub const _1: Self = Self::new(1);
8557 }
8558 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8559 pub struct Pdr_SPEC;
8560 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8561 impl Pdr {
8562 #[doc = "Input (functions as an input pin)"]
8563 pub const _0: Self = Self::new(0);
8564
8565 #[doc = "Output (functions as an output pin)"]
8566 pub const _1: Self = Self::new(1);
8567 }
8568 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8569 pub struct Pcr_SPEC;
8570 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8571 impl Pcr {
8572 #[doc = "Disable input pull-up"]
8573 pub const _0: Self = Self::new(0);
8574
8575 #[doc = "Enable input pull-up"]
8576 pub const _1: Self = Self::new(1);
8577 }
8578 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8579 pub struct Ncodr_SPEC;
8580 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8581 impl Ncodr {
8582 #[doc = "Output CMOS"]
8583 pub const _0: Self = Self::new(0);
8584
8585 #[doc = "Output NMOS open-drain"]
8586 pub const _1: Self = Self::new(1);
8587 }
8588}
8589#[doc(hidden)]
8590#[derive(Copy, Clone, Eq, PartialEq)]
8591pub struct P201Pfs_SPEC;
8592impl crate::sealed::RegSpec for P201Pfs_SPEC {
8593 type DataType = u32;
8594}
8595
8596#[doc = "Port 201 Pin Function Select Register"]
8597pub type P201Pfs = crate::RegValueT<P201Pfs_SPEC>;
8598
8599impl P201Pfs {
8600 #[doc = "Port Output Data"]
8601 #[inline(always)]
8602 pub fn podr(
8603 self,
8604 ) -> crate::common::RegisterField<
8605 0,
8606 0x1,
8607 1,
8608 0,
8609 p201pfs::Podr,
8610 p201pfs::Podr,
8611 P201Pfs_SPEC,
8612 crate::common::RW,
8613 > {
8614 crate::common::RegisterField::<
8615 0,
8616 0x1,
8617 1,
8618 0,
8619 p201pfs::Podr,
8620 p201pfs::Podr,
8621 P201Pfs_SPEC,
8622 crate::common::RW,
8623 >::from_register(self, 0)
8624 }
8625
8626 #[doc = "Port State"]
8627 #[inline(always)]
8628 pub fn pidr(
8629 self,
8630 ) -> crate::common::RegisterField<
8631 1,
8632 0x1,
8633 1,
8634 0,
8635 p201pfs::Pidr,
8636 p201pfs::Pidr,
8637 P201Pfs_SPEC,
8638 crate::common::R,
8639 > {
8640 crate::common::RegisterField::<
8641 1,
8642 0x1,
8643 1,
8644 0,
8645 p201pfs::Pidr,
8646 p201pfs::Pidr,
8647 P201Pfs_SPEC,
8648 crate::common::R,
8649 >::from_register(self, 0)
8650 }
8651
8652 #[doc = "Port Direction"]
8653 #[inline(always)]
8654 pub fn pdr(
8655 self,
8656 ) -> crate::common::RegisterField<
8657 2,
8658 0x1,
8659 1,
8660 0,
8661 p201pfs::Pdr,
8662 p201pfs::Pdr,
8663 P201Pfs_SPEC,
8664 crate::common::RW,
8665 > {
8666 crate::common::RegisterField::<
8667 2,
8668 0x1,
8669 1,
8670 0,
8671 p201pfs::Pdr,
8672 p201pfs::Pdr,
8673 P201Pfs_SPEC,
8674 crate::common::RW,
8675 >::from_register(self, 0)
8676 }
8677
8678 #[doc = "Pull-up Control"]
8679 #[inline(always)]
8680 pub fn pcr(
8681 self,
8682 ) -> crate::common::RegisterField<
8683 4,
8684 0x1,
8685 1,
8686 0,
8687 p201pfs::Pcr,
8688 p201pfs::Pcr,
8689 P201Pfs_SPEC,
8690 crate::common::RW,
8691 > {
8692 crate::common::RegisterField::<
8693 4,
8694 0x1,
8695 1,
8696 0,
8697 p201pfs::Pcr,
8698 p201pfs::Pcr,
8699 P201Pfs_SPEC,
8700 crate::common::RW,
8701 >::from_register(self, 0)
8702 }
8703
8704 #[doc = "N-Channel Open-Drain Control"]
8705 #[inline(always)]
8706 pub fn ncodr(
8707 self,
8708 ) -> crate::common::RegisterField<
8709 6,
8710 0x1,
8711 1,
8712 0,
8713 p201pfs::Ncodr,
8714 p201pfs::Ncodr,
8715 P201Pfs_SPEC,
8716 crate::common::RW,
8717 > {
8718 crate::common::RegisterField::<
8719 6,
8720 0x1,
8721 1,
8722 0,
8723 p201pfs::Ncodr,
8724 p201pfs::Ncodr,
8725 P201Pfs_SPEC,
8726 crate::common::RW,
8727 >::from_register(self, 0)
8728 }
8729
8730 #[doc = "Port Drive Capability"]
8731 #[inline(always)]
8732 pub fn dscr(
8733 self,
8734 ) -> crate::common::RegisterField<
8735 10,
8736 0x3,
8737 1,
8738 0,
8739 p201pfs::Dscr,
8740 p201pfs::Dscr,
8741 P201Pfs_SPEC,
8742 crate::common::RW,
8743 > {
8744 crate::common::RegisterField::<
8745 10,
8746 0x3,
8747 1,
8748 0,
8749 p201pfs::Dscr,
8750 p201pfs::Dscr,
8751 P201Pfs_SPEC,
8752 crate::common::RW,
8753 >::from_register(self, 0)
8754 }
8755
8756 #[doc = "Event on Falling/Event on Rising"]
8757 #[inline(always)]
8758 pub fn eofr(
8759 self,
8760 ) -> crate::common::RegisterField<
8761 12,
8762 0x3,
8763 1,
8764 0,
8765 p201pfs::Eofr,
8766 p201pfs::Eofr,
8767 P201Pfs_SPEC,
8768 crate::common::RW,
8769 > {
8770 crate::common::RegisterField::<
8771 12,
8772 0x3,
8773 1,
8774 0,
8775 p201pfs::Eofr,
8776 p201pfs::Eofr,
8777 P201Pfs_SPEC,
8778 crate::common::RW,
8779 >::from_register(self, 0)
8780 }
8781
8782 #[doc = "IRQ Input Enable"]
8783 #[inline(always)]
8784 pub fn isel(
8785 self,
8786 ) -> crate::common::RegisterField<
8787 14,
8788 0x1,
8789 1,
8790 0,
8791 p201pfs::Isel,
8792 p201pfs::Isel,
8793 P201Pfs_SPEC,
8794 crate::common::RW,
8795 > {
8796 crate::common::RegisterField::<
8797 14,
8798 0x1,
8799 1,
8800 0,
8801 p201pfs::Isel,
8802 p201pfs::Isel,
8803 P201Pfs_SPEC,
8804 crate::common::RW,
8805 >::from_register(self, 0)
8806 }
8807
8808 #[doc = "Analog Input Enable"]
8809 #[inline(always)]
8810 pub fn asel(
8811 self,
8812 ) -> crate::common::RegisterField<
8813 15,
8814 0x1,
8815 1,
8816 0,
8817 p201pfs::Asel,
8818 p201pfs::Asel,
8819 P201Pfs_SPEC,
8820 crate::common::RW,
8821 > {
8822 crate::common::RegisterField::<
8823 15,
8824 0x1,
8825 1,
8826 0,
8827 p201pfs::Asel,
8828 p201pfs::Asel,
8829 P201Pfs_SPEC,
8830 crate::common::RW,
8831 >::from_register(self, 0)
8832 }
8833
8834 #[doc = "Port Mode Control"]
8835 #[inline(always)]
8836 pub fn pmr(
8837 self,
8838 ) -> crate::common::RegisterField<
8839 16,
8840 0x1,
8841 1,
8842 0,
8843 p201pfs::Pmr,
8844 p201pfs::Pmr,
8845 P201Pfs_SPEC,
8846 crate::common::RW,
8847 > {
8848 crate::common::RegisterField::<
8849 16,
8850 0x1,
8851 1,
8852 0,
8853 p201pfs::Pmr,
8854 p201pfs::Pmr,
8855 P201Pfs_SPEC,
8856 crate::common::RW,
8857 >::from_register(self, 0)
8858 }
8859
8860 #[doc = "Peripheral Select"]
8861 #[inline(always)]
8862 pub fn psel(
8863 self,
8864 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P201Pfs_SPEC, crate::common::RW> {
8865 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P201Pfs_SPEC,crate::common::RW>::from_register(self,0)
8866 }
8867}
8868impl ::core::default::Default for P201Pfs {
8869 #[inline(always)]
8870 fn default() -> P201Pfs {
8871 <crate::RegValueT<P201Pfs_SPEC> as RegisterValue<_>>::new(16)
8872 }
8873}
8874pub mod p201pfs {
8875
8876 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8877 pub struct Podr_SPEC;
8878 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8879 impl Podr {
8880 #[doc = "Output low"]
8881 pub const _0: Self = Self::new(0);
8882
8883 #[doc = "Output high"]
8884 pub const _1: Self = Self::new(1);
8885 }
8886 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8887 pub struct Pidr_SPEC;
8888 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8889 impl Pidr {
8890 #[doc = "Low level"]
8891 pub const _0: Self = Self::new(0);
8892
8893 #[doc = "High level"]
8894 pub const _1: Self = Self::new(1);
8895 }
8896 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8897 pub struct Pdr_SPEC;
8898 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8899 impl Pdr {
8900 #[doc = "Input (functions as an input pin)"]
8901 pub const _0: Self = Self::new(0);
8902
8903 #[doc = "Output (functions as an output pin)"]
8904 pub const _1: Self = Self::new(1);
8905 }
8906 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8907 pub struct Pcr_SPEC;
8908 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8909 impl Pcr {
8910 #[doc = "Disable input pull-up"]
8911 pub const _0: Self = Self::new(0);
8912
8913 #[doc = "Enable input pull-up"]
8914 pub const _1: Self = Self::new(1);
8915 }
8916 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8917 pub struct Ncodr_SPEC;
8918 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8919 impl Ncodr {
8920 #[doc = "Output CMOS"]
8921 pub const _0: Self = Self::new(0);
8922
8923 #[doc = "Output NMOS open-drain"]
8924 pub const _1: Self = Self::new(1);
8925 }
8926 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8927 pub struct Dscr_SPEC;
8928 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
8929 impl Dscr {
8930 #[doc = "Low drive"]
8931 pub const _00: Self = Self::new(0);
8932
8933 #[doc = "Middle drive"]
8934 pub const _01: Self = Self::new(1);
8935
8936 #[doc = "Setting prohibited"]
8937 pub const _10: Self = Self::new(2);
8938
8939 #[doc = "High drive"]
8940 pub const _11: Self = Self::new(3);
8941 }
8942 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8943 pub struct Eofr_SPEC;
8944 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8945 impl Eofr {
8946 #[doc = "Don\'t care"]
8947 pub const _00: Self = Self::new(0);
8948
8949 #[doc = "Detect rising edge"]
8950 pub const _01: Self = Self::new(1);
8951
8952 #[doc = "Detect falling edge"]
8953 pub const _10: Self = Self::new(2);
8954
8955 #[doc = "Detect both edges"]
8956 pub const _11: Self = Self::new(3);
8957 }
8958 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8959 pub struct Isel_SPEC;
8960 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8961 impl Isel {
8962 #[doc = "Do not use as IRQn input pin"]
8963 pub const _0: Self = Self::new(0);
8964
8965 #[doc = "Use as IRQn input pin"]
8966 pub const _1: Self = Self::new(1);
8967 }
8968 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8969 pub struct Asel_SPEC;
8970 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8971 impl Asel {
8972 #[doc = "Do not use as analog pin"]
8973 pub const _0: Self = Self::new(0);
8974
8975 #[doc = "Use as analog pin"]
8976 pub const _1: Self = Self::new(1);
8977 }
8978 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8979 pub struct Pmr_SPEC;
8980 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
8981 impl Pmr {
8982 #[doc = "Use as general I/O pin"]
8983 pub const _0: Self = Self::new(0);
8984
8985 #[doc = "Use as I/O port for peripheral functions"]
8986 pub const _1: Self = Self::new(1);
8987 }
8988}
8989#[doc(hidden)]
8990#[derive(Copy, Clone, Eq, PartialEq)]
8991pub struct P201PfsHa_SPEC;
8992impl crate::sealed::RegSpec for P201PfsHa_SPEC {
8993 type DataType = u16;
8994}
8995
8996#[doc = "Port 201 Pin Function Select Register"]
8997pub type P201PfsHa = crate::RegValueT<P201PfsHa_SPEC>;
8998
8999impl P201PfsHa {
9000 #[doc = "Port Output Data"]
9001 #[inline(always)]
9002 pub fn podr(
9003 self,
9004 ) -> crate::common::RegisterField<
9005 0,
9006 0x1,
9007 1,
9008 0,
9009 p201pfs_ha::Podr,
9010 p201pfs_ha::Podr,
9011 P201PfsHa_SPEC,
9012 crate::common::RW,
9013 > {
9014 crate::common::RegisterField::<
9015 0,
9016 0x1,
9017 1,
9018 0,
9019 p201pfs_ha::Podr,
9020 p201pfs_ha::Podr,
9021 P201PfsHa_SPEC,
9022 crate::common::RW,
9023 >::from_register(self, 0)
9024 }
9025
9026 #[doc = "Port State"]
9027 #[inline(always)]
9028 pub fn pidr(
9029 self,
9030 ) -> crate::common::RegisterField<
9031 1,
9032 0x1,
9033 1,
9034 0,
9035 p201pfs_ha::Pidr,
9036 p201pfs_ha::Pidr,
9037 P201PfsHa_SPEC,
9038 crate::common::R,
9039 > {
9040 crate::common::RegisterField::<
9041 1,
9042 0x1,
9043 1,
9044 0,
9045 p201pfs_ha::Pidr,
9046 p201pfs_ha::Pidr,
9047 P201PfsHa_SPEC,
9048 crate::common::R,
9049 >::from_register(self, 0)
9050 }
9051
9052 #[doc = "Port Direction"]
9053 #[inline(always)]
9054 pub fn pdr(
9055 self,
9056 ) -> crate::common::RegisterField<
9057 2,
9058 0x1,
9059 1,
9060 0,
9061 p201pfs_ha::Pdr,
9062 p201pfs_ha::Pdr,
9063 P201PfsHa_SPEC,
9064 crate::common::RW,
9065 > {
9066 crate::common::RegisterField::<
9067 2,
9068 0x1,
9069 1,
9070 0,
9071 p201pfs_ha::Pdr,
9072 p201pfs_ha::Pdr,
9073 P201PfsHa_SPEC,
9074 crate::common::RW,
9075 >::from_register(self, 0)
9076 }
9077
9078 #[doc = "Pull-up Control"]
9079 #[inline(always)]
9080 pub fn pcr(
9081 self,
9082 ) -> crate::common::RegisterField<
9083 4,
9084 0x1,
9085 1,
9086 0,
9087 p201pfs_ha::Pcr,
9088 p201pfs_ha::Pcr,
9089 P201PfsHa_SPEC,
9090 crate::common::RW,
9091 > {
9092 crate::common::RegisterField::<
9093 4,
9094 0x1,
9095 1,
9096 0,
9097 p201pfs_ha::Pcr,
9098 p201pfs_ha::Pcr,
9099 P201PfsHa_SPEC,
9100 crate::common::RW,
9101 >::from_register(self, 0)
9102 }
9103
9104 #[doc = "N-Channel Open-Drain Control"]
9105 #[inline(always)]
9106 pub fn ncodr(
9107 self,
9108 ) -> crate::common::RegisterField<
9109 6,
9110 0x1,
9111 1,
9112 0,
9113 p201pfs_ha::Ncodr,
9114 p201pfs_ha::Ncodr,
9115 P201PfsHa_SPEC,
9116 crate::common::RW,
9117 > {
9118 crate::common::RegisterField::<
9119 6,
9120 0x1,
9121 1,
9122 0,
9123 p201pfs_ha::Ncodr,
9124 p201pfs_ha::Ncodr,
9125 P201PfsHa_SPEC,
9126 crate::common::RW,
9127 >::from_register(self, 0)
9128 }
9129
9130 #[doc = "Port Drive Capability"]
9131 #[inline(always)]
9132 pub fn dscr(
9133 self,
9134 ) -> crate::common::RegisterField<
9135 10,
9136 0x3,
9137 1,
9138 0,
9139 p201pfs_ha::Dscr,
9140 p201pfs_ha::Dscr,
9141 P201PfsHa_SPEC,
9142 crate::common::RW,
9143 > {
9144 crate::common::RegisterField::<
9145 10,
9146 0x3,
9147 1,
9148 0,
9149 p201pfs_ha::Dscr,
9150 p201pfs_ha::Dscr,
9151 P201PfsHa_SPEC,
9152 crate::common::RW,
9153 >::from_register(self, 0)
9154 }
9155
9156 #[doc = "Event on Falling/Event on Rising"]
9157 #[inline(always)]
9158 pub fn eofr(
9159 self,
9160 ) -> crate::common::RegisterField<
9161 12,
9162 0x3,
9163 1,
9164 0,
9165 p201pfs_ha::Eofr,
9166 p201pfs_ha::Eofr,
9167 P201PfsHa_SPEC,
9168 crate::common::RW,
9169 > {
9170 crate::common::RegisterField::<
9171 12,
9172 0x3,
9173 1,
9174 0,
9175 p201pfs_ha::Eofr,
9176 p201pfs_ha::Eofr,
9177 P201PfsHa_SPEC,
9178 crate::common::RW,
9179 >::from_register(self, 0)
9180 }
9181
9182 #[doc = "IRQ Input Enable"]
9183 #[inline(always)]
9184 pub fn isel(
9185 self,
9186 ) -> crate::common::RegisterField<
9187 14,
9188 0x1,
9189 1,
9190 0,
9191 p201pfs_ha::Isel,
9192 p201pfs_ha::Isel,
9193 P201PfsHa_SPEC,
9194 crate::common::RW,
9195 > {
9196 crate::common::RegisterField::<
9197 14,
9198 0x1,
9199 1,
9200 0,
9201 p201pfs_ha::Isel,
9202 p201pfs_ha::Isel,
9203 P201PfsHa_SPEC,
9204 crate::common::RW,
9205 >::from_register(self, 0)
9206 }
9207
9208 #[doc = "Analog Input Enable"]
9209 #[inline(always)]
9210 pub fn asel(
9211 self,
9212 ) -> crate::common::RegisterField<
9213 15,
9214 0x1,
9215 1,
9216 0,
9217 p201pfs_ha::Asel,
9218 p201pfs_ha::Asel,
9219 P201PfsHa_SPEC,
9220 crate::common::RW,
9221 > {
9222 crate::common::RegisterField::<
9223 15,
9224 0x1,
9225 1,
9226 0,
9227 p201pfs_ha::Asel,
9228 p201pfs_ha::Asel,
9229 P201PfsHa_SPEC,
9230 crate::common::RW,
9231 >::from_register(self, 0)
9232 }
9233}
9234impl ::core::default::Default for P201PfsHa {
9235 #[inline(always)]
9236 fn default() -> P201PfsHa {
9237 <crate::RegValueT<P201PfsHa_SPEC> as RegisterValue<_>>::new(16)
9238 }
9239}
9240pub mod p201pfs_ha {
9241
9242 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9243 pub struct Podr_SPEC;
9244 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9245 impl Podr {
9246 #[doc = "Output low"]
9247 pub const _0: Self = Self::new(0);
9248
9249 #[doc = "Output high"]
9250 pub const _1: Self = Self::new(1);
9251 }
9252 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9253 pub struct Pidr_SPEC;
9254 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9255 impl Pidr {
9256 #[doc = "Low level"]
9257 pub const _0: Self = Self::new(0);
9258
9259 #[doc = "High level"]
9260 pub const _1: Self = Self::new(1);
9261 }
9262 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9263 pub struct Pdr_SPEC;
9264 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9265 impl Pdr {
9266 #[doc = "Input (functions as an input pin)"]
9267 pub const _0: Self = Self::new(0);
9268
9269 #[doc = "Output (functions as an output pin)"]
9270 pub const _1: Self = Self::new(1);
9271 }
9272 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9273 pub struct Pcr_SPEC;
9274 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9275 impl Pcr {
9276 #[doc = "Disable input pull-up"]
9277 pub const _0: Self = Self::new(0);
9278
9279 #[doc = "Enable input pull-up"]
9280 pub const _1: Self = Self::new(1);
9281 }
9282 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9283 pub struct Ncodr_SPEC;
9284 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9285 impl Ncodr {
9286 #[doc = "Output CMOS"]
9287 pub const _0: Self = Self::new(0);
9288
9289 #[doc = "Output NMOS open-drain"]
9290 pub const _1: Self = Self::new(1);
9291 }
9292 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9293 pub struct Dscr_SPEC;
9294 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
9295 impl Dscr {
9296 #[doc = "Low drive"]
9297 pub const _00: Self = Self::new(0);
9298
9299 #[doc = "Middle drive"]
9300 pub const _01: Self = Self::new(1);
9301
9302 #[doc = "Setting prohibited"]
9303 pub const _10: Self = Self::new(2);
9304
9305 #[doc = "High drive"]
9306 pub const _11: Self = Self::new(3);
9307 }
9308 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9309 pub struct Eofr_SPEC;
9310 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9311 impl Eofr {
9312 #[doc = "Don\'t care"]
9313 pub const _00: Self = Self::new(0);
9314
9315 #[doc = "Detect rising edge"]
9316 pub const _01: Self = Self::new(1);
9317
9318 #[doc = "Detect falling edge"]
9319 pub const _10: Self = Self::new(2);
9320
9321 #[doc = "Detect both edges"]
9322 pub const _11: Self = Self::new(3);
9323 }
9324 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9325 pub struct Isel_SPEC;
9326 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9327 impl Isel {
9328 #[doc = "Do not use as IRQn input pin"]
9329 pub const _0: Self = Self::new(0);
9330
9331 #[doc = "Use as IRQn input pin"]
9332 pub const _1: Self = Self::new(1);
9333 }
9334 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9335 pub struct Asel_SPEC;
9336 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9337 impl Asel {
9338 #[doc = "Do not use as analog pin"]
9339 pub const _0: Self = Self::new(0);
9340
9341 #[doc = "Use as analog pin"]
9342 pub const _1: Self = Self::new(1);
9343 }
9344}
9345#[doc(hidden)]
9346#[derive(Copy, Clone, Eq, PartialEq)]
9347pub struct P201PfsBy_SPEC;
9348impl crate::sealed::RegSpec for P201PfsBy_SPEC {
9349 type DataType = u8;
9350}
9351
9352#[doc = "Port 201 Pin Function Select Register"]
9353pub type P201PfsBy = crate::RegValueT<P201PfsBy_SPEC>;
9354
9355impl P201PfsBy {
9356 #[doc = "Port Output Data"]
9357 #[inline(always)]
9358 pub fn podr(
9359 self,
9360 ) -> crate::common::RegisterField<
9361 0,
9362 0x1,
9363 1,
9364 0,
9365 p201pfs_by::Podr,
9366 p201pfs_by::Podr,
9367 P201PfsBy_SPEC,
9368 crate::common::RW,
9369 > {
9370 crate::common::RegisterField::<
9371 0,
9372 0x1,
9373 1,
9374 0,
9375 p201pfs_by::Podr,
9376 p201pfs_by::Podr,
9377 P201PfsBy_SPEC,
9378 crate::common::RW,
9379 >::from_register(self, 0)
9380 }
9381
9382 #[doc = "Port State"]
9383 #[inline(always)]
9384 pub fn pidr(
9385 self,
9386 ) -> crate::common::RegisterField<
9387 1,
9388 0x1,
9389 1,
9390 0,
9391 p201pfs_by::Pidr,
9392 p201pfs_by::Pidr,
9393 P201PfsBy_SPEC,
9394 crate::common::R,
9395 > {
9396 crate::common::RegisterField::<
9397 1,
9398 0x1,
9399 1,
9400 0,
9401 p201pfs_by::Pidr,
9402 p201pfs_by::Pidr,
9403 P201PfsBy_SPEC,
9404 crate::common::R,
9405 >::from_register(self, 0)
9406 }
9407
9408 #[doc = "Port Direction"]
9409 #[inline(always)]
9410 pub fn pdr(
9411 self,
9412 ) -> crate::common::RegisterField<
9413 2,
9414 0x1,
9415 1,
9416 0,
9417 p201pfs_by::Pdr,
9418 p201pfs_by::Pdr,
9419 P201PfsBy_SPEC,
9420 crate::common::RW,
9421 > {
9422 crate::common::RegisterField::<
9423 2,
9424 0x1,
9425 1,
9426 0,
9427 p201pfs_by::Pdr,
9428 p201pfs_by::Pdr,
9429 P201PfsBy_SPEC,
9430 crate::common::RW,
9431 >::from_register(self, 0)
9432 }
9433
9434 #[doc = "Pull-up Control"]
9435 #[inline(always)]
9436 pub fn pcr(
9437 self,
9438 ) -> crate::common::RegisterField<
9439 4,
9440 0x1,
9441 1,
9442 0,
9443 p201pfs_by::Pcr,
9444 p201pfs_by::Pcr,
9445 P201PfsBy_SPEC,
9446 crate::common::RW,
9447 > {
9448 crate::common::RegisterField::<
9449 4,
9450 0x1,
9451 1,
9452 0,
9453 p201pfs_by::Pcr,
9454 p201pfs_by::Pcr,
9455 P201PfsBy_SPEC,
9456 crate::common::RW,
9457 >::from_register(self, 0)
9458 }
9459
9460 #[doc = "N-Channel Open-Drain Control"]
9461 #[inline(always)]
9462 pub fn ncodr(
9463 self,
9464 ) -> crate::common::RegisterField<
9465 6,
9466 0x1,
9467 1,
9468 0,
9469 p201pfs_by::Ncodr,
9470 p201pfs_by::Ncodr,
9471 P201PfsBy_SPEC,
9472 crate::common::RW,
9473 > {
9474 crate::common::RegisterField::<
9475 6,
9476 0x1,
9477 1,
9478 0,
9479 p201pfs_by::Ncodr,
9480 p201pfs_by::Ncodr,
9481 P201PfsBy_SPEC,
9482 crate::common::RW,
9483 >::from_register(self, 0)
9484 }
9485}
9486impl ::core::default::Default for P201PfsBy {
9487 #[inline(always)]
9488 fn default() -> P201PfsBy {
9489 <crate::RegValueT<P201PfsBy_SPEC> as RegisterValue<_>>::new(16)
9490 }
9491}
9492pub mod p201pfs_by {
9493
9494 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9495 pub struct Podr_SPEC;
9496 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9497 impl Podr {
9498 #[doc = "Output low"]
9499 pub const _0: Self = Self::new(0);
9500
9501 #[doc = "Output high"]
9502 pub const _1: Self = Self::new(1);
9503 }
9504 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9505 pub struct Pidr_SPEC;
9506 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9507 impl Pidr {
9508 #[doc = "Low level"]
9509 pub const _0: Self = Self::new(0);
9510
9511 #[doc = "High level"]
9512 pub const _1: Self = Self::new(1);
9513 }
9514 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9515 pub struct Pdr_SPEC;
9516 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9517 impl Pdr {
9518 #[doc = "Input (functions as an input pin)"]
9519 pub const _0: Self = Self::new(0);
9520
9521 #[doc = "Output (functions as an output pin)"]
9522 pub const _1: Self = Self::new(1);
9523 }
9524 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9525 pub struct Pcr_SPEC;
9526 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9527 impl Pcr {
9528 #[doc = "Disable input pull-up"]
9529 pub const _0: Self = Self::new(0);
9530
9531 #[doc = "Enable input pull-up"]
9532 pub const _1: Self = Self::new(1);
9533 }
9534 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9535 pub struct Ncodr_SPEC;
9536 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9537 impl Ncodr {
9538 #[doc = "Output CMOS"]
9539 pub const _0: Self = Self::new(0);
9540
9541 #[doc = "Output NMOS open-drain"]
9542 pub const _1: Self = Self::new(1);
9543 }
9544}
9545#[doc(hidden)]
9546#[derive(Copy, Clone, Eq, PartialEq)]
9547pub struct P20Pfs_SPEC;
9548impl crate::sealed::RegSpec for P20Pfs_SPEC {
9549 type DataType = u32;
9550}
9551
9552#[doc = "Port 20%s Pin Function Select Register"]
9553pub type P20Pfs = crate::RegValueT<P20Pfs_SPEC>;
9554
9555impl P20Pfs {
9556 #[doc = "Port Output Data"]
9557 #[inline(always)]
9558 pub fn podr(
9559 self,
9560 ) -> crate::common::RegisterField<
9561 0,
9562 0x1,
9563 1,
9564 0,
9565 p20pfs::Podr,
9566 p20pfs::Podr,
9567 P20Pfs_SPEC,
9568 crate::common::RW,
9569 > {
9570 crate::common::RegisterField::<
9571 0,
9572 0x1,
9573 1,
9574 0,
9575 p20pfs::Podr,
9576 p20pfs::Podr,
9577 P20Pfs_SPEC,
9578 crate::common::RW,
9579 >::from_register(self, 0)
9580 }
9581
9582 #[doc = "Port State"]
9583 #[inline(always)]
9584 pub fn pidr(
9585 self,
9586 ) -> crate::common::RegisterField<
9587 1,
9588 0x1,
9589 1,
9590 0,
9591 p20pfs::Pidr,
9592 p20pfs::Pidr,
9593 P20Pfs_SPEC,
9594 crate::common::R,
9595 > {
9596 crate::common::RegisterField::<
9597 1,
9598 0x1,
9599 1,
9600 0,
9601 p20pfs::Pidr,
9602 p20pfs::Pidr,
9603 P20Pfs_SPEC,
9604 crate::common::R,
9605 >::from_register(self, 0)
9606 }
9607
9608 #[doc = "Port Direction"]
9609 #[inline(always)]
9610 pub fn pdr(
9611 self,
9612 ) -> crate::common::RegisterField<
9613 2,
9614 0x1,
9615 1,
9616 0,
9617 p20pfs::Pdr,
9618 p20pfs::Pdr,
9619 P20Pfs_SPEC,
9620 crate::common::RW,
9621 > {
9622 crate::common::RegisterField::<
9623 2,
9624 0x1,
9625 1,
9626 0,
9627 p20pfs::Pdr,
9628 p20pfs::Pdr,
9629 P20Pfs_SPEC,
9630 crate::common::RW,
9631 >::from_register(self, 0)
9632 }
9633
9634 #[doc = "Pull-up Control"]
9635 #[inline(always)]
9636 pub fn pcr(
9637 self,
9638 ) -> crate::common::RegisterField<
9639 4,
9640 0x1,
9641 1,
9642 0,
9643 p20pfs::Pcr,
9644 p20pfs::Pcr,
9645 P20Pfs_SPEC,
9646 crate::common::RW,
9647 > {
9648 crate::common::RegisterField::<
9649 4,
9650 0x1,
9651 1,
9652 0,
9653 p20pfs::Pcr,
9654 p20pfs::Pcr,
9655 P20Pfs_SPEC,
9656 crate::common::RW,
9657 >::from_register(self, 0)
9658 }
9659
9660 #[doc = "N-Channel Open-Drain Control"]
9661 #[inline(always)]
9662 pub fn ncodr(
9663 self,
9664 ) -> crate::common::RegisterField<
9665 6,
9666 0x1,
9667 1,
9668 0,
9669 p20pfs::Ncodr,
9670 p20pfs::Ncodr,
9671 P20Pfs_SPEC,
9672 crate::common::RW,
9673 > {
9674 crate::common::RegisterField::<
9675 6,
9676 0x1,
9677 1,
9678 0,
9679 p20pfs::Ncodr,
9680 p20pfs::Ncodr,
9681 P20Pfs_SPEC,
9682 crate::common::RW,
9683 >::from_register(self, 0)
9684 }
9685
9686 #[doc = "Port Drive Capability"]
9687 #[inline(always)]
9688 pub fn dscr(
9689 self,
9690 ) -> crate::common::RegisterField<
9691 10,
9692 0x3,
9693 1,
9694 0,
9695 p20pfs::Dscr,
9696 p20pfs::Dscr,
9697 P20Pfs_SPEC,
9698 crate::common::RW,
9699 > {
9700 crate::common::RegisterField::<
9701 10,
9702 0x3,
9703 1,
9704 0,
9705 p20pfs::Dscr,
9706 p20pfs::Dscr,
9707 P20Pfs_SPEC,
9708 crate::common::RW,
9709 >::from_register(self, 0)
9710 }
9711
9712 #[doc = "Event on Falling/Event on Rising"]
9713 #[inline(always)]
9714 pub fn eofr(
9715 self,
9716 ) -> crate::common::RegisterField<
9717 12,
9718 0x3,
9719 1,
9720 0,
9721 p20pfs::Eofr,
9722 p20pfs::Eofr,
9723 P20Pfs_SPEC,
9724 crate::common::RW,
9725 > {
9726 crate::common::RegisterField::<
9727 12,
9728 0x3,
9729 1,
9730 0,
9731 p20pfs::Eofr,
9732 p20pfs::Eofr,
9733 P20Pfs_SPEC,
9734 crate::common::RW,
9735 >::from_register(self, 0)
9736 }
9737
9738 #[doc = "IRQ Input Enable"]
9739 #[inline(always)]
9740 pub fn isel(
9741 self,
9742 ) -> crate::common::RegisterField<
9743 14,
9744 0x1,
9745 1,
9746 0,
9747 p20pfs::Isel,
9748 p20pfs::Isel,
9749 P20Pfs_SPEC,
9750 crate::common::RW,
9751 > {
9752 crate::common::RegisterField::<
9753 14,
9754 0x1,
9755 1,
9756 0,
9757 p20pfs::Isel,
9758 p20pfs::Isel,
9759 P20Pfs_SPEC,
9760 crate::common::RW,
9761 >::from_register(self, 0)
9762 }
9763
9764 #[doc = "Analog Input Enable"]
9765 #[inline(always)]
9766 pub fn asel(
9767 self,
9768 ) -> crate::common::RegisterField<
9769 15,
9770 0x1,
9771 1,
9772 0,
9773 p20pfs::Asel,
9774 p20pfs::Asel,
9775 P20Pfs_SPEC,
9776 crate::common::RW,
9777 > {
9778 crate::common::RegisterField::<
9779 15,
9780 0x1,
9781 1,
9782 0,
9783 p20pfs::Asel,
9784 p20pfs::Asel,
9785 P20Pfs_SPEC,
9786 crate::common::RW,
9787 >::from_register(self, 0)
9788 }
9789
9790 #[doc = "Port Mode Control"]
9791 #[inline(always)]
9792 pub fn pmr(
9793 self,
9794 ) -> crate::common::RegisterField<
9795 16,
9796 0x1,
9797 1,
9798 0,
9799 p20pfs::Pmr,
9800 p20pfs::Pmr,
9801 P20Pfs_SPEC,
9802 crate::common::RW,
9803 > {
9804 crate::common::RegisterField::<
9805 16,
9806 0x1,
9807 1,
9808 0,
9809 p20pfs::Pmr,
9810 p20pfs::Pmr,
9811 P20Pfs_SPEC,
9812 crate::common::RW,
9813 >::from_register(self, 0)
9814 }
9815
9816 #[doc = "Peripheral Select"]
9817 #[inline(always)]
9818 pub fn psel(
9819 self,
9820 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P20Pfs_SPEC, crate::common::RW> {
9821 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P20Pfs_SPEC,crate::common::RW>::from_register(self,0)
9822 }
9823}
9824impl ::core::default::Default for P20Pfs {
9825 #[inline(always)]
9826 fn default() -> P20Pfs {
9827 <crate::RegValueT<P20Pfs_SPEC> as RegisterValue<_>>::new(0)
9828 }
9829}
9830pub mod p20pfs {
9831
9832 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9833 pub struct Podr_SPEC;
9834 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9835 impl Podr {
9836 #[doc = "Output low"]
9837 pub const _0: Self = Self::new(0);
9838
9839 #[doc = "Output high"]
9840 pub const _1: Self = Self::new(1);
9841 }
9842 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9843 pub struct Pidr_SPEC;
9844 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9845 impl Pidr {
9846 #[doc = "Low level"]
9847 pub const _0: Self = Self::new(0);
9848
9849 #[doc = "High level"]
9850 pub const _1: Self = Self::new(1);
9851 }
9852 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9853 pub struct Pdr_SPEC;
9854 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9855 impl Pdr {
9856 #[doc = "Input (functions as an input pin)"]
9857 pub const _0: Self = Self::new(0);
9858
9859 #[doc = "Output (functions as an output pin)"]
9860 pub const _1: Self = Self::new(1);
9861 }
9862 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9863 pub struct Pcr_SPEC;
9864 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9865 impl Pcr {
9866 #[doc = "Disable input pull-up"]
9867 pub const _0: Self = Self::new(0);
9868
9869 #[doc = "Enable input pull-up"]
9870 pub const _1: Self = Self::new(1);
9871 }
9872 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9873 pub struct Ncodr_SPEC;
9874 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9875 impl Ncodr {
9876 #[doc = "Output CMOS"]
9877 pub const _0: Self = Self::new(0);
9878
9879 #[doc = "Output NMOS open-drain"]
9880 pub const _1: Self = Self::new(1);
9881 }
9882 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9883 pub struct Dscr_SPEC;
9884 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
9885 impl Dscr {
9886 #[doc = "Low drive"]
9887 pub const _00: Self = Self::new(0);
9888
9889 #[doc = "Middle drive"]
9890 pub const _01: Self = Self::new(1);
9891
9892 #[doc = "Setting prohibited"]
9893 pub const _10: Self = Self::new(2);
9894
9895 #[doc = "High drive"]
9896 pub const _11: Self = Self::new(3);
9897 }
9898 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9899 pub struct Eofr_SPEC;
9900 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9901 impl Eofr {
9902 #[doc = "Don\'t care"]
9903 pub const _00: Self = Self::new(0);
9904
9905 #[doc = "Detect rising edge"]
9906 pub const _01: Self = Self::new(1);
9907
9908 #[doc = "Detect falling edge"]
9909 pub const _10: Self = Self::new(2);
9910
9911 #[doc = "Detect both edges"]
9912 pub const _11: Self = Self::new(3);
9913 }
9914 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9915 pub struct Isel_SPEC;
9916 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9917 impl Isel {
9918 #[doc = "Do not use as IRQn input pin"]
9919 pub const _0: Self = Self::new(0);
9920
9921 #[doc = "Use as IRQn input pin"]
9922 pub const _1: Self = Self::new(1);
9923 }
9924 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9925 pub struct Asel_SPEC;
9926 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9927 impl Asel {
9928 #[doc = "Do not use as analog pin"]
9929 pub const _0: Self = Self::new(0);
9930
9931 #[doc = "Use as analog pin"]
9932 pub const _1: Self = Self::new(1);
9933 }
9934 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9935 pub struct Pmr_SPEC;
9936 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
9937 impl Pmr {
9938 #[doc = "Use as general I/O pin"]
9939 pub const _0: Self = Self::new(0);
9940
9941 #[doc = "Use as I/O port for peripheral functions"]
9942 pub const _1: Self = Self::new(1);
9943 }
9944}
9945#[doc(hidden)]
9946#[derive(Copy, Clone, Eq, PartialEq)]
9947pub struct P20PfsHa_SPEC;
9948impl crate::sealed::RegSpec for P20PfsHa_SPEC {
9949 type DataType = u16;
9950}
9951
9952#[doc = "Port 20%s Pin Function Select Register"]
9953pub type P20PfsHa = crate::RegValueT<P20PfsHa_SPEC>;
9954
9955impl P20PfsHa {
9956 #[doc = "Port Output Data"]
9957 #[inline(always)]
9958 pub fn podr(
9959 self,
9960 ) -> crate::common::RegisterField<
9961 0,
9962 0x1,
9963 1,
9964 0,
9965 p20pfs_ha::Podr,
9966 p20pfs_ha::Podr,
9967 P20PfsHa_SPEC,
9968 crate::common::RW,
9969 > {
9970 crate::common::RegisterField::<
9971 0,
9972 0x1,
9973 1,
9974 0,
9975 p20pfs_ha::Podr,
9976 p20pfs_ha::Podr,
9977 P20PfsHa_SPEC,
9978 crate::common::RW,
9979 >::from_register(self, 0)
9980 }
9981
9982 #[doc = "Port State"]
9983 #[inline(always)]
9984 pub fn pidr(
9985 self,
9986 ) -> crate::common::RegisterField<
9987 1,
9988 0x1,
9989 1,
9990 0,
9991 p20pfs_ha::Pidr,
9992 p20pfs_ha::Pidr,
9993 P20PfsHa_SPEC,
9994 crate::common::R,
9995 > {
9996 crate::common::RegisterField::<
9997 1,
9998 0x1,
9999 1,
10000 0,
10001 p20pfs_ha::Pidr,
10002 p20pfs_ha::Pidr,
10003 P20PfsHa_SPEC,
10004 crate::common::R,
10005 >::from_register(self, 0)
10006 }
10007
10008 #[doc = "Port Direction"]
10009 #[inline(always)]
10010 pub fn pdr(
10011 self,
10012 ) -> crate::common::RegisterField<
10013 2,
10014 0x1,
10015 1,
10016 0,
10017 p20pfs_ha::Pdr,
10018 p20pfs_ha::Pdr,
10019 P20PfsHa_SPEC,
10020 crate::common::RW,
10021 > {
10022 crate::common::RegisterField::<
10023 2,
10024 0x1,
10025 1,
10026 0,
10027 p20pfs_ha::Pdr,
10028 p20pfs_ha::Pdr,
10029 P20PfsHa_SPEC,
10030 crate::common::RW,
10031 >::from_register(self, 0)
10032 }
10033
10034 #[doc = "Pull-up Control"]
10035 #[inline(always)]
10036 pub fn pcr(
10037 self,
10038 ) -> crate::common::RegisterField<
10039 4,
10040 0x1,
10041 1,
10042 0,
10043 p20pfs_ha::Pcr,
10044 p20pfs_ha::Pcr,
10045 P20PfsHa_SPEC,
10046 crate::common::RW,
10047 > {
10048 crate::common::RegisterField::<
10049 4,
10050 0x1,
10051 1,
10052 0,
10053 p20pfs_ha::Pcr,
10054 p20pfs_ha::Pcr,
10055 P20PfsHa_SPEC,
10056 crate::common::RW,
10057 >::from_register(self, 0)
10058 }
10059
10060 #[doc = "N-Channel Open-Drain Control"]
10061 #[inline(always)]
10062 pub fn ncodr(
10063 self,
10064 ) -> crate::common::RegisterField<
10065 6,
10066 0x1,
10067 1,
10068 0,
10069 p20pfs_ha::Ncodr,
10070 p20pfs_ha::Ncodr,
10071 P20PfsHa_SPEC,
10072 crate::common::RW,
10073 > {
10074 crate::common::RegisterField::<
10075 6,
10076 0x1,
10077 1,
10078 0,
10079 p20pfs_ha::Ncodr,
10080 p20pfs_ha::Ncodr,
10081 P20PfsHa_SPEC,
10082 crate::common::RW,
10083 >::from_register(self, 0)
10084 }
10085
10086 #[doc = "Port Drive Capability"]
10087 #[inline(always)]
10088 pub fn dscr(
10089 self,
10090 ) -> crate::common::RegisterField<
10091 10,
10092 0x3,
10093 1,
10094 0,
10095 p20pfs_ha::Dscr,
10096 p20pfs_ha::Dscr,
10097 P20PfsHa_SPEC,
10098 crate::common::RW,
10099 > {
10100 crate::common::RegisterField::<
10101 10,
10102 0x3,
10103 1,
10104 0,
10105 p20pfs_ha::Dscr,
10106 p20pfs_ha::Dscr,
10107 P20PfsHa_SPEC,
10108 crate::common::RW,
10109 >::from_register(self, 0)
10110 }
10111
10112 #[doc = "Event on Falling/Event on Rising"]
10113 #[inline(always)]
10114 pub fn eofr(
10115 self,
10116 ) -> crate::common::RegisterField<
10117 12,
10118 0x3,
10119 1,
10120 0,
10121 p20pfs_ha::Eofr,
10122 p20pfs_ha::Eofr,
10123 P20PfsHa_SPEC,
10124 crate::common::RW,
10125 > {
10126 crate::common::RegisterField::<
10127 12,
10128 0x3,
10129 1,
10130 0,
10131 p20pfs_ha::Eofr,
10132 p20pfs_ha::Eofr,
10133 P20PfsHa_SPEC,
10134 crate::common::RW,
10135 >::from_register(self, 0)
10136 }
10137
10138 #[doc = "IRQ Input Enable"]
10139 #[inline(always)]
10140 pub fn isel(
10141 self,
10142 ) -> crate::common::RegisterField<
10143 14,
10144 0x1,
10145 1,
10146 0,
10147 p20pfs_ha::Isel,
10148 p20pfs_ha::Isel,
10149 P20PfsHa_SPEC,
10150 crate::common::RW,
10151 > {
10152 crate::common::RegisterField::<
10153 14,
10154 0x1,
10155 1,
10156 0,
10157 p20pfs_ha::Isel,
10158 p20pfs_ha::Isel,
10159 P20PfsHa_SPEC,
10160 crate::common::RW,
10161 >::from_register(self, 0)
10162 }
10163
10164 #[doc = "Analog Input Enable"]
10165 #[inline(always)]
10166 pub fn asel(
10167 self,
10168 ) -> crate::common::RegisterField<
10169 15,
10170 0x1,
10171 1,
10172 0,
10173 p20pfs_ha::Asel,
10174 p20pfs_ha::Asel,
10175 P20PfsHa_SPEC,
10176 crate::common::RW,
10177 > {
10178 crate::common::RegisterField::<
10179 15,
10180 0x1,
10181 1,
10182 0,
10183 p20pfs_ha::Asel,
10184 p20pfs_ha::Asel,
10185 P20PfsHa_SPEC,
10186 crate::common::RW,
10187 >::from_register(self, 0)
10188 }
10189}
10190impl ::core::default::Default for P20PfsHa {
10191 #[inline(always)]
10192 fn default() -> P20PfsHa {
10193 <crate::RegValueT<P20PfsHa_SPEC> as RegisterValue<_>>::new(0)
10194 }
10195}
10196pub mod p20pfs_ha {
10197
10198 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10199 pub struct Podr_SPEC;
10200 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10201 impl Podr {
10202 #[doc = "Output low"]
10203 pub const _0: Self = Self::new(0);
10204
10205 #[doc = "Output high"]
10206 pub const _1: Self = Self::new(1);
10207 }
10208 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10209 pub struct Pidr_SPEC;
10210 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10211 impl Pidr {
10212 #[doc = "Low level"]
10213 pub const _0: Self = Self::new(0);
10214
10215 #[doc = "High level"]
10216 pub const _1: Self = Self::new(1);
10217 }
10218 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10219 pub struct Pdr_SPEC;
10220 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10221 impl Pdr {
10222 #[doc = "Input (functions as an input pin)"]
10223 pub const _0: Self = Self::new(0);
10224
10225 #[doc = "Output (functions as an output pin)"]
10226 pub const _1: Self = Self::new(1);
10227 }
10228 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10229 pub struct Pcr_SPEC;
10230 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10231 impl Pcr {
10232 #[doc = "Disable input pull-up"]
10233 pub const _0: Self = Self::new(0);
10234
10235 #[doc = "Enable input pull-up"]
10236 pub const _1: Self = Self::new(1);
10237 }
10238 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10239 pub struct Ncodr_SPEC;
10240 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10241 impl Ncodr {
10242 #[doc = "Output CMOS"]
10243 pub const _0: Self = Self::new(0);
10244
10245 #[doc = "Output NMOS open-drain"]
10246 pub const _1: Self = Self::new(1);
10247 }
10248 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10249 pub struct Dscr_SPEC;
10250 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
10251 impl Dscr {
10252 #[doc = "Low drive"]
10253 pub const _00: Self = Self::new(0);
10254
10255 #[doc = "Middle drive"]
10256 pub const _01: Self = Self::new(1);
10257
10258 #[doc = "Setting prohibited"]
10259 pub const _10: Self = Self::new(2);
10260
10261 #[doc = "High drive"]
10262 pub const _11: Self = Self::new(3);
10263 }
10264 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10265 pub struct Eofr_SPEC;
10266 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10267 impl Eofr {
10268 #[doc = "Don\'t care"]
10269 pub const _00: Self = Self::new(0);
10270
10271 #[doc = "Detect rising edge"]
10272 pub const _01: Self = Self::new(1);
10273
10274 #[doc = "Detect falling edge"]
10275 pub const _10: Self = Self::new(2);
10276
10277 #[doc = "Detect both edges"]
10278 pub const _11: Self = Self::new(3);
10279 }
10280 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10281 pub struct Isel_SPEC;
10282 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10283 impl Isel {
10284 #[doc = "Do not use as IRQn input pin"]
10285 pub const _0: Self = Self::new(0);
10286
10287 #[doc = "Use as IRQn input pin"]
10288 pub const _1: Self = Self::new(1);
10289 }
10290 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10291 pub struct Asel_SPEC;
10292 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10293 impl Asel {
10294 #[doc = "Do not use as analog pin"]
10295 pub const _0: Self = Self::new(0);
10296
10297 #[doc = "Use as analog pin"]
10298 pub const _1: Self = Self::new(1);
10299 }
10300}
10301#[doc(hidden)]
10302#[derive(Copy, Clone, Eq, PartialEq)]
10303pub struct P20PfsBy_SPEC;
10304impl crate::sealed::RegSpec for P20PfsBy_SPEC {
10305 type DataType = u8;
10306}
10307
10308#[doc = "Port 20%s Pin Function Select Register"]
10309pub type P20PfsBy = crate::RegValueT<P20PfsBy_SPEC>;
10310
10311impl P20PfsBy {
10312 #[doc = "Port Output Data"]
10313 #[inline(always)]
10314 pub fn podr(
10315 self,
10316 ) -> crate::common::RegisterField<
10317 0,
10318 0x1,
10319 1,
10320 0,
10321 p20pfs_by::Podr,
10322 p20pfs_by::Podr,
10323 P20PfsBy_SPEC,
10324 crate::common::RW,
10325 > {
10326 crate::common::RegisterField::<
10327 0,
10328 0x1,
10329 1,
10330 0,
10331 p20pfs_by::Podr,
10332 p20pfs_by::Podr,
10333 P20PfsBy_SPEC,
10334 crate::common::RW,
10335 >::from_register(self, 0)
10336 }
10337
10338 #[doc = "Port State"]
10339 #[inline(always)]
10340 pub fn pidr(
10341 self,
10342 ) -> crate::common::RegisterField<
10343 1,
10344 0x1,
10345 1,
10346 0,
10347 p20pfs_by::Pidr,
10348 p20pfs_by::Pidr,
10349 P20PfsBy_SPEC,
10350 crate::common::R,
10351 > {
10352 crate::common::RegisterField::<
10353 1,
10354 0x1,
10355 1,
10356 0,
10357 p20pfs_by::Pidr,
10358 p20pfs_by::Pidr,
10359 P20PfsBy_SPEC,
10360 crate::common::R,
10361 >::from_register(self, 0)
10362 }
10363
10364 #[doc = "Port Direction"]
10365 #[inline(always)]
10366 pub fn pdr(
10367 self,
10368 ) -> crate::common::RegisterField<
10369 2,
10370 0x1,
10371 1,
10372 0,
10373 p20pfs_by::Pdr,
10374 p20pfs_by::Pdr,
10375 P20PfsBy_SPEC,
10376 crate::common::RW,
10377 > {
10378 crate::common::RegisterField::<
10379 2,
10380 0x1,
10381 1,
10382 0,
10383 p20pfs_by::Pdr,
10384 p20pfs_by::Pdr,
10385 P20PfsBy_SPEC,
10386 crate::common::RW,
10387 >::from_register(self, 0)
10388 }
10389
10390 #[doc = "Pull-up Control"]
10391 #[inline(always)]
10392 pub fn pcr(
10393 self,
10394 ) -> crate::common::RegisterField<
10395 4,
10396 0x1,
10397 1,
10398 0,
10399 p20pfs_by::Pcr,
10400 p20pfs_by::Pcr,
10401 P20PfsBy_SPEC,
10402 crate::common::RW,
10403 > {
10404 crate::common::RegisterField::<
10405 4,
10406 0x1,
10407 1,
10408 0,
10409 p20pfs_by::Pcr,
10410 p20pfs_by::Pcr,
10411 P20PfsBy_SPEC,
10412 crate::common::RW,
10413 >::from_register(self, 0)
10414 }
10415
10416 #[doc = "N-Channel Open-Drain Control"]
10417 #[inline(always)]
10418 pub fn ncodr(
10419 self,
10420 ) -> crate::common::RegisterField<
10421 6,
10422 0x1,
10423 1,
10424 0,
10425 p20pfs_by::Ncodr,
10426 p20pfs_by::Ncodr,
10427 P20PfsBy_SPEC,
10428 crate::common::RW,
10429 > {
10430 crate::common::RegisterField::<
10431 6,
10432 0x1,
10433 1,
10434 0,
10435 p20pfs_by::Ncodr,
10436 p20pfs_by::Ncodr,
10437 P20PfsBy_SPEC,
10438 crate::common::RW,
10439 >::from_register(self, 0)
10440 }
10441}
10442impl ::core::default::Default for P20PfsBy {
10443 #[inline(always)]
10444 fn default() -> P20PfsBy {
10445 <crate::RegValueT<P20PfsBy_SPEC> as RegisterValue<_>>::new(0)
10446 }
10447}
10448pub mod p20pfs_by {
10449
10450 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10451 pub struct Podr_SPEC;
10452 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10453 impl Podr {
10454 #[doc = "Output low"]
10455 pub const _0: Self = Self::new(0);
10456
10457 #[doc = "Output high"]
10458 pub const _1: Self = Self::new(1);
10459 }
10460 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10461 pub struct Pidr_SPEC;
10462 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10463 impl Pidr {
10464 #[doc = "Low level"]
10465 pub const _0: Self = Self::new(0);
10466
10467 #[doc = "High level"]
10468 pub const _1: Self = Self::new(1);
10469 }
10470 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10471 pub struct Pdr_SPEC;
10472 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10473 impl Pdr {
10474 #[doc = "Input (functions as an input pin)"]
10475 pub const _0: Self = Self::new(0);
10476
10477 #[doc = "Output (functions as an output pin)"]
10478 pub const _1: Self = Self::new(1);
10479 }
10480 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10481 pub struct Pcr_SPEC;
10482 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10483 impl Pcr {
10484 #[doc = "Disable input pull-up"]
10485 pub const _0: Self = Self::new(0);
10486
10487 #[doc = "Enable input pull-up"]
10488 pub const _1: Self = Self::new(1);
10489 }
10490 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10491 pub struct Ncodr_SPEC;
10492 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10493 impl Ncodr {
10494 #[doc = "Output CMOS"]
10495 pub const _0: Self = Self::new(0);
10496
10497 #[doc = "Output NMOS open-drain"]
10498 pub const _1: Self = Self::new(1);
10499 }
10500}
10501#[doc(hidden)]
10502#[derive(Copy, Clone, Eq, PartialEq)]
10503pub struct P2Pfs_SPEC;
10504impl crate::sealed::RegSpec for P2Pfs_SPEC {
10505 type DataType = u32;
10506}
10507
10508#[doc = "Port 2%s Pin Function Select Register"]
10509pub type P2Pfs = crate::RegValueT<P2Pfs_SPEC>;
10510
10511impl P2Pfs {
10512 #[doc = "Port Output Data"]
10513 #[inline(always)]
10514 pub fn podr(
10515 self,
10516 ) -> crate::common::RegisterField<
10517 0,
10518 0x1,
10519 1,
10520 0,
10521 p2pfs::Podr,
10522 p2pfs::Podr,
10523 P2Pfs_SPEC,
10524 crate::common::RW,
10525 > {
10526 crate::common::RegisterField::<
10527 0,
10528 0x1,
10529 1,
10530 0,
10531 p2pfs::Podr,
10532 p2pfs::Podr,
10533 P2Pfs_SPEC,
10534 crate::common::RW,
10535 >::from_register(self, 0)
10536 }
10537
10538 #[doc = "Port State"]
10539 #[inline(always)]
10540 pub fn pidr(
10541 self,
10542 ) -> crate::common::RegisterField<
10543 1,
10544 0x1,
10545 1,
10546 0,
10547 p2pfs::Pidr,
10548 p2pfs::Pidr,
10549 P2Pfs_SPEC,
10550 crate::common::R,
10551 > {
10552 crate::common::RegisterField::<
10553 1,
10554 0x1,
10555 1,
10556 0,
10557 p2pfs::Pidr,
10558 p2pfs::Pidr,
10559 P2Pfs_SPEC,
10560 crate::common::R,
10561 >::from_register(self, 0)
10562 }
10563
10564 #[doc = "Port Direction"]
10565 #[inline(always)]
10566 pub fn pdr(
10567 self,
10568 ) -> crate::common::RegisterField<
10569 2,
10570 0x1,
10571 1,
10572 0,
10573 p2pfs::Pdr,
10574 p2pfs::Pdr,
10575 P2Pfs_SPEC,
10576 crate::common::RW,
10577 > {
10578 crate::common::RegisterField::<
10579 2,
10580 0x1,
10581 1,
10582 0,
10583 p2pfs::Pdr,
10584 p2pfs::Pdr,
10585 P2Pfs_SPEC,
10586 crate::common::RW,
10587 >::from_register(self, 0)
10588 }
10589
10590 #[doc = "Pull-up Control"]
10591 #[inline(always)]
10592 pub fn pcr(
10593 self,
10594 ) -> crate::common::RegisterField<
10595 4,
10596 0x1,
10597 1,
10598 0,
10599 p2pfs::Pcr,
10600 p2pfs::Pcr,
10601 P2Pfs_SPEC,
10602 crate::common::RW,
10603 > {
10604 crate::common::RegisterField::<
10605 4,
10606 0x1,
10607 1,
10608 0,
10609 p2pfs::Pcr,
10610 p2pfs::Pcr,
10611 P2Pfs_SPEC,
10612 crate::common::RW,
10613 >::from_register(self, 0)
10614 }
10615
10616 #[doc = "N-Channel Open-Drain Control"]
10617 #[inline(always)]
10618 pub fn ncodr(
10619 self,
10620 ) -> crate::common::RegisterField<
10621 6,
10622 0x1,
10623 1,
10624 0,
10625 p2pfs::Ncodr,
10626 p2pfs::Ncodr,
10627 P2Pfs_SPEC,
10628 crate::common::RW,
10629 > {
10630 crate::common::RegisterField::<
10631 6,
10632 0x1,
10633 1,
10634 0,
10635 p2pfs::Ncodr,
10636 p2pfs::Ncodr,
10637 P2Pfs_SPEC,
10638 crate::common::RW,
10639 >::from_register(self, 0)
10640 }
10641
10642 #[doc = "Port Drive Capability"]
10643 #[inline(always)]
10644 pub fn dscr(
10645 self,
10646 ) -> crate::common::RegisterField<
10647 10,
10648 0x3,
10649 1,
10650 0,
10651 p2pfs::Dscr,
10652 p2pfs::Dscr,
10653 P2Pfs_SPEC,
10654 crate::common::RW,
10655 > {
10656 crate::common::RegisterField::<
10657 10,
10658 0x3,
10659 1,
10660 0,
10661 p2pfs::Dscr,
10662 p2pfs::Dscr,
10663 P2Pfs_SPEC,
10664 crate::common::RW,
10665 >::from_register(self, 0)
10666 }
10667
10668 #[doc = "Event on Falling/Event on Rising"]
10669 #[inline(always)]
10670 pub fn eofr(
10671 self,
10672 ) -> crate::common::RegisterField<
10673 12,
10674 0x3,
10675 1,
10676 0,
10677 p2pfs::Eofr,
10678 p2pfs::Eofr,
10679 P2Pfs_SPEC,
10680 crate::common::RW,
10681 > {
10682 crate::common::RegisterField::<
10683 12,
10684 0x3,
10685 1,
10686 0,
10687 p2pfs::Eofr,
10688 p2pfs::Eofr,
10689 P2Pfs_SPEC,
10690 crate::common::RW,
10691 >::from_register(self, 0)
10692 }
10693
10694 #[doc = "IRQ Input Enable"]
10695 #[inline(always)]
10696 pub fn isel(
10697 self,
10698 ) -> crate::common::RegisterField<
10699 14,
10700 0x1,
10701 1,
10702 0,
10703 p2pfs::Isel,
10704 p2pfs::Isel,
10705 P2Pfs_SPEC,
10706 crate::common::RW,
10707 > {
10708 crate::common::RegisterField::<
10709 14,
10710 0x1,
10711 1,
10712 0,
10713 p2pfs::Isel,
10714 p2pfs::Isel,
10715 P2Pfs_SPEC,
10716 crate::common::RW,
10717 >::from_register(self, 0)
10718 }
10719
10720 #[doc = "Analog Input Enable"]
10721 #[inline(always)]
10722 pub fn asel(
10723 self,
10724 ) -> crate::common::RegisterField<
10725 15,
10726 0x1,
10727 1,
10728 0,
10729 p2pfs::Asel,
10730 p2pfs::Asel,
10731 P2Pfs_SPEC,
10732 crate::common::RW,
10733 > {
10734 crate::common::RegisterField::<
10735 15,
10736 0x1,
10737 1,
10738 0,
10739 p2pfs::Asel,
10740 p2pfs::Asel,
10741 P2Pfs_SPEC,
10742 crate::common::RW,
10743 >::from_register(self, 0)
10744 }
10745
10746 #[doc = "Port Mode Control"]
10747 #[inline(always)]
10748 pub fn pmr(
10749 self,
10750 ) -> crate::common::RegisterField<
10751 16,
10752 0x1,
10753 1,
10754 0,
10755 p2pfs::Pmr,
10756 p2pfs::Pmr,
10757 P2Pfs_SPEC,
10758 crate::common::RW,
10759 > {
10760 crate::common::RegisterField::<
10761 16,
10762 0x1,
10763 1,
10764 0,
10765 p2pfs::Pmr,
10766 p2pfs::Pmr,
10767 P2Pfs_SPEC,
10768 crate::common::RW,
10769 >::from_register(self, 0)
10770 }
10771
10772 #[doc = "Peripheral Select"]
10773 #[inline(always)]
10774 pub fn psel(
10775 self,
10776 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P2Pfs_SPEC, crate::common::RW> {
10777 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P2Pfs_SPEC,crate::common::RW>::from_register(self,0)
10778 }
10779}
10780impl ::core::default::Default for P2Pfs {
10781 #[inline(always)]
10782 fn default() -> P2Pfs {
10783 <crate::RegValueT<P2Pfs_SPEC> as RegisterValue<_>>::new(0)
10784 }
10785}
10786pub mod p2pfs {
10787
10788 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10789 pub struct Podr_SPEC;
10790 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10791 impl Podr {
10792 #[doc = "Output low"]
10793 pub const _0: Self = Self::new(0);
10794
10795 #[doc = "Output high"]
10796 pub const _1: Self = Self::new(1);
10797 }
10798 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10799 pub struct Pidr_SPEC;
10800 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10801 impl Pidr {
10802 #[doc = "Low level"]
10803 pub const _0: Self = Self::new(0);
10804
10805 #[doc = "High level"]
10806 pub const _1: Self = Self::new(1);
10807 }
10808 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10809 pub struct Pdr_SPEC;
10810 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10811 impl Pdr {
10812 #[doc = "Input (functions as an input pin)"]
10813 pub const _0: Self = Self::new(0);
10814
10815 #[doc = "Output (functions as an output pin)"]
10816 pub const _1: Self = Self::new(1);
10817 }
10818 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10819 pub struct Pcr_SPEC;
10820 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10821 impl Pcr {
10822 #[doc = "Disable input pull-up"]
10823 pub const _0: Self = Self::new(0);
10824
10825 #[doc = "Enable input pull-up"]
10826 pub const _1: Self = Self::new(1);
10827 }
10828 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10829 pub struct Ncodr_SPEC;
10830 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10831 impl Ncodr {
10832 #[doc = "Output CMOS"]
10833 pub const _0: Self = Self::new(0);
10834
10835 #[doc = "Output NMOS open-drain"]
10836 pub const _1: Self = Self::new(1);
10837 }
10838 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10839 pub struct Dscr_SPEC;
10840 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
10841 impl Dscr {
10842 #[doc = "Low drive"]
10843 pub const _00: Self = Self::new(0);
10844
10845 #[doc = "Middle drive"]
10846 pub const _01: Self = Self::new(1);
10847
10848 #[doc = "Setting prohibited"]
10849 pub const _10: Self = Self::new(2);
10850
10851 #[doc = "High drive"]
10852 pub const _11: Self = Self::new(3);
10853 }
10854 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10855 pub struct Eofr_SPEC;
10856 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10857 impl Eofr {
10858 #[doc = "Don\'t care"]
10859 pub const _00: Self = Self::new(0);
10860
10861 #[doc = "Detect rising edge"]
10862 pub const _01: Self = Self::new(1);
10863
10864 #[doc = "Detect falling edge"]
10865 pub const _10: Self = Self::new(2);
10866
10867 #[doc = "Detect both edges"]
10868 pub const _11: Self = Self::new(3);
10869 }
10870 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10871 pub struct Isel_SPEC;
10872 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10873 impl Isel {
10874 #[doc = "Do not use as IRQn input pin"]
10875 pub const _0: Self = Self::new(0);
10876
10877 #[doc = "Use as IRQn input pin"]
10878 pub const _1: Self = Self::new(1);
10879 }
10880 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10881 pub struct Asel_SPEC;
10882 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10883 impl Asel {
10884 #[doc = "Do not use as analog pin"]
10885 pub const _0: Self = Self::new(0);
10886
10887 #[doc = "Use as analog pin"]
10888 pub const _1: Self = Self::new(1);
10889 }
10890 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10891 pub struct Pmr_SPEC;
10892 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
10893 impl Pmr {
10894 #[doc = "Use as general I/O pin"]
10895 pub const _0: Self = Self::new(0);
10896
10897 #[doc = "Use as I/O port for peripheral functions"]
10898 pub const _1: Self = Self::new(1);
10899 }
10900}
10901#[doc(hidden)]
10902#[derive(Copy, Clone, Eq, PartialEq)]
10903pub struct P2PfsHa_SPEC;
10904impl crate::sealed::RegSpec for P2PfsHa_SPEC {
10905 type DataType = u16;
10906}
10907
10908#[doc = "Port 2%s Pin Function Select Register"]
10909pub type P2PfsHa = crate::RegValueT<P2PfsHa_SPEC>;
10910
10911impl P2PfsHa {
10912 #[doc = "Port Output Data"]
10913 #[inline(always)]
10914 pub fn podr(
10915 self,
10916 ) -> crate::common::RegisterField<
10917 0,
10918 0x1,
10919 1,
10920 0,
10921 p2pfs_ha::Podr,
10922 p2pfs_ha::Podr,
10923 P2PfsHa_SPEC,
10924 crate::common::RW,
10925 > {
10926 crate::common::RegisterField::<
10927 0,
10928 0x1,
10929 1,
10930 0,
10931 p2pfs_ha::Podr,
10932 p2pfs_ha::Podr,
10933 P2PfsHa_SPEC,
10934 crate::common::RW,
10935 >::from_register(self, 0)
10936 }
10937
10938 #[doc = "Port State"]
10939 #[inline(always)]
10940 pub fn pidr(
10941 self,
10942 ) -> crate::common::RegisterField<
10943 1,
10944 0x1,
10945 1,
10946 0,
10947 p2pfs_ha::Pidr,
10948 p2pfs_ha::Pidr,
10949 P2PfsHa_SPEC,
10950 crate::common::R,
10951 > {
10952 crate::common::RegisterField::<
10953 1,
10954 0x1,
10955 1,
10956 0,
10957 p2pfs_ha::Pidr,
10958 p2pfs_ha::Pidr,
10959 P2PfsHa_SPEC,
10960 crate::common::R,
10961 >::from_register(self, 0)
10962 }
10963
10964 #[doc = "Port Direction"]
10965 #[inline(always)]
10966 pub fn pdr(
10967 self,
10968 ) -> crate::common::RegisterField<
10969 2,
10970 0x1,
10971 1,
10972 0,
10973 p2pfs_ha::Pdr,
10974 p2pfs_ha::Pdr,
10975 P2PfsHa_SPEC,
10976 crate::common::RW,
10977 > {
10978 crate::common::RegisterField::<
10979 2,
10980 0x1,
10981 1,
10982 0,
10983 p2pfs_ha::Pdr,
10984 p2pfs_ha::Pdr,
10985 P2PfsHa_SPEC,
10986 crate::common::RW,
10987 >::from_register(self, 0)
10988 }
10989
10990 #[doc = "Pull-up Control"]
10991 #[inline(always)]
10992 pub fn pcr(
10993 self,
10994 ) -> crate::common::RegisterField<
10995 4,
10996 0x1,
10997 1,
10998 0,
10999 p2pfs_ha::Pcr,
11000 p2pfs_ha::Pcr,
11001 P2PfsHa_SPEC,
11002 crate::common::RW,
11003 > {
11004 crate::common::RegisterField::<
11005 4,
11006 0x1,
11007 1,
11008 0,
11009 p2pfs_ha::Pcr,
11010 p2pfs_ha::Pcr,
11011 P2PfsHa_SPEC,
11012 crate::common::RW,
11013 >::from_register(self, 0)
11014 }
11015
11016 #[doc = "N-Channel Open-Drain Control"]
11017 #[inline(always)]
11018 pub fn ncodr(
11019 self,
11020 ) -> crate::common::RegisterField<
11021 6,
11022 0x1,
11023 1,
11024 0,
11025 p2pfs_ha::Ncodr,
11026 p2pfs_ha::Ncodr,
11027 P2PfsHa_SPEC,
11028 crate::common::RW,
11029 > {
11030 crate::common::RegisterField::<
11031 6,
11032 0x1,
11033 1,
11034 0,
11035 p2pfs_ha::Ncodr,
11036 p2pfs_ha::Ncodr,
11037 P2PfsHa_SPEC,
11038 crate::common::RW,
11039 >::from_register(self, 0)
11040 }
11041
11042 #[doc = "Port Drive Capability"]
11043 #[inline(always)]
11044 pub fn dscr(
11045 self,
11046 ) -> crate::common::RegisterField<
11047 10,
11048 0x3,
11049 1,
11050 0,
11051 p2pfs_ha::Dscr,
11052 p2pfs_ha::Dscr,
11053 P2PfsHa_SPEC,
11054 crate::common::RW,
11055 > {
11056 crate::common::RegisterField::<
11057 10,
11058 0x3,
11059 1,
11060 0,
11061 p2pfs_ha::Dscr,
11062 p2pfs_ha::Dscr,
11063 P2PfsHa_SPEC,
11064 crate::common::RW,
11065 >::from_register(self, 0)
11066 }
11067
11068 #[doc = "Event on Falling/Event on Rising"]
11069 #[inline(always)]
11070 pub fn eofr(
11071 self,
11072 ) -> crate::common::RegisterField<
11073 12,
11074 0x3,
11075 1,
11076 0,
11077 p2pfs_ha::Eofr,
11078 p2pfs_ha::Eofr,
11079 P2PfsHa_SPEC,
11080 crate::common::RW,
11081 > {
11082 crate::common::RegisterField::<
11083 12,
11084 0x3,
11085 1,
11086 0,
11087 p2pfs_ha::Eofr,
11088 p2pfs_ha::Eofr,
11089 P2PfsHa_SPEC,
11090 crate::common::RW,
11091 >::from_register(self, 0)
11092 }
11093
11094 #[doc = "IRQ Input Enable"]
11095 #[inline(always)]
11096 pub fn isel(
11097 self,
11098 ) -> crate::common::RegisterField<
11099 14,
11100 0x1,
11101 1,
11102 0,
11103 p2pfs_ha::Isel,
11104 p2pfs_ha::Isel,
11105 P2PfsHa_SPEC,
11106 crate::common::RW,
11107 > {
11108 crate::common::RegisterField::<
11109 14,
11110 0x1,
11111 1,
11112 0,
11113 p2pfs_ha::Isel,
11114 p2pfs_ha::Isel,
11115 P2PfsHa_SPEC,
11116 crate::common::RW,
11117 >::from_register(self, 0)
11118 }
11119
11120 #[doc = "Analog Input Enable"]
11121 #[inline(always)]
11122 pub fn asel(
11123 self,
11124 ) -> crate::common::RegisterField<
11125 15,
11126 0x1,
11127 1,
11128 0,
11129 p2pfs_ha::Asel,
11130 p2pfs_ha::Asel,
11131 P2PfsHa_SPEC,
11132 crate::common::RW,
11133 > {
11134 crate::common::RegisterField::<
11135 15,
11136 0x1,
11137 1,
11138 0,
11139 p2pfs_ha::Asel,
11140 p2pfs_ha::Asel,
11141 P2PfsHa_SPEC,
11142 crate::common::RW,
11143 >::from_register(self, 0)
11144 }
11145}
11146impl ::core::default::Default for P2PfsHa {
11147 #[inline(always)]
11148 fn default() -> P2PfsHa {
11149 <crate::RegValueT<P2PfsHa_SPEC> as RegisterValue<_>>::new(0)
11150 }
11151}
11152pub mod p2pfs_ha {
11153
11154 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11155 pub struct Podr_SPEC;
11156 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11157 impl Podr {
11158 #[doc = "Output low"]
11159 pub const _0: Self = Self::new(0);
11160
11161 #[doc = "Output high"]
11162 pub const _1: Self = Self::new(1);
11163 }
11164 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11165 pub struct Pidr_SPEC;
11166 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11167 impl Pidr {
11168 #[doc = "Low level"]
11169 pub const _0: Self = Self::new(0);
11170
11171 #[doc = "High level"]
11172 pub const _1: Self = Self::new(1);
11173 }
11174 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11175 pub struct Pdr_SPEC;
11176 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11177 impl Pdr {
11178 #[doc = "Input (functions as an input pin)"]
11179 pub const _0: Self = Self::new(0);
11180
11181 #[doc = "Output (functions as an output pin)"]
11182 pub const _1: Self = Self::new(1);
11183 }
11184 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11185 pub struct Pcr_SPEC;
11186 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11187 impl Pcr {
11188 #[doc = "Disable input pull-up"]
11189 pub const _0: Self = Self::new(0);
11190
11191 #[doc = "Enable input pull-up"]
11192 pub const _1: Self = Self::new(1);
11193 }
11194 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11195 pub struct Ncodr_SPEC;
11196 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11197 impl Ncodr {
11198 #[doc = "Output CMOS"]
11199 pub const _0: Self = Self::new(0);
11200
11201 #[doc = "Output NMOS open-drain"]
11202 pub const _1: Self = Self::new(1);
11203 }
11204 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11205 pub struct Dscr_SPEC;
11206 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
11207 impl Dscr {
11208 #[doc = "Low drive"]
11209 pub const _00: Self = Self::new(0);
11210
11211 #[doc = "Middle drive"]
11212 pub const _01: Self = Self::new(1);
11213
11214 #[doc = "Setting prohibited"]
11215 pub const _10: Self = Self::new(2);
11216
11217 #[doc = "High drive"]
11218 pub const _11: Self = Self::new(3);
11219 }
11220 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11221 pub struct Eofr_SPEC;
11222 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
11223 impl Eofr {
11224 #[doc = "Don\'t care"]
11225 pub const _00: Self = Self::new(0);
11226
11227 #[doc = "Detect rising edge"]
11228 pub const _01: Self = Self::new(1);
11229
11230 #[doc = "Detect falling edge"]
11231 pub const _10: Self = Self::new(2);
11232
11233 #[doc = "Detect both edges"]
11234 pub const _11: Self = Self::new(3);
11235 }
11236 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11237 pub struct Isel_SPEC;
11238 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11239 impl Isel {
11240 #[doc = "Do not use as IRQn input pin"]
11241 pub const _0: Self = Self::new(0);
11242
11243 #[doc = "Use as IRQn input pin"]
11244 pub const _1: Self = Self::new(1);
11245 }
11246 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11247 pub struct Asel_SPEC;
11248 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11249 impl Asel {
11250 #[doc = "Do not use as analog pin"]
11251 pub const _0: Self = Self::new(0);
11252
11253 #[doc = "Use as analog pin"]
11254 pub const _1: Self = Self::new(1);
11255 }
11256}
11257#[doc(hidden)]
11258#[derive(Copy, Clone, Eq, PartialEq)]
11259pub struct P2PfsBy_SPEC;
11260impl crate::sealed::RegSpec for P2PfsBy_SPEC {
11261 type DataType = u8;
11262}
11263
11264#[doc = "Port 2%s Pin Function Select Register"]
11265pub type P2PfsBy = crate::RegValueT<P2PfsBy_SPEC>;
11266
11267impl P2PfsBy {
11268 #[doc = "Port Output Data"]
11269 #[inline(always)]
11270 pub fn podr(
11271 self,
11272 ) -> crate::common::RegisterField<
11273 0,
11274 0x1,
11275 1,
11276 0,
11277 p2pfs_by::Podr,
11278 p2pfs_by::Podr,
11279 P2PfsBy_SPEC,
11280 crate::common::RW,
11281 > {
11282 crate::common::RegisterField::<
11283 0,
11284 0x1,
11285 1,
11286 0,
11287 p2pfs_by::Podr,
11288 p2pfs_by::Podr,
11289 P2PfsBy_SPEC,
11290 crate::common::RW,
11291 >::from_register(self, 0)
11292 }
11293
11294 #[doc = "Port State"]
11295 #[inline(always)]
11296 pub fn pidr(
11297 self,
11298 ) -> crate::common::RegisterField<
11299 1,
11300 0x1,
11301 1,
11302 0,
11303 p2pfs_by::Pidr,
11304 p2pfs_by::Pidr,
11305 P2PfsBy_SPEC,
11306 crate::common::R,
11307 > {
11308 crate::common::RegisterField::<
11309 1,
11310 0x1,
11311 1,
11312 0,
11313 p2pfs_by::Pidr,
11314 p2pfs_by::Pidr,
11315 P2PfsBy_SPEC,
11316 crate::common::R,
11317 >::from_register(self, 0)
11318 }
11319
11320 #[doc = "Port Direction"]
11321 #[inline(always)]
11322 pub fn pdr(
11323 self,
11324 ) -> crate::common::RegisterField<
11325 2,
11326 0x1,
11327 1,
11328 0,
11329 p2pfs_by::Pdr,
11330 p2pfs_by::Pdr,
11331 P2PfsBy_SPEC,
11332 crate::common::RW,
11333 > {
11334 crate::common::RegisterField::<
11335 2,
11336 0x1,
11337 1,
11338 0,
11339 p2pfs_by::Pdr,
11340 p2pfs_by::Pdr,
11341 P2PfsBy_SPEC,
11342 crate::common::RW,
11343 >::from_register(self, 0)
11344 }
11345
11346 #[doc = "Pull-up Control"]
11347 #[inline(always)]
11348 pub fn pcr(
11349 self,
11350 ) -> crate::common::RegisterField<
11351 4,
11352 0x1,
11353 1,
11354 0,
11355 p2pfs_by::Pcr,
11356 p2pfs_by::Pcr,
11357 P2PfsBy_SPEC,
11358 crate::common::RW,
11359 > {
11360 crate::common::RegisterField::<
11361 4,
11362 0x1,
11363 1,
11364 0,
11365 p2pfs_by::Pcr,
11366 p2pfs_by::Pcr,
11367 P2PfsBy_SPEC,
11368 crate::common::RW,
11369 >::from_register(self, 0)
11370 }
11371
11372 #[doc = "N-Channel Open-Drain Control"]
11373 #[inline(always)]
11374 pub fn ncodr(
11375 self,
11376 ) -> crate::common::RegisterField<
11377 6,
11378 0x1,
11379 1,
11380 0,
11381 p2pfs_by::Ncodr,
11382 p2pfs_by::Ncodr,
11383 P2PfsBy_SPEC,
11384 crate::common::RW,
11385 > {
11386 crate::common::RegisterField::<
11387 6,
11388 0x1,
11389 1,
11390 0,
11391 p2pfs_by::Ncodr,
11392 p2pfs_by::Ncodr,
11393 P2PfsBy_SPEC,
11394 crate::common::RW,
11395 >::from_register(self, 0)
11396 }
11397}
11398impl ::core::default::Default for P2PfsBy {
11399 #[inline(always)]
11400 fn default() -> P2PfsBy {
11401 <crate::RegValueT<P2PfsBy_SPEC> as RegisterValue<_>>::new(0)
11402 }
11403}
11404pub mod p2pfs_by {
11405
11406 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11407 pub struct Podr_SPEC;
11408 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11409 impl Podr {
11410 #[doc = "Output low"]
11411 pub const _0: Self = Self::new(0);
11412
11413 #[doc = "Output high"]
11414 pub const _1: Self = Self::new(1);
11415 }
11416 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11417 pub struct Pidr_SPEC;
11418 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11419 impl Pidr {
11420 #[doc = "Low level"]
11421 pub const _0: Self = Self::new(0);
11422
11423 #[doc = "High level"]
11424 pub const _1: Self = Self::new(1);
11425 }
11426 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11427 pub struct Pdr_SPEC;
11428 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11429 impl Pdr {
11430 #[doc = "Input (functions as an input pin)"]
11431 pub const _0: Self = Self::new(0);
11432
11433 #[doc = "Output (functions as an output pin)"]
11434 pub const _1: Self = Self::new(1);
11435 }
11436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11437 pub struct Pcr_SPEC;
11438 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11439 impl Pcr {
11440 #[doc = "Disable input pull-up"]
11441 pub const _0: Self = Self::new(0);
11442
11443 #[doc = "Enable input pull-up"]
11444 pub const _1: Self = Self::new(1);
11445 }
11446 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11447 pub struct Ncodr_SPEC;
11448 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11449 impl Ncodr {
11450 #[doc = "Output CMOS"]
11451 pub const _0: Self = Self::new(0);
11452
11453 #[doc = "Output NMOS open-drain"]
11454 pub const _1: Self = Self::new(1);
11455 }
11456}
11457#[doc(hidden)]
11458#[derive(Copy, Clone, Eq, PartialEq)]
11459pub struct P300Pfs_SPEC;
11460impl crate::sealed::RegSpec for P300Pfs_SPEC {
11461 type DataType = u32;
11462}
11463
11464#[doc = "Port 300 Pin Function Select Register"]
11465pub type P300Pfs = crate::RegValueT<P300Pfs_SPEC>;
11466
11467impl P300Pfs {
11468 #[doc = "Port Output Data"]
11469 #[inline(always)]
11470 pub fn podr(
11471 self,
11472 ) -> crate::common::RegisterField<
11473 0,
11474 0x1,
11475 1,
11476 0,
11477 p300pfs::Podr,
11478 p300pfs::Podr,
11479 P300Pfs_SPEC,
11480 crate::common::RW,
11481 > {
11482 crate::common::RegisterField::<
11483 0,
11484 0x1,
11485 1,
11486 0,
11487 p300pfs::Podr,
11488 p300pfs::Podr,
11489 P300Pfs_SPEC,
11490 crate::common::RW,
11491 >::from_register(self, 0)
11492 }
11493
11494 #[doc = "Port State"]
11495 #[inline(always)]
11496 pub fn pidr(
11497 self,
11498 ) -> crate::common::RegisterField<
11499 1,
11500 0x1,
11501 1,
11502 0,
11503 p300pfs::Pidr,
11504 p300pfs::Pidr,
11505 P300Pfs_SPEC,
11506 crate::common::R,
11507 > {
11508 crate::common::RegisterField::<
11509 1,
11510 0x1,
11511 1,
11512 0,
11513 p300pfs::Pidr,
11514 p300pfs::Pidr,
11515 P300Pfs_SPEC,
11516 crate::common::R,
11517 >::from_register(self, 0)
11518 }
11519
11520 #[doc = "Port Direction"]
11521 #[inline(always)]
11522 pub fn pdr(
11523 self,
11524 ) -> crate::common::RegisterField<
11525 2,
11526 0x1,
11527 1,
11528 0,
11529 p300pfs::Pdr,
11530 p300pfs::Pdr,
11531 P300Pfs_SPEC,
11532 crate::common::RW,
11533 > {
11534 crate::common::RegisterField::<
11535 2,
11536 0x1,
11537 1,
11538 0,
11539 p300pfs::Pdr,
11540 p300pfs::Pdr,
11541 P300Pfs_SPEC,
11542 crate::common::RW,
11543 >::from_register(self, 0)
11544 }
11545
11546 #[doc = "Pull-up Control"]
11547 #[inline(always)]
11548 pub fn pcr(
11549 self,
11550 ) -> crate::common::RegisterField<
11551 4,
11552 0x1,
11553 1,
11554 0,
11555 p300pfs::Pcr,
11556 p300pfs::Pcr,
11557 P300Pfs_SPEC,
11558 crate::common::RW,
11559 > {
11560 crate::common::RegisterField::<
11561 4,
11562 0x1,
11563 1,
11564 0,
11565 p300pfs::Pcr,
11566 p300pfs::Pcr,
11567 P300Pfs_SPEC,
11568 crate::common::RW,
11569 >::from_register(self, 0)
11570 }
11571
11572 #[doc = "N-Channel Open-Drain Control"]
11573 #[inline(always)]
11574 pub fn ncodr(
11575 self,
11576 ) -> crate::common::RegisterField<
11577 6,
11578 0x1,
11579 1,
11580 0,
11581 p300pfs::Ncodr,
11582 p300pfs::Ncodr,
11583 P300Pfs_SPEC,
11584 crate::common::RW,
11585 > {
11586 crate::common::RegisterField::<
11587 6,
11588 0x1,
11589 1,
11590 0,
11591 p300pfs::Ncodr,
11592 p300pfs::Ncodr,
11593 P300Pfs_SPEC,
11594 crate::common::RW,
11595 >::from_register(self, 0)
11596 }
11597
11598 #[doc = "Port Drive Capability"]
11599 #[inline(always)]
11600 pub fn dscr(
11601 self,
11602 ) -> crate::common::RegisterField<
11603 10,
11604 0x3,
11605 1,
11606 0,
11607 p300pfs::Dscr,
11608 p300pfs::Dscr,
11609 P300Pfs_SPEC,
11610 crate::common::RW,
11611 > {
11612 crate::common::RegisterField::<
11613 10,
11614 0x3,
11615 1,
11616 0,
11617 p300pfs::Dscr,
11618 p300pfs::Dscr,
11619 P300Pfs_SPEC,
11620 crate::common::RW,
11621 >::from_register(self, 0)
11622 }
11623
11624 #[doc = "Event on Falling/Event on Rising"]
11625 #[inline(always)]
11626 pub fn eofr(
11627 self,
11628 ) -> crate::common::RegisterField<
11629 12,
11630 0x3,
11631 1,
11632 0,
11633 p300pfs::Eofr,
11634 p300pfs::Eofr,
11635 P300Pfs_SPEC,
11636 crate::common::RW,
11637 > {
11638 crate::common::RegisterField::<
11639 12,
11640 0x3,
11641 1,
11642 0,
11643 p300pfs::Eofr,
11644 p300pfs::Eofr,
11645 P300Pfs_SPEC,
11646 crate::common::RW,
11647 >::from_register(self, 0)
11648 }
11649
11650 #[doc = "IRQ Input Enable"]
11651 #[inline(always)]
11652 pub fn isel(
11653 self,
11654 ) -> crate::common::RegisterField<
11655 14,
11656 0x1,
11657 1,
11658 0,
11659 p300pfs::Isel,
11660 p300pfs::Isel,
11661 P300Pfs_SPEC,
11662 crate::common::RW,
11663 > {
11664 crate::common::RegisterField::<
11665 14,
11666 0x1,
11667 1,
11668 0,
11669 p300pfs::Isel,
11670 p300pfs::Isel,
11671 P300Pfs_SPEC,
11672 crate::common::RW,
11673 >::from_register(self, 0)
11674 }
11675
11676 #[doc = "Analog Input Enable"]
11677 #[inline(always)]
11678 pub fn asel(
11679 self,
11680 ) -> crate::common::RegisterField<
11681 15,
11682 0x1,
11683 1,
11684 0,
11685 p300pfs::Asel,
11686 p300pfs::Asel,
11687 P300Pfs_SPEC,
11688 crate::common::RW,
11689 > {
11690 crate::common::RegisterField::<
11691 15,
11692 0x1,
11693 1,
11694 0,
11695 p300pfs::Asel,
11696 p300pfs::Asel,
11697 P300Pfs_SPEC,
11698 crate::common::RW,
11699 >::from_register(self, 0)
11700 }
11701
11702 #[doc = "Port Mode Control"]
11703 #[inline(always)]
11704 pub fn pmr(
11705 self,
11706 ) -> crate::common::RegisterField<
11707 16,
11708 0x1,
11709 1,
11710 0,
11711 p300pfs::Pmr,
11712 p300pfs::Pmr,
11713 P300Pfs_SPEC,
11714 crate::common::RW,
11715 > {
11716 crate::common::RegisterField::<
11717 16,
11718 0x1,
11719 1,
11720 0,
11721 p300pfs::Pmr,
11722 p300pfs::Pmr,
11723 P300Pfs_SPEC,
11724 crate::common::RW,
11725 >::from_register(self, 0)
11726 }
11727
11728 #[doc = "Peripheral Select"]
11729 #[inline(always)]
11730 pub fn psel(
11731 self,
11732 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P300Pfs_SPEC, crate::common::RW> {
11733 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P300Pfs_SPEC,crate::common::RW>::from_register(self,0)
11734 }
11735}
11736impl ::core::default::Default for P300Pfs {
11737 #[inline(always)]
11738 fn default() -> P300Pfs {
11739 <crate::RegValueT<P300Pfs_SPEC> as RegisterValue<_>>::new(65552)
11740 }
11741}
11742pub mod p300pfs {
11743
11744 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11745 pub struct Podr_SPEC;
11746 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11747 impl Podr {
11748 #[doc = "Output low"]
11749 pub const _0: Self = Self::new(0);
11750
11751 #[doc = "Output high"]
11752 pub const _1: Self = Self::new(1);
11753 }
11754 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11755 pub struct Pidr_SPEC;
11756 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11757 impl Pidr {
11758 #[doc = "Low level"]
11759 pub const _0: Self = Self::new(0);
11760
11761 #[doc = "High level"]
11762 pub const _1: Self = Self::new(1);
11763 }
11764 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11765 pub struct Pdr_SPEC;
11766 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11767 impl Pdr {
11768 #[doc = "Input (functions as an input pin)"]
11769 pub const _0: Self = Self::new(0);
11770
11771 #[doc = "Output (functions as an output pin)"]
11772 pub const _1: Self = Self::new(1);
11773 }
11774 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11775 pub struct Pcr_SPEC;
11776 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11777 impl Pcr {
11778 #[doc = "Disable input pull-up"]
11779 pub const _0: Self = Self::new(0);
11780
11781 #[doc = "Enable input pull-up"]
11782 pub const _1: Self = Self::new(1);
11783 }
11784 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11785 pub struct Ncodr_SPEC;
11786 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11787 impl Ncodr {
11788 #[doc = "Output CMOS"]
11789 pub const _0: Self = Self::new(0);
11790
11791 #[doc = "Output NMOS open-drain"]
11792 pub const _1: Self = Self::new(1);
11793 }
11794 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11795 pub struct Dscr_SPEC;
11796 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
11797 impl Dscr {
11798 #[doc = "Low drive"]
11799 pub const _00: Self = Self::new(0);
11800
11801 #[doc = "Middle drive"]
11802 pub const _01: Self = Self::new(1);
11803
11804 #[doc = "Setting prohibited"]
11805 pub const _10: Self = Self::new(2);
11806
11807 #[doc = "High drive"]
11808 pub const _11: Self = Self::new(3);
11809 }
11810 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11811 pub struct Eofr_SPEC;
11812 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
11813 impl Eofr {
11814 #[doc = "Don\'t care"]
11815 pub const _00: Self = Self::new(0);
11816
11817 #[doc = "Detect rising edge"]
11818 pub const _01: Self = Self::new(1);
11819
11820 #[doc = "Detect falling edge"]
11821 pub const _10: Self = Self::new(2);
11822
11823 #[doc = "Detect both edges"]
11824 pub const _11: Self = Self::new(3);
11825 }
11826 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11827 pub struct Isel_SPEC;
11828 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11829 impl Isel {
11830 #[doc = "Do not use as IRQn input pin"]
11831 pub const _0: Self = Self::new(0);
11832
11833 #[doc = "Use as IRQn input pin"]
11834 pub const _1: Self = Self::new(1);
11835 }
11836 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11837 pub struct Asel_SPEC;
11838 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11839 impl Asel {
11840 #[doc = "Do not use as analog pin"]
11841 pub const _0: Self = Self::new(0);
11842
11843 #[doc = "Use as analog pin"]
11844 pub const _1: Self = Self::new(1);
11845 }
11846 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11847 pub struct Pmr_SPEC;
11848 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
11849 impl Pmr {
11850 #[doc = "Use as general I/O pin"]
11851 pub const _0: Self = Self::new(0);
11852
11853 #[doc = "Use as I/O port for peripheral functions"]
11854 pub const _1: Self = Self::new(1);
11855 }
11856}
11857#[doc(hidden)]
11858#[derive(Copy, Clone, Eq, PartialEq)]
11859pub struct P300PfsHa_SPEC;
11860impl crate::sealed::RegSpec for P300PfsHa_SPEC {
11861 type DataType = u16;
11862}
11863
11864#[doc = "Port 300 Pin Function Select Register"]
11865pub type P300PfsHa = crate::RegValueT<P300PfsHa_SPEC>;
11866
11867impl P300PfsHa {
11868 #[doc = "Port Output Data"]
11869 #[inline(always)]
11870 pub fn podr(
11871 self,
11872 ) -> crate::common::RegisterField<
11873 0,
11874 0x1,
11875 1,
11876 0,
11877 p300pfs_ha::Podr,
11878 p300pfs_ha::Podr,
11879 P300PfsHa_SPEC,
11880 crate::common::RW,
11881 > {
11882 crate::common::RegisterField::<
11883 0,
11884 0x1,
11885 1,
11886 0,
11887 p300pfs_ha::Podr,
11888 p300pfs_ha::Podr,
11889 P300PfsHa_SPEC,
11890 crate::common::RW,
11891 >::from_register(self, 0)
11892 }
11893
11894 #[doc = "Port State"]
11895 #[inline(always)]
11896 pub fn pidr(
11897 self,
11898 ) -> crate::common::RegisterField<
11899 1,
11900 0x1,
11901 1,
11902 0,
11903 p300pfs_ha::Pidr,
11904 p300pfs_ha::Pidr,
11905 P300PfsHa_SPEC,
11906 crate::common::R,
11907 > {
11908 crate::common::RegisterField::<
11909 1,
11910 0x1,
11911 1,
11912 0,
11913 p300pfs_ha::Pidr,
11914 p300pfs_ha::Pidr,
11915 P300PfsHa_SPEC,
11916 crate::common::R,
11917 >::from_register(self, 0)
11918 }
11919
11920 #[doc = "Port Direction"]
11921 #[inline(always)]
11922 pub fn pdr(
11923 self,
11924 ) -> crate::common::RegisterField<
11925 2,
11926 0x1,
11927 1,
11928 0,
11929 p300pfs_ha::Pdr,
11930 p300pfs_ha::Pdr,
11931 P300PfsHa_SPEC,
11932 crate::common::RW,
11933 > {
11934 crate::common::RegisterField::<
11935 2,
11936 0x1,
11937 1,
11938 0,
11939 p300pfs_ha::Pdr,
11940 p300pfs_ha::Pdr,
11941 P300PfsHa_SPEC,
11942 crate::common::RW,
11943 >::from_register(self, 0)
11944 }
11945
11946 #[doc = "Pull-up Control"]
11947 #[inline(always)]
11948 pub fn pcr(
11949 self,
11950 ) -> crate::common::RegisterField<
11951 4,
11952 0x1,
11953 1,
11954 0,
11955 p300pfs_ha::Pcr,
11956 p300pfs_ha::Pcr,
11957 P300PfsHa_SPEC,
11958 crate::common::RW,
11959 > {
11960 crate::common::RegisterField::<
11961 4,
11962 0x1,
11963 1,
11964 0,
11965 p300pfs_ha::Pcr,
11966 p300pfs_ha::Pcr,
11967 P300PfsHa_SPEC,
11968 crate::common::RW,
11969 >::from_register(self, 0)
11970 }
11971
11972 #[doc = "N-Channel Open-Drain Control"]
11973 #[inline(always)]
11974 pub fn ncodr(
11975 self,
11976 ) -> crate::common::RegisterField<
11977 6,
11978 0x1,
11979 1,
11980 0,
11981 p300pfs_ha::Ncodr,
11982 p300pfs_ha::Ncodr,
11983 P300PfsHa_SPEC,
11984 crate::common::RW,
11985 > {
11986 crate::common::RegisterField::<
11987 6,
11988 0x1,
11989 1,
11990 0,
11991 p300pfs_ha::Ncodr,
11992 p300pfs_ha::Ncodr,
11993 P300PfsHa_SPEC,
11994 crate::common::RW,
11995 >::from_register(self, 0)
11996 }
11997
11998 #[doc = "Port Drive Capability"]
11999 #[inline(always)]
12000 pub fn dscr(
12001 self,
12002 ) -> crate::common::RegisterField<
12003 10,
12004 0x3,
12005 1,
12006 0,
12007 p300pfs_ha::Dscr,
12008 p300pfs_ha::Dscr,
12009 P300PfsHa_SPEC,
12010 crate::common::RW,
12011 > {
12012 crate::common::RegisterField::<
12013 10,
12014 0x3,
12015 1,
12016 0,
12017 p300pfs_ha::Dscr,
12018 p300pfs_ha::Dscr,
12019 P300PfsHa_SPEC,
12020 crate::common::RW,
12021 >::from_register(self, 0)
12022 }
12023
12024 #[doc = "Event on Falling/Event on Rising"]
12025 #[inline(always)]
12026 pub fn eofr(
12027 self,
12028 ) -> crate::common::RegisterField<
12029 12,
12030 0x3,
12031 1,
12032 0,
12033 p300pfs_ha::Eofr,
12034 p300pfs_ha::Eofr,
12035 P300PfsHa_SPEC,
12036 crate::common::RW,
12037 > {
12038 crate::common::RegisterField::<
12039 12,
12040 0x3,
12041 1,
12042 0,
12043 p300pfs_ha::Eofr,
12044 p300pfs_ha::Eofr,
12045 P300PfsHa_SPEC,
12046 crate::common::RW,
12047 >::from_register(self, 0)
12048 }
12049
12050 #[doc = "IRQ Input Enable"]
12051 #[inline(always)]
12052 pub fn isel(
12053 self,
12054 ) -> crate::common::RegisterField<
12055 14,
12056 0x1,
12057 1,
12058 0,
12059 p300pfs_ha::Isel,
12060 p300pfs_ha::Isel,
12061 P300PfsHa_SPEC,
12062 crate::common::RW,
12063 > {
12064 crate::common::RegisterField::<
12065 14,
12066 0x1,
12067 1,
12068 0,
12069 p300pfs_ha::Isel,
12070 p300pfs_ha::Isel,
12071 P300PfsHa_SPEC,
12072 crate::common::RW,
12073 >::from_register(self, 0)
12074 }
12075
12076 #[doc = "Analog Input Enable"]
12077 #[inline(always)]
12078 pub fn asel(
12079 self,
12080 ) -> crate::common::RegisterField<
12081 15,
12082 0x1,
12083 1,
12084 0,
12085 p300pfs_ha::Asel,
12086 p300pfs_ha::Asel,
12087 P300PfsHa_SPEC,
12088 crate::common::RW,
12089 > {
12090 crate::common::RegisterField::<
12091 15,
12092 0x1,
12093 1,
12094 0,
12095 p300pfs_ha::Asel,
12096 p300pfs_ha::Asel,
12097 P300PfsHa_SPEC,
12098 crate::common::RW,
12099 >::from_register(self, 0)
12100 }
12101}
12102impl ::core::default::Default for P300PfsHa {
12103 #[inline(always)]
12104 fn default() -> P300PfsHa {
12105 <crate::RegValueT<P300PfsHa_SPEC> as RegisterValue<_>>::new(16)
12106 }
12107}
12108pub mod p300pfs_ha {
12109
12110 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12111 pub struct Podr_SPEC;
12112 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12113 impl Podr {
12114 #[doc = "Output low"]
12115 pub const _0: Self = Self::new(0);
12116
12117 #[doc = "Output high"]
12118 pub const _1: Self = Self::new(1);
12119 }
12120 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12121 pub struct Pidr_SPEC;
12122 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12123 impl Pidr {
12124 #[doc = "Low level"]
12125 pub const _0: Self = Self::new(0);
12126
12127 #[doc = "High level"]
12128 pub const _1: Self = Self::new(1);
12129 }
12130 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12131 pub struct Pdr_SPEC;
12132 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12133 impl Pdr {
12134 #[doc = "Input (functions as an input pin)"]
12135 pub const _0: Self = Self::new(0);
12136
12137 #[doc = "Output (functions as an output pin)"]
12138 pub const _1: Self = Self::new(1);
12139 }
12140 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12141 pub struct Pcr_SPEC;
12142 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12143 impl Pcr {
12144 #[doc = "Disable input pull-up"]
12145 pub const _0: Self = Self::new(0);
12146
12147 #[doc = "Enable input pull-up"]
12148 pub const _1: Self = Self::new(1);
12149 }
12150 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12151 pub struct Ncodr_SPEC;
12152 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12153 impl Ncodr {
12154 #[doc = "Output CMOS"]
12155 pub const _0: Self = Self::new(0);
12156
12157 #[doc = "Output NMOS open-drain"]
12158 pub const _1: Self = Self::new(1);
12159 }
12160 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12161 pub struct Dscr_SPEC;
12162 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
12163 impl Dscr {
12164 #[doc = "Low drive"]
12165 pub const _00: Self = Self::new(0);
12166
12167 #[doc = "Middle drive"]
12168 pub const _01: Self = Self::new(1);
12169
12170 #[doc = "Setting prohibited"]
12171 pub const _10: Self = Self::new(2);
12172
12173 #[doc = "High drive"]
12174 pub const _11: Self = Self::new(3);
12175 }
12176 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12177 pub struct Eofr_SPEC;
12178 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
12179 impl Eofr {
12180 #[doc = "Don\'t care"]
12181 pub const _00: Self = Self::new(0);
12182
12183 #[doc = "Detect rising edge"]
12184 pub const _01: Self = Self::new(1);
12185
12186 #[doc = "Detect falling edge"]
12187 pub const _10: Self = Self::new(2);
12188
12189 #[doc = "Detect both edges"]
12190 pub const _11: Self = Self::new(3);
12191 }
12192 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12193 pub struct Isel_SPEC;
12194 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12195 impl Isel {
12196 #[doc = "Do not use as IRQn input pin"]
12197 pub const _0: Self = Self::new(0);
12198
12199 #[doc = "Use as IRQn input pin"]
12200 pub const _1: Self = Self::new(1);
12201 }
12202 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12203 pub struct Asel_SPEC;
12204 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12205 impl Asel {
12206 #[doc = "Do not use as analog pin"]
12207 pub const _0: Self = Self::new(0);
12208
12209 #[doc = "Use as analog pin"]
12210 pub const _1: Self = Self::new(1);
12211 }
12212}
12213#[doc(hidden)]
12214#[derive(Copy, Clone, Eq, PartialEq)]
12215pub struct P300PfsBy_SPEC;
12216impl crate::sealed::RegSpec for P300PfsBy_SPEC {
12217 type DataType = u8;
12218}
12219
12220#[doc = "Port 300 Pin Function Select Register"]
12221pub type P300PfsBy = crate::RegValueT<P300PfsBy_SPEC>;
12222
12223impl P300PfsBy {
12224 #[doc = "Port Output Data"]
12225 #[inline(always)]
12226 pub fn podr(
12227 self,
12228 ) -> crate::common::RegisterField<
12229 0,
12230 0x1,
12231 1,
12232 0,
12233 p300pfs_by::Podr,
12234 p300pfs_by::Podr,
12235 P300PfsBy_SPEC,
12236 crate::common::RW,
12237 > {
12238 crate::common::RegisterField::<
12239 0,
12240 0x1,
12241 1,
12242 0,
12243 p300pfs_by::Podr,
12244 p300pfs_by::Podr,
12245 P300PfsBy_SPEC,
12246 crate::common::RW,
12247 >::from_register(self, 0)
12248 }
12249
12250 #[doc = "Port State"]
12251 #[inline(always)]
12252 pub fn pidr(
12253 self,
12254 ) -> crate::common::RegisterField<
12255 1,
12256 0x1,
12257 1,
12258 0,
12259 p300pfs_by::Pidr,
12260 p300pfs_by::Pidr,
12261 P300PfsBy_SPEC,
12262 crate::common::R,
12263 > {
12264 crate::common::RegisterField::<
12265 1,
12266 0x1,
12267 1,
12268 0,
12269 p300pfs_by::Pidr,
12270 p300pfs_by::Pidr,
12271 P300PfsBy_SPEC,
12272 crate::common::R,
12273 >::from_register(self, 0)
12274 }
12275
12276 #[doc = "Port Direction"]
12277 #[inline(always)]
12278 pub fn pdr(
12279 self,
12280 ) -> crate::common::RegisterField<
12281 2,
12282 0x1,
12283 1,
12284 0,
12285 p300pfs_by::Pdr,
12286 p300pfs_by::Pdr,
12287 P300PfsBy_SPEC,
12288 crate::common::RW,
12289 > {
12290 crate::common::RegisterField::<
12291 2,
12292 0x1,
12293 1,
12294 0,
12295 p300pfs_by::Pdr,
12296 p300pfs_by::Pdr,
12297 P300PfsBy_SPEC,
12298 crate::common::RW,
12299 >::from_register(self, 0)
12300 }
12301
12302 #[doc = "Pull-up Control"]
12303 #[inline(always)]
12304 pub fn pcr(
12305 self,
12306 ) -> crate::common::RegisterField<
12307 4,
12308 0x1,
12309 1,
12310 0,
12311 p300pfs_by::Pcr,
12312 p300pfs_by::Pcr,
12313 P300PfsBy_SPEC,
12314 crate::common::RW,
12315 > {
12316 crate::common::RegisterField::<
12317 4,
12318 0x1,
12319 1,
12320 0,
12321 p300pfs_by::Pcr,
12322 p300pfs_by::Pcr,
12323 P300PfsBy_SPEC,
12324 crate::common::RW,
12325 >::from_register(self, 0)
12326 }
12327
12328 #[doc = "N-Channel Open-Drain Control"]
12329 #[inline(always)]
12330 pub fn ncodr(
12331 self,
12332 ) -> crate::common::RegisterField<
12333 6,
12334 0x1,
12335 1,
12336 0,
12337 p300pfs_by::Ncodr,
12338 p300pfs_by::Ncodr,
12339 P300PfsBy_SPEC,
12340 crate::common::RW,
12341 > {
12342 crate::common::RegisterField::<
12343 6,
12344 0x1,
12345 1,
12346 0,
12347 p300pfs_by::Ncodr,
12348 p300pfs_by::Ncodr,
12349 P300PfsBy_SPEC,
12350 crate::common::RW,
12351 >::from_register(self, 0)
12352 }
12353}
12354impl ::core::default::Default for P300PfsBy {
12355 #[inline(always)]
12356 fn default() -> P300PfsBy {
12357 <crate::RegValueT<P300PfsBy_SPEC> as RegisterValue<_>>::new(16)
12358 }
12359}
12360pub mod p300pfs_by {
12361
12362 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12363 pub struct Podr_SPEC;
12364 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12365 impl Podr {
12366 #[doc = "Output low"]
12367 pub const _0: Self = Self::new(0);
12368
12369 #[doc = "Output high"]
12370 pub const _1: Self = Self::new(1);
12371 }
12372 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12373 pub struct Pidr_SPEC;
12374 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12375 impl Pidr {
12376 #[doc = "Low level"]
12377 pub const _0: Self = Self::new(0);
12378
12379 #[doc = "High level"]
12380 pub const _1: Self = Self::new(1);
12381 }
12382 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12383 pub struct Pdr_SPEC;
12384 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12385 impl Pdr {
12386 #[doc = "Input (functions as an input pin)"]
12387 pub const _0: Self = Self::new(0);
12388
12389 #[doc = "Output (functions as an output pin)"]
12390 pub const _1: Self = Self::new(1);
12391 }
12392 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12393 pub struct Pcr_SPEC;
12394 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12395 impl Pcr {
12396 #[doc = "Disable input pull-up"]
12397 pub const _0: Self = Self::new(0);
12398
12399 #[doc = "Enable input pull-up"]
12400 pub const _1: Self = Self::new(1);
12401 }
12402 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12403 pub struct Ncodr_SPEC;
12404 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12405 impl Ncodr {
12406 #[doc = "Output CMOS"]
12407 pub const _0: Self = Self::new(0);
12408
12409 #[doc = "Output NMOS open-drain"]
12410 pub const _1: Self = Self::new(1);
12411 }
12412}
12413#[doc(hidden)]
12414#[derive(Copy, Clone, Eq, PartialEq)]
12415pub struct P30Pfs_SPEC;
12416impl crate::sealed::RegSpec for P30Pfs_SPEC {
12417 type DataType = u32;
12418}
12419
12420#[doc = "Port 30%s Pin Function Select Register"]
12421pub type P30Pfs = crate::RegValueT<P30Pfs_SPEC>;
12422
12423impl P30Pfs {
12424 #[doc = "Port Output Data"]
12425 #[inline(always)]
12426 pub fn podr(
12427 self,
12428 ) -> crate::common::RegisterField<
12429 0,
12430 0x1,
12431 1,
12432 0,
12433 p30pfs::Podr,
12434 p30pfs::Podr,
12435 P30Pfs_SPEC,
12436 crate::common::RW,
12437 > {
12438 crate::common::RegisterField::<
12439 0,
12440 0x1,
12441 1,
12442 0,
12443 p30pfs::Podr,
12444 p30pfs::Podr,
12445 P30Pfs_SPEC,
12446 crate::common::RW,
12447 >::from_register(self, 0)
12448 }
12449
12450 #[doc = "Port State"]
12451 #[inline(always)]
12452 pub fn pidr(
12453 self,
12454 ) -> crate::common::RegisterField<
12455 1,
12456 0x1,
12457 1,
12458 0,
12459 p30pfs::Pidr,
12460 p30pfs::Pidr,
12461 P30Pfs_SPEC,
12462 crate::common::R,
12463 > {
12464 crate::common::RegisterField::<
12465 1,
12466 0x1,
12467 1,
12468 0,
12469 p30pfs::Pidr,
12470 p30pfs::Pidr,
12471 P30Pfs_SPEC,
12472 crate::common::R,
12473 >::from_register(self, 0)
12474 }
12475
12476 #[doc = "Port Direction"]
12477 #[inline(always)]
12478 pub fn pdr(
12479 self,
12480 ) -> crate::common::RegisterField<
12481 2,
12482 0x1,
12483 1,
12484 0,
12485 p30pfs::Pdr,
12486 p30pfs::Pdr,
12487 P30Pfs_SPEC,
12488 crate::common::RW,
12489 > {
12490 crate::common::RegisterField::<
12491 2,
12492 0x1,
12493 1,
12494 0,
12495 p30pfs::Pdr,
12496 p30pfs::Pdr,
12497 P30Pfs_SPEC,
12498 crate::common::RW,
12499 >::from_register(self, 0)
12500 }
12501
12502 #[doc = "Pull-up Control"]
12503 #[inline(always)]
12504 pub fn pcr(
12505 self,
12506 ) -> crate::common::RegisterField<
12507 4,
12508 0x1,
12509 1,
12510 0,
12511 p30pfs::Pcr,
12512 p30pfs::Pcr,
12513 P30Pfs_SPEC,
12514 crate::common::RW,
12515 > {
12516 crate::common::RegisterField::<
12517 4,
12518 0x1,
12519 1,
12520 0,
12521 p30pfs::Pcr,
12522 p30pfs::Pcr,
12523 P30Pfs_SPEC,
12524 crate::common::RW,
12525 >::from_register(self, 0)
12526 }
12527
12528 #[doc = "N-Channel Open-Drain Control"]
12529 #[inline(always)]
12530 pub fn ncodr(
12531 self,
12532 ) -> crate::common::RegisterField<
12533 6,
12534 0x1,
12535 1,
12536 0,
12537 p30pfs::Ncodr,
12538 p30pfs::Ncodr,
12539 P30Pfs_SPEC,
12540 crate::common::RW,
12541 > {
12542 crate::common::RegisterField::<
12543 6,
12544 0x1,
12545 1,
12546 0,
12547 p30pfs::Ncodr,
12548 p30pfs::Ncodr,
12549 P30Pfs_SPEC,
12550 crate::common::RW,
12551 >::from_register(self, 0)
12552 }
12553
12554 #[doc = "Port Drive Capability"]
12555 #[inline(always)]
12556 pub fn dscr(
12557 self,
12558 ) -> crate::common::RegisterField<
12559 10,
12560 0x3,
12561 1,
12562 0,
12563 p30pfs::Dscr,
12564 p30pfs::Dscr,
12565 P30Pfs_SPEC,
12566 crate::common::RW,
12567 > {
12568 crate::common::RegisterField::<
12569 10,
12570 0x3,
12571 1,
12572 0,
12573 p30pfs::Dscr,
12574 p30pfs::Dscr,
12575 P30Pfs_SPEC,
12576 crate::common::RW,
12577 >::from_register(self, 0)
12578 }
12579
12580 #[doc = "Event on Falling/Event on Rising"]
12581 #[inline(always)]
12582 pub fn eofr(
12583 self,
12584 ) -> crate::common::RegisterField<
12585 12,
12586 0x3,
12587 1,
12588 0,
12589 p30pfs::Eofr,
12590 p30pfs::Eofr,
12591 P30Pfs_SPEC,
12592 crate::common::RW,
12593 > {
12594 crate::common::RegisterField::<
12595 12,
12596 0x3,
12597 1,
12598 0,
12599 p30pfs::Eofr,
12600 p30pfs::Eofr,
12601 P30Pfs_SPEC,
12602 crate::common::RW,
12603 >::from_register(self, 0)
12604 }
12605
12606 #[doc = "IRQ Input Enable"]
12607 #[inline(always)]
12608 pub fn isel(
12609 self,
12610 ) -> crate::common::RegisterField<
12611 14,
12612 0x1,
12613 1,
12614 0,
12615 p30pfs::Isel,
12616 p30pfs::Isel,
12617 P30Pfs_SPEC,
12618 crate::common::RW,
12619 > {
12620 crate::common::RegisterField::<
12621 14,
12622 0x1,
12623 1,
12624 0,
12625 p30pfs::Isel,
12626 p30pfs::Isel,
12627 P30Pfs_SPEC,
12628 crate::common::RW,
12629 >::from_register(self, 0)
12630 }
12631
12632 #[doc = "Analog Input Enable"]
12633 #[inline(always)]
12634 pub fn asel(
12635 self,
12636 ) -> crate::common::RegisterField<
12637 15,
12638 0x1,
12639 1,
12640 0,
12641 p30pfs::Asel,
12642 p30pfs::Asel,
12643 P30Pfs_SPEC,
12644 crate::common::RW,
12645 > {
12646 crate::common::RegisterField::<
12647 15,
12648 0x1,
12649 1,
12650 0,
12651 p30pfs::Asel,
12652 p30pfs::Asel,
12653 P30Pfs_SPEC,
12654 crate::common::RW,
12655 >::from_register(self, 0)
12656 }
12657
12658 #[doc = "Port Mode Control"]
12659 #[inline(always)]
12660 pub fn pmr(
12661 self,
12662 ) -> crate::common::RegisterField<
12663 16,
12664 0x1,
12665 1,
12666 0,
12667 p30pfs::Pmr,
12668 p30pfs::Pmr,
12669 P30Pfs_SPEC,
12670 crate::common::RW,
12671 > {
12672 crate::common::RegisterField::<
12673 16,
12674 0x1,
12675 1,
12676 0,
12677 p30pfs::Pmr,
12678 p30pfs::Pmr,
12679 P30Pfs_SPEC,
12680 crate::common::RW,
12681 >::from_register(self, 0)
12682 }
12683
12684 #[doc = "Peripheral Select"]
12685 #[inline(always)]
12686 pub fn psel(
12687 self,
12688 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P30Pfs_SPEC, crate::common::RW> {
12689 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P30Pfs_SPEC,crate::common::RW>::from_register(self,0)
12690 }
12691}
12692impl ::core::default::Default for P30Pfs {
12693 #[inline(always)]
12694 fn default() -> P30Pfs {
12695 <crate::RegValueT<P30Pfs_SPEC> as RegisterValue<_>>::new(0)
12696 }
12697}
12698pub mod p30pfs {
12699
12700 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12701 pub struct Podr_SPEC;
12702 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12703 impl Podr {
12704 #[doc = "Output low"]
12705 pub const _0: Self = Self::new(0);
12706
12707 #[doc = "Output high"]
12708 pub const _1: Self = Self::new(1);
12709 }
12710 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12711 pub struct Pidr_SPEC;
12712 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12713 impl Pidr {
12714 #[doc = "Low level"]
12715 pub const _0: Self = Self::new(0);
12716
12717 #[doc = "High level"]
12718 pub const _1: Self = Self::new(1);
12719 }
12720 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12721 pub struct Pdr_SPEC;
12722 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12723 impl Pdr {
12724 #[doc = "Input (functions as an input pin)"]
12725 pub const _0: Self = Self::new(0);
12726
12727 #[doc = "Output (functions as an output pin)"]
12728 pub const _1: Self = Self::new(1);
12729 }
12730 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12731 pub struct Pcr_SPEC;
12732 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12733 impl Pcr {
12734 #[doc = "Disable input pull-up"]
12735 pub const _0: Self = Self::new(0);
12736
12737 #[doc = "Enable input pull-up"]
12738 pub const _1: Self = Self::new(1);
12739 }
12740 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12741 pub struct Ncodr_SPEC;
12742 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12743 impl Ncodr {
12744 #[doc = "Output CMOS"]
12745 pub const _0: Self = Self::new(0);
12746
12747 #[doc = "Output NMOS open-drain"]
12748 pub const _1: Self = Self::new(1);
12749 }
12750 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12751 pub struct Dscr_SPEC;
12752 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
12753 impl Dscr {
12754 #[doc = "Low drive"]
12755 pub const _00: Self = Self::new(0);
12756
12757 #[doc = "Middle drive"]
12758 pub const _01: Self = Self::new(1);
12759
12760 #[doc = "Setting prohibited"]
12761 pub const _10: Self = Self::new(2);
12762
12763 #[doc = "High drive"]
12764 pub const _11: Self = Self::new(3);
12765 }
12766 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12767 pub struct Eofr_SPEC;
12768 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
12769 impl Eofr {
12770 #[doc = "Don\'t care"]
12771 pub const _00: Self = Self::new(0);
12772
12773 #[doc = "Detect rising edge"]
12774 pub const _01: Self = Self::new(1);
12775
12776 #[doc = "Detect falling edge"]
12777 pub const _10: Self = Self::new(2);
12778
12779 #[doc = "Detect both edges"]
12780 pub const _11: Self = Self::new(3);
12781 }
12782 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12783 pub struct Isel_SPEC;
12784 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12785 impl Isel {
12786 #[doc = "Do not use as IRQn input pin"]
12787 pub const _0: Self = Self::new(0);
12788
12789 #[doc = "Use as IRQn input pin"]
12790 pub const _1: Self = Self::new(1);
12791 }
12792 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12793 pub struct Asel_SPEC;
12794 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12795 impl Asel {
12796 #[doc = "Do not use as analog pin"]
12797 pub const _0: Self = Self::new(0);
12798
12799 #[doc = "Use as analog pin"]
12800 pub const _1: Self = Self::new(1);
12801 }
12802 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12803 pub struct Pmr_SPEC;
12804 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
12805 impl Pmr {
12806 #[doc = "Use as general I/O pin"]
12807 pub const _0: Self = Self::new(0);
12808
12809 #[doc = "Use as I/O port for peripheral functions"]
12810 pub const _1: Self = Self::new(1);
12811 }
12812}
12813#[doc(hidden)]
12814#[derive(Copy, Clone, Eq, PartialEq)]
12815pub struct P30PfsHa_SPEC;
12816impl crate::sealed::RegSpec for P30PfsHa_SPEC {
12817 type DataType = u16;
12818}
12819
12820#[doc = "Port 30%s Pin Function Select Register"]
12821pub type P30PfsHa = crate::RegValueT<P30PfsHa_SPEC>;
12822
12823impl P30PfsHa {
12824 #[doc = "Port Output Data"]
12825 #[inline(always)]
12826 pub fn podr(
12827 self,
12828 ) -> crate::common::RegisterField<
12829 0,
12830 0x1,
12831 1,
12832 0,
12833 p30pfs_ha::Podr,
12834 p30pfs_ha::Podr,
12835 P30PfsHa_SPEC,
12836 crate::common::RW,
12837 > {
12838 crate::common::RegisterField::<
12839 0,
12840 0x1,
12841 1,
12842 0,
12843 p30pfs_ha::Podr,
12844 p30pfs_ha::Podr,
12845 P30PfsHa_SPEC,
12846 crate::common::RW,
12847 >::from_register(self, 0)
12848 }
12849
12850 #[doc = "Port State"]
12851 #[inline(always)]
12852 pub fn pidr(
12853 self,
12854 ) -> crate::common::RegisterField<
12855 1,
12856 0x1,
12857 1,
12858 0,
12859 p30pfs_ha::Pidr,
12860 p30pfs_ha::Pidr,
12861 P30PfsHa_SPEC,
12862 crate::common::R,
12863 > {
12864 crate::common::RegisterField::<
12865 1,
12866 0x1,
12867 1,
12868 0,
12869 p30pfs_ha::Pidr,
12870 p30pfs_ha::Pidr,
12871 P30PfsHa_SPEC,
12872 crate::common::R,
12873 >::from_register(self, 0)
12874 }
12875
12876 #[doc = "Port Direction"]
12877 #[inline(always)]
12878 pub fn pdr(
12879 self,
12880 ) -> crate::common::RegisterField<
12881 2,
12882 0x1,
12883 1,
12884 0,
12885 p30pfs_ha::Pdr,
12886 p30pfs_ha::Pdr,
12887 P30PfsHa_SPEC,
12888 crate::common::RW,
12889 > {
12890 crate::common::RegisterField::<
12891 2,
12892 0x1,
12893 1,
12894 0,
12895 p30pfs_ha::Pdr,
12896 p30pfs_ha::Pdr,
12897 P30PfsHa_SPEC,
12898 crate::common::RW,
12899 >::from_register(self, 0)
12900 }
12901
12902 #[doc = "Pull-up Control"]
12903 #[inline(always)]
12904 pub fn pcr(
12905 self,
12906 ) -> crate::common::RegisterField<
12907 4,
12908 0x1,
12909 1,
12910 0,
12911 p30pfs_ha::Pcr,
12912 p30pfs_ha::Pcr,
12913 P30PfsHa_SPEC,
12914 crate::common::RW,
12915 > {
12916 crate::common::RegisterField::<
12917 4,
12918 0x1,
12919 1,
12920 0,
12921 p30pfs_ha::Pcr,
12922 p30pfs_ha::Pcr,
12923 P30PfsHa_SPEC,
12924 crate::common::RW,
12925 >::from_register(self, 0)
12926 }
12927
12928 #[doc = "N-Channel Open-Drain Control"]
12929 #[inline(always)]
12930 pub fn ncodr(
12931 self,
12932 ) -> crate::common::RegisterField<
12933 6,
12934 0x1,
12935 1,
12936 0,
12937 p30pfs_ha::Ncodr,
12938 p30pfs_ha::Ncodr,
12939 P30PfsHa_SPEC,
12940 crate::common::RW,
12941 > {
12942 crate::common::RegisterField::<
12943 6,
12944 0x1,
12945 1,
12946 0,
12947 p30pfs_ha::Ncodr,
12948 p30pfs_ha::Ncodr,
12949 P30PfsHa_SPEC,
12950 crate::common::RW,
12951 >::from_register(self, 0)
12952 }
12953
12954 #[doc = "Port Drive Capability"]
12955 #[inline(always)]
12956 pub fn dscr(
12957 self,
12958 ) -> crate::common::RegisterField<
12959 10,
12960 0x3,
12961 1,
12962 0,
12963 p30pfs_ha::Dscr,
12964 p30pfs_ha::Dscr,
12965 P30PfsHa_SPEC,
12966 crate::common::RW,
12967 > {
12968 crate::common::RegisterField::<
12969 10,
12970 0x3,
12971 1,
12972 0,
12973 p30pfs_ha::Dscr,
12974 p30pfs_ha::Dscr,
12975 P30PfsHa_SPEC,
12976 crate::common::RW,
12977 >::from_register(self, 0)
12978 }
12979
12980 #[doc = "Event on Falling/Event on Rising"]
12981 #[inline(always)]
12982 pub fn eofr(
12983 self,
12984 ) -> crate::common::RegisterField<
12985 12,
12986 0x3,
12987 1,
12988 0,
12989 p30pfs_ha::Eofr,
12990 p30pfs_ha::Eofr,
12991 P30PfsHa_SPEC,
12992 crate::common::RW,
12993 > {
12994 crate::common::RegisterField::<
12995 12,
12996 0x3,
12997 1,
12998 0,
12999 p30pfs_ha::Eofr,
13000 p30pfs_ha::Eofr,
13001 P30PfsHa_SPEC,
13002 crate::common::RW,
13003 >::from_register(self, 0)
13004 }
13005
13006 #[doc = "IRQ Input Enable"]
13007 #[inline(always)]
13008 pub fn isel(
13009 self,
13010 ) -> crate::common::RegisterField<
13011 14,
13012 0x1,
13013 1,
13014 0,
13015 p30pfs_ha::Isel,
13016 p30pfs_ha::Isel,
13017 P30PfsHa_SPEC,
13018 crate::common::RW,
13019 > {
13020 crate::common::RegisterField::<
13021 14,
13022 0x1,
13023 1,
13024 0,
13025 p30pfs_ha::Isel,
13026 p30pfs_ha::Isel,
13027 P30PfsHa_SPEC,
13028 crate::common::RW,
13029 >::from_register(self, 0)
13030 }
13031
13032 #[doc = "Analog Input Enable"]
13033 #[inline(always)]
13034 pub fn asel(
13035 self,
13036 ) -> crate::common::RegisterField<
13037 15,
13038 0x1,
13039 1,
13040 0,
13041 p30pfs_ha::Asel,
13042 p30pfs_ha::Asel,
13043 P30PfsHa_SPEC,
13044 crate::common::RW,
13045 > {
13046 crate::common::RegisterField::<
13047 15,
13048 0x1,
13049 1,
13050 0,
13051 p30pfs_ha::Asel,
13052 p30pfs_ha::Asel,
13053 P30PfsHa_SPEC,
13054 crate::common::RW,
13055 >::from_register(self, 0)
13056 }
13057}
13058impl ::core::default::Default for P30PfsHa {
13059 #[inline(always)]
13060 fn default() -> P30PfsHa {
13061 <crate::RegValueT<P30PfsHa_SPEC> as RegisterValue<_>>::new(0)
13062 }
13063}
13064pub mod p30pfs_ha {
13065
13066 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13067 pub struct Podr_SPEC;
13068 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13069 impl Podr {
13070 #[doc = "Output low"]
13071 pub const _0: Self = Self::new(0);
13072
13073 #[doc = "Output high"]
13074 pub const _1: Self = Self::new(1);
13075 }
13076 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13077 pub struct Pidr_SPEC;
13078 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13079 impl Pidr {
13080 #[doc = "Low level"]
13081 pub const _0: Self = Self::new(0);
13082
13083 #[doc = "High level"]
13084 pub const _1: Self = Self::new(1);
13085 }
13086 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13087 pub struct Pdr_SPEC;
13088 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13089 impl Pdr {
13090 #[doc = "Input (functions as an input pin)"]
13091 pub const _0: Self = Self::new(0);
13092
13093 #[doc = "Output (functions as an output pin)"]
13094 pub const _1: Self = Self::new(1);
13095 }
13096 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13097 pub struct Pcr_SPEC;
13098 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13099 impl Pcr {
13100 #[doc = "Disable input pull-up"]
13101 pub const _0: Self = Self::new(0);
13102
13103 #[doc = "Enable input pull-up"]
13104 pub const _1: Self = Self::new(1);
13105 }
13106 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13107 pub struct Ncodr_SPEC;
13108 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13109 impl Ncodr {
13110 #[doc = "Output CMOS"]
13111 pub const _0: Self = Self::new(0);
13112
13113 #[doc = "Output NMOS open-drain"]
13114 pub const _1: Self = Self::new(1);
13115 }
13116 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13117 pub struct Dscr_SPEC;
13118 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
13119 impl Dscr {
13120 #[doc = "Low drive"]
13121 pub const _00: Self = Self::new(0);
13122
13123 #[doc = "Middle drive"]
13124 pub const _01: Self = Self::new(1);
13125
13126 #[doc = "Setting prohibited"]
13127 pub const _10: Self = Self::new(2);
13128
13129 #[doc = "High drive"]
13130 pub const _11: Self = Self::new(3);
13131 }
13132 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13133 pub struct Eofr_SPEC;
13134 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
13135 impl Eofr {
13136 #[doc = "Don\'t care"]
13137 pub const _00: Self = Self::new(0);
13138
13139 #[doc = "Detect rising edge"]
13140 pub const _01: Self = Self::new(1);
13141
13142 #[doc = "Detect falling edge"]
13143 pub const _10: Self = Self::new(2);
13144
13145 #[doc = "Detect both edges"]
13146 pub const _11: Self = Self::new(3);
13147 }
13148 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13149 pub struct Isel_SPEC;
13150 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13151 impl Isel {
13152 #[doc = "Do not use as IRQn input pin"]
13153 pub const _0: Self = Self::new(0);
13154
13155 #[doc = "Use as IRQn input pin"]
13156 pub const _1: Self = Self::new(1);
13157 }
13158 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13159 pub struct Asel_SPEC;
13160 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13161 impl Asel {
13162 #[doc = "Do not use as analog pin"]
13163 pub const _0: Self = Self::new(0);
13164
13165 #[doc = "Use as analog pin"]
13166 pub const _1: Self = Self::new(1);
13167 }
13168}
13169#[doc(hidden)]
13170#[derive(Copy, Clone, Eq, PartialEq)]
13171pub struct P30PfsBy_SPEC;
13172impl crate::sealed::RegSpec for P30PfsBy_SPEC {
13173 type DataType = u8;
13174}
13175
13176#[doc = "Port 30%s Pin Function Select Register"]
13177pub type P30PfsBy = crate::RegValueT<P30PfsBy_SPEC>;
13178
13179impl P30PfsBy {
13180 #[doc = "Port Output Data"]
13181 #[inline(always)]
13182 pub fn podr(
13183 self,
13184 ) -> crate::common::RegisterField<
13185 0,
13186 0x1,
13187 1,
13188 0,
13189 p30pfs_by::Podr,
13190 p30pfs_by::Podr,
13191 P30PfsBy_SPEC,
13192 crate::common::RW,
13193 > {
13194 crate::common::RegisterField::<
13195 0,
13196 0x1,
13197 1,
13198 0,
13199 p30pfs_by::Podr,
13200 p30pfs_by::Podr,
13201 P30PfsBy_SPEC,
13202 crate::common::RW,
13203 >::from_register(self, 0)
13204 }
13205
13206 #[doc = "Port State"]
13207 #[inline(always)]
13208 pub fn pidr(
13209 self,
13210 ) -> crate::common::RegisterField<
13211 1,
13212 0x1,
13213 1,
13214 0,
13215 p30pfs_by::Pidr,
13216 p30pfs_by::Pidr,
13217 P30PfsBy_SPEC,
13218 crate::common::R,
13219 > {
13220 crate::common::RegisterField::<
13221 1,
13222 0x1,
13223 1,
13224 0,
13225 p30pfs_by::Pidr,
13226 p30pfs_by::Pidr,
13227 P30PfsBy_SPEC,
13228 crate::common::R,
13229 >::from_register(self, 0)
13230 }
13231
13232 #[doc = "Port Direction"]
13233 #[inline(always)]
13234 pub fn pdr(
13235 self,
13236 ) -> crate::common::RegisterField<
13237 2,
13238 0x1,
13239 1,
13240 0,
13241 p30pfs_by::Pdr,
13242 p30pfs_by::Pdr,
13243 P30PfsBy_SPEC,
13244 crate::common::RW,
13245 > {
13246 crate::common::RegisterField::<
13247 2,
13248 0x1,
13249 1,
13250 0,
13251 p30pfs_by::Pdr,
13252 p30pfs_by::Pdr,
13253 P30PfsBy_SPEC,
13254 crate::common::RW,
13255 >::from_register(self, 0)
13256 }
13257
13258 #[doc = "Pull-up Control"]
13259 #[inline(always)]
13260 pub fn pcr(
13261 self,
13262 ) -> crate::common::RegisterField<
13263 4,
13264 0x1,
13265 1,
13266 0,
13267 p30pfs_by::Pcr,
13268 p30pfs_by::Pcr,
13269 P30PfsBy_SPEC,
13270 crate::common::RW,
13271 > {
13272 crate::common::RegisterField::<
13273 4,
13274 0x1,
13275 1,
13276 0,
13277 p30pfs_by::Pcr,
13278 p30pfs_by::Pcr,
13279 P30PfsBy_SPEC,
13280 crate::common::RW,
13281 >::from_register(self, 0)
13282 }
13283
13284 #[doc = "N-Channel Open-Drain Control"]
13285 #[inline(always)]
13286 pub fn ncodr(
13287 self,
13288 ) -> crate::common::RegisterField<
13289 6,
13290 0x1,
13291 1,
13292 0,
13293 p30pfs_by::Ncodr,
13294 p30pfs_by::Ncodr,
13295 P30PfsBy_SPEC,
13296 crate::common::RW,
13297 > {
13298 crate::common::RegisterField::<
13299 6,
13300 0x1,
13301 1,
13302 0,
13303 p30pfs_by::Ncodr,
13304 p30pfs_by::Ncodr,
13305 P30PfsBy_SPEC,
13306 crate::common::RW,
13307 >::from_register(self, 0)
13308 }
13309}
13310impl ::core::default::Default for P30PfsBy {
13311 #[inline(always)]
13312 fn default() -> P30PfsBy {
13313 <crate::RegValueT<P30PfsBy_SPEC> as RegisterValue<_>>::new(0)
13314 }
13315}
13316pub mod p30pfs_by {
13317
13318 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13319 pub struct Podr_SPEC;
13320 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13321 impl Podr {
13322 #[doc = "Output low"]
13323 pub const _0: Self = Self::new(0);
13324
13325 #[doc = "Output high"]
13326 pub const _1: Self = Self::new(1);
13327 }
13328 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13329 pub struct Pidr_SPEC;
13330 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13331 impl Pidr {
13332 #[doc = "Low level"]
13333 pub const _0: Self = Self::new(0);
13334
13335 #[doc = "High level"]
13336 pub const _1: Self = Self::new(1);
13337 }
13338 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13339 pub struct Pdr_SPEC;
13340 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13341 impl Pdr {
13342 #[doc = "Input (functions as an input pin)"]
13343 pub const _0: Self = Self::new(0);
13344
13345 #[doc = "Output (functions as an output pin)"]
13346 pub const _1: Self = Self::new(1);
13347 }
13348 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13349 pub struct Pcr_SPEC;
13350 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13351 impl Pcr {
13352 #[doc = "Disable input pull-up"]
13353 pub const _0: Self = Self::new(0);
13354
13355 #[doc = "Enable input pull-up"]
13356 pub const _1: Self = Self::new(1);
13357 }
13358 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13359 pub struct Ncodr_SPEC;
13360 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13361 impl Ncodr {
13362 #[doc = "Output CMOS"]
13363 pub const _0: Self = Self::new(0);
13364
13365 #[doc = "Output NMOS open-drain"]
13366 pub const _1: Self = Self::new(1);
13367 }
13368}
13369#[doc(hidden)]
13370#[derive(Copy, Clone, Eq, PartialEq)]
13371pub struct P40Pfs_SPEC;
13372impl crate::sealed::RegSpec for P40Pfs_SPEC {
13373 type DataType = u32;
13374}
13375
13376#[doc = "Port 40%s Pin Function Select Register"]
13377pub type P40Pfs = crate::RegValueT<P40Pfs_SPEC>;
13378
13379impl P40Pfs {
13380 #[doc = "Port Output Data"]
13381 #[inline(always)]
13382 pub fn podr(
13383 self,
13384 ) -> crate::common::RegisterField<
13385 0,
13386 0x1,
13387 1,
13388 0,
13389 p40pfs::Podr,
13390 p40pfs::Podr,
13391 P40Pfs_SPEC,
13392 crate::common::RW,
13393 > {
13394 crate::common::RegisterField::<
13395 0,
13396 0x1,
13397 1,
13398 0,
13399 p40pfs::Podr,
13400 p40pfs::Podr,
13401 P40Pfs_SPEC,
13402 crate::common::RW,
13403 >::from_register(self, 0)
13404 }
13405
13406 #[doc = "Port State"]
13407 #[inline(always)]
13408 pub fn pidr(
13409 self,
13410 ) -> crate::common::RegisterField<
13411 1,
13412 0x1,
13413 1,
13414 0,
13415 p40pfs::Pidr,
13416 p40pfs::Pidr,
13417 P40Pfs_SPEC,
13418 crate::common::R,
13419 > {
13420 crate::common::RegisterField::<
13421 1,
13422 0x1,
13423 1,
13424 0,
13425 p40pfs::Pidr,
13426 p40pfs::Pidr,
13427 P40Pfs_SPEC,
13428 crate::common::R,
13429 >::from_register(self, 0)
13430 }
13431
13432 #[doc = "Port Direction"]
13433 #[inline(always)]
13434 pub fn pdr(
13435 self,
13436 ) -> crate::common::RegisterField<
13437 2,
13438 0x1,
13439 1,
13440 0,
13441 p40pfs::Pdr,
13442 p40pfs::Pdr,
13443 P40Pfs_SPEC,
13444 crate::common::RW,
13445 > {
13446 crate::common::RegisterField::<
13447 2,
13448 0x1,
13449 1,
13450 0,
13451 p40pfs::Pdr,
13452 p40pfs::Pdr,
13453 P40Pfs_SPEC,
13454 crate::common::RW,
13455 >::from_register(self, 0)
13456 }
13457
13458 #[doc = "Pull-up Control"]
13459 #[inline(always)]
13460 pub fn pcr(
13461 self,
13462 ) -> crate::common::RegisterField<
13463 4,
13464 0x1,
13465 1,
13466 0,
13467 p40pfs::Pcr,
13468 p40pfs::Pcr,
13469 P40Pfs_SPEC,
13470 crate::common::RW,
13471 > {
13472 crate::common::RegisterField::<
13473 4,
13474 0x1,
13475 1,
13476 0,
13477 p40pfs::Pcr,
13478 p40pfs::Pcr,
13479 P40Pfs_SPEC,
13480 crate::common::RW,
13481 >::from_register(self, 0)
13482 }
13483
13484 #[doc = "N-Channel Open-Drain Control"]
13485 #[inline(always)]
13486 pub fn ncodr(
13487 self,
13488 ) -> crate::common::RegisterField<
13489 6,
13490 0x1,
13491 1,
13492 0,
13493 p40pfs::Ncodr,
13494 p40pfs::Ncodr,
13495 P40Pfs_SPEC,
13496 crate::common::RW,
13497 > {
13498 crate::common::RegisterField::<
13499 6,
13500 0x1,
13501 1,
13502 0,
13503 p40pfs::Ncodr,
13504 p40pfs::Ncodr,
13505 P40Pfs_SPEC,
13506 crate::common::RW,
13507 >::from_register(self, 0)
13508 }
13509
13510 #[doc = "Port Drive Capability"]
13511 #[inline(always)]
13512 pub fn dscr(
13513 self,
13514 ) -> crate::common::RegisterField<
13515 10,
13516 0x3,
13517 1,
13518 0,
13519 p40pfs::Dscr,
13520 p40pfs::Dscr,
13521 P40Pfs_SPEC,
13522 crate::common::RW,
13523 > {
13524 crate::common::RegisterField::<
13525 10,
13526 0x3,
13527 1,
13528 0,
13529 p40pfs::Dscr,
13530 p40pfs::Dscr,
13531 P40Pfs_SPEC,
13532 crate::common::RW,
13533 >::from_register(self, 0)
13534 }
13535
13536 #[doc = "Event on Falling/Event on Rising"]
13537 #[inline(always)]
13538 pub fn eofr(
13539 self,
13540 ) -> crate::common::RegisterField<
13541 12,
13542 0x3,
13543 1,
13544 0,
13545 p40pfs::Eofr,
13546 p40pfs::Eofr,
13547 P40Pfs_SPEC,
13548 crate::common::RW,
13549 > {
13550 crate::common::RegisterField::<
13551 12,
13552 0x3,
13553 1,
13554 0,
13555 p40pfs::Eofr,
13556 p40pfs::Eofr,
13557 P40Pfs_SPEC,
13558 crate::common::RW,
13559 >::from_register(self, 0)
13560 }
13561
13562 #[doc = "IRQ Input Enable"]
13563 #[inline(always)]
13564 pub fn isel(
13565 self,
13566 ) -> crate::common::RegisterField<
13567 14,
13568 0x1,
13569 1,
13570 0,
13571 p40pfs::Isel,
13572 p40pfs::Isel,
13573 P40Pfs_SPEC,
13574 crate::common::RW,
13575 > {
13576 crate::common::RegisterField::<
13577 14,
13578 0x1,
13579 1,
13580 0,
13581 p40pfs::Isel,
13582 p40pfs::Isel,
13583 P40Pfs_SPEC,
13584 crate::common::RW,
13585 >::from_register(self, 0)
13586 }
13587
13588 #[doc = "Analog Input Enable"]
13589 #[inline(always)]
13590 pub fn asel(
13591 self,
13592 ) -> crate::common::RegisterField<
13593 15,
13594 0x1,
13595 1,
13596 0,
13597 p40pfs::Asel,
13598 p40pfs::Asel,
13599 P40Pfs_SPEC,
13600 crate::common::RW,
13601 > {
13602 crate::common::RegisterField::<
13603 15,
13604 0x1,
13605 1,
13606 0,
13607 p40pfs::Asel,
13608 p40pfs::Asel,
13609 P40Pfs_SPEC,
13610 crate::common::RW,
13611 >::from_register(self, 0)
13612 }
13613
13614 #[doc = "Port Mode Control"]
13615 #[inline(always)]
13616 pub fn pmr(
13617 self,
13618 ) -> crate::common::RegisterField<
13619 16,
13620 0x1,
13621 1,
13622 0,
13623 p40pfs::Pmr,
13624 p40pfs::Pmr,
13625 P40Pfs_SPEC,
13626 crate::common::RW,
13627 > {
13628 crate::common::RegisterField::<
13629 16,
13630 0x1,
13631 1,
13632 0,
13633 p40pfs::Pmr,
13634 p40pfs::Pmr,
13635 P40Pfs_SPEC,
13636 crate::common::RW,
13637 >::from_register(self, 0)
13638 }
13639
13640 #[doc = "Peripheral Select"]
13641 #[inline(always)]
13642 pub fn psel(
13643 self,
13644 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P40Pfs_SPEC, crate::common::RW> {
13645 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P40Pfs_SPEC,crate::common::RW>::from_register(self,0)
13646 }
13647}
13648impl ::core::default::Default for P40Pfs {
13649 #[inline(always)]
13650 fn default() -> P40Pfs {
13651 <crate::RegValueT<P40Pfs_SPEC> as RegisterValue<_>>::new(0)
13652 }
13653}
13654pub mod p40pfs {
13655
13656 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13657 pub struct Podr_SPEC;
13658 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13659 impl Podr {
13660 #[doc = "Output low"]
13661 pub const _0: Self = Self::new(0);
13662
13663 #[doc = "Output high"]
13664 pub const _1: Self = Self::new(1);
13665 }
13666 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13667 pub struct Pidr_SPEC;
13668 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13669 impl Pidr {
13670 #[doc = "Low level"]
13671 pub const _0: Self = Self::new(0);
13672
13673 #[doc = "High level"]
13674 pub const _1: Self = Self::new(1);
13675 }
13676 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13677 pub struct Pdr_SPEC;
13678 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13679 impl Pdr {
13680 #[doc = "Input (functions as an input pin)"]
13681 pub const _0: Self = Self::new(0);
13682
13683 #[doc = "Output (functions as an output pin)"]
13684 pub const _1: Self = Self::new(1);
13685 }
13686 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13687 pub struct Pcr_SPEC;
13688 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13689 impl Pcr {
13690 #[doc = "Disable input pull-up"]
13691 pub const _0: Self = Self::new(0);
13692
13693 #[doc = "Enable input pull-up"]
13694 pub const _1: Self = Self::new(1);
13695 }
13696 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13697 pub struct Ncodr_SPEC;
13698 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13699 impl Ncodr {
13700 #[doc = "Output CMOS"]
13701 pub const _0: Self = Self::new(0);
13702
13703 #[doc = "Output NMOS open-drain"]
13704 pub const _1: Self = Self::new(1);
13705 }
13706 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13707 pub struct Dscr_SPEC;
13708 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
13709 impl Dscr {
13710 #[doc = "Low drive"]
13711 pub const _00: Self = Self::new(0);
13712
13713 #[doc = "Middle drive"]
13714 pub const _01: Self = Self::new(1);
13715
13716 #[doc = "Setting prohibited"]
13717 pub const _10: Self = Self::new(2);
13718
13719 #[doc = "High drive"]
13720 pub const _11: Self = Self::new(3);
13721 }
13722 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13723 pub struct Eofr_SPEC;
13724 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
13725 impl Eofr {
13726 #[doc = "Don\'t care"]
13727 pub const _00: Self = Self::new(0);
13728
13729 #[doc = "Detect rising edge"]
13730 pub const _01: Self = Self::new(1);
13731
13732 #[doc = "Detect falling edge"]
13733 pub const _10: Self = Self::new(2);
13734
13735 #[doc = "Detect both edges"]
13736 pub const _11: Self = Self::new(3);
13737 }
13738 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13739 pub struct Isel_SPEC;
13740 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13741 impl Isel {
13742 #[doc = "Do not use as IRQn input pin"]
13743 pub const _0: Self = Self::new(0);
13744
13745 #[doc = "Use as IRQn input pin"]
13746 pub const _1: Self = Self::new(1);
13747 }
13748 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13749 pub struct Asel_SPEC;
13750 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13751 impl Asel {
13752 #[doc = "Do not use as analog pin"]
13753 pub const _0: Self = Self::new(0);
13754
13755 #[doc = "Use as analog pin"]
13756 pub const _1: Self = Self::new(1);
13757 }
13758 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13759 pub struct Pmr_SPEC;
13760 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
13761 impl Pmr {
13762 #[doc = "Use as general I/O pin"]
13763 pub const _0: Self = Self::new(0);
13764
13765 #[doc = "Use as I/O port for peripheral functions"]
13766 pub const _1: Self = Self::new(1);
13767 }
13768}
13769#[doc(hidden)]
13770#[derive(Copy, Clone, Eq, PartialEq)]
13771pub struct P40PfsHa_SPEC;
13772impl crate::sealed::RegSpec for P40PfsHa_SPEC {
13773 type DataType = u16;
13774}
13775
13776#[doc = "Port 40%s Pin Function Select Register"]
13777pub type P40PfsHa = crate::RegValueT<P40PfsHa_SPEC>;
13778
13779impl P40PfsHa {
13780 #[doc = "Port Output Data"]
13781 #[inline(always)]
13782 pub fn podr(
13783 self,
13784 ) -> crate::common::RegisterField<
13785 0,
13786 0x1,
13787 1,
13788 0,
13789 p40pfs_ha::Podr,
13790 p40pfs_ha::Podr,
13791 P40PfsHa_SPEC,
13792 crate::common::RW,
13793 > {
13794 crate::common::RegisterField::<
13795 0,
13796 0x1,
13797 1,
13798 0,
13799 p40pfs_ha::Podr,
13800 p40pfs_ha::Podr,
13801 P40PfsHa_SPEC,
13802 crate::common::RW,
13803 >::from_register(self, 0)
13804 }
13805
13806 #[doc = "Port State"]
13807 #[inline(always)]
13808 pub fn pidr(
13809 self,
13810 ) -> crate::common::RegisterField<
13811 1,
13812 0x1,
13813 1,
13814 0,
13815 p40pfs_ha::Pidr,
13816 p40pfs_ha::Pidr,
13817 P40PfsHa_SPEC,
13818 crate::common::R,
13819 > {
13820 crate::common::RegisterField::<
13821 1,
13822 0x1,
13823 1,
13824 0,
13825 p40pfs_ha::Pidr,
13826 p40pfs_ha::Pidr,
13827 P40PfsHa_SPEC,
13828 crate::common::R,
13829 >::from_register(self, 0)
13830 }
13831
13832 #[doc = "Port Direction"]
13833 #[inline(always)]
13834 pub fn pdr(
13835 self,
13836 ) -> crate::common::RegisterField<
13837 2,
13838 0x1,
13839 1,
13840 0,
13841 p40pfs_ha::Pdr,
13842 p40pfs_ha::Pdr,
13843 P40PfsHa_SPEC,
13844 crate::common::RW,
13845 > {
13846 crate::common::RegisterField::<
13847 2,
13848 0x1,
13849 1,
13850 0,
13851 p40pfs_ha::Pdr,
13852 p40pfs_ha::Pdr,
13853 P40PfsHa_SPEC,
13854 crate::common::RW,
13855 >::from_register(self, 0)
13856 }
13857
13858 #[doc = "Pull-up Control"]
13859 #[inline(always)]
13860 pub fn pcr(
13861 self,
13862 ) -> crate::common::RegisterField<
13863 4,
13864 0x1,
13865 1,
13866 0,
13867 p40pfs_ha::Pcr,
13868 p40pfs_ha::Pcr,
13869 P40PfsHa_SPEC,
13870 crate::common::RW,
13871 > {
13872 crate::common::RegisterField::<
13873 4,
13874 0x1,
13875 1,
13876 0,
13877 p40pfs_ha::Pcr,
13878 p40pfs_ha::Pcr,
13879 P40PfsHa_SPEC,
13880 crate::common::RW,
13881 >::from_register(self, 0)
13882 }
13883
13884 #[doc = "N-Channel Open-Drain Control"]
13885 #[inline(always)]
13886 pub fn ncodr(
13887 self,
13888 ) -> crate::common::RegisterField<
13889 6,
13890 0x1,
13891 1,
13892 0,
13893 p40pfs_ha::Ncodr,
13894 p40pfs_ha::Ncodr,
13895 P40PfsHa_SPEC,
13896 crate::common::RW,
13897 > {
13898 crate::common::RegisterField::<
13899 6,
13900 0x1,
13901 1,
13902 0,
13903 p40pfs_ha::Ncodr,
13904 p40pfs_ha::Ncodr,
13905 P40PfsHa_SPEC,
13906 crate::common::RW,
13907 >::from_register(self, 0)
13908 }
13909
13910 #[doc = "Port Drive Capability"]
13911 #[inline(always)]
13912 pub fn dscr(
13913 self,
13914 ) -> crate::common::RegisterField<
13915 10,
13916 0x3,
13917 1,
13918 0,
13919 p40pfs_ha::Dscr,
13920 p40pfs_ha::Dscr,
13921 P40PfsHa_SPEC,
13922 crate::common::RW,
13923 > {
13924 crate::common::RegisterField::<
13925 10,
13926 0x3,
13927 1,
13928 0,
13929 p40pfs_ha::Dscr,
13930 p40pfs_ha::Dscr,
13931 P40PfsHa_SPEC,
13932 crate::common::RW,
13933 >::from_register(self, 0)
13934 }
13935
13936 #[doc = "Event on Falling/Event on Rising"]
13937 #[inline(always)]
13938 pub fn eofr(
13939 self,
13940 ) -> crate::common::RegisterField<
13941 12,
13942 0x3,
13943 1,
13944 0,
13945 p40pfs_ha::Eofr,
13946 p40pfs_ha::Eofr,
13947 P40PfsHa_SPEC,
13948 crate::common::RW,
13949 > {
13950 crate::common::RegisterField::<
13951 12,
13952 0x3,
13953 1,
13954 0,
13955 p40pfs_ha::Eofr,
13956 p40pfs_ha::Eofr,
13957 P40PfsHa_SPEC,
13958 crate::common::RW,
13959 >::from_register(self, 0)
13960 }
13961
13962 #[doc = "IRQ Input Enable"]
13963 #[inline(always)]
13964 pub fn isel(
13965 self,
13966 ) -> crate::common::RegisterField<
13967 14,
13968 0x1,
13969 1,
13970 0,
13971 p40pfs_ha::Isel,
13972 p40pfs_ha::Isel,
13973 P40PfsHa_SPEC,
13974 crate::common::RW,
13975 > {
13976 crate::common::RegisterField::<
13977 14,
13978 0x1,
13979 1,
13980 0,
13981 p40pfs_ha::Isel,
13982 p40pfs_ha::Isel,
13983 P40PfsHa_SPEC,
13984 crate::common::RW,
13985 >::from_register(self, 0)
13986 }
13987
13988 #[doc = "Analog Input Enable"]
13989 #[inline(always)]
13990 pub fn asel(
13991 self,
13992 ) -> crate::common::RegisterField<
13993 15,
13994 0x1,
13995 1,
13996 0,
13997 p40pfs_ha::Asel,
13998 p40pfs_ha::Asel,
13999 P40PfsHa_SPEC,
14000 crate::common::RW,
14001 > {
14002 crate::common::RegisterField::<
14003 15,
14004 0x1,
14005 1,
14006 0,
14007 p40pfs_ha::Asel,
14008 p40pfs_ha::Asel,
14009 P40PfsHa_SPEC,
14010 crate::common::RW,
14011 >::from_register(self, 0)
14012 }
14013}
14014impl ::core::default::Default for P40PfsHa {
14015 #[inline(always)]
14016 fn default() -> P40PfsHa {
14017 <crate::RegValueT<P40PfsHa_SPEC> as RegisterValue<_>>::new(0)
14018 }
14019}
14020pub mod p40pfs_ha {
14021
14022 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14023 pub struct Podr_SPEC;
14024 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14025 impl Podr {
14026 #[doc = "Output low"]
14027 pub const _0: Self = Self::new(0);
14028
14029 #[doc = "Output high"]
14030 pub const _1: Self = Self::new(1);
14031 }
14032 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14033 pub struct Pidr_SPEC;
14034 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14035 impl Pidr {
14036 #[doc = "Low level"]
14037 pub const _0: Self = Self::new(0);
14038
14039 #[doc = "High level"]
14040 pub const _1: Self = Self::new(1);
14041 }
14042 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14043 pub struct Pdr_SPEC;
14044 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14045 impl Pdr {
14046 #[doc = "Input (functions as an input pin)"]
14047 pub const _0: Self = Self::new(0);
14048
14049 #[doc = "Output (functions as an output pin)"]
14050 pub const _1: Self = Self::new(1);
14051 }
14052 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14053 pub struct Pcr_SPEC;
14054 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14055 impl Pcr {
14056 #[doc = "Disable input pull-up"]
14057 pub const _0: Self = Self::new(0);
14058
14059 #[doc = "Enable input pull-up"]
14060 pub const _1: Self = Self::new(1);
14061 }
14062 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14063 pub struct Ncodr_SPEC;
14064 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14065 impl Ncodr {
14066 #[doc = "Output CMOS"]
14067 pub const _0: Self = Self::new(0);
14068
14069 #[doc = "Output NMOS open-drain"]
14070 pub const _1: Self = Self::new(1);
14071 }
14072 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14073 pub struct Dscr_SPEC;
14074 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
14075 impl Dscr {
14076 #[doc = "Low drive"]
14077 pub const _00: Self = Self::new(0);
14078
14079 #[doc = "Middle drive"]
14080 pub const _01: Self = Self::new(1);
14081
14082 #[doc = "Setting prohibited"]
14083 pub const _10: Self = Self::new(2);
14084
14085 #[doc = "High drive"]
14086 pub const _11: Self = Self::new(3);
14087 }
14088 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14089 pub struct Eofr_SPEC;
14090 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
14091 impl Eofr {
14092 #[doc = "Don\'t care"]
14093 pub const _00: Self = Self::new(0);
14094
14095 #[doc = "Detect rising edge"]
14096 pub const _01: Self = Self::new(1);
14097
14098 #[doc = "Detect falling edge"]
14099 pub const _10: Self = Self::new(2);
14100
14101 #[doc = "Detect both edges"]
14102 pub const _11: Self = Self::new(3);
14103 }
14104 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14105 pub struct Isel_SPEC;
14106 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14107 impl Isel {
14108 #[doc = "Do not use as IRQn input pin"]
14109 pub const _0: Self = Self::new(0);
14110
14111 #[doc = "Use as IRQn input pin"]
14112 pub const _1: Self = Self::new(1);
14113 }
14114 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14115 pub struct Asel_SPEC;
14116 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14117 impl Asel {
14118 #[doc = "Do not use as analog pin"]
14119 pub const _0: Self = Self::new(0);
14120
14121 #[doc = "Use as analog pin"]
14122 pub const _1: Self = Self::new(1);
14123 }
14124}
14125#[doc(hidden)]
14126#[derive(Copy, Clone, Eq, PartialEq)]
14127pub struct P40PfsBy_SPEC;
14128impl crate::sealed::RegSpec for P40PfsBy_SPEC {
14129 type DataType = u8;
14130}
14131
14132#[doc = "Port 40%s Pin Function Select Register"]
14133pub type P40PfsBy = crate::RegValueT<P40PfsBy_SPEC>;
14134
14135impl P40PfsBy {
14136 #[doc = "Port Output Data"]
14137 #[inline(always)]
14138 pub fn podr(
14139 self,
14140 ) -> crate::common::RegisterField<
14141 0,
14142 0x1,
14143 1,
14144 0,
14145 p40pfs_by::Podr,
14146 p40pfs_by::Podr,
14147 P40PfsBy_SPEC,
14148 crate::common::RW,
14149 > {
14150 crate::common::RegisterField::<
14151 0,
14152 0x1,
14153 1,
14154 0,
14155 p40pfs_by::Podr,
14156 p40pfs_by::Podr,
14157 P40PfsBy_SPEC,
14158 crate::common::RW,
14159 >::from_register(self, 0)
14160 }
14161
14162 #[doc = "Port State"]
14163 #[inline(always)]
14164 pub fn pidr(
14165 self,
14166 ) -> crate::common::RegisterField<
14167 1,
14168 0x1,
14169 1,
14170 0,
14171 p40pfs_by::Pidr,
14172 p40pfs_by::Pidr,
14173 P40PfsBy_SPEC,
14174 crate::common::R,
14175 > {
14176 crate::common::RegisterField::<
14177 1,
14178 0x1,
14179 1,
14180 0,
14181 p40pfs_by::Pidr,
14182 p40pfs_by::Pidr,
14183 P40PfsBy_SPEC,
14184 crate::common::R,
14185 >::from_register(self, 0)
14186 }
14187
14188 #[doc = "Port Direction"]
14189 #[inline(always)]
14190 pub fn pdr(
14191 self,
14192 ) -> crate::common::RegisterField<
14193 2,
14194 0x1,
14195 1,
14196 0,
14197 p40pfs_by::Pdr,
14198 p40pfs_by::Pdr,
14199 P40PfsBy_SPEC,
14200 crate::common::RW,
14201 > {
14202 crate::common::RegisterField::<
14203 2,
14204 0x1,
14205 1,
14206 0,
14207 p40pfs_by::Pdr,
14208 p40pfs_by::Pdr,
14209 P40PfsBy_SPEC,
14210 crate::common::RW,
14211 >::from_register(self, 0)
14212 }
14213
14214 #[doc = "Pull-up Control"]
14215 #[inline(always)]
14216 pub fn pcr(
14217 self,
14218 ) -> crate::common::RegisterField<
14219 4,
14220 0x1,
14221 1,
14222 0,
14223 p40pfs_by::Pcr,
14224 p40pfs_by::Pcr,
14225 P40PfsBy_SPEC,
14226 crate::common::RW,
14227 > {
14228 crate::common::RegisterField::<
14229 4,
14230 0x1,
14231 1,
14232 0,
14233 p40pfs_by::Pcr,
14234 p40pfs_by::Pcr,
14235 P40PfsBy_SPEC,
14236 crate::common::RW,
14237 >::from_register(self, 0)
14238 }
14239
14240 #[doc = "N-Channel Open-Drain Control"]
14241 #[inline(always)]
14242 pub fn ncodr(
14243 self,
14244 ) -> crate::common::RegisterField<
14245 6,
14246 0x1,
14247 1,
14248 0,
14249 p40pfs_by::Ncodr,
14250 p40pfs_by::Ncodr,
14251 P40PfsBy_SPEC,
14252 crate::common::RW,
14253 > {
14254 crate::common::RegisterField::<
14255 6,
14256 0x1,
14257 1,
14258 0,
14259 p40pfs_by::Ncodr,
14260 p40pfs_by::Ncodr,
14261 P40PfsBy_SPEC,
14262 crate::common::RW,
14263 >::from_register(self, 0)
14264 }
14265}
14266impl ::core::default::Default for P40PfsBy {
14267 #[inline(always)]
14268 fn default() -> P40PfsBy {
14269 <crate::RegValueT<P40PfsBy_SPEC> as RegisterValue<_>>::new(0)
14270 }
14271}
14272pub mod p40pfs_by {
14273
14274 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14275 pub struct Podr_SPEC;
14276 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14277 impl Podr {
14278 #[doc = "Output low"]
14279 pub const _0: Self = Self::new(0);
14280
14281 #[doc = "Output high"]
14282 pub const _1: Self = Self::new(1);
14283 }
14284 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14285 pub struct Pidr_SPEC;
14286 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14287 impl Pidr {
14288 #[doc = "Low level"]
14289 pub const _0: Self = Self::new(0);
14290
14291 #[doc = "High level"]
14292 pub const _1: Self = Self::new(1);
14293 }
14294 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14295 pub struct Pdr_SPEC;
14296 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14297 impl Pdr {
14298 #[doc = "Input (functions as an input pin)"]
14299 pub const _0: Self = Self::new(0);
14300
14301 #[doc = "Output (functions as an output pin)"]
14302 pub const _1: Self = Self::new(1);
14303 }
14304 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14305 pub struct Pcr_SPEC;
14306 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14307 impl Pcr {
14308 #[doc = "Disable input pull-up"]
14309 pub const _0: Self = Self::new(0);
14310
14311 #[doc = "Enable input pull-up"]
14312 pub const _1: Self = Self::new(1);
14313 }
14314 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14315 pub struct Ncodr_SPEC;
14316 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14317 impl Ncodr {
14318 #[doc = "Output CMOS"]
14319 pub const _0: Self = Self::new(0);
14320
14321 #[doc = "Output NMOS open-drain"]
14322 pub const _1: Self = Self::new(1);
14323 }
14324}
14325#[doc(hidden)]
14326#[derive(Copy, Clone, Eq, PartialEq)]
14327pub struct P4Pfs_SPEC;
14328impl crate::sealed::RegSpec for P4Pfs_SPEC {
14329 type DataType = u32;
14330}
14331
14332#[doc = "Port 4%s Pin Function Select Register"]
14333pub type P4Pfs = crate::RegValueT<P4Pfs_SPEC>;
14334
14335impl P4Pfs {
14336 #[doc = "Port Output Data"]
14337 #[inline(always)]
14338 pub fn podr(
14339 self,
14340 ) -> crate::common::RegisterField<
14341 0,
14342 0x1,
14343 1,
14344 0,
14345 p4pfs::Podr,
14346 p4pfs::Podr,
14347 P4Pfs_SPEC,
14348 crate::common::RW,
14349 > {
14350 crate::common::RegisterField::<
14351 0,
14352 0x1,
14353 1,
14354 0,
14355 p4pfs::Podr,
14356 p4pfs::Podr,
14357 P4Pfs_SPEC,
14358 crate::common::RW,
14359 >::from_register(self, 0)
14360 }
14361
14362 #[doc = "Port State"]
14363 #[inline(always)]
14364 pub fn pidr(
14365 self,
14366 ) -> crate::common::RegisterField<
14367 1,
14368 0x1,
14369 1,
14370 0,
14371 p4pfs::Pidr,
14372 p4pfs::Pidr,
14373 P4Pfs_SPEC,
14374 crate::common::R,
14375 > {
14376 crate::common::RegisterField::<
14377 1,
14378 0x1,
14379 1,
14380 0,
14381 p4pfs::Pidr,
14382 p4pfs::Pidr,
14383 P4Pfs_SPEC,
14384 crate::common::R,
14385 >::from_register(self, 0)
14386 }
14387
14388 #[doc = "Port Direction"]
14389 #[inline(always)]
14390 pub fn pdr(
14391 self,
14392 ) -> crate::common::RegisterField<
14393 2,
14394 0x1,
14395 1,
14396 0,
14397 p4pfs::Pdr,
14398 p4pfs::Pdr,
14399 P4Pfs_SPEC,
14400 crate::common::RW,
14401 > {
14402 crate::common::RegisterField::<
14403 2,
14404 0x1,
14405 1,
14406 0,
14407 p4pfs::Pdr,
14408 p4pfs::Pdr,
14409 P4Pfs_SPEC,
14410 crate::common::RW,
14411 >::from_register(self, 0)
14412 }
14413
14414 #[doc = "Pull-up Control"]
14415 #[inline(always)]
14416 pub fn pcr(
14417 self,
14418 ) -> crate::common::RegisterField<
14419 4,
14420 0x1,
14421 1,
14422 0,
14423 p4pfs::Pcr,
14424 p4pfs::Pcr,
14425 P4Pfs_SPEC,
14426 crate::common::RW,
14427 > {
14428 crate::common::RegisterField::<
14429 4,
14430 0x1,
14431 1,
14432 0,
14433 p4pfs::Pcr,
14434 p4pfs::Pcr,
14435 P4Pfs_SPEC,
14436 crate::common::RW,
14437 >::from_register(self, 0)
14438 }
14439
14440 #[doc = "N-Channel Open-Drain Control"]
14441 #[inline(always)]
14442 pub fn ncodr(
14443 self,
14444 ) -> crate::common::RegisterField<
14445 6,
14446 0x1,
14447 1,
14448 0,
14449 p4pfs::Ncodr,
14450 p4pfs::Ncodr,
14451 P4Pfs_SPEC,
14452 crate::common::RW,
14453 > {
14454 crate::common::RegisterField::<
14455 6,
14456 0x1,
14457 1,
14458 0,
14459 p4pfs::Ncodr,
14460 p4pfs::Ncodr,
14461 P4Pfs_SPEC,
14462 crate::common::RW,
14463 >::from_register(self, 0)
14464 }
14465
14466 #[doc = "Port Drive Capability"]
14467 #[inline(always)]
14468 pub fn dscr(
14469 self,
14470 ) -> crate::common::RegisterField<
14471 10,
14472 0x3,
14473 1,
14474 0,
14475 p4pfs::Dscr,
14476 p4pfs::Dscr,
14477 P4Pfs_SPEC,
14478 crate::common::RW,
14479 > {
14480 crate::common::RegisterField::<
14481 10,
14482 0x3,
14483 1,
14484 0,
14485 p4pfs::Dscr,
14486 p4pfs::Dscr,
14487 P4Pfs_SPEC,
14488 crate::common::RW,
14489 >::from_register(self, 0)
14490 }
14491
14492 #[doc = "Event on Falling/Event on Rising"]
14493 #[inline(always)]
14494 pub fn eofr(
14495 self,
14496 ) -> crate::common::RegisterField<
14497 12,
14498 0x3,
14499 1,
14500 0,
14501 p4pfs::Eofr,
14502 p4pfs::Eofr,
14503 P4Pfs_SPEC,
14504 crate::common::RW,
14505 > {
14506 crate::common::RegisterField::<
14507 12,
14508 0x3,
14509 1,
14510 0,
14511 p4pfs::Eofr,
14512 p4pfs::Eofr,
14513 P4Pfs_SPEC,
14514 crate::common::RW,
14515 >::from_register(self, 0)
14516 }
14517
14518 #[doc = "IRQ Input Enable"]
14519 #[inline(always)]
14520 pub fn isel(
14521 self,
14522 ) -> crate::common::RegisterField<
14523 14,
14524 0x1,
14525 1,
14526 0,
14527 p4pfs::Isel,
14528 p4pfs::Isel,
14529 P4Pfs_SPEC,
14530 crate::common::RW,
14531 > {
14532 crate::common::RegisterField::<
14533 14,
14534 0x1,
14535 1,
14536 0,
14537 p4pfs::Isel,
14538 p4pfs::Isel,
14539 P4Pfs_SPEC,
14540 crate::common::RW,
14541 >::from_register(self, 0)
14542 }
14543
14544 #[doc = "Analog Input Enable"]
14545 #[inline(always)]
14546 pub fn asel(
14547 self,
14548 ) -> crate::common::RegisterField<
14549 15,
14550 0x1,
14551 1,
14552 0,
14553 p4pfs::Asel,
14554 p4pfs::Asel,
14555 P4Pfs_SPEC,
14556 crate::common::RW,
14557 > {
14558 crate::common::RegisterField::<
14559 15,
14560 0x1,
14561 1,
14562 0,
14563 p4pfs::Asel,
14564 p4pfs::Asel,
14565 P4Pfs_SPEC,
14566 crate::common::RW,
14567 >::from_register(self, 0)
14568 }
14569
14570 #[doc = "Port Mode Control"]
14571 #[inline(always)]
14572 pub fn pmr(
14573 self,
14574 ) -> crate::common::RegisterField<
14575 16,
14576 0x1,
14577 1,
14578 0,
14579 p4pfs::Pmr,
14580 p4pfs::Pmr,
14581 P4Pfs_SPEC,
14582 crate::common::RW,
14583 > {
14584 crate::common::RegisterField::<
14585 16,
14586 0x1,
14587 1,
14588 0,
14589 p4pfs::Pmr,
14590 p4pfs::Pmr,
14591 P4Pfs_SPEC,
14592 crate::common::RW,
14593 >::from_register(self, 0)
14594 }
14595
14596 #[doc = "Peripheral Select"]
14597 #[inline(always)]
14598 pub fn psel(
14599 self,
14600 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P4Pfs_SPEC, crate::common::RW> {
14601 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P4Pfs_SPEC,crate::common::RW>::from_register(self,0)
14602 }
14603}
14604impl ::core::default::Default for P4Pfs {
14605 #[inline(always)]
14606 fn default() -> P4Pfs {
14607 <crate::RegValueT<P4Pfs_SPEC> as RegisterValue<_>>::new(0)
14608 }
14609}
14610pub mod p4pfs {
14611
14612 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14613 pub struct Podr_SPEC;
14614 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14615 impl Podr {
14616 #[doc = "Output low"]
14617 pub const _0: Self = Self::new(0);
14618
14619 #[doc = "Output high"]
14620 pub const _1: Self = Self::new(1);
14621 }
14622 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14623 pub struct Pidr_SPEC;
14624 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14625 impl Pidr {
14626 #[doc = "Low level"]
14627 pub const _0: Self = Self::new(0);
14628
14629 #[doc = "High level"]
14630 pub const _1: Self = Self::new(1);
14631 }
14632 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14633 pub struct Pdr_SPEC;
14634 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14635 impl Pdr {
14636 #[doc = "Input (functions as an input pin)"]
14637 pub const _0: Self = Self::new(0);
14638
14639 #[doc = "Output (functions as an output pin)"]
14640 pub const _1: Self = Self::new(1);
14641 }
14642 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14643 pub struct Pcr_SPEC;
14644 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14645 impl Pcr {
14646 #[doc = "Disable input pull-up"]
14647 pub const _0: Self = Self::new(0);
14648
14649 #[doc = "Enable input pull-up"]
14650 pub const _1: Self = Self::new(1);
14651 }
14652 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14653 pub struct Ncodr_SPEC;
14654 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14655 impl Ncodr {
14656 #[doc = "Output CMOS"]
14657 pub const _0: Self = Self::new(0);
14658
14659 #[doc = "Output NMOS open-drain"]
14660 pub const _1: Self = Self::new(1);
14661 }
14662 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14663 pub struct Dscr_SPEC;
14664 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
14665 impl Dscr {
14666 #[doc = "Low drive"]
14667 pub const _00: Self = Self::new(0);
14668
14669 #[doc = "Middle drive"]
14670 pub const _01: Self = Self::new(1);
14671
14672 #[doc = "Setting prohibited"]
14673 pub const _10: Self = Self::new(2);
14674
14675 #[doc = "High drive"]
14676 pub const _11: Self = Self::new(3);
14677 }
14678 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14679 pub struct Eofr_SPEC;
14680 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
14681 impl Eofr {
14682 #[doc = "Don\'t care"]
14683 pub const _00: Self = Self::new(0);
14684
14685 #[doc = "Detect rising edge"]
14686 pub const _01: Self = Self::new(1);
14687
14688 #[doc = "Detect falling edge"]
14689 pub const _10: Self = Self::new(2);
14690
14691 #[doc = "Detect both edges"]
14692 pub const _11: Self = Self::new(3);
14693 }
14694 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14695 pub struct Isel_SPEC;
14696 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14697 impl Isel {
14698 #[doc = "Do not use as IRQn input pin"]
14699 pub const _0: Self = Self::new(0);
14700
14701 #[doc = "Use as IRQn input pin"]
14702 pub const _1: Self = Self::new(1);
14703 }
14704 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14705 pub struct Asel_SPEC;
14706 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14707 impl Asel {
14708 #[doc = "Do not use as analog pin"]
14709 pub const _0: Self = Self::new(0);
14710
14711 #[doc = "Use as analog pin"]
14712 pub const _1: Self = Self::new(1);
14713 }
14714 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14715 pub struct Pmr_SPEC;
14716 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
14717 impl Pmr {
14718 #[doc = "Use as general I/O pin"]
14719 pub const _0: Self = Self::new(0);
14720
14721 #[doc = "Use as I/O port for peripheral functions"]
14722 pub const _1: Self = Self::new(1);
14723 }
14724}
14725#[doc(hidden)]
14726#[derive(Copy, Clone, Eq, PartialEq)]
14727pub struct P4PfsHa_SPEC;
14728impl crate::sealed::RegSpec for P4PfsHa_SPEC {
14729 type DataType = u16;
14730}
14731
14732#[doc = "Port 4%s Pin Function Select Register"]
14733pub type P4PfsHa = crate::RegValueT<P4PfsHa_SPEC>;
14734
14735impl P4PfsHa {
14736 #[doc = "Port Output Data"]
14737 #[inline(always)]
14738 pub fn podr(
14739 self,
14740 ) -> crate::common::RegisterField<
14741 0,
14742 0x1,
14743 1,
14744 0,
14745 p4pfs_ha::Podr,
14746 p4pfs_ha::Podr,
14747 P4PfsHa_SPEC,
14748 crate::common::RW,
14749 > {
14750 crate::common::RegisterField::<
14751 0,
14752 0x1,
14753 1,
14754 0,
14755 p4pfs_ha::Podr,
14756 p4pfs_ha::Podr,
14757 P4PfsHa_SPEC,
14758 crate::common::RW,
14759 >::from_register(self, 0)
14760 }
14761
14762 #[doc = "Port State"]
14763 #[inline(always)]
14764 pub fn pidr(
14765 self,
14766 ) -> crate::common::RegisterField<
14767 1,
14768 0x1,
14769 1,
14770 0,
14771 p4pfs_ha::Pidr,
14772 p4pfs_ha::Pidr,
14773 P4PfsHa_SPEC,
14774 crate::common::R,
14775 > {
14776 crate::common::RegisterField::<
14777 1,
14778 0x1,
14779 1,
14780 0,
14781 p4pfs_ha::Pidr,
14782 p4pfs_ha::Pidr,
14783 P4PfsHa_SPEC,
14784 crate::common::R,
14785 >::from_register(self, 0)
14786 }
14787
14788 #[doc = "Port Direction"]
14789 #[inline(always)]
14790 pub fn pdr(
14791 self,
14792 ) -> crate::common::RegisterField<
14793 2,
14794 0x1,
14795 1,
14796 0,
14797 p4pfs_ha::Pdr,
14798 p4pfs_ha::Pdr,
14799 P4PfsHa_SPEC,
14800 crate::common::RW,
14801 > {
14802 crate::common::RegisterField::<
14803 2,
14804 0x1,
14805 1,
14806 0,
14807 p4pfs_ha::Pdr,
14808 p4pfs_ha::Pdr,
14809 P4PfsHa_SPEC,
14810 crate::common::RW,
14811 >::from_register(self, 0)
14812 }
14813
14814 #[doc = "Pull-up Control"]
14815 #[inline(always)]
14816 pub fn pcr(
14817 self,
14818 ) -> crate::common::RegisterField<
14819 4,
14820 0x1,
14821 1,
14822 0,
14823 p4pfs_ha::Pcr,
14824 p4pfs_ha::Pcr,
14825 P4PfsHa_SPEC,
14826 crate::common::RW,
14827 > {
14828 crate::common::RegisterField::<
14829 4,
14830 0x1,
14831 1,
14832 0,
14833 p4pfs_ha::Pcr,
14834 p4pfs_ha::Pcr,
14835 P4PfsHa_SPEC,
14836 crate::common::RW,
14837 >::from_register(self, 0)
14838 }
14839
14840 #[doc = "N-Channel Open-Drain Control"]
14841 #[inline(always)]
14842 pub fn ncodr(
14843 self,
14844 ) -> crate::common::RegisterField<
14845 6,
14846 0x1,
14847 1,
14848 0,
14849 p4pfs_ha::Ncodr,
14850 p4pfs_ha::Ncodr,
14851 P4PfsHa_SPEC,
14852 crate::common::RW,
14853 > {
14854 crate::common::RegisterField::<
14855 6,
14856 0x1,
14857 1,
14858 0,
14859 p4pfs_ha::Ncodr,
14860 p4pfs_ha::Ncodr,
14861 P4PfsHa_SPEC,
14862 crate::common::RW,
14863 >::from_register(self, 0)
14864 }
14865
14866 #[doc = "Port Drive Capability"]
14867 #[inline(always)]
14868 pub fn dscr(
14869 self,
14870 ) -> crate::common::RegisterField<
14871 10,
14872 0x3,
14873 1,
14874 0,
14875 p4pfs_ha::Dscr,
14876 p4pfs_ha::Dscr,
14877 P4PfsHa_SPEC,
14878 crate::common::RW,
14879 > {
14880 crate::common::RegisterField::<
14881 10,
14882 0x3,
14883 1,
14884 0,
14885 p4pfs_ha::Dscr,
14886 p4pfs_ha::Dscr,
14887 P4PfsHa_SPEC,
14888 crate::common::RW,
14889 >::from_register(self, 0)
14890 }
14891
14892 #[doc = "Event on Falling/Event on Rising"]
14893 #[inline(always)]
14894 pub fn eofr(
14895 self,
14896 ) -> crate::common::RegisterField<
14897 12,
14898 0x3,
14899 1,
14900 0,
14901 p4pfs_ha::Eofr,
14902 p4pfs_ha::Eofr,
14903 P4PfsHa_SPEC,
14904 crate::common::RW,
14905 > {
14906 crate::common::RegisterField::<
14907 12,
14908 0x3,
14909 1,
14910 0,
14911 p4pfs_ha::Eofr,
14912 p4pfs_ha::Eofr,
14913 P4PfsHa_SPEC,
14914 crate::common::RW,
14915 >::from_register(self, 0)
14916 }
14917
14918 #[doc = "IRQ Input Enable"]
14919 #[inline(always)]
14920 pub fn isel(
14921 self,
14922 ) -> crate::common::RegisterField<
14923 14,
14924 0x1,
14925 1,
14926 0,
14927 p4pfs_ha::Isel,
14928 p4pfs_ha::Isel,
14929 P4PfsHa_SPEC,
14930 crate::common::RW,
14931 > {
14932 crate::common::RegisterField::<
14933 14,
14934 0x1,
14935 1,
14936 0,
14937 p4pfs_ha::Isel,
14938 p4pfs_ha::Isel,
14939 P4PfsHa_SPEC,
14940 crate::common::RW,
14941 >::from_register(self, 0)
14942 }
14943
14944 #[doc = "Analog Input Enable"]
14945 #[inline(always)]
14946 pub fn asel(
14947 self,
14948 ) -> crate::common::RegisterField<
14949 15,
14950 0x1,
14951 1,
14952 0,
14953 p4pfs_ha::Asel,
14954 p4pfs_ha::Asel,
14955 P4PfsHa_SPEC,
14956 crate::common::RW,
14957 > {
14958 crate::common::RegisterField::<
14959 15,
14960 0x1,
14961 1,
14962 0,
14963 p4pfs_ha::Asel,
14964 p4pfs_ha::Asel,
14965 P4PfsHa_SPEC,
14966 crate::common::RW,
14967 >::from_register(self, 0)
14968 }
14969}
14970impl ::core::default::Default for P4PfsHa {
14971 #[inline(always)]
14972 fn default() -> P4PfsHa {
14973 <crate::RegValueT<P4PfsHa_SPEC> as RegisterValue<_>>::new(0)
14974 }
14975}
14976pub mod p4pfs_ha {
14977
14978 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14979 pub struct Podr_SPEC;
14980 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14981 impl Podr {
14982 #[doc = "Output low"]
14983 pub const _0: Self = Self::new(0);
14984
14985 #[doc = "Output high"]
14986 pub const _1: Self = Self::new(1);
14987 }
14988 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14989 pub struct Pidr_SPEC;
14990 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14991 impl Pidr {
14992 #[doc = "Low level"]
14993 pub const _0: Self = Self::new(0);
14994
14995 #[doc = "High level"]
14996 pub const _1: Self = Self::new(1);
14997 }
14998 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14999 pub struct Pdr_SPEC;
15000 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15001 impl Pdr {
15002 #[doc = "Input (functions as an input pin)"]
15003 pub const _0: Self = Self::new(0);
15004
15005 #[doc = "Output (functions as an output pin)"]
15006 pub const _1: Self = Self::new(1);
15007 }
15008 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15009 pub struct Pcr_SPEC;
15010 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15011 impl Pcr {
15012 #[doc = "Disable input pull-up"]
15013 pub const _0: Self = Self::new(0);
15014
15015 #[doc = "Enable input pull-up"]
15016 pub const _1: Self = Self::new(1);
15017 }
15018 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15019 pub struct Ncodr_SPEC;
15020 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15021 impl Ncodr {
15022 #[doc = "Output CMOS"]
15023 pub const _0: Self = Self::new(0);
15024
15025 #[doc = "Output NMOS open-drain"]
15026 pub const _1: Self = Self::new(1);
15027 }
15028 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15029 pub struct Dscr_SPEC;
15030 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
15031 impl Dscr {
15032 #[doc = "Low drive"]
15033 pub const _00: Self = Self::new(0);
15034
15035 #[doc = "Middle drive"]
15036 pub const _01: Self = Self::new(1);
15037
15038 #[doc = "Setting prohibited"]
15039 pub const _10: Self = Self::new(2);
15040
15041 #[doc = "High drive"]
15042 pub const _11: Self = Self::new(3);
15043 }
15044 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15045 pub struct Eofr_SPEC;
15046 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
15047 impl Eofr {
15048 #[doc = "Don\'t care"]
15049 pub const _00: Self = Self::new(0);
15050
15051 #[doc = "Detect rising edge"]
15052 pub const _01: Self = Self::new(1);
15053
15054 #[doc = "Detect falling edge"]
15055 pub const _10: Self = Self::new(2);
15056
15057 #[doc = "Detect both edges"]
15058 pub const _11: Self = Self::new(3);
15059 }
15060 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15061 pub struct Isel_SPEC;
15062 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15063 impl Isel {
15064 #[doc = "Do not use as IRQn input pin"]
15065 pub const _0: Self = Self::new(0);
15066
15067 #[doc = "Use as IRQn input pin"]
15068 pub const _1: Self = Self::new(1);
15069 }
15070 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15071 pub struct Asel_SPEC;
15072 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15073 impl Asel {
15074 #[doc = "Do not use as analog pin"]
15075 pub const _0: Self = Self::new(0);
15076
15077 #[doc = "Use as analog pin"]
15078 pub const _1: Self = Self::new(1);
15079 }
15080}
15081#[doc(hidden)]
15082#[derive(Copy, Clone, Eq, PartialEq)]
15083pub struct P4PfsBy_SPEC;
15084impl crate::sealed::RegSpec for P4PfsBy_SPEC {
15085 type DataType = u8;
15086}
15087
15088#[doc = "Port 4%s Pin Function Select Register"]
15089pub type P4PfsBy = crate::RegValueT<P4PfsBy_SPEC>;
15090
15091impl P4PfsBy {
15092 #[doc = "Port Output Data"]
15093 #[inline(always)]
15094 pub fn podr(
15095 self,
15096 ) -> crate::common::RegisterField<
15097 0,
15098 0x1,
15099 1,
15100 0,
15101 p4pfs_by::Podr,
15102 p4pfs_by::Podr,
15103 P4PfsBy_SPEC,
15104 crate::common::RW,
15105 > {
15106 crate::common::RegisterField::<
15107 0,
15108 0x1,
15109 1,
15110 0,
15111 p4pfs_by::Podr,
15112 p4pfs_by::Podr,
15113 P4PfsBy_SPEC,
15114 crate::common::RW,
15115 >::from_register(self, 0)
15116 }
15117
15118 #[doc = "Port State"]
15119 #[inline(always)]
15120 pub fn pidr(
15121 self,
15122 ) -> crate::common::RegisterField<
15123 1,
15124 0x1,
15125 1,
15126 0,
15127 p4pfs_by::Pidr,
15128 p4pfs_by::Pidr,
15129 P4PfsBy_SPEC,
15130 crate::common::R,
15131 > {
15132 crate::common::RegisterField::<
15133 1,
15134 0x1,
15135 1,
15136 0,
15137 p4pfs_by::Pidr,
15138 p4pfs_by::Pidr,
15139 P4PfsBy_SPEC,
15140 crate::common::R,
15141 >::from_register(self, 0)
15142 }
15143
15144 #[doc = "Port Direction"]
15145 #[inline(always)]
15146 pub fn pdr(
15147 self,
15148 ) -> crate::common::RegisterField<
15149 2,
15150 0x1,
15151 1,
15152 0,
15153 p4pfs_by::Pdr,
15154 p4pfs_by::Pdr,
15155 P4PfsBy_SPEC,
15156 crate::common::RW,
15157 > {
15158 crate::common::RegisterField::<
15159 2,
15160 0x1,
15161 1,
15162 0,
15163 p4pfs_by::Pdr,
15164 p4pfs_by::Pdr,
15165 P4PfsBy_SPEC,
15166 crate::common::RW,
15167 >::from_register(self, 0)
15168 }
15169
15170 #[doc = "Pull-up Control"]
15171 #[inline(always)]
15172 pub fn pcr(
15173 self,
15174 ) -> crate::common::RegisterField<
15175 4,
15176 0x1,
15177 1,
15178 0,
15179 p4pfs_by::Pcr,
15180 p4pfs_by::Pcr,
15181 P4PfsBy_SPEC,
15182 crate::common::RW,
15183 > {
15184 crate::common::RegisterField::<
15185 4,
15186 0x1,
15187 1,
15188 0,
15189 p4pfs_by::Pcr,
15190 p4pfs_by::Pcr,
15191 P4PfsBy_SPEC,
15192 crate::common::RW,
15193 >::from_register(self, 0)
15194 }
15195
15196 #[doc = "N-Channel Open-Drain Control"]
15197 #[inline(always)]
15198 pub fn ncodr(
15199 self,
15200 ) -> crate::common::RegisterField<
15201 6,
15202 0x1,
15203 1,
15204 0,
15205 p4pfs_by::Ncodr,
15206 p4pfs_by::Ncodr,
15207 P4PfsBy_SPEC,
15208 crate::common::RW,
15209 > {
15210 crate::common::RegisterField::<
15211 6,
15212 0x1,
15213 1,
15214 0,
15215 p4pfs_by::Ncodr,
15216 p4pfs_by::Ncodr,
15217 P4PfsBy_SPEC,
15218 crate::common::RW,
15219 >::from_register(self, 0)
15220 }
15221}
15222impl ::core::default::Default for P4PfsBy {
15223 #[inline(always)]
15224 fn default() -> P4PfsBy {
15225 <crate::RegValueT<P4PfsBy_SPEC> as RegisterValue<_>>::new(0)
15226 }
15227}
15228pub mod p4pfs_by {
15229
15230 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15231 pub struct Podr_SPEC;
15232 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15233 impl Podr {
15234 #[doc = "Output low"]
15235 pub const _0: Self = Self::new(0);
15236
15237 #[doc = "Output high"]
15238 pub const _1: Self = Self::new(1);
15239 }
15240 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15241 pub struct Pidr_SPEC;
15242 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15243 impl Pidr {
15244 #[doc = "Low level"]
15245 pub const _0: Self = Self::new(0);
15246
15247 #[doc = "High level"]
15248 pub const _1: Self = Self::new(1);
15249 }
15250 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15251 pub struct Pdr_SPEC;
15252 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15253 impl Pdr {
15254 #[doc = "Input (functions as an input pin)"]
15255 pub const _0: Self = Self::new(0);
15256
15257 #[doc = "Output (functions as an output pin)"]
15258 pub const _1: Self = Self::new(1);
15259 }
15260 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15261 pub struct Pcr_SPEC;
15262 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15263 impl Pcr {
15264 #[doc = "Disable input pull-up"]
15265 pub const _0: Self = Self::new(0);
15266
15267 #[doc = "Enable input pull-up"]
15268 pub const _1: Self = Self::new(1);
15269 }
15270 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15271 pub struct Ncodr_SPEC;
15272 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15273 impl Ncodr {
15274 #[doc = "Output CMOS"]
15275 pub const _0: Self = Self::new(0);
15276
15277 #[doc = "Output NMOS open-drain"]
15278 pub const _1: Self = Self::new(1);
15279 }
15280}
15281#[doc(hidden)]
15282#[derive(Copy, Clone, Eq, PartialEq)]
15283pub struct P50Pfs_SPEC;
15284impl crate::sealed::RegSpec for P50Pfs_SPEC {
15285 type DataType = u32;
15286}
15287
15288#[doc = "Port 50%s Pin Function Select Register"]
15289pub type P50Pfs = crate::RegValueT<P50Pfs_SPEC>;
15290
15291impl P50Pfs {
15292 #[doc = "Port Output Data"]
15293 #[inline(always)]
15294 pub fn podr(
15295 self,
15296 ) -> crate::common::RegisterField<
15297 0,
15298 0x1,
15299 1,
15300 0,
15301 p50pfs::Podr,
15302 p50pfs::Podr,
15303 P50Pfs_SPEC,
15304 crate::common::RW,
15305 > {
15306 crate::common::RegisterField::<
15307 0,
15308 0x1,
15309 1,
15310 0,
15311 p50pfs::Podr,
15312 p50pfs::Podr,
15313 P50Pfs_SPEC,
15314 crate::common::RW,
15315 >::from_register(self, 0)
15316 }
15317
15318 #[doc = "Port State"]
15319 #[inline(always)]
15320 pub fn pidr(
15321 self,
15322 ) -> crate::common::RegisterField<
15323 1,
15324 0x1,
15325 1,
15326 0,
15327 p50pfs::Pidr,
15328 p50pfs::Pidr,
15329 P50Pfs_SPEC,
15330 crate::common::R,
15331 > {
15332 crate::common::RegisterField::<
15333 1,
15334 0x1,
15335 1,
15336 0,
15337 p50pfs::Pidr,
15338 p50pfs::Pidr,
15339 P50Pfs_SPEC,
15340 crate::common::R,
15341 >::from_register(self, 0)
15342 }
15343
15344 #[doc = "Port Direction"]
15345 #[inline(always)]
15346 pub fn pdr(
15347 self,
15348 ) -> crate::common::RegisterField<
15349 2,
15350 0x1,
15351 1,
15352 0,
15353 p50pfs::Pdr,
15354 p50pfs::Pdr,
15355 P50Pfs_SPEC,
15356 crate::common::RW,
15357 > {
15358 crate::common::RegisterField::<
15359 2,
15360 0x1,
15361 1,
15362 0,
15363 p50pfs::Pdr,
15364 p50pfs::Pdr,
15365 P50Pfs_SPEC,
15366 crate::common::RW,
15367 >::from_register(self, 0)
15368 }
15369
15370 #[doc = "Pull-up Control"]
15371 #[inline(always)]
15372 pub fn pcr(
15373 self,
15374 ) -> crate::common::RegisterField<
15375 4,
15376 0x1,
15377 1,
15378 0,
15379 p50pfs::Pcr,
15380 p50pfs::Pcr,
15381 P50Pfs_SPEC,
15382 crate::common::RW,
15383 > {
15384 crate::common::RegisterField::<
15385 4,
15386 0x1,
15387 1,
15388 0,
15389 p50pfs::Pcr,
15390 p50pfs::Pcr,
15391 P50Pfs_SPEC,
15392 crate::common::RW,
15393 >::from_register(self, 0)
15394 }
15395
15396 #[doc = "N-Channel Open-Drain Control"]
15397 #[inline(always)]
15398 pub fn ncodr(
15399 self,
15400 ) -> crate::common::RegisterField<
15401 6,
15402 0x1,
15403 1,
15404 0,
15405 p50pfs::Ncodr,
15406 p50pfs::Ncodr,
15407 P50Pfs_SPEC,
15408 crate::common::RW,
15409 > {
15410 crate::common::RegisterField::<
15411 6,
15412 0x1,
15413 1,
15414 0,
15415 p50pfs::Ncodr,
15416 p50pfs::Ncodr,
15417 P50Pfs_SPEC,
15418 crate::common::RW,
15419 >::from_register(self, 0)
15420 }
15421
15422 #[doc = "Port Drive Capability"]
15423 #[inline(always)]
15424 pub fn dscr(
15425 self,
15426 ) -> crate::common::RegisterField<
15427 10,
15428 0x3,
15429 1,
15430 0,
15431 p50pfs::Dscr,
15432 p50pfs::Dscr,
15433 P50Pfs_SPEC,
15434 crate::common::RW,
15435 > {
15436 crate::common::RegisterField::<
15437 10,
15438 0x3,
15439 1,
15440 0,
15441 p50pfs::Dscr,
15442 p50pfs::Dscr,
15443 P50Pfs_SPEC,
15444 crate::common::RW,
15445 >::from_register(self, 0)
15446 }
15447
15448 #[doc = "Event on Falling/Event on Rising"]
15449 #[inline(always)]
15450 pub fn eofr(
15451 self,
15452 ) -> crate::common::RegisterField<
15453 12,
15454 0x3,
15455 1,
15456 0,
15457 p50pfs::Eofr,
15458 p50pfs::Eofr,
15459 P50Pfs_SPEC,
15460 crate::common::RW,
15461 > {
15462 crate::common::RegisterField::<
15463 12,
15464 0x3,
15465 1,
15466 0,
15467 p50pfs::Eofr,
15468 p50pfs::Eofr,
15469 P50Pfs_SPEC,
15470 crate::common::RW,
15471 >::from_register(self, 0)
15472 }
15473
15474 #[doc = "IRQ Input Enable"]
15475 #[inline(always)]
15476 pub fn isel(
15477 self,
15478 ) -> crate::common::RegisterField<
15479 14,
15480 0x1,
15481 1,
15482 0,
15483 p50pfs::Isel,
15484 p50pfs::Isel,
15485 P50Pfs_SPEC,
15486 crate::common::RW,
15487 > {
15488 crate::common::RegisterField::<
15489 14,
15490 0x1,
15491 1,
15492 0,
15493 p50pfs::Isel,
15494 p50pfs::Isel,
15495 P50Pfs_SPEC,
15496 crate::common::RW,
15497 >::from_register(self, 0)
15498 }
15499
15500 #[doc = "Analog Input Enable"]
15501 #[inline(always)]
15502 pub fn asel(
15503 self,
15504 ) -> crate::common::RegisterField<
15505 15,
15506 0x1,
15507 1,
15508 0,
15509 p50pfs::Asel,
15510 p50pfs::Asel,
15511 P50Pfs_SPEC,
15512 crate::common::RW,
15513 > {
15514 crate::common::RegisterField::<
15515 15,
15516 0x1,
15517 1,
15518 0,
15519 p50pfs::Asel,
15520 p50pfs::Asel,
15521 P50Pfs_SPEC,
15522 crate::common::RW,
15523 >::from_register(self, 0)
15524 }
15525
15526 #[doc = "Port Mode Control"]
15527 #[inline(always)]
15528 pub fn pmr(
15529 self,
15530 ) -> crate::common::RegisterField<
15531 16,
15532 0x1,
15533 1,
15534 0,
15535 p50pfs::Pmr,
15536 p50pfs::Pmr,
15537 P50Pfs_SPEC,
15538 crate::common::RW,
15539 > {
15540 crate::common::RegisterField::<
15541 16,
15542 0x1,
15543 1,
15544 0,
15545 p50pfs::Pmr,
15546 p50pfs::Pmr,
15547 P50Pfs_SPEC,
15548 crate::common::RW,
15549 >::from_register(self, 0)
15550 }
15551
15552 #[doc = "Peripheral Select"]
15553 #[inline(always)]
15554 pub fn psel(
15555 self,
15556 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P50Pfs_SPEC, crate::common::RW> {
15557 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P50Pfs_SPEC,crate::common::RW>::from_register(self,0)
15558 }
15559}
15560impl ::core::default::Default for P50Pfs {
15561 #[inline(always)]
15562 fn default() -> P50Pfs {
15563 <crate::RegValueT<P50Pfs_SPEC> as RegisterValue<_>>::new(0)
15564 }
15565}
15566pub mod p50pfs {
15567
15568 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15569 pub struct Podr_SPEC;
15570 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15571 impl Podr {
15572 #[doc = "Output low"]
15573 pub const _0: Self = Self::new(0);
15574
15575 #[doc = "Output high"]
15576 pub const _1: Self = Self::new(1);
15577 }
15578 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15579 pub struct Pidr_SPEC;
15580 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15581 impl Pidr {
15582 #[doc = "Low level"]
15583 pub const _0: Self = Self::new(0);
15584
15585 #[doc = "High level"]
15586 pub const _1: Self = Self::new(1);
15587 }
15588 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15589 pub struct Pdr_SPEC;
15590 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15591 impl Pdr {
15592 #[doc = "Input (functions as an input pin)"]
15593 pub const _0: Self = Self::new(0);
15594
15595 #[doc = "Output (functions as an output pin)"]
15596 pub const _1: Self = Self::new(1);
15597 }
15598 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15599 pub struct Pcr_SPEC;
15600 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15601 impl Pcr {
15602 #[doc = "Disable input pull-up"]
15603 pub const _0: Self = Self::new(0);
15604
15605 #[doc = "Enable input pull-up"]
15606 pub const _1: Self = Self::new(1);
15607 }
15608 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15609 pub struct Ncodr_SPEC;
15610 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15611 impl Ncodr {
15612 #[doc = "Output CMOS"]
15613 pub const _0: Self = Self::new(0);
15614
15615 #[doc = "Output NMOS open-drain"]
15616 pub const _1: Self = Self::new(1);
15617 }
15618 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15619 pub struct Dscr_SPEC;
15620 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
15621 impl Dscr {
15622 #[doc = "Low drive"]
15623 pub const _00: Self = Self::new(0);
15624
15625 #[doc = "Middle drive"]
15626 pub const _01: Self = Self::new(1);
15627
15628 #[doc = "Setting prohibited"]
15629 pub const _10: Self = Self::new(2);
15630
15631 #[doc = "High drive"]
15632 pub const _11: Self = Self::new(3);
15633 }
15634 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15635 pub struct Eofr_SPEC;
15636 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
15637 impl Eofr {
15638 #[doc = "Don\'t care"]
15639 pub const _00: Self = Self::new(0);
15640
15641 #[doc = "Detect rising edge"]
15642 pub const _01: Self = Self::new(1);
15643
15644 #[doc = "Detect falling edge"]
15645 pub const _10: Self = Self::new(2);
15646
15647 #[doc = "Detect both edges"]
15648 pub const _11: Self = Self::new(3);
15649 }
15650 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15651 pub struct Isel_SPEC;
15652 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15653 impl Isel {
15654 #[doc = "Do not use as IRQn input pin"]
15655 pub const _0: Self = Self::new(0);
15656
15657 #[doc = "Use as IRQn input pin"]
15658 pub const _1: Self = Self::new(1);
15659 }
15660 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15661 pub struct Asel_SPEC;
15662 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15663 impl Asel {
15664 #[doc = "Do not use as analog pin"]
15665 pub const _0: Self = Self::new(0);
15666
15667 #[doc = "Use as analog pin"]
15668 pub const _1: Self = Self::new(1);
15669 }
15670 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15671 pub struct Pmr_SPEC;
15672 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
15673 impl Pmr {
15674 #[doc = "Use as general I/O pin"]
15675 pub const _0: Self = Self::new(0);
15676
15677 #[doc = "Use as I/O port for peripheral functions"]
15678 pub const _1: Self = Self::new(1);
15679 }
15680}
15681#[doc(hidden)]
15682#[derive(Copy, Clone, Eq, PartialEq)]
15683pub struct P50PfsHa_SPEC;
15684impl crate::sealed::RegSpec for P50PfsHa_SPEC {
15685 type DataType = u16;
15686}
15687
15688#[doc = "Port 50%s Pin Function Select Register"]
15689pub type P50PfsHa = crate::RegValueT<P50PfsHa_SPEC>;
15690
15691impl P50PfsHa {
15692 #[doc = "Port Output Data"]
15693 #[inline(always)]
15694 pub fn podr(
15695 self,
15696 ) -> crate::common::RegisterField<
15697 0,
15698 0x1,
15699 1,
15700 0,
15701 p50pfs_ha::Podr,
15702 p50pfs_ha::Podr,
15703 P50PfsHa_SPEC,
15704 crate::common::RW,
15705 > {
15706 crate::common::RegisterField::<
15707 0,
15708 0x1,
15709 1,
15710 0,
15711 p50pfs_ha::Podr,
15712 p50pfs_ha::Podr,
15713 P50PfsHa_SPEC,
15714 crate::common::RW,
15715 >::from_register(self, 0)
15716 }
15717
15718 #[doc = "Port State"]
15719 #[inline(always)]
15720 pub fn pidr(
15721 self,
15722 ) -> crate::common::RegisterField<
15723 1,
15724 0x1,
15725 1,
15726 0,
15727 p50pfs_ha::Pidr,
15728 p50pfs_ha::Pidr,
15729 P50PfsHa_SPEC,
15730 crate::common::R,
15731 > {
15732 crate::common::RegisterField::<
15733 1,
15734 0x1,
15735 1,
15736 0,
15737 p50pfs_ha::Pidr,
15738 p50pfs_ha::Pidr,
15739 P50PfsHa_SPEC,
15740 crate::common::R,
15741 >::from_register(self, 0)
15742 }
15743
15744 #[doc = "Port Direction"]
15745 #[inline(always)]
15746 pub fn pdr(
15747 self,
15748 ) -> crate::common::RegisterField<
15749 2,
15750 0x1,
15751 1,
15752 0,
15753 p50pfs_ha::Pdr,
15754 p50pfs_ha::Pdr,
15755 P50PfsHa_SPEC,
15756 crate::common::RW,
15757 > {
15758 crate::common::RegisterField::<
15759 2,
15760 0x1,
15761 1,
15762 0,
15763 p50pfs_ha::Pdr,
15764 p50pfs_ha::Pdr,
15765 P50PfsHa_SPEC,
15766 crate::common::RW,
15767 >::from_register(self, 0)
15768 }
15769
15770 #[doc = "Pull-up Control"]
15771 #[inline(always)]
15772 pub fn pcr(
15773 self,
15774 ) -> crate::common::RegisterField<
15775 4,
15776 0x1,
15777 1,
15778 0,
15779 p50pfs_ha::Pcr,
15780 p50pfs_ha::Pcr,
15781 P50PfsHa_SPEC,
15782 crate::common::RW,
15783 > {
15784 crate::common::RegisterField::<
15785 4,
15786 0x1,
15787 1,
15788 0,
15789 p50pfs_ha::Pcr,
15790 p50pfs_ha::Pcr,
15791 P50PfsHa_SPEC,
15792 crate::common::RW,
15793 >::from_register(self, 0)
15794 }
15795
15796 #[doc = "N-Channel Open-Drain Control"]
15797 #[inline(always)]
15798 pub fn ncodr(
15799 self,
15800 ) -> crate::common::RegisterField<
15801 6,
15802 0x1,
15803 1,
15804 0,
15805 p50pfs_ha::Ncodr,
15806 p50pfs_ha::Ncodr,
15807 P50PfsHa_SPEC,
15808 crate::common::RW,
15809 > {
15810 crate::common::RegisterField::<
15811 6,
15812 0x1,
15813 1,
15814 0,
15815 p50pfs_ha::Ncodr,
15816 p50pfs_ha::Ncodr,
15817 P50PfsHa_SPEC,
15818 crate::common::RW,
15819 >::from_register(self, 0)
15820 }
15821
15822 #[doc = "Port Drive Capability"]
15823 #[inline(always)]
15824 pub fn dscr(
15825 self,
15826 ) -> crate::common::RegisterField<
15827 10,
15828 0x3,
15829 1,
15830 0,
15831 p50pfs_ha::Dscr,
15832 p50pfs_ha::Dscr,
15833 P50PfsHa_SPEC,
15834 crate::common::RW,
15835 > {
15836 crate::common::RegisterField::<
15837 10,
15838 0x3,
15839 1,
15840 0,
15841 p50pfs_ha::Dscr,
15842 p50pfs_ha::Dscr,
15843 P50PfsHa_SPEC,
15844 crate::common::RW,
15845 >::from_register(self, 0)
15846 }
15847
15848 #[doc = "Event on Falling/Event on Rising"]
15849 #[inline(always)]
15850 pub fn eofr(
15851 self,
15852 ) -> crate::common::RegisterField<
15853 12,
15854 0x3,
15855 1,
15856 0,
15857 p50pfs_ha::Eofr,
15858 p50pfs_ha::Eofr,
15859 P50PfsHa_SPEC,
15860 crate::common::RW,
15861 > {
15862 crate::common::RegisterField::<
15863 12,
15864 0x3,
15865 1,
15866 0,
15867 p50pfs_ha::Eofr,
15868 p50pfs_ha::Eofr,
15869 P50PfsHa_SPEC,
15870 crate::common::RW,
15871 >::from_register(self, 0)
15872 }
15873
15874 #[doc = "IRQ Input Enable"]
15875 #[inline(always)]
15876 pub fn isel(
15877 self,
15878 ) -> crate::common::RegisterField<
15879 14,
15880 0x1,
15881 1,
15882 0,
15883 p50pfs_ha::Isel,
15884 p50pfs_ha::Isel,
15885 P50PfsHa_SPEC,
15886 crate::common::RW,
15887 > {
15888 crate::common::RegisterField::<
15889 14,
15890 0x1,
15891 1,
15892 0,
15893 p50pfs_ha::Isel,
15894 p50pfs_ha::Isel,
15895 P50PfsHa_SPEC,
15896 crate::common::RW,
15897 >::from_register(self, 0)
15898 }
15899
15900 #[doc = "Analog Input Enable"]
15901 #[inline(always)]
15902 pub fn asel(
15903 self,
15904 ) -> crate::common::RegisterField<
15905 15,
15906 0x1,
15907 1,
15908 0,
15909 p50pfs_ha::Asel,
15910 p50pfs_ha::Asel,
15911 P50PfsHa_SPEC,
15912 crate::common::RW,
15913 > {
15914 crate::common::RegisterField::<
15915 15,
15916 0x1,
15917 1,
15918 0,
15919 p50pfs_ha::Asel,
15920 p50pfs_ha::Asel,
15921 P50PfsHa_SPEC,
15922 crate::common::RW,
15923 >::from_register(self, 0)
15924 }
15925}
15926impl ::core::default::Default for P50PfsHa {
15927 #[inline(always)]
15928 fn default() -> P50PfsHa {
15929 <crate::RegValueT<P50PfsHa_SPEC> as RegisterValue<_>>::new(0)
15930 }
15931}
15932pub mod p50pfs_ha {
15933
15934 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15935 pub struct Podr_SPEC;
15936 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15937 impl Podr {
15938 #[doc = "Output low"]
15939 pub const _0: Self = Self::new(0);
15940
15941 #[doc = "Output high"]
15942 pub const _1: Self = Self::new(1);
15943 }
15944 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15945 pub struct Pidr_SPEC;
15946 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15947 impl Pidr {
15948 #[doc = "Low level"]
15949 pub const _0: Self = Self::new(0);
15950
15951 #[doc = "High level"]
15952 pub const _1: Self = Self::new(1);
15953 }
15954 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15955 pub struct Pdr_SPEC;
15956 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15957 impl Pdr {
15958 #[doc = "Input (functions as an input pin)"]
15959 pub const _0: Self = Self::new(0);
15960
15961 #[doc = "Output (functions as an output pin)"]
15962 pub const _1: Self = Self::new(1);
15963 }
15964 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15965 pub struct Pcr_SPEC;
15966 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15967 impl Pcr {
15968 #[doc = "Disable input pull-up"]
15969 pub const _0: Self = Self::new(0);
15970
15971 #[doc = "Enable input pull-up"]
15972 pub const _1: Self = Self::new(1);
15973 }
15974 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15975 pub struct Ncodr_SPEC;
15976 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15977 impl Ncodr {
15978 #[doc = "Output CMOS"]
15979 pub const _0: Self = Self::new(0);
15980
15981 #[doc = "Output NMOS open-drain"]
15982 pub const _1: Self = Self::new(1);
15983 }
15984 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15985 pub struct Dscr_SPEC;
15986 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
15987 impl Dscr {
15988 #[doc = "Low drive"]
15989 pub const _00: Self = Self::new(0);
15990
15991 #[doc = "Middle drive"]
15992 pub const _01: Self = Self::new(1);
15993
15994 #[doc = "Setting prohibited"]
15995 pub const _10: Self = Self::new(2);
15996
15997 #[doc = "High drive"]
15998 pub const _11: Self = Self::new(3);
15999 }
16000 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16001 pub struct Eofr_SPEC;
16002 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
16003 impl Eofr {
16004 #[doc = "Don\'t care"]
16005 pub const _00: Self = Self::new(0);
16006
16007 #[doc = "Detect rising edge"]
16008 pub const _01: Self = Self::new(1);
16009
16010 #[doc = "Detect falling edge"]
16011 pub const _10: Self = Self::new(2);
16012
16013 #[doc = "Detect both edges"]
16014 pub const _11: Self = Self::new(3);
16015 }
16016 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16017 pub struct Isel_SPEC;
16018 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16019 impl Isel {
16020 #[doc = "Do not use as IRQn input pin"]
16021 pub const _0: Self = Self::new(0);
16022
16023 #[doc = "Use as IRQn input pin"]
16024 pub const _1: Self = Self::new(1);
16025 }
16026 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16027 pub struct Asel_SPEC;
16028 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16029 impl Asel {
16030 #[doc = "Do not use as analog pin"]
16031 pub const _0: Self = Self::new(0);
16032
16033 #[doc = "Use as analog pin"]
16034 pub const _1: Self = Self::new(1);
16035 }
16036}
16037#[doc(hidden)]
16038#[derive(Copy, Clone, Eq, PartialEq)]
16039pub struct P50PfsBy_SPEC;
16040impl crate::sealed::RegSpec for P50PfsBy_SPEC {
16041 type DataType = u8;
16042}
16043
16044#[doc = "Port 50%s Pin Function Select Register"]
16045pub type P50PfsBy = crate::RegValueT<P50PfsBy_SPEC>;
16046
16047impl P50PfsBy {
16048 #[doc = "Port Output Data"]
16049 #[inline(always)]
16050 pub fn podr(
16051 self,
16052 ) -> crate::common::RegisterField<
16053 0,
16054 0x1,
16055 1,
16056 0,
16057 p50pfs_by::Podr,
16058 p50pfs_by::Podr,
16059 P50PfsBy_SPEC,
16060 crate::common::RW,
16061 > {
16062 crate::common::RegisterField::<
16063 0,
16064 0x1,
16065 1,
16066 0,
16067 p50pfs_by::Podr,
16068 p50pfs_by::Podr,
16069 P50PfsBy_SPEC,
16070 crate::common::RW,
16071 >::from_register(self, 0)
16072 }
16073
16074 #[doc = "Port State"]
16075 #[inline(always)]
16076 pub fn pidr(
16077 self,
16078 ) -> crate::common::RegisterField<
16079 1,
16080 0x1,
16081 1,
16082 0,
16083 p50pfs_by::Pidr,
16084 p50pfs_by::Pidr,
16085 P50PfsBy_SPEC,
16086 crate::common::R,
16087 > {
16088 crate::common::RegisterField::<
16089 1,
16090 0x1,
16091 1,
16092 0,
16093 p50pfs_by::Pidr,
16094 p50pfs_by::Pidr,
16095 P50PfsBy_SPEC,
16096 crate::common::R,
16097 >::from_register(self, 0)
16098 }
16099
16100 #[doc = "Port Direction"]
16101 #[inline(always)]
16102 pub fn pdr(
16103 self,
16104 ) -> crate::common::RegisterField<
16105 2,
16106 0x1,
16107 1,
16108 0,
16109 p50pfs_by::Pdr,
16110 p50pfs_by::Pdr,
16111 P50PfsBy_SPEC,
16112 crate::common::RW,
16113 > {
16114 crate::common::RegisterField::<
16115 2,
16116 0x1,
16117 1,
16118 0,
16119 p50pfs_by::Pdr,
16120 p50pfs_by::Pdr,
16121 P50PfsBy_SPEC,
16122 crate::common::RW,
16123 >::from_register(self, 0)
16124 }
16125
16126 #[doc = "Pull-up Control"]
16127 #[inline(always)]
16128 pub fn pcr(
16129 self,
16130 ) -> crate::common::RegisterField<
16131 4,
16132 0x1,
16133 1,
16134 0,
16135 p50pfs_by::Pcr,
16136 p50pfs_by::Pcr,
16137 P50PfsBy_SPEC,
16138 crate::common::RW,
16139 > {
16140 crate::common::RegisterField::<
16141 4,
16142 0x1,
16143 1,
16144 0,
16145 p50pfs_by::Pcr,
16146 p50pfs_by::Pcr,
16147 P50PfsBy_SPEC,
16148 crate::common::RW,
16149 >::from_register(self, 0)
16150 }
16151
16152 #[doc = "N-Channel Open-Drain Control"]
16153 #[inline(always)]
16154 pub fn ncodr(
16155 self,
16156 ) -> crate::common::RegisterField<
16157 6,
16158 0x1,
16159 1,
16160 0,
16161 p50pfs_by::Ncodr,
16162 p50pfs_by::Ncodr,
16163 P50PfsBy_SPEC,
16164 crate::common::RW,
16165 > {
16166 crate::common::RegisterField::<
16167 6,
16168 0x1,
16169 1,
16170 0,
16171 p50pfs_by::Ncodr,
16172 p50pfs_by::Ncodr,
16173 P50PfsBy_SPEC,
16174 crate::common::RW,
16175 >::from_register(self, 0)
16176 }
16177}
16178impl ::core::default::Default for P50PfsBy {
16179 #[inline(always)]
16180 fn default() -> P50PfsBy {
16181 <crate::RegValueT<P50PfsBy_SPEC> as RegisterValue<_>>::new(0)
16182 }
16183}
16184pub mod p50pfs_by {
16185
16186 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16187 pub struct Podr_SPEC;
16188 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16189 impl Podr {
16190 #[doc = "Output low"]
16191 pub const _0: Self = Self::new(0);
16192
16193 #[doc = "Output high"]
16194 pub const _1: Self = Self::new(1);
16195 }
16196 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16197 pub struct Pidr_SPEC;
16198 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16199 impl Pidr {
16200 #[doc = "Low level"]
16201 pub const _0: Self = Self::new(0);
16202
16203 #[doc = "High level"]
16204 pub const _1: Self = Self::new(1);
16205 }
16206 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16207 pub struct Pdr_SPEC;
16208 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16209 impl Pdr {
16210 #[doc = "Input (functions as an input pin)"]
16211 pub const _0: Self = Self::new(0);
16212
16213 #[doc = "Output (functions as an output pin)"]
16214 pub const _1: Self = Self::new(1);
16215 }
16216 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16217 pub struct Pcr_SPEC;
16218 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16219 impl Pcr {
16220 #[doc = "Disable input pull-up"]
16221 pub const _0: Self = Self::new(0);
16222
16223 #[doc = "Enable input pull-up"]
16224 pub const _1: Self = Self::new(1);
16225 }
16226 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16227 pub struct Ncodr_SPEC;
16228 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16229 impl Ncodr {
16230 #[doc = "Output CMOS"]
16231 pub const _0: Self = Self::new(0);
16232
16233 #[doc = "Output NMOS open-drain"]
16234 pub const _1: Self = Self::new(1);
16235 }
16236}
16237#[doc(hidden)]
16238#[derive(Copy, Clone, Eq, PartialEq)]
16239pub struct P60Pfs_SPEC;
16240impl crate::sealed::RegSpec for P60Pfs_SPEC {
16241 type DataType = u32;
16242}
16243
16244#[doc = "Port 60%s Pin Function Select Register"]
16245pub type P60Pfs = crate::RegValueT<P60Pfs_SPEC>;
16246
16247impl P60Pfs {
16248 #[doc = "Port Output Data"]
16249 #[inline(always)]
16250 pub fn podr(
16251 self,
16252 ) -> crate::common::RegisterField<
16253 0,
16254 0x1,
16255 1,
16256 0,
16257 p60pfs::Podr,
16258 p60pfs::Podr,
16259 P60Pfs_SPEC,
16260 crate::common::RW,
16261 > {
16262 crate::common::RegisterField::<
16263 0,
16264 0x1,
16265 1,
16266 0,
16267 p60pfs::Podr,
16268 p60pfs::Podr,
16269 P60Pfs_SPEC,
16270 crate::common::RW,
16271 >::from_register(self, 0)
16272 }
16273
16274 #[doc = "Port State"]
16275 #[inline(always)]
16276 pub fn pidr(
16277 self,
16278 ) -> crate::common::RegisterField<
16279 1,
16280 0x1,
16281 1,
16282 0,
16283 p60pfs::Pidr,
16284 p60pfs::Pidr,
16285 P60Pfs_SPEC,
16286 crate::common::R,
16287 > {
16288 crate::common::RegisterField::<
16289 1,
16290 0x1,
16291 1,
16292 0,
16293 p60pfs::Pidr,
16294 p60pfs::Pidr,
16295 P60Pfs_SPEC,
16296 crate::common::R,
16297 >::from_register(self, 0)
16298 }
16299
16300 #[doc = "Port Direction"]
16301 #[inline(always)]
16302 pub fn pdr(
16303 self,
16304 ) -> crate::common::RegisterField<
16305 2,
16306 0x1,
16307 1,
16308 0,
16309 p60pfs::Pdr,
16310 p60pfs::Pdr,
16311 P60Pfs_SPEC,
16312 crate::common::RW,
16313 > {
16314 crate::common::RegisterField::<
16315 2,
16316 0x1,
16317 1,
16318 0,
16319 p60pfs::Pdr,
16320 p60pfs::Pdr,
16321 P60Pfs_SPEC,
16322 crate::common::RW,
16323 >::from_register(self, 0)
16324 }
16325
16326 #[doc = "Pull-up Control"]
16327 #[inline(always)]
16328 pub fn pcr(
16329 self,
16330 ) -> crate::common::RegisterField<
16331 4,
16332 0x1,
16333 1,
16334 0,
16335 p60pfs::Pcr,
16336 p60pfs::Pcr,
16337 P60Pfs_SPEC,
16338 crate::common::RW,
16339 > {
16340 crate::common::RegisterField::<
16341 4,
16342 0x1,
16343 1,
16344 0,
16345 p60pfs::Pcr,
16346 p60pfs::Pcr,
16347 P60Pfs_SPEC,
16348 crate::common::RW,
16349 >::from_register(self, 0)
16350 }
16351
16352 #[doc = "N-Channel Open-Drain Control"]
16353 #[inline(always)]
16354 pub fn ncodr(
16355 self,
16356 ) -> crate::common::RegisterField<
16357 6,
16358 0x1,
16359 1,
16360 0,
16361 p60pfs::Ncodr,
16362 p60pfs::Ncodr,
16363 P60Pfs_SPEC,
16364 crate::common::RW,
16365 > {
16366 crate::common::RegisterField::<
16367 6,
16368 0x1,
16369 1,
16370 0,
16371 p60pfs::Ncodr,
16372 p60pfs::Ncodr,
16373 P60Pfs_SPEC,
16374 crate::common::RW,
16375 >::from_register(self, 0)
16376 }
16377
16378 #[doc = "Port Drive Capability"]
16379 #[inline(always)]
16380 pub fn dscr(
16381 self,
16382 ) -> crate::common::RegisterField<
16383 10,
16384 0x3,
16385 1,
16386 0,
16387 p60pfs::Dscr,
16388 p60pfs::Dscr,
16389 P60Pfs_SPEC,
16390 crate::common::RW,
16391 > {
16392 crate::common::RegisterField::<
16393 10,
16394 0x3,
16395 1,
16396 0,
16397 p60pfs::Dscr,
16398 p60pfs::Dscr,
16399 P60Pfs_SPEC,
16400 crate::common::RW,
16401 >::from_register(self, 0)
16402 }
16403
16404 #[doc = "Event on Falling/Event on Rising"]
16405 #[inline(always)]
16406 pub fn eofr(
16407 self,
16408 ) -> crate::common::RegisterField<
16409 12,
16410 0x3,
16411 1,
16412 0,
16413 p60pfs::Eofr,
16414 p60pfs::Eofr,
16415 P60Pfs_SPEC,
16416 crate::common::RW,
16417 > {
16418 crate::common::RegisterField::<
16419 12,
16420 0x3,
16421 1,
16422 0,
16423 p60pfs::Eofr,
16424 p60pfs::Eofr,
16425 P60Pfs_SPEC,
16426 crate::common::RW,
16427 >::from_register(self, 0)
16428 }
16429
16430 #[doc = "IRQ Input Enable"]
16431 #[inline(always)]
16432 pub fn isel(
16433 self,
16434 ) -> crate::common::RegisterField<
16435 14,
16436 0x1,
16437 1,
16438 0,
16439 p60pfs::Isel,
16440 p60pfs::Isel,
16441 P60Pfs_SPEC,
16442 crate::common::RW,
16443 > {
16444 crate::common::RegisterField::<
16445 14,
16446 0x1,
16447 1,
16448 0,
16449 p60pfs::Isel,
16450 p60pfs::Isel,
16451 P60Pfs_SPEC,
16452 crate::common::RW,
16453 >::from_register(self, 0)
16454 }
16455
16456 #[doc = "Analog Input Enable"]
16457 #[inline(always)]
16458 pub fn asel(
16459 self,
16460 ) -> crate::common::RegisterField<
16461 15,
16462 0x1,
16463 1,
16464 0,
16465 p60pfs::Asel,
16466 p60pfs::Asel,
16467 P60Pfs_SPEC,
16468 crate::common::RW,
16469 > {
16470 crate::common::RegisterField::<
16471 15,
16472 0x1,
16473 1,
16474 0,
16475 p60pfs::Asel,
16476 p60pfs::Asel,
16477 P60Pfs_SPEC,
16478 crate::common::RW,
16479 >::from_register(self, 0)
16480 }
16481
16482 #[doc = "Port Mode Control"]
16483 #[inline(always)]
16484 pub fn pmr(
16485 self,
16486 ) -> crate::common::RegisterField<
16487 16,
16488 0x1,
16489 1,
16490 0,
16491 p60pfs::Pmr,
16492 p60pfs::Pmr,
16493 P60Pfs_SPEC,
16494 crate::common::RW,
16495 > {
16496 crate::common::RegisterField::<
16497 16,
16498 0x1,
16499 1,
16500 0,
16501 p60pfs::Pmr,
16502 p60pfs::Pmr,
16503 P60Pfs_SPEC,
16504 crate::common::RW,
16505 >::from_register(self, 0)
16506 }
16507
16508 #[doc = "Peripheral Select"]
16509 #[inline(always)]
16510 pub fn psel(
16511 self,
16512 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P60Pfs_SPEC, crate::common::RW> {
16513 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P60Pfs_SPEC,crate::common::RW>::from_register(self,0)
16514 }
16515}
16516impl ::core::default::Default for P60Pfs {
16517 #[inline(always)]
16518 fn default() -> P60Pfs {
16519 <crate::RegValueT<P60Pfs_SPEC> as RegisterValue<_>>::new(0)
16520 }
16521}
16522pub mod p60pfs {
16523
16524 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16525 pub struct Podr_SPEC;
16526 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16527 impl Podr {
16528 #[doc = "Output low"]
16529 pub const _0: Self = Self::new(0);
16530
16531 #[doc = "Output high"]
16532 pub const _1: Self = Self::new(1);
16533 }
16534 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16535 pub struct Pidr_SPEC;
16536 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16537 impl Pidr {
16538 #[doc = "Low level"]
16539 pub const _0: Self = Self::new(0);
16540
16541 #[doc = "High level"]
16542 pub const _1: Self = Self::new(1);
16543 }
16544 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16545 pub struct Pdr_SPEC;
16546 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16547 impl Pdr {
16548 #[doc = "Input (functions as an input pin)"]
16549 pub const _0: Self = Self::new(0);
16550
16551 #[doc = "Output (functions as an output pin)"]
16552 pub const _1: Self = Self::new(1);
16553 }
16554 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16555 pub struct Pcr_SPEC;
16556 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16557 impl Pcr {
16558 #[doc = "Disable input pull-up"]
16559 pub const _0: Self = Self::new(0);
16560
16561 #[doc = "Enable input pull-up"]
16562 pub const _1: Self = Self::new(1);
16563 }
16564 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16565 pub struct Ncodr_SPEC;
16566 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16567 impl Ncodr {
16568 #[doc = "Output CMOS"]
16569 pub const _0: Self = Self::new(0);
16570
16571 #[doc = "Output NMOS open-drain"]
16572 pub const _1: Self = Self::new(1);
16573 }
16574 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16575 pub struct Dscr_SPEC;
16576 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
16577 impl Dscr {
16578 #[doc = "Low drive"]
16579 pub const _00: Self = Self::new(0);
16580
16581 #[doc = "Middle drive"]
16582 pub const _01: Self = Self::new(1);
16583
16584 #[doc = "Setting prohibited"]
16585 pub const _10: Self = Self::new(2);
16586
16587 #[doc = "High drive"]
16588 pub const _11: Self = Self::new(3);
16589 }
16590 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16591 pub struct Eofr_SPEC;
16592 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
16593 impl Eofr {
16594 #[doc = "Don\'t care"]
16595 pub const _00: Self = Self::new(0);
16596
16597 #[doc = "Detect rising edge"]
16598 pub const _01: Self = Self::new(1);
16599
16600 #[doc = "Detect falling edge"]
16601 pub const _10: Self = Self::new(2);
16602
16603 #[doc = "Detect both edges"]
16604 pub const _11: Self = Self::new(3);
16605 }
16606 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16607 pub struct Isel_SPEC;
16608 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16609 impl Isel {
16610 #[doc = "Do not use as IRQn input pin"]
16611 pub const _0: Self = Self::new(0);
16612
16613 #[doc = "Use as IRQn input pin"]
16614 pub const _1: Self = Self::new(1);
16615 }
16616 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16617 pub struct Asel_SPEC;
16618 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16619 impl Asel {
16620 #[doc = "Do not use as analog pin"]
16621 pub const _0: Self = Self::new(0);
16622
16623 #[doc = "Use as analog pin"]
16624 pub const _1: Self = Self::new(1);
16625 }
16626 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16627 pub struct Pmr_SPEC;
16628 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
16629 impl Pmr {
16630 #[doc = "Use as general I/O pin"]
16631 pub const _0: Self = Self::new(0);
16632
16633 #[doc = "Use as I/O port for peripheral functions"]
16634 pub const _1: Self = Self::new(1);
16635 }
16636}
16637#[doc(hidden)]
16638#[derive(Copy, Clone, Eq, PartialEq)]
16639pub struct P60PfsHa_SPEC;
16640impl crate::sealed::RegSpec for P60PfsHa_SPEC {
16641 type DataType = u16;
16642}
16643
16644#[doc = "Port 60%s Pin Function Select Register"]
16645pub type P60PfsHa = crate::RegValueT<P60PfsHa_SPEC>;
16646
16647impl P60PfsHa {
16648 #[doc = "Port Output Data"]
16649 #[inline(always)]
16650 pub fn podr(
16651 self,
16652 ) -> crate::common::RegisterField<
16653 0,
16654 0x1,
16655 1,
16656 0,
16657 p60pfs_ha::Podr,
16658 p60pfs_ha::Podr,
16659 P60PfsHa_SPEC,
16660 crate::common::RW,
16661 > {
16662 crate::common::RegisterField::<
16663 0,
16664 0x1,
16665 1,
16666 0,
16667 p60pfs_ha::Podr,
16668 p60pfs_ha::Podr,
16669 P60PfsHa_SPEC,
16670 crate::common::RW,
16671 >::from_register(self, 0)
16672 }
16673
16674 #[doc = "Port State"]
16675 #[inline(always)]
16676 pub fn pidr(
16677 self,
16678 ) -> crate::common::RegisterField<
16679 1,
16680 0x1,
16681 1,
16682 0,
16683 p60pfs_ha::Pidr,
16684 p60pfs_ha::Pidr,
16685 P60PfsHa_SPEC,
16686 crate::common::R,
16687 > {
16688 crate::common::RegisterField::<
16689 1,
16690 0x1,
16691 1,
16692 0,
16693 p60pfs_ha::Pidr,
16694 p60pfs_ha::Pidr,
16695 P60PfsHa_SPEC,
16696 crate::common::R,
16697 >::from_register(self, 0)
16698 }
16699
16700 #[doc = "Port Direction"]
16701 #[inline(always)]
16702 pub fn pdr(
16703 self,
16704 ) -> crate::common::RegisterField<
16705 2,
16706 0x1,
16707 1,
16708 0,
16709 p60pfs_ha::Pdr,
16710 p60pfs_ha::Pdr,
16711 P60PfsHa_SPEC,
16712 crate::common::RW,
16713 > {
16714 crate::common::RegisterField::<
16715 2,
16716 0x1,
16717 1,
16718 0,
16719 p60pfs_ha::Pdr,
16720 p60pfs_ha::Pdr,
16721 P60PfsHa_SPEC,
16722 crate::common::RW,
16723 >::from_register(self, 0)
16724 }
16725
16726 #[doc = "Pull-up Control"]
16727 #[inline(always)]
16728 pub fn pcr(
16729 self,
16730 ) -> crate::common::RegisterField<
16731 4,
16732 0x1,
16733 1,
16734 0,
16735 p60pfs_ha::Pcr,
16736 p60pfs_ha::Pcr,
16737 P60PfsHa_SPEC,
16738 crate::common::RW,
16739 > {
16740 crate::common::RegisterField::<
16741 4,
16742 0x1,
16743 1,
16744 0,
16745 p60pfs_ha::Pcr,
16746 p60pfs_ha::Pcr,
16747 P60PfsHa_SPEC,
16748 crate::common::RW,
16749 >::from_register(self, 0)
16750 }
16751
16752 #[doc = "N-Channel Open-Drain Control"]
16753 #[inline(always)]
16754 pub fn ncodr(
16755 self,
16756 ) -> crate::common::RegisterField<
16757 6,
16758 0x1,
16759 1,
16760 0,
16761 p60pfs_ha::Ncodr,
16762 p60pfs_ha::Ncodr,
16763 P60PfsHa_SPEC,
16764 crate::common::RW,
16765 > {
16766 crate::common::RegisterField::<
16767 6,
16768 0x1,
16769 1,
16770 0,
16771 p60pfs_ha::Ncodr,
16772 p60pfs_ha::Ncodr,
16773 P60PfsHa_SPEC,
16774 crate::common::RW,
16775 >::from_register(self, 0)
16776 }
16777
16778 #[doc = "Port Drive Capability"]
16779 #[inline(always)]
16780 pub fn dscr(
16781 self,
16782 ) -> crate::common::RegisterField<
16783 10,
16784 0x3,
16785 1,
16786 0,
16787 p60pfs_ha::Dscr,
16788 p60pfs_ha::Dscr,
16789 P60PfsHa_SPEC,
16790 crate::common::RW,
16791 > {
16792 crate::common::RegisterField::<
16793 10,
16794 0x3,
16795 1,
16796 0,
16797 p60pfs_ha::Dscr,
16798 p60pfs_ha::Dscr,
16799 P60PfsHa_SPEC,
16800 crate::common::RW,
16801 >::from_register(self, 0)
16802 }
16803
16804 #[doc = "Event on Falling/Event on Rising"]
16805 #[inline(always)]
16806 pub fn eofr(
16807 self,
16808 ) -> crate::common::RegisterField<
16809 12,
16810 0x3,
16811 1,
16812 0,
16813 p60pfs_ha::Eofr,
16814 p60pfs_ha::Eofr,
16815 P60PfsHa_SPEC,
16816 crate::common::RW,
16817 > {
16818 crate::common::RegisterField::<
16819 12,
16820 0x3,
16821 1,
16822 0,
16823 p60pfs_ha::Eofr,
16824 p60pfs_ha::Eofr,
16825 P60PfsHa_SPEC,
16826 crate::common::RW,
16827 >::from_register(self, 0)
16828 }
16829
16830 #[doc = "IRQ Input Enable"]
16831 #[inline(always)]
16832 pub fn isel(
16833 self,
16834 ) -> crate::common::RegisterField<
16835 14,
16836 0x1,
16837 1,
16838 0,
16839 p60pfs_ha::Isel,
16840 p60pfs_ha::Isel,
16841 P60PfsHa_SPEC,
16842 crate::common::RW,
16843 > {
16844 crate::common::RegisterField::<
16845 14,
16846 0x1,
16847 1,
16848 0,
16849 p60pfs_ha::Isel,
16850 p60pfs_ha::Isel,
16851 P60PfsHa_SPEC,
16852 crate::common::RW,
16853 >::from_register(self, 0)
16854 }
16855
16856 #[doc = "Analog Input Enable"]
16857 #[inline(always)]
16858 pub fn asel(
16859 self,
16860 ) -> crate::common::RegisterField<
16861 15,
16862 0x1,
16863 1,
16864 0,
16865 p60pfs_ha::Asel,
16866 p60pfs_ha::Asel,
16867 P60PfsHa_SPEC,
16868 crate::common::RW,
16869 > {
16870 crate::common::RegisterField::<
16871 15,
16872 0x1,
16873 1,
16874 0,
16875 p60pfs_ha::Asel,
16876 p60pfs_ha::Asel,
16877 P60PfsHa_SPEC,
16878 crate::common::RW,
16879 >::from_register(self, 0)
16880 }
16881}
16882impl ::core::default::Default for P60PfsHa {
16883 #[inline(always)]
16884 fn default() -> P60PfsHa {
16885 <crate::RegValueT<P60PfsHa_SPEC> as RegisterValue<_>>::new(0)
16886 }
16887}
16888pub mod p60pfs_ha {
16889
16890 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16891 pub struct Podr_SPEC;
16892 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16893 impl Podr {
16894 #[doc = "Output low"]
16895 pub const _0: Self = Self::new(0);
16896
16897 #[doc = "Output high"]
16898 pub const _1: Self = Self::new(1);
16899 }
16900 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16901 pub struct Pidr_SPEC;
16902 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16903 impl Pidr {
16904 #[doc = "Low level"]
16905 pub const _0: Self = Self::new(0);
16906
16907 #[doc = "High level"]
16908 pub const _1: Self = Self::new(1);
16909 }
16910 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16911 pub struct Pdr_SPEC;
16912 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16913 impl Pdr {
16914 #[doc = "Input (functions as an input pin)"]
16915 pub const _0: Self = Self::new(0);
16916
16917 #[doc = "Output (functions as an output pin)"]
16918 pub const _1: Self = Self::new(1);
16919 }
16920 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16921 pub struct Pcr_SPEC;
16922 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16923 impl Pcr {
16924 #[doc = "Disable input pull-up"]
16925 pub const _0: Self = Self::new(0);
16926
16927 #[doc = "Enable input pull-up"]
16928 pub const _1: Self = Self::new(1);
16929 }
16930 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16931 pub struct Ncodr_SPEC;
16932 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16933 impl Ncodr {
16934 #[doc = "Output CMOS"]
16935 pub const _0: Self = Self::new(0);
16936
16937 #[doc = "Output NMOS open-drain"]
16938 pub const _1: Self = Self::new(1);
16939 }
16940 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16941 pub struct Dscr_SPEC;
16942 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
16943 impl Dscr {
16944 #[doc = "Low drive"]
16945 pub const _00: Self = Self::new(0);
16946
16947 #[doc = "Middle drive"]
16948 pub const _01: Self = Self::new(1);
16949
16950 #[doc = "Setting prohibited"]
16951 pub const _10: Self = Self::new(2);
16952
16953 #[doc = "High drive"]
16954 pub const _11: Self = Self::new(3);
16955 }
16956 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16957 pub struct Eofr_SPEC;
16958 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
16959 impl Eofr {
16960 #[doc = "Don\'t care"]
16961 pub const _00: Self = Self::new(0);
16962
16963 #[doc = "Detect rising edge"]
16964 pub const _01: Self = Self::new(1);
16965
16966 #[doc = "Detect falling edge"]
16967 pub const _10: Self = Self::new(2);
16968
16969 #[doc = "Detect both edges"]
16970 pub const _11: Self = Self::new(3);
16971 }
16972 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16973 pub struct Isel_SPEC;
16974 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16975 impl Isel {
16976 #[doc = "Do not use as IRQn input pin"]
16977 pub const _0: Self = Self::new(0);
16978
16979 #[doc = "Use as IRQn input pin"]
16980 pub const _1: Self = Self::new(1);
16981 }
16982 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16983 pub struct Asel_SPEC;
16984 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16985 impl Asel {
16986 #[doc = "Do not use as analog pin"]
16987 pub const _0: Self = Self::new(0);
16988
16989 #[doc = "Use as analog pin"]
16990 pub const _1: Self = Self::new(1);
16991 }
16992}
16993#[doc(hidden)]
16994#[derive(Copy, Clone, Eq, PartialEq)]
16995pub struct P60PfsBy_SPEC;
16996impl crate::sealed::RegSpec for P60PfsBy_SPEC {
16997 type DataType = u8;
16998}
16999
17000#[doc = "Port 60%s Pin Function Select Register"]
17001pub type P60PfsBy = crate::RegValueT<P60PfsBy_SPEC>;
17002
17003impl P60PfsBy {
17004 #[doc = "Port Output Data"]
17005 #[inline(always)]
17006 pub fn podr(
17007 self,
17008 ) -> crate::common::RegisterField<
17009 0,
17010 0x1,
17011 1,
17012 0,
17013 p60pfs_by::Podr,
17014 p60pfs_by::Podr,
17015 P60PfsBy_SPEC,
17016 crate::common::RW,
17017 > {
17018 crate::common::RegisterField::<
17019 0,
17020 0x1,
17021 1,
17022 0,
17023 p60pfs_by::Podr,
17024 p60pfs_by::Podr,
17025 P60PfsBy_SPEC,
17026 crate::common::RW,
17027 >::from_register(self, 0)
17028 }
17029
17030 #[doc = "Port State"]
17031 #[inline(always)]
17032 pub fn pidr(
17033 self,
17034 ) -> crate::common::RegisterField<
17035 1,
17036 0x1,
17037 1,
17038 0,
17039 p60pfs_by::Pidr,
17040 p60pfs_by::Pidr,
17041 P60PfsBy_SPEC,
17042 crate::common::R,
17043 > {
17044 crate::common::RegisterField::<
17045 1,
17046 0x1,
17047 1,
17048 0,
17049 p60pfs_by::Pidr,
17050 p60pfs_by::Pidr,
17051 P60PfsBy_SPEC,
17052 crate::common::R,
17053 >::from_register(self, 0)
17054 }
17055
17056 #[doc = "Port Direction"]
17057 #[inline(always)]
17058 pub fn pdr(
17059 self,
17060 ) -> crate::common::RegisterField<
17061 2,
17062 0x1,
17063 1,
17064 0,
17065 p60pfs_by::Pdr,
17066 p60pfs_by::Pdr,
17067 P60PfsBy_SPEC,
17068 crate::common::RW,
17069 > {
17070 crate::common::RegisterField::<
17071 2,
17072 0x1,
17073 1,
17074 0,
17075 p60pfs_by::Pdr,
17076 p60pfs_by::Pdr,
17077 P60PfsBy_SPEC,
17078 crate::common::RW,
17079 >::from_register(self, 0)
17080 }
17081
17082 #[doc = "Pull-up Control"]
17083 #[inline(always)]
17084 pub fn pcr(
17085 self,
17086 ) -> crate::common::RegisterField<
17087 4,
17088 0x1,
17089 1,
17090 0,
17091 p60pfs_by::Pcr,
17092 p60pfs_by::Pcr,
17093 P60PfsBy_SPEC,
17094 crate::common::RW,
17095 > {
17096 crate::common::RegisterField::<
17097 4,
17098 0x1,
17099 1,
17100 0,
17101 p60pfs_by::Pcr,
17102 p60pfs_by::Pcr,
17103 P60PfsBy_SPEC,
17104 crate::common::RW,
17105 >::from_register(self, 0)
17106 }
17107
17108 #[doc = "N-Channel Open-Drain Control"]
17109 #[inline(always)]
17110 pub fn ncodr(
17111 self,
17112 ) -> crate::common::RegisterField<
17113 6,
17114 0x1,
17115 1,
17116 0,
17117 p60pfs_by::Ncodr,
17118 p60pfs_by::Ncodr,
17119 P60PfsBy_SPEC,
17120 crate::common::RW,
17121 > {
17122 crate::common::RegisterField::<
17123 6,
17124 0x1,
17125 1,
17126 0,
17127 p60pfs_by::Ncodr,
17128 p60pfs_by::Ncodr,
17129 P60PfsBy_SPEC,
17130 crate::common::RW,
17131 >::from_register(self, 0)
17132 }
17133}
17134impl ::core::default::Default for P60PfsBy {
17135 #[inline(always)]
17136 fn default() -> P60PfsBy {
17137 <crate::RegValueT<P60PfsBy_SPEC> as RegisterValue<_>>::new(0)
17138 }
17139}
17140pub mod p60pfs_by {
17141
17142 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17143 pub struct Podr_SPEC;
17144 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
17145 impl Podr {
17146 #[doc = "Output low"]
17147 pub const _0: Self = Self::new(0);
17148
17149 #[doc = "Output high"]
17150 pub const _1: Self = Self::new(1);
17151 }
17152 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17153 pub struct Pidr_SPEC;
17154 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
17155 impl Pidr {
17156 #[doc = "Low level"]
17157 pub const _0: Self = Self::new(0);
17158
17159 #[doc = "High level"]
17160 pub const _1: Self = Self::new(1);
17161 }
17162 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17163 pub struct Pdr_SPEC;
17164 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
17165 impl Pdr {
17166 #[doc = "Input (functions as an input pin)"]
17167 pub const _0: Self = Self::new(0);
17168
17169 #[doc = "Output (functions as an output pin)"]
17170 pub const _1: Self = Self::new(1);
17171 }
17172 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17173 pub struct Pcr_SPEC;
17174 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
17175 impl Pcr {
17176 #[doc = "Disable input pull-up"]
17177 pub const _0: Self = Self::new(0);
17178
17179 #[doc = "Enable input pull-up"]
17180 pub const _1: Self = Self::new(1);
17181 }
17182 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17183 pub struct Ncodr_SPEC;
17184 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
17185 impl Ncodr {
17186 #[doc = "Output CMOS"]
17187 pub const _0: Self = Self::new(0);
17188
17189 #[doc = "Output NMOS open-drain"]
17190 pub const _1: Self = Self::new(1);
17191 }
17192}
17193#[doc(hidden)]
17194#[derive(Copy, Clone, Eq, PartialEq)]
17195pub struct P610Pfs_SPEC;
17196impl crate::sealed::RegSpec for P610Pfs_SPEC {
17197 type DataType = u32;
17198}
17199
17200#[doc = "Port 610 Pin Function Select Register"]
17201pub type P610Pfs = crate::RegValueT<P610Pfs_SPEC>;
17202
17203impl P610Pfs {
17204 #[doc = "Port Output Data"]
17205 #[inline(always)]
17206 pub fn podr(
17207 self,
17208 ) -> crate::common::RegisterField<
17209 0,
17210 0x1,
17211 1,
17212 0,
17213 p610pfs::Podr,
17214 p610pfs::Podr,
17215 P610Pfs_SPEC,
17216 crate::common::RW,
17217 > {
17218 crate::common::RegisterField::<
17219 0,
17220 0x1,
17221 1,
17222 0,
17223 p610pfs::Podr,
17224 p610pfs::Podr,
17225 P610Pfs_SPEC,
17226 crate::common::RW,
17227 >::from_register(self, 0)
17228 }
17229
17230 #[doc = "Port State"]
17231 #[inline(always)]
17232 pub fn pidr(
17233 self,
17234 ) -> crate::common::RegisterField<
17235 1,
17236 0x1,
17237 1,
17238 0,
17239 p610pfs::Pidr,
17240 p610pfs::Pidr,
17241 P610Pfs_SPEC,
17242 crate::common::R,
17243 > {
17244 crate::common::RegisterField::<
17245 1,
17246 0x1,
17247 1,
17248 0,
17249 p610pfs::Pidr,
17250 p610pfs::Pidr,
17251 P610Pfs_SPEC,
17252 crate::common::R,
17253 >::from_register(self, 0)
17254 }
17255
17256 #[doc = "Port Direction"]
17257 #[inline(always)]
17258 pub fn pdr(
17259 self,
17260 ) -> crate::common::RegisterField<
17261 2,
17262 0x1,
17263 1,
17264 0,
17265 p610pfs::Pdr,
17266 p610pfs::Pdr,
17267 P610Pfs_SPEC,
17268 crate::common::RW,
17269 > {
17270 crate::common::RegisterField::<
17271 2,
17272 0x1,
17273 1,
17274 0,
17275 p610pfs::Pdr,
17276 p610pfs::Pdr,
17277 P610Pfs_SPEC,
17278 crate::common::RW,
17279 >::from_register(self, 0)
17280 }
17281
17282 #[doc = "Pull-up Control"]
17283 #[inline(always)]
17284 pub fn pcr(
17285 self,
17286 ) -> crate::common::RegisterField<
17287 4,
17288 0x1,
17289 1,
17290 0,
17291 p610pfs::Pcr,
17292 p610pfs::Pcr,
17293 P610Pfs_SPEC,
17294 crate::common::RW,
17295 > {
17296 crate::common::RegisterField::<
17297 4,
17298 0x1,
17299 1,
17300 0,
17301 p610pfs::Pcr,
17302 p610pfs::Pcr,
17303 P610Pfs_SPEC,
17304 crate::common::RW,
17305 >::from_register(self, 0)
17306 }
17307
17308 #[doc = "N-Channel Open-Drain Control"]
17309 #[inline(always)]
17310 pub fn ncodr(
17311 self,
17312 ) -> crate::common::RegisterField<
17313 6,
17314 0x1,
17315 1,
17316 0,
17317 p610pfs::Ncodr,
17318 p610pfs::Ncodr,
17319 P610Pfs_SPEC,
17320 crate::common::RW,
17321 > {
17322 crate::common::RegisterField::<
17323 6,
17324 0x1,
17325 1,
17326 0,
17327 p610pfs::Ncodr,
17328 p610pfs::Ncodr,
17329 P610Pfs_SPEC,
17330 crate::common::RW,
17331 >::from_register(self, 0)
17332 }
17333
17334 #[doc = "Port Drive Capability"]
17335 #[inline(always)]
17336 pub fn dscr(
17337 self,
17338 ) -> crate::common::RegisterField<
17339 10,
17340 0x3,
17341 1,
17342 0,
17343 p610pfs::Dscr,
17344 p610pfs::Dscr,
17345 P610Pfs_SPEC,
17346 crate::common::RW,
17347 > {
17348 crate::common::RegisterField::<
17349 10,
17350 0x3,
17351 1,
17352 0,
17353 p610pfs::Dscr,
17354 p610pfs::Dscr,
17355 P610Pfs_SPEC,
17356 crate::common::RW,
17357 >::from_register(self, 0)
17358 }
17359
17360 #[doc = "Event on Falling/Event on Rising"]
17361 #[inline(always)]
17362 pub fn eofr(
17363 self,
17364 ) -> crate::common::RegisterField<
17365 12,
17366 0x3,
17367 1,
17368 0,
17369 p610pfs::Eofr,
17370 p610pfs::Eofr,
17371 P610Pfs_SPEC,
17372 crate::common::RW,
17373 > {
17374 crate::common::RegisterField::<
17375 12,
17376 0x3,
17377 1,
17378 0,
17379 p610pfs::Eofr,
17380 p610pfs::Eofr,
17381 P610Pfs_SPEC,
17382 crate::common::RW,
17383 >::from_register(self, 0)
17384 }
17385
17386 #[doc = "IRQ Input Enable"]
17387 #[inline(always)]
17388 pub fn isel(
17389 self,
17390 ) -> crate::common::RegisterField<
17391 14,
17392 0x1,
17393 1,
17394 0,
17395 p610pfs::Isel,
17396 p610pfs::Isel,
17397 P610Pfs_SPEC,
17398 crate::common::RW,
17399 > {
17400 crate::common::RegisterField::<
17401 14,
17402 0x1,
17403 1,
17404 0,
17405 p610pfs::Isel,
17406 p610pfs::Isel,
17407 P610Pfs_SPEC,
17408 crate::common::RW,
17409 >::from_register(self, 0)
17410 }
17411
17412 #[doc = "Analog Input Enable"]
17413 #[inline(always)]
17414 pub fn asel(
17415 self,
17416 ) -> crate::common::RegisterField<
17417 15,
17418 0x1,
17419 1,
17420 0,
17421 p610pfs::Asel,
17422 p610pfs::Asel,
17423 P610Pfs_SPEC,
17424 crate::common::RW,
17425 > {
17426 crate::common::RegisterField::<
17427 15,
17428 0x1,
17429 1,
17430 0,
17431 p610pfs::Asel,
17432 p610pfs::Asel,
17433 P610Pfs_SPEC,
17434 crate::common::RW,
17435 >::from_register(self, 0)
17436 }
17437
17438 #[doc = "Port Mode Control"]
17439 #[inline(always)]
17440 pub fn pmr(
17441 self,
17442 ) -> crate::common::RegisterField<
17443 16,
17444 0x1,
17445 1,
17446 0,
17447 p610pfs::Pmr,
17448 p610pfs::Pmr,
17449 P610Pfs_SPEC,
17450 crate::common::RW,
17451 > {
17452 crate::common::RegisterField::<
17453 16,
17454 0x1,
17455 1,
17456 0,
17457 p610pfs::Pmr,
17458 p610pfs::Pmr,
17459 P610Pfs_SPEC,
17460 crate::common::RW,
17461 >::from_register(self, 0)
17462 }
17463
17464 #[doc = "Peripheral Select"]
17465 #[inline(always)]
17466 pub fn psel(
17467 self,
17468 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P610Pfs_SPEC, crate::common::RW> {
17469 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P610Pfs_SPEC,crate::common::RW>::from_register(self,0)
17470 }
17471}
17472impl ::core::default::Default for P610Pfs {
17473 #[inline(always)]
17474 fn default() -> P610Pfs {
17475 <crate::RegValueT<P610Pfs_SPEC> as RegisterValue<_>>::new(0)
17476 }
17477}
17478pub mod p610pfs {
17479
17480 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17481 pub struct Podr_SPEC;
17482 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
17483 impl Podr {
17484 #[doc = "Output low"]
17485 pub const _0: Self = Self::new(0);
17486
17487 #[doc = "Output high"]
17488 pub const _1: Self = Self::new(1);
17489 }
17490 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17491 pub struct Pidr_SPEC;
17492 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
17493 impl Pidr {
17494 #[doc = "Low level"]
17495 pub const _0: Self = Self::new(0);
17496
17497 #[doc = "High level"]
17498 pub const _1: Self = Self::new(1);
17499 }
17500 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17501 pub struct Pdr_SPEC;
17502 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
17503 impl Pdr {
17504 #[doc = "Input (functions as an input pin)"]
17505 pub const _0: Self = Self::new(0);
17506
17507 #[doc = "Output (functions as an output pin)"]
17508 pub const _1: Self = Self::new(1);
17509 }
17510 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17511 pub struct Pcr_SPEC;
17512 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
17513 impl Pcr {
17514 #[doc = "Disable input pull-up"]
17515 pub const _0: Self = Self::new(0);
17516
17517 #[doc = "Enable input pull-up"]
17518 pub const _1: Self = Self::new(1);
17519 }
17520 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17521 pub struct Ncodr_SPEC;
17522 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
17523 impl Ncodr {
17524 #[doc = "Output CMOS"]
17525 pub const _0: Self = Self::new(0);
17526
17527 #[doc = "Output NMOS open-drain"]
17528 pub const _1: Self = Self::new(1);
17529 }
17530 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17531 pub struct Dscr_SPEC;
17532 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
17533 impl Dscr {
17534 #[doc = "Low drive"]
17535 pub const _00: Self = Self::new(0);
17536
17537 #[doc = "Middle drive"]
17538 pub const _01: Self = Self::new(1);
17539
17540 #[doc = "Setting prohibited"]
17541 pub const _10: Self = Self::new(2);
17542
17543 #[doc = "High drive"]
17544 pub const _11: Self = Self::new(3);
17545 }
17546 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17547 pub struct Eofr_SPEC;
17548 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
17549 impl Eofr {
17550 #[doc = "Don\'t care"]
17551 pub const _00: Self = Self::new(0);
17552
17553 #[doc = "Detect rising edge"]
17554 pub const _01: Self = Self::new(1);
17555
17556 #[doc = "Detect falling edge"]
17557 pub const _10: Self = Self::new(2);
17558
17559 #[doc = "Detect both edges"]
17560 pub const _11: Self = Self::new(3);
17561 }
17562 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17563 pub struct Isel_SPEC;
17564 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
17565 impl Isel {
17566 #[doc = "Do not use as IRQn input pin"]
17567 pub const _0: Self = Self::new(0);
17568
17569 #[doc = "Use as IRQn input pin"]
17570 pub const _1: Self = Self::new(1);
17571 }
17572 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17573 pub struct Asel_SPEC;
17574 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
17575 impl Asel {
17576 #[doc = "Do not use as analog pin"]
17577 pub const _0: Self = Self::new(0);
17578
17579 #[doc = "Use as analog pin"]
17580 pub const _1: Self = Self::new(1);
17581 }
17582 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17583 pub struct Pmr_SPEC;
17584 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
17585 impl Pmr {
17586 #[doc = "Use as general I/O pin"]
17587 pub const _0: Self = Self::new(0);
17588
17589 #[doc = "Use as I/O port for peripheral functions"]
17590 pub const _1: Self = Self::new(1);
17591 }
17592}
17593#[doc(hidden)]
17594#[derive(Copy, Clone, Eq, PartialEq)]
17595pub struct P610PfsHa_SPEC;
17596impl crate::sealed::RegSpec for P610PfsHa_SPEC {
17597 type DataType = u16;
17598}
17599
17600#[doc = "Port 610 Pin Function Select Register"]
17601pub type P610PfsHa = crate::RegValueT<P610PfsHa_SPEC>;
17602
17603impl P610PfsHa {
17604 #[doc = "Port Output Data"]
17605 #[inline(always)]
17606 pub fn podr(
17607 self,
17608 ) -> crate::common::RegisterField<
17609 0,
17610 0x1,
17611 1,
17612 0,
17613 p610pfs_ha::Podr,
17614 p610pfs_ha::Podr,
17615 P610PfsHa_SPEC,
17616 crate::common::RW,
17617 > {
17618 crate::common::RegisterField::<
17619 0,
17620 0x1,
17621 1,
17622 0,
17623 p610pfs_ha::Podr,
17624 p610pfs_ha::Podr,
17625 P610PfsHa_SPEC,
17626 crate::common::RW,
17627 >::from_register(self, 0)
17628 }
17629
17630 #[doc = "Port State"]
17631 #[inline(always)]
17632 pub fn pidr(
17633 self,
17634 ) -> crate::common::RegisterField<
17635 1,
17636 0x1,
17637 1,
17638 0,
17639 p610pfs_ha::Pidr,
17640 p610pfs_ha::Pidr,
17641 P610PfsHa_SPEC,
17642 crate::common::R,
17643 > {
17644 crate::common::RegisterField::<
17645 1,
17646 0x1,
17647 1,
17648 0,
17649 p610pfs_ha::Pidr,
17650 p610pfs_ha::Pidr,
17651 P610PfsHa_SPEC,
17652 crate::common::R,
17653 >::from_register(self, 0)
17654 }
17655
17656 #[doc = "Port Direction"]
17657 #[inline(always)]
17658 pub fn pdr(
17659 self,
17660 ) -> crate::common::RegisterField<
17661 2,
17662 0x1,
17663 1,
17664 0,
17665 p610pfs_ha::Pdr,
17666 p610pfs_ha::Pdr,
17667 P610PfsHa_SPEC,
17668 crate::common::RW,
17669 > {
17670 crate::common::RegisterField::<
17671 2,
17672 0x1,
17673 1,
17674 0,
17675 p610pfs_ha::Pdr,
17676 p610pfs_ha::Pdr,
17677 P610PfsHa_SPEC,
17678 crate::common::RW,
17679 >::from_register(self, 0)
17680 }
17681
17682 #[doc = "Pull-up Control"]
17683 #[inline(always)]
17684 pub fn pcr(
17685 self,
17686 ) -> crate::common::RegisterField<
17687 4,
17688 0x1,
17689 1,
17690 0,
17691 p610pfs_ha::Pcr,
17692 p610pfs_ha::Pcr,
17693 P610PfsHa_SPEC,
17694 crate::common::RW,
17695 > {
17696 crate::common::RegisterField::<
17697 4,
17698 0x1,
17699 1,
17700 0,
17701 p610pfs_ha::Pcr,
17702 p610pfs_ha::Pcr,
17703 P610PfsHa_SPEC,
17704 crate::common::RW,
17705 >::from_register(self, 0)
17706 }
17707
17708 #[doc = "N-Channel Open-Drain Control"]
17709 #[inline(always)]
17710 pub fn ncodr(
17711 self,
17712 ) -> crate::common::RegisterField<
17713 6,
17714 0x1,
17715 1,
17716 0,
17717 p610pfs_ha::Ncodr,
17718 p610pfs_ha::Ncodr,
17719 P610PfsHa_SPEC,
17720 crate::common::RW,
17721 > {
17722 crate::common::RegisterField::<
17723 6,
17724 0x1,
17725 1,
17726 0,
17727 p610pfs_ha::Ncodr,
17728 p610pfs_ha::Ncodr,
17729 P610PfsHa_SPEC,
17730 crate::common::RW,
17731 >::from_register(self, 0)
17732 }
17733
17734 #[doc = "Port Drive Capability"]
17735 #[inline(always)]
17736 pub fn dscr(
17737 self,
17738 ) -> crate::common::RegisterField<
17739 10,
17740 0x3,
17741 1,
17742 0,
17743 p610pfs_ha::Dscr,
17744 p610pfs_ha::Dscr,
17745 P610PfsHa_SPEC,
17746 crate::common::RW,
17747 > {
17748 crate::common::RegisterField::<
17749 10,
17750 0x3,
17751 1,
17752 0,
17753 p610pfs_ha::Dscr,
17754 p610pfs_ha::Dscr,
17755 P610PfsHa_SPEC,
17756 crate::common::RW,
17757 >::from_register(self, 0)
17758 }
17759
17760 #[doc = "Event on Falling/Event on Rising"]
17761 #[inline(always)]
17762 pub fn eofr(
17763 self,
17764 ) -> crate::common::RegisterField<
17765 12,
17766 0x3,
17767 1,
17768 0,
17769 p610pfs_ha::Eofr,
17770 p610pfs_ha::Eofr,
17771 P610PfsHa_SPEC,
17772 crate::common::RW,
17773 > {
17774 crate::common::RegisterField::<
17775 12,
17776 0x3,
17777 1,
17778 0,
17779 p610pfs_ha::Eofr,
17780 p610pfs_ha::Eofr,
17781 P610PfsHa_SPEC,
17782 crate::common::RW,
17783 >::from_register(self, 0)
17784 }
17785
17786 #[doc = "IRQ Input Enable"]
17787 #[inline(always)]
17788 pub fn isel(
17789 self,
17790 ) -> crate::common::RegisterField<
17791 14,
17792 0x1,
17793 1,
17794 0,
17795 p610pfs_ha::Isel,
17796 p610pfs_ha::Isel,
17797 P610PfsHa_SPEC,
17798 crate::common::RW,
17799 > {
17800 crate::common::RegisterField::<
17801 14,
17802 0x1,
17803 1,
17804 0,
17805 p610pfs_ha::Isel,
17806 p610pfs_ha::Isel,
17807 P610PfsHa_SPEC,
17808 crate::common::RW,
17809 >::from_register(self, 0)
17810 }
17811
17812 #[doc = "Analog Input Enable"]
17813 #[inline(always)]
17814 pub fn asel(
17815 self,
17816 ) -> crate::common::RegisterField<
17817 15,
17818 0x1,
17819 1,
17820 0,
17821 p610pfs_ha::Asel,
17822 p610pfs_ha::Asel,
17823 P610PfsHa_SPEC,
17824 crate::common::RW,
17825 > {
17826 crate::common::RegisterField::<
17827 15,
17828 0x1,
17829 1,
17830 0,
17831 p610pfs_ha::Asel,
17832 p610pfs_ha::Asel,
17833 P610PfsHa_SPEC,
17834 crate::common::RW,
17835 >::from_register(self, 0)
17836 }
17837}
17838impl ::core::default::Default for P610PfsHa {
17839 #[inline(always)]
17840 fn default() -> P610PfsHa {
17841 <crate::RegValueT<P610PfsHa_SPEC> as RegisterValue<_>>::new(0)
17842 }
17843}
17844pub mod p610pfs_ha {
17845
17846 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17847 pub struct Podr_SPEC;
17848 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
17849 impl Podr {
17850 #[doc = "Output low"]
17851 pub const _0: Self = Self::new(0);
17852
17853 #[doc = "Output high"]
17854 pub const _1: Self = Self::new(1);
17855 }
17856 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17857 pub struct Pidr_SPEC;
17858 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
17859 impl Pidr {
17860 #[doc = "Low level"]
17861 pub const _0: Self = Self::new(0);
17862
17863 #[doc = "High level"]
17864 pub const _1: Self = Self::new(1);
17865 }
17866 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17867 pub struct Pdr_SPEC;
17868 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
17869 impl Pdr {
17870 #[doc = "Input (functions as an input pin)"]
17871 pub const _0: Self = Self::new(0);
17872
17873 #[doc = "Output (functions as an output pin)"]
17874 pub const _1: Self = Self::new(1);
17875 }
17876 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17877 pub struct Pcr_SPEC;
17878 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
17879 impl Pcr {
17880 #[doc = "Disable input pull-up"]
17881 pub const _0: Self = Self::new(0);
17882
17883 #[doc = "Enable input pull-up"]
17884 pub const _1: Self = Self::new(1);
17885 }
17886 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17887 pub struct Ncodr_SPEC;
17888 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
17889 impl Ncodr {
17890 #[doc = "Output CMOS"]
17891 pub const _0: Self = Self::new(0);
17892
17893 #[doc = "Output NMOS open-drain"]
17894 pub const _1: Self = Self::new(1);
17895 }
17896 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17897 pub struct Dscr_SPEC;
17898 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
17899 impl Dscr {
17900 #[doc = "Low drive"]
17901 pub const _00: Self = Self::new(0);
17902
17903 #[doc = "Middle drive"]
17904 pub const _01: Self = Self::new(1);
17905
17906 #[doc = "Setting prohibited"]
17907 pub const _10: Self = Self::new(2);
17908
17909 #[doc = "High drive"]
17910 pub const _11: Self = Self::new(3);
17911 }
17912 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17913 pub struct Eofr_SPEC;
17914 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
17915 impl Eofr {
17916 #[doc = "Don\'t care"]
17917 pub const _00: Self = Self::new(0);
17918
17919 #[doc = "Detect rising edge"]
17920 pub const _01: Self = Self::new(1);
17921
17922 #[doc = "Detect falling edge"]
17923 pub const _10: Self = Self::new(2);
17924
17925 #[doc = "Detect both edges"]
17926 pub const _11: Self = Self::new(3);
17927 }
17928 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17929 pub struct Isel_SPEC;
17930 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
17931 impl Isel {
17932 #[doc = "Do not use as IRQn input pin"]
17933 pub const _0: Self = Self::new(0);
17934
17935 #[doc = "Use as IRQn input pin"]
17936 pub const _1: Self = Self::new(1);
17937 }
17938 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17939 pub struct Asel_SPEC;
17940 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
17941 impl Asel {
17942 #[doc = "Do not use as analog pin"]
17943 pub const _0: Self = Self::new(0);
17944
17945 #[doc = "Use as analog pin"]
17946 pub const _1: Self = Self::new(1);
17947 }
17948}
17949#[doc(hidden)]
17950#[derive(Copy, Clone, Eq, PartialEq)]
17951pub struct P610PfsBy_SPEC;
17952impl crate::sealed::RegSpec for P610PfsBy_SPEC {
17953 type DataType = u8;
17954}
17955
17956#[doc = "Port 610 Pin Function Select Register"]
17957pub type P610PfsBy = crate::RegValueT<P610PfsBy_SPEC>;
17958
17959impl P610PfsBy {
17960 #[doc = "Port Output Data"]
17961 #[inline(always)]
17962 pub fn podr(
17963 self,
17964 ) -> crate::common::RegisterField<
17965 0,
17966 0x1,
17967 1,
17968 0,
17969 p610pfs_by::Podr,
17970 p610pfs_by::Podr,
17971 P610PfsBy_SPEC,
17972 crate::common::RW,
17973 > {
17974 crate::common::RegisterField::<
17975 0,
17976 0x1,
17977 1,
17978 0,
17979 p610pfs_by::Podr,
17980 p610pfs_by::Podr,
17981 P610PfsBy_SPEC,
17982 crate::common::RW,
17983 >::from_register(self, 0)
17984 }
17985
17986 #[doc = "Port State"]
17987 #[inline(always)]
17988 pub fn pidr(
17989 self,
17990 ) -> crate::common::RegisterField<
17991 1,
17992 0x1,
17993 1,
17994 0,
17995 p610pfs_by::Pidr,
17996 p610pfs_by::Pidr,
17997 P610PfsBy_SPEC,
17998 crate::common::R,
17999 > {
18000 crate::common::RegisterField::<
18001 1,
18002 0x1,
18003 1,
18004 0,
18005 p610pfs_by::Pidr,
18006 p610pfs_by::Pidr,
18007 P610PfsBy_SPEC,
18008 crate::common::R,
18009 >::from_register(self, 0)
18010 }
18011
18012 #[doc = "Port Direction"]
18013 #[inline(always)]
18014 pub fn pdr(
18015 self,
18016 ) -> crate::common::RegisterField<
18017 2,
18018 0x1,
18019 1,
18020 0,
18021 p610pfs_by::Pdr,
18022 p610pfs_by::Pdr,
18023 P610PfsBy_SPEC,
18024 crate::common::RW,
18025 > {
18026 crate::common::RegisterField::<
18027 2,
18028 0x1,
18029 1,
18030 0,
18031 p610pfs_by::Pdr,
18032 p610pfs_by::Pdr,
18033 P610PfsBy_SPEC,
18034 crate::common::RW,
18035 >::from_register(self, 0)
18036 }
18037
18038 #[doc = "Pull-up Control"]
18039 #[inline(always)]
18040 pub fn pcr(
18041 self,
18042 ) -> crate::common::RegisterField<
18043 4,
18044 0x1,
18045 1,
18046 0,
18047 p610pfs_by::Pcr,
18048 p610pfs_by::Pcr,
18049 P610PfsBy_SPEC,
18050 crate::common::RW,
18051 > {
18052 crate::common::RegisterField::<
18053 4,
18054 0x1,
18055 1,
18056 0,
18057 p610pfs_by::Pcr,
18058 p610pfs_by::Pcr,
18059 P610PfsBy_SPEC,
18060 crate::common::RW,
18061 >::from_register(self, 0)
18062 }
18063
18064 #[doc = "N-Channel Open-Drain Control"]
18065 #[inline(always)]
18066 pub fn ncodr(
18067 self,
18068 ) -> crate::common::RegisterField<
18069 6,
18070 0x1,
18071 1,
18072 0,
18073 p610pfs_by::Ncodr,
18074 p610pfs_by::Ncodr,
18075 P610PfsBy_SPEC,
18076 crate::common::RW,
18077 > {
18078 crate::common::RegisterField::<
18079 6,
18080 0x1,
18081 1,
18082 0,
18083 p610pfs_by::Ncodr,
18084 p610pfs_by::Ncodr,
18085 P610PfsBy_SPEC,
18086 crate::common::RW,
18087 >::from_register(self, 0)
18088 }
18089}
18090impl ::core::default::Default for P610PfsBy {
18091 #[inline(always)]
18092 fn default() -> P610PfsBy {
18093 <crate::RegValueT<P610PfsBy_SPEC> as RegisterValue<_>>::new(0)
18094 }
18095}
18096pub mod p610pfs_by {
18097
18098 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18099 pub struct Podr_SPEC;
18100 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
18101 impl Podr {
18102 #[doc = "Output low"]
18103 pub const _0: Self = Self::new(0);
18104
18105 #[doc = "Output high"]
18106 pub const _1: Self = Self::new(1);
18107 }
18108 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18109 pub struct Pidr_SPEC;
18110 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
18111 impl Pidr {
18112 #[doc = "Low level"]
18113 pub const _0: Self = Self::new(0);
18114
18115 #[doc = "High level"]
18116 pub const _1: Self = Self::new(1);
18117 }
18118 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18119 pub struct Pdr_SPEC;
18120 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
18121 impl Pdr {
18122 #[doc = "Input (functions as an input pin)"]
18123 pub const _0: Self = Self::new(0);
18124
18125 #[doc = "Output (functions as an output pin)"]
18126 pub const _1: Self = Self::new(1);
18127 }
18128 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18129 pub struct Pcr_SPEC;
18130 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
18131 impl Pcr {
18132 #[doc = "Disable input pull-up"]
18133 pub const _0: Self = Self::new(0);
18134
18135 #[doc = "Enable input pull-up"]
18136 pub const _1: Self = Self::new(1);
18137 }
18138 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18139 pub struct Ncodr_SPEC;
18140 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
18141 impl Ncodr {
18142 #[doc = "Output CMOS"]
18143 pub const _0: Self = Self::new(0);
18144
18145 #[doc = "Output NMOS open-drain"]
18146 pub const _1: Self = Self::new(1);
18147 }
18148}
18149#[doc(hidden)]
18150#[derive(Copy, Clone, Eq, PartialEq)]
18151pub struct P708Pfs_SPEC;
18152impl crate::sealed::RegSpec for P708Pfs_SPEC {
18153 type DataType = u32;
18154}
18155
18156#[doc = "Port 708 Pin Function Select Register"]
18157pub type P708Pfs = crate::RegValueT<P708Pfs_SPEC>;
18158
18159impl P708Pfs {
18160 #[doc = "Port Output Data"]
18161 #[inline(always)]
18162 pub fn podr(
18163 self,
18164 ) -> crate::common::RegisterField<
18165 0,
18166 0x1,
18167 1,
18168 0,
18169 p708pfs::Podr,
18170 p708pfs::Podr,
18171 P708Pfs_SPEC,
18172 crate::common::RW,
18173 > {
18174 crate::common::RegisterField::<
18175 0,
18176 0x1,
18177 1,
18178 0,
18179 p708pfs::Podr,
18180 p708pfs::Podr,
18181 P708Pfs_SPEC,
18182 crate::common::RW,
18183 >::from_register(self, 0)
18184 }
18185
18186 #[doc = "Port State"]
18187 #[inline(always)]
18188 pub fn pidr(
18189 self,
18190 ) -> crate::common::RegisterField<
18191 1,
18192 0x1,
18193 1,
18194 0,
18195 p708pfs::Pidr,
18196 p708pfs::Pidr,
18197 P708Pfs_SPEC,
18198 crate::common::R,
18199 > {
18200 crate::common::RegisterField::<
18201 1,
18202 0x1,
18203 1,
18204 0,
18205 p708pfs::Pidr,
18206 p708pfs::Pidr,
18207 P708Pfs_SPEC,
18208 crate::common::R,
18209 >::from_register(self, 0)
18210 }
18211
18212 #[doc = "Port Direction"]
18213 #[inline(always)]
18214 pub fn pdr(
18215 self,
18216 ) -> crate::common::RegisterField<
18217 2,
18218 0x1,
18219 1,
18220 0,
18221 p708pfs::Pdr,
18222 p708pfs::Pdr,
18223 P708Pfs_SPEC,
18224 crate::common::RW,
18225 > {
18226 crate::common::RegisterField::<
18227 2,
18228 0x1,
18229 1,
18230 0,
18231 p708pfs::Pdr,
18232 p708pfs::Pdr,
18233 P708Pfs_SPEC,
18234 crate::common::RW,
18235 >::from_register(self, 0)
18236 }
18237
18238 #[doc = "Pull-up Control"]
18239 #[inline(always)]
18240 pub fn pcr(
18241 self,
18242 ) -> crate::common::RegisterField<
18243 4,
18244 0x1,
18245 1,
18246 0,
18247 p708pfs::Pcr,
18248 p708pfs::Pcr,
18249 P708Pfs_SPEC,
18250 crate::common::RW,
18251 > {
18252 crate::common::RegisterField::<
18253 4,
18254 0x1,
18255 1,
18256 0,
18257 p708pfs::Pcr,
18258 p708pfs::Pcr,
18259 P708Pfs_SPEC,
18260 crate::common::RW,
18261 >::from_register(self, 0)
18262 }
18263
18264 #[doc = "N-Channel Open-Drain Control"]
18265 #[inline(always)]
18266 pub fn ncodr(
18267 self,
18268 ) -> crate::common::RegisterField<
18269 6,
18270 0x1,
18271 1,
18272 0,
18273 p708pfs::Ncodr,
18274 p708pfs::Ncodr,
18275 P708Pfs_SPEC,
18276 crate::common::RW,
18277 > {
18278 crate::common::RegisterField::<
18279 6,
18280 0x1,
18281 1,
18282 0,
18283 p708pfs::Ncodr,
18284 p708pfs::Ncodr,
18285 P708Pfs_SPEC,
18286 crate::common::RW,
18287 >::from_register(self, 0)
18288 }
18289
18290 #[doc = "Port Drive Capability"]
18291 #[inline(always)]
18292 pub fn dscr(
18293 self,
18294 ) -> crate::common::RegisterField<
18295 10,
18296 0x3,
18297 1,
18298 0,
18299 p708pfs::Dscr,
18300 p708pfs::Dscr,
18301 P708Pfs_SPEC,
18302 crate::common::RW,
18303 > {
18304 crate::common::RegisterField::<
18305 10,
18306 0x3,
18307 1,
18308 0,
18309 p708pfs::Dscr,
18310 p708pfs::Dscr,
18311 P708Pfs_SPEC,
18312 crate::common::RW,
18313 >::from_register(self, 0)
18314 }
18315
18316 #[doc = "Event on Falling/Event on Rising"]
18317 #[inline(always)]
18318 pub fn eofr(
18319 self,
18320 ) -> crate::common::RegisterField<
18321 12,
18322 0x3,
18323 1,
18324 0,
18325 p708pfs::Eofr,
18326 p708pfs::Eofr,
18327 P708Pfs_SPEC,
18328 crate::common::RW,
18329 > {
18330 crate::common::RegisterField::<
18331 12,
18332 0x3,
18333 1,
18334 0,
18335 p708pfs::Eofr,
18336 p708pfs::Eofr,
18337 P708Pfs_SPEC,
18338 crate::common::RW,
18339 >::from_register(self, 0)
18340 }
18341
18342 #[doc = "IRQ Input Enable"]
18343 #[inline(always)]
18344 pub fn isel(
18345 self,
18346 ) -> crate::common::RegisterField<
18347 14,
18348 0x1,
18349 1,
18350 0,
18351 p708pfs::Isel,
18352 p708pfs::Isel,
18353 P708Pfs_SPEC,
18354 crate::common::RW,
18355 > {
18356 crate::common::RegisterField::<
18357 14,
18358 0x1,
18359 1,
18360 0,
18361 p708pfs::Isel,
18362 p708pfs::Isel,
18363 P708Pfs_SPEC,
18364 crate::common::RW,
18365 >::from_register(self, 0)
18366 }
18367
18368 #[doc = "Analog Input Enable"]
18369 #[inline(always)]
18370 pub fn asel(
18371 self,
18372 ) -> crate::common::RegisterField<
18373 15,
18374 0x1,
18375 1,
18376 0,
18377 p708pfs::Asel,
18378 p708pfs::Asel,
18379 P708Pfs_SPEC,
18380 crate::common::RW,
18381 > {
18382 crate::common::RegisterField::<
18383 15,
18384 0x1,
18385 1,
18386 0,
18387 p708pfs::Asel,
18388 p708pfs::Asel,
18389 P708Pfs_SPEC,
18390 crate::common::RW,
18391 >::from_register(self, 0)
18392 }
18393
18394 #[doc = "Port Mode Control"]
18395 #[inline(always)]
18396 pub fn pmr(
18397 self,
18398 ) -> crate::common::RegisterField<
18399 16,
18400 0x1,
18401 1,
18402 0,
18403 p708pfs::Pmr,
18404 p708pfs::Pmr,
18405 P708Pfs_SPEC,
18406 crate::common::RW,
18407 > {
18408 crate::common::RegisterField::<
18409 16,
18410 0x1,
18411 1,
18412 0,
18413 p708pfs::Pmr,
18414 p708pfs::Pmr,
18415 P708Pfs_SPEC,
18416 crate::common::RW,
18417 >::from_register(self, 0)
18418 }
18419
18420 #[doc = "Peripheral Select"]
18421 #[inline(always)]
18422 pub fn psel(
18423 self,
18424 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P708Pfs_SPEC, crate::common::RW> {
18425 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P708Pfs_SPEC,crate::common::RW>::from_register(self,0)
18426 }
18427}
18428impl ::core::default::Default for P708Pfs {
18429 #[inline(always)]
18430 fn default() -> P708Pfs {
18431 <crate::RegValueT<P708Pfs_SPEC> as RegisterValue<_>>::new(0)
18432 }
18433}
18434pub mod p708pfs {
18435
18436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18437 pub struct Podr_SPEC;
18438 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
18439 impl Podr {
18440 #[doc = "Output low"]
18441 pub const _0: Self = Self::new(0);
18442
18443 #[doc = "Output high"]
18444 pub const _1: Self = Self::new(1);
18445 }
18446 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18447 pub struct Pidr_SPEC;
18448 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
18449 impl Pidr {
18450 #[doc = "Low level"]
18451 pub const _0: Self = Self::new(0);
18452
18453 #[doc = "High level"]
18454 pub const _1: Self = Self::new(1);
18455 }
18456 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18457 pub struct Pdr_SPEC;
18458 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
18459 impl Pdr {
18460 #[doc = "Input (functions as an input pin)"]
18461 pub const _0: Self = Self::new(0);
18462
18463 #[doc = "Output (functions as an output pin)"]
18464 pub const _1: Self = Self::new(1);
18465 }
18466 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18467 pub struct Pcr_SPEC;
18468 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
18469 impl Pcr {
18470 #[doc = "Disable input pull-up"]
18471 pub const _0: Self = Self::new(0);
18472
18473 #[doc = "Enable input pull-up"]
18474 pub const _1: Self = Self::new(1);
18475 }
18476 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18477 pub struct Ncodr_SPEC;
18478 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
18479 impl Ncodr {
18480 #[doc = "Output CMOS"]
18481 pub const _0: Self = Self::new(0);
18482
18483 #[doc = "Output NMOS open-drain"]
18484 pub const _1: Self = Self::new(1);
18485 }
18486 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18487 pub struct Dscr_SPEC;
18488 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
18489 impl Dscr {
18490 #[doc = "Low drive"]
18491 pub const _00: Self = Self::new(0);
18492
18493 #[doc = "Middle drive"]
18494 pub const _01: Self = Self::new(1);
18495
18496 #[doc = "High-speed high-drive"]
18497 pub const _10: Self = Self::new(2);
18498
18499 #[doc = "High drive"]
18500 pub const _11: Self = Self::new(3);
18501 }
18502 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18503 pub struct Eofr_SPEC;
18504 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
18505 impl Eofr {
18506 #[doc = "Don\'t care"]
18507 pub const _00: Self = Self::new(0);
18508
18509 #[doc = "Detect rising edge"]
18510 pub const _01: Self = Self::new(1);
18511
18512 #[doc = "Detect falling edge"]
18513 pub const _10: Self = Self::new(2);
18514
18515 #[doc = "Detect both edges"]
18516 pub const _11: Self = Self::new(3);
18517 }
18518 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18519 pub struct Isel_SPEC;
18520 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
18521 impl Isel {
18522 #[doc = "Do not use as IRQn input pin"]
18523 pub const _0: Self = Self::new(0);
18524
18525 #[doc = "Use as IRQn input pin"]
18526 pub const _1: Self = Self::new(1);
18527 }
18528 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18529 pub struct Asel_SPEC;
18530 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
18531 impl Asel {
18532 #[doc = "Do not use as analog pin"]
18533 pub const _0: Self = Self::new(0);
18534
18535 #[doc = "Use as analog pin"]
18536 pub const _1: Self = Self::new(1);
18537 }
18538 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18539 pub struct Pmr_SPEC;
18540 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
18541 impl Pmr {
18542 #[doc = "Use as general I/O pin"]
18543 pub const _0: Self = Self::new(0);
18544
18545 #[doc = "Use as I/O port for peripheral functions"]
18546 pub const _1: Self = Self::new(1);
18547 }
18548}
18549#[doc(hidden)]
18550#[derive(Copy, Clone, Eq, PartialEq)]
18551pub struct P708PfsHa_SPEC;
18552impl crate::sealed::RegSpec for P708PfsHa_SPEC {
18553 type DataType = u16;
18554}
18555
18556#[doc = "Port 708 Pin Function Select Register"]
18557pub type P708PfsHa = crate::RegValueT<P708PfsHa_SPEC>;
18558
18559impl P708PfsHa {
18560 #[doc = "Port Output Data"]
18561 #[inline(always)]
18562 pub fn podr(
18563 self,
18564 ) -> crate::common::RegisterField<
18565 0,
18566 0x1,
18567 1,
18568 0,
18569 p708pfs_ha::Podr,
18570 p708pfs_ha::Podr,
18571 P708PfsHa_SPEC,
18572 crate::common::RW,
18573 > {
18574 crate::common::RegisterField::<
18575 0,
18576 0x1,
18577 1,
18578 0,
18579 p708pfs_ha::Podr,
18580 p708pfs_ha::Podr,
18581 P708PfsHa_SPEC,
18582 crate::common::RW,
18583 >::from_register(self, 0)
18584 }
18585
18586 #[doc = "Port State"]
18587 #[inline(always)]
18588 pub fn pidr(
18589 self,
18590 ) -> crate::common::RegisterField<
18591 1,
18592 0x1,
18593 1,
18594 0,
18595 p708pfs_ha::Pidr,
18596 p708pfs_ha::Pidr,
18597 P708PfsHa_SPEC,
18598 crate::common::R,
18599 > {
18600 crate::common::RegisterField::<
18601 1,
18602 0x1,
18603 1,
18604 0,
18605 p708pfs_ha::Pidr,
18606 p708pfs_ha::Pidr,
18607 P708PfsHa_SPEC,
18608 crate::common::R,
18609 >::from_register(self, 0)
18610 }
18611
18612 #[doc = "Port Direction"]
18613 #[inline(always)]
18614 pub fn pdr(
18615 self,
18616 ) -> crate::common::RegisterField<
18617 2,
18618 0x1,
18619 1,
18620 0,
18621 p708pfs_ha::Pdr,
18622 p708pfs_ha::Pdr,
18623 P708PfsHa_SPEC,
18624 crate::common::RW,
18625 > {
18626 crate::common::RegisterField::<
18627 2,
18628 0x1,
18629 1,
18630 0,
18631 p708pfs_ha::Pdr,
18632 p708pfs_ha::Pdr,
18633 P708PfsHa_SPEC,
18634 crate::common::RW,
18635 >::from_register(self, 0)
18636 }
18637
18638 #[doc = "Pull-up Control"]
18639 #[inline(always)]
18640 pub fn pcr(
18641 self,
18642 ) -> crate::common::RegisterField<
18643 4,
18644 0x1,
18645 1,
18646 0,
18647 p708pfs_ha::Pcr,
18648 p708pfs_ha::Pcr,
18649 P708PfsHa_SPEC,
18650 crate::common::RW,
18651 > {
18652 crate::common::RegisterField::<
18653 4,
18654 0x1,
18655 1,
18656 0,
18657 p708pfs_ha::Pcr,
18658 p708pfs_ha::Pcr,
18659 P708PfsHa_SPEC,
18660 crate::common::RW,
18661 >::from_register(self, 0)
18662 }
18663
18664 #[doc = "N-Channel Open-Drain Control"]
18665 #[inline(always)]
18666 pub fn ncodr(
18667 self,
18668 ) -> crate::common::RegisterField<
18669 6,
18670 0x1,
18671 1,
18672 0,
18673 p708pfs_ha::Ncodr,
18674 p708pfs_ha::Ncodr,
18675 P708PfsHa_SPEC,
18676 crate::common::RW,
18677 > {
18678 crate::common::RegisterField::<
18679 6,
18680 0x1,
18681 1,
18682 0,
18683 p708pfs_ha::Ncodr,
18684 p708pfs_ha::Ncodr,
18685 P708PfsHa_SPEC,
18686 crate::common::RW,
18687 >::from_register(self, 0)
18688 }
18689
18690 #[doc = "Port Drive Capability"]
18691 #[inline(always)]
18692 pub fn dscr(
18693 self,
18694 ) -> crate::common::RegisterField<
18695 10,
18696 0x3,
18697 1,
18698 0,
18699 p708pfs_ha::Dscr,
18700 p708pfs_ha::Dscr,
18701 P708PfsHa_SPEC,
18702 crate::common::RW,
18703 > {
18704 crate::common::RegisterField::<
18705 10,
18706 0x3,
18707 1,
18708 0,
18709 p708pfs_ha::Dscr,
18710 p708pfs_ha::Dscr,
18711 P708PfsHa_SPEC,
18712 crate::common::RW,
18713 >::from_register(self, 0)
18714 }
18715
18716 #[doc = "Event on Falling/Event on Rising"]
18717 #[inline(always)]
18718 pub fn eofr(
18719 self,
18720 ) -> crate::common::RegisterField<
18721 12,
18722 0x3,
18723 1,
18724 0,
18725 p708pfs_ha::Eofr,
18726 p708pfs_ha::Eofr,
18727 P708PfsHa_SPEC,
18728 crate::common::RW,
18729 > {
18730 crate::common::RegisterField::<
18731 12,
18732 0x3,
18733 1,
18734 0,
18735 p708pfs_ha::Eofr,
18736 p708pfs_ha::Eofr,
18737 P708PfsHa_SPEC,
18738 crate::common::RW,
18739 >::from_register(self, 0)
18740 }
18741
18742 #[doc = "IRQ Input Enable"]
18743 #[inline(always)]
18744 pub fn isel(
18745 self,
18746 ) -> crate::common::RegisterField<
18747 14,
18748 0x1,
18749 1,
18750 0,
18751 p708pfs_ha::Isel,
18752 p708pfs_ha::Isel,
18753 P708PfsHa_SPEC,
18754 crate::common::RW,
18755 > {
18756 crate::common::RegisterField::<
18757 14,
18758 0x1,
18759 1,
18760 0,
18761 p708pfs_ha::Isel,
18762 p708pfs_ha::Isel,
18763 P708PfsHa_SPEC,
18764 crate::common::RW,
18765 >::from_register(self, 0)
18766 }
18767
18768 #[doc = "Analog Input Enable"]
18769 #[inline(always)]
18770 pub fn asel(
18771 self,
18772 ) -> crate::common::RegisterField<
18773 15,
18774 0x1,
18775 1,
18776 0,
18777 p708pfs_ha::Asel,
18778 p708pfs_ha::Asel,
18779 P708PfsHa_SPEC,
18780 crate::common::RW,
18781 > {
18782 crate::common::RegisterField::<
18783 15,
18784 0x1,
18785 1,
18786 0,
18787 p708pfs_ha::Asel,
18788 p708pfs_ha::Asel,
18789 P708PfsHa_SPEC,
18790 crate::common::RW,
18791 >::from_register(self, 0)
18792 }
18793}
18794impl ::core::default::Default for P708PfsHa {
18795 #[inline(always)]
18796 fn default() -> P708PfsHa {
18797 <crate::RegValueT<P708PfsHa_SPEC> as RegisterValue<_>>::new(0)
18798 }
18799}
18800pub mod p708pfs_ha {
18801
18802 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18803 pub struct Podr_SPEC;
18804 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
18805 impl Podr {
18806 #[doc = "Output low"]
18807 pub const _0: Self = Self::new(0);
18808
18809 #[doc = "Output high"]
18810 pub const _1: Self = Self::new(1);
18811 }
18812 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18813 pub struct Pidr_SPEC;
18814 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
18815 impl Pidr {
18816 #[doc = "Low level"]
18817 pub const _0: Self = Self::new(0);
18818
18819 #[doc = "High level"]
18820 pub const _1: Self = Self::new(1);
18821 }
18822 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18823 pub struct Pdr_SPEC;
18824 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
18825 impl Pdr {
18826 #[doc = "Input (functions as an input pin)"]
18827 pub const _0: Self = Self::new(0);
18828
18829 #[doc = "Output (functions as an output pin)"]
18830 pub const _1: Self = Self::new(1);
18831 }
18832 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18833 pub struct Pcr_SPEC;
18834 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
18835 impl Pcr {
18836 #[doc = "Disable input pull-up"]
18837 pub const _0: Self = Self::new(0);
18838
18839 #[doc = "Enable input pull-up"]
18840 pub const _1: Self = Self::new(1);
18841 }
18842 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18843 pub struct Ncodr_SPEC;
18844 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
18845 impl Ncodr {
18846 #[doc = "Output CMOS"]
18847 pub const _0: Self = Self::new(0);
18848
18849 #[doc = "Output NMOS open-drain"]
18850 pub const _1: Self = Self::new(1);
18851 }
18852 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18853 pub struct Dscr_SPEC;
18854 pub type Dscr = crate::EnumBitfieldStruct<u8, Dscr_SPEC>;
18855 impl Dscr {
18856 #[doc = "Low drive"]
18857 pub const _00: Self = Self::new(0);
18858
18859 #[doc = "Middle drive"]
18860 pub const _01: Self = Self::new(1);
18861
18862 #[doc = "High-speed high-drive"]
18863 pub const _10: Self = Self::new(2);
18864
18865 #[doc = "High drive"]
18866 pub const _11: Self = Self::new(3);
18867 }
18868 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18869 pub struct Eofr_SPEC;
18870 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
18871 impl Eofr {
18872 #[doc = "Don\'t care"]
18873 pub const _00: Self = Self::new(0);
18874
18875 #[doc = "Detect rising edge"]
18876 pub const _01: Self = Self::new(1);
18877
18878 #[doc = "Detect falling edge"]
18879 pub const _10: Self = Self::new(2);
18880
18881 #[doc = "Detect both edges"]
18882 pub const _11: Self = Self::new(3);
18883 }
18884 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18885 pub struct Isel_SPEC;
18886 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
18887 impl Isel {
18888 #[doc = "Do not use as IRQn input pin"]
18889 pub const _0: Self = Self::new(0);
18890
18891 #[doc = "Use as IRQn input pin"]
18892 pub const _1: Self = Self::new(1);
18893 }
18894 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18895 pub struct Asel_SPEC;
18896 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
18897 impl Asel {
18898 #[doc = "Do not use as analog pin"]
18899 pub const _0: Self = Self::new(0);
18900
18901 #[doc = "Use as analog pin"]
18902 pub const _1: Self = Self::new(1);
18903 }
18904}
18905#[doc(hidden)]
18906#[derive(Copy, Clone, Eq, PartialEq)]
18907pub struct P708PfsBy_SPEC;
18908impl crate::sealed::RegSpec for P708PfsBy_SPEC {
18909 type DataType = u8;
18910}
18911
18912#[doc = "Port 708 Pin Function Select Register"]
18913pub type P708PfsBy = crate::RegValueT<P708PfsBy_SPEC>;
18914
18915impl P708PfsBy {
18916 #[doc = "Port Output Data"]
18917 #[inline(always)]
18918 pub fn podr(
18919 self,
18920 ) -> crate::common::RegisterField<
18921 0,
18922 0x1,
18923 1,
18924 0,
18925 p708pfs_by::Podr,
18926 p708pfs_by::Podr,
18927 P708PfsBy_SPEC,
18928 crate::common::RW,
18929 > {
18930 crate::common::RegisterField::<
18931 0,
18932 0x1,
18933 1,
18934 0,
18935 p708pfs_by::Podr,
18936 p708pfs_by::Podr,
18937 P708PfsBy_SPEC,
18938 crate::common::RW,
18939 >::from_register(self, 0)
18940 }
18941
18942 #[doc = "Port State"]
18943 #[inline(always)]
18944 pub fn pidr(
18945 self,
18946 ) -> crate::common::RegisterField<
18947 1,
18948 0x1,
18949 1,
18950 0,
18951 p708pfs_by::Pidr,
18952 p708pfs_by::Pidr,
18953 P708PfsBy_SPEC,
18954 crate::common::R,
18955 > {
18956 crate::common::RegisterField::<
18957 1,
18958 0x1,
18959 1,
18960 0,
18961 p708pfs_by::Pidr,
18962 p708pfs_by::Pidr,
18963 P708PfsBy_SPEC,
18964 crate::common::R,
18965 >::from_register(self, 0)
18966 }
18967
18968 #[doc = "Port Direction"]
18969 #[inline(always)]
18970 pub fn pdr(
18971 self,
18972 ) -> crate::common::RegisterField<
18973 2,
18974 0x1,
18975 1,
18976 0,
18977 p708pfs_by::Pdr,
18978 p708pfs_by::Pdr,
18979 P708PfsBy_SPEC,
18980 crate::common::RW,
18981 > {
18982 crate::common::RegisterField::<
18983 2,
18984 0x1,
18985 1,
18986 0,
18987 p708pfs_by::Pdr,
18988 p708pfs_by::Pdr,
18989 P708PfsBy_SPEC,
18990 crate::common::RW,
18991 >::from_register(self, 0)
18992 }
18993
18994 #[doc = "Pull-up Control"]
18995 #[inline(always)]
18996 pub fn pcr(
18997 self,
18998 ) -> crate::common::RegisterField<
18999 4,
19000 0x1,
19001 1,
19002 0,
19003 p708pfs_by::Pcr,
19004 p708pfs_by::Pcr,
19005 P708PfsBy_SPEC,
19006 crate::common::RW,
19007 > {
19008 crate::common::RegisterField::<
19009 4,
19010 0x1,
19011 1,
19012 0,
19013 p708pfs_by::Pcr,
19014 p708pfs_by::Pcr,
19015 P708PfsBy_SPEC,
19016 crate::common::RW,
19017 >::from_register(self, 0)
19018 }
19019
19020 #[doc = "N-Channel Open-Drain Control"]
19021 #[inline(always)]
19022 pub fn ncodr(
19023 self,
19024 ) -> crate::common::RegisterField<
19025 6,
19026 0x1,
19027 1,
19028 0,
19029 p708pfs_by::Ncodr,
19030 p708pfs_by::Ncodr,
19031 P708PfsBy_SPEC,
19032 crate::common::RW,
19033 > {
19034 crate::common::RegisterField::<
19035 6,
19036 0x1,
19037 1,
19038 0,
19039 p708pfs_by::Ncodr,
19040 p708pfs_by::Ncodr,
19041 P708PfsBy_SPEC,
19042 crate::common::RW,
19043 >::from_register(self, 0)
19044 }
19045}
19046impl ::core::default::Default for P708PfsBy {
19047 #[inline(always)]
19048 fn default() -> P708PfsBy {
19049 <crate::RegValueT<P708PfsBy_SPEC> as RegisterValue<_>>::new(0)
19050 }
19051}
19052pub mod p708pfs_by {
19053
19054 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19055 pub struct Podr_SPEC;
19056 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
19057 impl Podr {
19058 #[doc = "Output low"]
19059 pub const _0: Self = Self::new(0);
19060
19061 #[doc = "Output high"]
19062 pub const _1: Self = Self::new(1);
19063 }
19064 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19065 pub struct Pidr_SPEC;
19066 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
19067 impl Pidr {
19068 #[doc = "Low level"]
19069 pub const _0: Self = Self::new(0);
19070
19071 #[doc = "High level"]
19072 pub const _1: Self = Self::new(1);
19073 }
19074 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19075 pub struct Pdr_SPEC;
19076 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
19077 impl Pdr {
19078 #[doc = "Input (functions as an input pin)"]
19079 pub const _0: Self = Self::new(0);
19080
19081 #[doc = "Output (functions as an output pin)"]
19082 pub const _1: Self = Self::new(1);
19083 }
19084 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19085 pub struct Pcr_SPEC;
19086 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
19087 impl Pcr {
19088 #[doc = "Disable input pull-up"]
19089 pub const _0: Self = Self::new(0);
19090
19091 #[doc = "Enable input pull-up"]
19092 pub const _1: Self = Self::new(1);
19093 }
19094 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19095 pub struct Ncodr_SPEC;
19096 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
19097 impl Ncodr {
19098 #[doc = "Output CMOS"]
19099 pub const _0: Self = Self::new(0);
19100
19101 #[doc = "Output NMOS open-drain"]
19102 pub const _1: Self = Self::new(1);
19103 }
19104}
19105#[doc(hidden)]
19106#[derive(Copy, Clone, Eq, PartialEq)]
19107pub struct Pwpr_SPEC;
19108impl crate::sealed::RegSpec for Pwpr_SPEC {
19109 type DataType = u8;
19110}
19111
19112#[doc = "Write-Protect Register"]
19113pub type Pwpr = crate::RegValueT<Pwpr_SPEC>;
19114
19115impl Pwpr {
19116 #[doc = "PmnPFS Register Write Enable"]
19117 #[inline(always)]
19118 pub fn pfswe(
19119 self,
19120 ) -> crate::common::RegisterField<
19121 6,
19122 0x1,
19123 1,
19124 0,
19125 pwpr::Pfswe,
19126 pwpr::Pfswe,
19127 Pwpr_SPEC,
19128 crate::common::RW,
19129 > {
19130 crate::common::RegisterField::<
19131 6,
19132 0x1,
19133 1,
19134 0,
19135 pwpr::Pfswe,
19136 pwpr::Pfswe,
19137 Pwpr_SPEC,
19138 crate::common::RW,
19139 >::from_register(self, 0)
19140 }
19141
19142 #[doc = "PFSWE Bit Write Disable"]
19143 #[inline(always)]
19144 pub fn b0wi(
19145 self,
19146 ) -> crate::common::RegisterField<
19147 7,
19148 0x1,
19149 1,
19150 0,
19151 pwpr::B0Wi,
19152 pwpr::B0Wi,
19153 Pwpr_SPEC,
19154 crate::common::RW,
19155 > {
19156 crate::common::RegisterField::<
19157 7,
19158 0x1,
19159 1,
19160 0,
19161 pwpr::B0Wi,
19162 pwpr::B0Wi,
19163 Pwpr_SPEC,
19164 crate::common::RW,
19165 >::from_register(self, 0)
19166 }
19167}
19168impl ::core::default::Default for Pwpr {
19169 #[inline(always)]
19170 fn default() -> Pwpr {
19171 <crate::RegValueT<Pwpr_SPEC> as RegisterValue<_>>::new(128)
19172 }
19173}
19174pub mod pwpr {
19175
19176 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19177 pub struct Pfswe_SPEC;
19178 pub type Pfswe = crate::EnumBitfieldStruct<u8, Pfswe_SPEC>;
19179 impl Pfswe {
19180 #[doc = "Writing to the PmnPFS register is disabled"]
19181 pub const _0: Self = Self::new(0);
19182
19183 #[doc = "Writing to the PmnPFS register is enabled"]
19184 pub const _1: Self = Self::new(1);
19185 }
19186 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19187 pub struct B0Wi_SPEC;
19188 pub type B0Wi = crate::EnumBitfieldStruct<u8, B0Wi_SPEC>;
19189 impl B0Wi {
19190 #[doc = "Writing to the PFSWE bit is enabled"]
19191 pub const _0: Self = Self::new(0);
19192
19193 #[doc = "Writing to the PFSWE bit is disabled"]
19194 pub const _1: Self = Self::new(1);
19195 }
19196}
19197#[doc(hidden)]
19198#[derive(Copy, Clone, Eq, PartialEq)]
19199pub struct Pwprs_SPEC;
19200impl crate::sealed::RegSpec for Pwprs_SPEC {
19201 type DataType = u8;
19202}
19203
19204#[doc = "Write-Protect Register for Secure"]
19205pub type Pwprs = crate::RegValueT<Pwprs_SPEC>;
19206
19207impl Pwprs {
19208 #[doc = "PmnPFS Register Write Enable"]
19209 #[inline(always)]
19210 pub fn pfswe(
19211 self,
19212 ) -> crate::common::RegisterField<
19213 6,
19214 0x1,
19215 1,
19216 0,
19217 pwprs::Pfswe,
19218 pwprs::Pfswe,
19219 Pwprs_SPEC,
19220 crate::common::RW,
19221 > {
19222 crate::common::RegisterField::<
19223 6,
19224 0x1,
19225 1,
19226 0,
19227 pwprs::Pfswe,
19228 pwprs::Pfswe,
19229 Pwprs_SPEC,
19230 crate::common::RW,
19231 >::from_register(self, 0)
19232 }
19233
19234 #[doc = "PFSWE Bit Write Disable"]
19235 #[inline(always)]
19236 pub fn b0wi(
19237 self,
19238 ) -> crate::common::RegisterField<
19239 7,
19240 0x1,
19241 1,
19242 0,
19243 pwprs::B0Wi,
19244 pwprs::B0Wi,
19245 Pwprs_SPEC,
19246 crate::common::RW,
19247 > {
19248 crate::common::RegisterField::<
19249 7,
19250 0x1,
19251 1,
19252 0,
19253 pwprs::B0Wi,
19254 pwprs::B0Wi,
19255 Pwprs_SPEC,
19256 crate::common::RW,
19257 >::from_register(self, 0)
19258 }
19259}
19260impl ::core::default::Default for Pwprs {
19261 #[inline(always)]
19262 fn default() -> Pwprs {
19263 <crate::RegValueT<Pwprs_SPEC> as RegisterValue<_>>::new(128)
19264 }
19265}
19266pub mod pwprs {
19267
19268 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19269 pub struct Pfswe_SPEC;
19270 pub type Pfswe = crate::EnumBitfieldStruct<u8, Pfswe_SPEC>;
19271 impl Pfswe {
19272 #[doc = "Disable writes to the PmnPFS register"]
19273 pub const _0: Self = Self::new(0);
19274
19275 #[doc = "Enable writes to the PmnPFS register"]
19276 pub const _1: Self = Self::new(1);
19277 }
19278 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19279 pub struct B0Wi_SPEC;
19280 pub type B0Wi = crate::EnumBitfieldStruct<u8, B0Wi_SPEC>;
19281 impl B0Wi {
19282 #[doc = "Enable writes the PFSWE bit"]
19283 pub const _0: Self = Self::new(0);
19284
19285 #[doc = "Disable writes to the PFSWE bit"]
19286 pub const _1: Self = Self::new(1);
19287 }
19288}
19289#[doc(hidden)]
19290#[derive(Copy, Clone, Eq, PartialEq)]
19291pub struct Psar_SPEC;
19292impl crate::sealed::RegSpec for Psar_SPEC {
19293 type DataType = u16;
19294}
19295
19296#[doc = "Port Security Attribution register"]
19297pub type Psar = crate::RegValueT<Psar_SPEC>;
19298
19299impl Psar {
19300 #[doc = "Pmn Security Attribution"]
19301 #[inline(always)]
19302 pub fn pmnsa(
19303 self,
19304 ) -> crate::common::RegisterField<
19305 0,
19306 0xffff,
19307 1,
19308 0,
19309 psar::Pmnsa,
19310 psar::Pmnsa,
19311 Psar_SPEC,
19312 crate::common::RW,
19313 > {
19314 crate::common::RegisterField::<
19315 0,
19316 0xffff,
19317 1,
19318 0,
19319 psar::Pmnsa,
19320 psar::Pmnsa,
19321 Psar_SPEC,
19322 crate::common::RW,
19323 >::from_register(self, 0)
19324 }
19325}
19326impl ::core::default::Default for Psar {
19327 #[inline(always)]
19328 fn default() -> Psar {
19329 <crate::RegValueT<Psar_SPEC> as RegisterValue<_>>::new(65535)
19330 }
19331}
19332pub mod psar {
19333
19334 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19335 pub struct Pmnsa_SPEC;
19336 pub type Pmnsa = crate::EnumBitfieldStruct<u8, Pmnsa_SPEC>;
19337 impl Pmnsa {
19338 #[doc = "Secure"]
19339 pub const _0: Self = Self::new(0);
19340
19341 #[doc = "Non Secure"]
19342 pub const _1: Self = Self::new(1);
19343 }
19344}