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"Pmn Pin Function Control Register"]
28unsafe impl ::core::marker::Send for super::Pfs {}
29unsafe impl ::core::marker::Sync for super::Pfs {}
30impl super::Pfs {
31 #[allow(unused)]
32 #[inline(always)]
33 pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34 self.ptr
35 }
36
37 #[doc = "Port 0%s Pin Function Select Register"]
38 #[inline(always)]
39 pub const fn p0pfs(
40 &self,
41 ) -> &'static crate::common::ClusterRegisterArray<
42 crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW>,
43 2,
44 0x4,
45 > {
46 unsafe {
47 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x38usize))
48 }
49 }
50 #[inline(always)]
51 pub const fn p014pfs(
52 &self,
53 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
54 unsafe {
55 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
56 self._svd2pac_as_ptr().add(0x38usize),
57 )
58 }
59 }
60 #[inline(always)]
61 pub const fn p015pfs(
62 &self,
63 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
64 unsafe {
65 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
66 self._svd2pac_as_ptr().add(0x3cusize),
67 )
68 }
69 }
70
71 #[doc = "Port 0%s Pin Function Select Register"]
72 #[inline(always)]
73 pub const fn p0pfs_ha(
74 &self,
75 ) -> &'static crate::common::ClusterRegisterArray<
76 crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW>,
77 2,
78 0x4,
79 > {
80 unsafe {
81 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x3ausize))
82 }
83 }
84 #[inline(always)]
85 pub const fn p014pfs_ha(
86 &self,
87 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
88 unsafe {
89 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
90 self._svd2pac_as_ptr().add(0x3ausize),
91 )
92 }
93 }
94 #[inline(always)]
95 pub const fn p015pfs_ha(
96 &self,
97 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
98 unsafe {
99 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
100 self._svd2pac_as_ptr().add(0x3eusize),
101 )
102 }
103 }
104
105 #[doc = "Port 0%s Pin Function Select Register"]
106 #[inline(always)]
107 pub const fn p0pfs_by(
108 &self,
109 ) -> &'static crate::common::ClusterRegisterArray<
110 crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW>,
111 2,
112 0x4,
113 > {
114 unsafe {
115 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x3busize))
116 }
117 }
118 #[inline(always)]
119 pub const fn p014pfs_by(
120 &self,
121 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
122 unsafe {
123 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
124 self._svd2pac_as_ptr().add(0x3busize),
125 )
126 }
127 }
128 #[inline(always)]
129 pub const fn p015pfs_by(
130 &self,
131 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
132 unsafe {
133 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
134 self._svd2pac_as_ptr().add(0x3fusize),
135 )
136 }
137 }
138
139 #[doc = "Port 10%s Pin Function Select Register"]
140 #[inline(always)]
141 pub const fn p10pfs(
142 &self,
143 ) -> &'static crate::common::ClusterRegisterArray<
144 crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW>,
145 4,
146 0x4,
147 > {
148 unsafe {
149 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x40usize))
150 }
151 }
152 #[inline(always)]
153 pub const fn p100pfs(
154 &self,
155 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
156 unsafe {
157 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
158 self._svd2pac_as_ptr().add(0x40usize),
159 )
160 }
161 }
162 #[inline(always)]
163 pub const fn p101pfs(
164 &self,
165 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
166 unsafe {
167 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
168 self._svd2pac_as_ptr().add(0x44usize),
169 )
170 }
171 }
172 #[inline(always)]
173 pub const fn p102pfs(
174 &self,
175 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
176 unsafe {
177 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
178 self._svd2pac_as_ptr().add(0x48usize),
179 )
180 }
181 }
182 #[inline(always)]
183 pub const fn p103pfs(
184 &self,
185 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
186 unsafe {
187 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
188 self._svd2pac_as_ptr().add(0x4cusize),
189 )
190 }
191 }
192
193 #[doc = "Port 10%s Pin Function Select Register"]
194 #[inline(always)]
195 pub const fn p10pfs_ha(
196 &self,
197 ) -> &'static crate::common::ClusterRegisterArray<
198 crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW>,
199 4,
200 0x4,
201 > {
202 unsafe {
203 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x42usize))
204 }
205 }
206 #[inline(always)]
207 pub const fn p100pfs_ha(
208 &self,
209 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
210 unsafe {
211 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
212 self._svd2pac_as_ptr().add(0x42usize),
213 )
214 }
215 }
216 #[inline(always)]
217 pub const fn p101pfs_ha(
218 &self,
219 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
220 unsafe {
221 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
222 self._svd2pac_as_ptr().add(0x46usize),
223 )
224 }
225 }
226 #[inline(always)]
227 pub const fn p102pfs_ha(
228 &self,
229 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
230 unsafe {
231 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
232 self._svd2pac_as_ptr().add(0x4ausize),
233 )
234 }
235 }
236 #[inline(always)]
237 pub const fn p103pfs_ha(
238 &self,
239 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
240 unsafe {
241 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
242 self._svd2pac_as_ptr().add(0x4eusize),
243 )
244 }
245 }
246
247 #[doc = "Port 10%s Pin Function Select Register"]
248 #[inline(always)]
249 pub const fn p10pfs_by(
250 &self,
251 ) -> &'static crate::common::ClusterRegisterArray<
252 crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW>,
253 4,
254 0x4,
255 > {
256 unsafe {
257 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x43usize))
258 }
259 }
260 #[inline(always)]
261 pub const fn p100pfs_by(
262 &self,
263 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
264 unsafe {
265 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
266 self._svd2pac_as_ptr().add(0x43usize),
267 )
268 }
269 }
270 #[inline(always)]
271 pub const fn p101pfs_by(
272 &self,
273 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
274 unsafe {
275 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
276 self._svd2pac_as_ptr().add(0x47usize),
277 )
278 }
279 }
280 #[inline(always)]
281 pub const fn p102pfs_by(
282 &self,
283 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
284 unsafe {
285 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
286 self._svd2pac_as_ptr().add(0x4busize),
287 )
288 }
289 }
290 #[inline(always)]
291 pub const fn p103pfs_by(
292 &self,
293 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
294 unsafe {
295 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
296 self._svd2pac_as_ptr().add(0x4fusize),
297 )
298 }
299 }
300
301 #[doc = "Port 108 Pin Function Select Register"]
302 #[inline(always)]
303 pub const fn p108pfs(
304 &self,
305 ) -> &'static crate::common::Reg<self::P108Pfs_SPEC, crate::common::RW> {
306 unsafe {
307 crate::common::Reg::<self::P108Pfs_SPEC, crate::common::RW>::from_ptr(
308 self._svd2pac_as_ptr().add(96usize),
309 )
310 }
311 }
312
313 #[doc = "Port 108 Pin Function Select Register"]
314 #[inline(always)]
315 pub const fn p108pfs_ha(
316 &self,
317 ) -> &'static crate::common::Reg<self::P108PfsHa_SPEC, crate::common::RW> {
318 unsafe {
319 crate::common::Reg::<self::P108PfsHa_SPEC, crate::common::RW>::from_ptr(
320 self._svd2pac_as_ptr().add(98usize),
321 )
322 }
323 }
324
325 #[doc = "Port 108 Pin Function Select Register"]
326 #[inline(always)]
327 pub const fn p108pfs_by(
328 &self,
329 ) -> &'static crate::common::Reg<self::P108PfsBy_SPEC, crate::common::RW> {
330 unsafe {
331 crate::common::Reg::<self::P108PfsBy_SPEC, crate::common::RW>::from_ptr(
332 self._svd2pac_as_ptr().add(99usize),
333 )
334 }
335 }
336
337 #[doc = "Port 109 Pin Function Select Register"]
338 #[inline(always)]
339 pub const fn p109pfs(
340 &self,
341 ) -> &'static crate::common::Reg<self::P109Pfs_SPEC, crate::common::RW> {
342 unsafe {
343 crate::common::Reg::<self::P109Pfs_SPEC, crate::common::RW>::from_ptr(
344 self._svd2pac_as_ptr().add(100usize),
345 )
346 }
347 }
348
349 #[doc = "Port 109 Pin Function Select Register"]
350 #[inline(always)]
351 pub const fn p109pfs_ha(
352 &self,
353 ) -> &'static crate::common::Reg<self::P109PfsHa_SPEC, crate::common::RW> {
354 unsafe {
355 crate::common::Reg::<self::P109PfsHa_SPEC, crate::common::RW>::from_ptr(
356 self._svd2pac_as_ptr().add(102usize),
357 )
358 }
359 }
360
361 #[doc = "Port 109 Pin Function Select Register"]
362 #[inline(always)]
363 pub const fn p109pfs_by(
364 &self,
365 ) -> &'static crate::common::Reg<self::P109PfsBy_SPEC, crate::common::RW> {
366 unsafe {
367 crate::common::Reg::<self::P109PfsBy_SPEC, crate::common::RW>::from_ptr(
368 self._svd2pac_as_ptr().add(103usize),
369 )
370 }
371 }
372
373 #[doc = "Port 1%s Pin Function Select Register"]
374 #[inline(always)]
375 pub const fn p1pfs(
376 &self,
377 ) -> &'static crate::common::ClusterRegisterArray<
378 crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW>,
379 3,
380 0x4,
381 > {
382 unsafe {
383 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x68usize))
384 }
385 }
386 #[inline(always)]
387 pub const fn p110pfs(
388 &self,
389 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
390 unsafe {
391 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
392 self._svd2pac_as_ptr().add(0x68usize),
393 )
394 }
395 }
396 #[inline(always)]
397 pub const fn p111pfs(
398 &self,
399 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
400 unsafe {
401 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
402 self._svd2pac_as_ptr().add(0x6cusize),
403 )
404 }
405 }
406 #[inline(always)]
407 pub const fn p112pfs(
408 &self,
409 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
410 unsafe {
411 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
412 self._svd2pac_as_ptr().add(0x70usize),
413 )
414 }
415 }
416
417 #[doc = "Port 1%s Pin Function Select Register"]
418 #[inline(always)]
419 pub const fn p1pfs_ha(
420 &self,
421 ) -> &'static crate::common::ClusterRegisterArray<
422 crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW>,
423 3,
424 0x4,
425 > {
426 unsafe {
427 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x6ausize))
428 }
429 }
430 #[inline(always)]
431 pub const fn p110pfs_ha(
432 &self,
433 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
434 unsafe {
435 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
436 self._svd2pac_as_ptr().add(0x6ausize),
437 )
438 }
439 }
440 #[inline(always)]
441 pub const fn p111pfs_ha(
442 &self,
443 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
444 unsafe {
445 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
446 self._svd2pac_as_ptr().add(0x6eusize),
447 )
448 }
449 }
450 #[inline(always)]
451 pub const fn p112pfs_ha(
452 &self,
453 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
454 unsafe {
455 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
456 self._svd2pac_as_ptr().add(0x72usize),
457 )
458 }
459 }
460
461 #[doc = "Port 1%s Pin Function Select Register"]
462 #[inline(always)]
463 pub const fn p1pfs_by(
464 &self,
465 ) -> &'static crate::common::ClusterRegisterArray<
466 crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW>,
467 3,
468 0x4,
469 > {
470 unsafe {
471 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x6busize))
472 }
473 }
474 #[inline(always)]
475 pub const fn p110pfs_by(
476 &self,
477 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
478 unsafe {
479 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
480 self._svd2pac_as_ptr().add(0x6busize),
481 )
482 }
483 }
484 #[inline(always)]
485 pub const fn p111pfs_by(
486 &self,
487 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
488 unsafe {
489 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
490 self._svd2pac_as_ptr().add(0x6fusize),
491 )
492 }
493 }
494 #[inline(always)]
495 pub const fn p112pfs_by(
496 &self,
497 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
498 unsafe {
499 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
500 self._svd2pac_as_ptr().add(0x73usize),
501 )
502 }
503 }
504
505 #[doc = "Port 200 Pin Function Select Register"]
506 #[inline(always)]
507 pub const fn p200pfs(
508 &self,
509 ) -> &'static crate::common::Reg<self::P200Pfs_SPEC, crate::common::RW> {
510 unsafe {
511 crate::common::Reg::<self::P200Pfs_SPEC, crate::common::RW>::from_ptr(
512 self._svd2pac_as_ptr().add(128usize),
513 )
514 }
515 }
516
517 #[doc = "Port 200 Pin Function Select Register"]
518 #[inline(always)]
519 pub const fn p200pfs_ha(
520 &self,
521 ) -> &'static crate::common::Reg<self::P200PfsHa_SPEC, crate::common::RW> {
522 unsafe {
523 crate::common::Reg::<self::P200PfsHa_SPEC, crate::common::RW>::from_ptr(
524 self._svd2pac_as_ptr().add(130usize),
525 )
526 }
527 }
528
529 #[doc = "Port 200 Pin Function Select Register"]
530 #[inline(always)]
531 pub const fn p200pfs_by(
532 &self,
533 ) -> &'static crate::common::Reg<self::P200PfsBy_SPEC, crate::common::RW> {
534 unsafe {
535 crate::common::Reg::<self::P200PfsBy_SPEC, crate::common::RW>::from_ptr(
536 self._svd2pac_as_ptr().add(131usize),
537 )
538 }
539 }
540
541 #[doc = "Port 201 Pin Function Select Register"]
542 #[inline(always)]
543 pub const fn p201pfs(
544 &self,
545 ) -> &'static crate::common::Reg<self::P201Pfs_SPEC, crate::common::RW> {
546 unsafe {
547 crate::common::Reg::<self::P201Pfs_SPEC, crate::common::RW>::from_ptr(
548 self._svd2pac_as_ptr().add(132usize),
549 )
550 }
551 }
552
553 #[doc = "Port 201 Pin Function Select Register"]
554 #[inline(always)]
555 pub const fn p201pfs_ha(
556 &self,
557 ) -> &'static crate::common::Reg<self::P201PfsHa_SPEC, crate::common::RW> {
558 unsafe {
559 crate::common::Reg::<self::P201PfsHa_SPEC, crate::common::RW>::from_ptr(
560 self._svd2pac_as_ptr().add(134usize),
561 )
562 }
563 }
564
565 #[doc = "Port 201 Pin Function Select Register"]
566 #[inline(always)]
567 pub const fn p201pfs_by(
568 &self,
569 ) -> &'static crate::common::Reg<self::P201PfsBy_SPEC, crate::common::RW> {
570 unsafe {
571 crate::common::Reg::<self::P201PfsBy_SPEC, crate::common::RW>::from_ptr(
572 self._svd2pac_as_ptr().add(135usize),
573 )
574 }
575 }
576
577 #[doc = "Port 205 Pin Function Select Register"]
578 #[inline(always)]
579 pub const fn p205pfs(
580 &self,
581 ) -> &'static crate::common::Reg<self::P205Pfs_SPEC, crate::common::RW> {
582 unsafe {
583 crate::common::Reg::<self::P205Pfs_SPEC, crate::common::RW>::from_ptr(
584 self._svd2pac_as_ptr().add(148usize),
585 )
586 }
587 }
588
589 #[doc = "Port 205 Pin Function Select Register"]
590 #[inline(always)]
591 pub const fn p205pfs_ha(
592 &self,
593 ) -> &'static crate::common::Reg<self::P205PfsHa_SPEC, crate::common::RW> {
594 unsafe {
595 crate::common::Reg::<self::P205PfsHa_SPEC, crate::common::RW>::from_ptr(
596 self._svd2pac_as_ptr().add(150usize),
597 )
598 }
599 }
600
601 #[doc = "Port 205 Pin Function Select Register"]
602 #[inline(always)]
603 pub const fn p205pfs_by(
604 &self,
605 ) -> &'static crate::common::Reg<self::P205PfsBy_SPEC, crate::common::RW> {
606 unsafe {
607 crate::common::Reg::<self::P205PfsBy_SPEC, crate::common::RW>::from_ptr(
608 self._svd2pac_as_ptr().add(151usize),
609 )
610 }
611 }
612
613 #[doc = "Port 300 Pin Function Select Register"]
614 #[inline(always)]
615 pub const fn p300pfs(
616 &self,
617 ) -> &'static crate::common::Reg<self::P300Pfs_SPEC, crate::common::RW> {
618 unsafe {
619 crate::common::Reg::<self::P300Pfs_SPEC, crate::common::RW>::from_ptr(
620 self._svd2pac_as_ptr().add(192usize),
621 )
622 }
623 }
624
625 #[doc = "Port 300 Pin Function Select Register"]
626 #[inline(always)]
627 pub const fn p300pfs_ha(
628 &self,
629 ) -> &'static crate::common::Reg<self::P300PfsHa_SPEC, crate::common::RW> {
630 unsafe {
631 crate::common::Reg::<self::P300PfsHa_SPEC, crate::common::RW>::from_ptr(
632 self._svd2pac_as_ptr().add(194usize),
633 )
634 }
635 }
636
637 #[doc = "Port 300 Pin Function Select Register"]
638 #[inline(always)]
639 pub const fn p300pfs_by(
640 &self,
641 ) -> &'static crate::common::Reg<self::P300PfsBy_SPEC, crate::common::RW> {
642 unsafe {
643 crate::common::Reg::<self::P300PfsBy_SPEC, crate::common::RW>::from_ptr(
644 self._svd2pac_as_ptr().add(195usize),
645 )
646 }
647 }
648
649 #[doc = "Port 40%s Pin Function Select Register"]
650 #[inline(always)]
651 pub const fn p40pfs(
652 &self,
653 ) -> &'static crate::common::ClusterRegisterArray<
654 crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW>,
655 2,
656 0x4,
657 > {
658 unsafe {
659 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x100usize))
660 }
661 }
662 #[inline(always)]
663 pub const fn p400pfs(
664 &self,
665 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
666 unsafe {
667 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
668 self._svd2pac_as_ptr().add(0x100usize),
669 )
670 }
671 }
672 #[inline(always)]
673 pub const fn p401pfs(
674 &self,
675 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
676 unsafe {
677 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
678 self._svd2pac_as_ptr().add(0x104usize),
679 )
680 }
681 }
682
683 #[doc = "Port 40%s Pin Function Select Register"]
684 #[inline(always)]
685 pub const fn p40pfs_ha(
686 &self,
687 ) -> &'static crate::common::ClusterRegisterArray<
688 crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW>,
689 2,
690 0x4,
691 > {
692 unsafe {
693 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x102usize))
694 }
695 }
696 #[inline(always)]
697 pub const fn p400pfs_ha(
698 &self,
699 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
700 unsafe {
701 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
702 self._svd2pac_as_ptr().add(0x102usize),
703 )
704 }
705 }
706 #[inline(always)]
707 pub const fn p401pfs_ha(
708 &self,
709 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
710 unsafe {
711 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
712 self._svd2pac_as_ptr().add(0x106usize),
713 )
714 }
715 }
716
717 #[doc = "Port 40%s Pin Function Select Register"]
718 #[inline(always)]
719 pub const fn p40pfs_by(
720 &self,
721 ) -> &'static crate::common::ClusterRegisterArray<
722 crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW>,
723 2,
724 0x4,
725 > {
726 unsafe {
727 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x103usize))
728 }
729 }
730 #[inline(always)]
731 pub const fn p400pfs_by(
732 &self,
733 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
734 unsafe {
735 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
736 self._svd2pac_as_ptr().add(0x103usize),
737 )
738 }
739 }
740 #[inline(always)]
741 pub const fn p401pfs_by(
742 &self,
743 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
744 unsafe {
745 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
746 self._svd2pac_as_ptr().add(0x107usize),
747 )
748 }
749 }
750
751 #[doc = "Port 914 Pin Function Select Register"]
752 #[inline(always)]
753 pub const fn p914pfs(
754 &self,
755 ) -> &'static crate::common::Reg<self::P914Pfs_SPEC, crate::common::RW> {
756 unsafe {
757 crate::common::Reg::<self::P914Pfs_SPEC, crate::common::RW>::from_ptr(
758 self._svd2pac_as_ptr().add(632usize),
759 )
760 }
761 }
762
763 #[doc = "Port 914 Pin Function Select Register"]
764 #[inline(always)]
765 pub const fn p914pfs_ha(
766 &self,
767 ) -> &'static crate::common::Reg<self::P914PfsHa_SPEC, crate::common::RW> {
768 unsafe {
769 crate::common::Reg::<self::P914PfsHa_SPEC, crate::common::RW>::from_ptr(
770 self._svd2pac_as_ptr().add(634usize),
771 )
772 }
773 }
774
775 #[doc = "Port 914 Pin Function Select Register"]
776 #[inline(always)]
777 pub const fn p914pfs_by(
778 &self,
779 ) -> &'static crate::common::Reg<self::P914PfsBy_SPEC, crate::common::RW> {
780 unsafe {
781 crate::common::Reg::<self::P914PfsBy_SPEC, crate::common::RW>::from_ptr(
782 self._svd2pac_as_ptr().add(635usize),
783 )
784 }
785 }
786
787 #[doc = "Write-Protect Register"]
788 #[inline(always)]
789 pub const fn pwpr(&self) -> &'static crate::common::Reg<self::Pwpr_SPEC, crate::common::RW> {
790 unsafe {
791 crate::common::Reg::<self::Pwpr_SPEC, crate::common::RW>::from_ptr(
792 self._svd2pac_as_ptr().add(1283usize),
793 )
794 }
795 }
796
797 #[doc = "Port Read Wait Control Register"]
798 #[inline(always)]
799 pub const fn prwcntr(
800 &self,
801 ) -> &'static crate::common::Reg<self::Prwcntr_SPEC, crate::common::RW> {
802 unsafe {
803 crate::common::Reg::<self::Prwcntr_SPEC, crate::common::RW>::from_ptr(
804 self._svd2pac_as_ptr().add(1295usize),
805 )
806 }
807 }
808}
809#[doc(hidden)]
810#[derive(Copy, Clone, Eq, PartialEq)]
811pub struct P0Pfs_SPEC;
812impl crate::sealed::RegSpec for P0Pfs_SPEC {
813 type DataType = u32;
814}
815
816#[doc = "Port 0%s Pin Function Select Register"]
817pub type P0Pfs = crate::RegValueT<P0Pfs_SPEC>;
818
819impl P0Pfs {
820 #[doc = "Port Output Data"]
821 #[inline(always)]
822 pub fn podr(
823 self,
824 ) -> crate::common::RegisterField<
825 0,
826 0x1,
827 1,
828 0,
829 p0pfs::Podr,
830 p0pfs::Podr,
831 P0Pfs_SPEC,
832 crate::common::RW,
833 > {
834 crate::common::RegisterField::<
835 0,
836 0x1,
837 1,
838 0,
839 p0pfs::Podr,
840 p0pfs::Podr,
841 P0Pfs_SPEC,
842 crate::common::RW,
843 >::from_register(self, 0)
844 }
845
846 #[doc = "Port State"]
847 #[inline(always)]
848 pub fn pidr(
849 self,
850 ) -> crate::common::RegisterField<
851 1,
852 0x1,
853 1,
854 0,
855 p0pfs::Pidr,
856 p0pfs::Pidr,
857 P0Pfs_SPEC,
858 crate::common::R,
859 > {
860 crate::common::RegisterField::<
861 1,
862 0x1,
863 1,
864 0,
865 p0pfs::Pidr,
866 p0pfs::Pidr,
867 P0Pfs_SPEC,
868 crate::common::R,
869 >::from_register(self, 0)
870 }
871
872 #[doc = "Port Direction"]
873 #[inline(always)]
874 pub fn pdr(
875 self,
876 ) -> crate::common::RegisterField<
877 2,
878 0x1,
879 1,
880 0,
881 p0pfs::Pdr,
882 p0pfs::Pdr,
883 P0Pfs_SPEC,
884 crate::common::RW,
885 > {
886 crate::common::RegisterField::<
887 2,
888 0x1,
889 1,
890 0,
891 p0pfs::Pdr,
892 p0pfs::Pdr,
893 P0Pfs_SPEC,
894 crate::common::RW,
895 >::from_register(self, 0)
896 }
897
898 #[doc = "Pull-up Control"]
899 #[inline(always)]
900 pub fn pcr(
901 self,
902 ) -> crate::common::RegisterField<
903 4,
904 0x1,
905 1,
906 0,
907 p0pfs::Pcr,
908 p0pfs::Pcr,
909 P0Pfs_SPEC,
910 crate::common::RW,
911 > {
912 crate::common::RegisterField::<
913 4,
914 0x1,
915 1,
916 0,
917 p0pfs::Pcr,
918 p0pfs::Pcr,
919 P0Pfs_SPEC,
920 crate::common::RW,
921 >::from_register(self, 0)
922 }
923
924 #[doc = "N-Channel Open-Drain Control"]
925 #[inline(always)]
926 pub fn ncodr(
927 self,
928 ) -> crate::common::RegisterField<
929 6,
930 0x1,
931 1,
932 0,
933 p0pfs::Ncodr,
934 p0pfs::Ncodr,
935 P0Pfs_SPEC,
936 crate::common::RW,
937 > {
938 crate::common::RegisterField::<
939 6,
940 0x1,
941 1,
942 0,
943 p0pfs::Ncodr,
944 p0pfs::Ncodr,
945 P0Pfs_SPEC,
946 crate::common::RW,
947 >::from_register(self, 0)
948 }
949
950 #[doc = "IRQ Input Enable"]
951 #[inline(always)]
952 pub fn isel(
953 self,
954 ) -> crate::common::RegisterField<
955 14,
956 0x1,
957 1,
958 0,
959 p0pfs::Isel,
960 p0pfs::Isel,
961 P0Pfs_SPEC,
962 crate::common::RW,
963 > {
964 crate::common::RegisterField::<
965 14,
966 0x1,
967 1,
968 0,
969 p0pfs::Isel,
970 p0pfs::Isel,
971 P0Pfs_SPEC,
972 crate::common::RW,
973 >::from_register(self, 0)
974 }
975
976 #[doc = "Analog Input Enable"]
977 #[inline(always)]
978 pub fn asel(
979 self,
980 ) -> crate::common::RegisterField<
981 15,
982 0x1,
983 1,
984 0,
985 p0pfs::Asel,
986 p0pfs::Asel,
987 P0Pfs_SPEC,
988 crate::common::RW,
989 > {
990 crate::common::RegisterField::<
991 15,
992 0x1,
993 1,
994 0,
995 p0pfs::Asel,
996 p0pfs::Asel,
997 P0Pfs_SPEC,
998 crate::common::RW,
999 >::from_register(self, 0)
1000 }
1001
1002 #[doc = "Port Mode Control"]
1003 #[inline(always)]
1004 pub fn pmr(
1005 self,
1006 ) -> crate::common::RegisterField<
1007 16,
1008 0x1,
1009 1,
1010 0,
1011 p0pfs::Pmr,
1012 p0pfs::Pmr,
1013 P0Pfs_SPEC,
1014 crate::common::RW,
1015 > {
1016 crate::common::RegisterField::<
1017 16,
1018 0x1,
1019 1,
1020 0,
1021 p0pfs::Pmr,
1022 p0pfs::Pmr,
1023 P0Pfs_SPEC,
1024 crate::common::RW,
1025 >::from_register(self, 0)
1026 }
1027
1028 #[doc = "Peripheral Select"]
1029 #[inline(always)]
1030 pub fn psel(
1031 self,
1032 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P0Pfs_SPEC, crate::common::RW> {
1033 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P0Pfs_SPEC,crate::common::RW>::from_register(self,0)
1034 }
1035}
1036impl ::core::default::Default for P0Pfs {
1037 #[inline(always)]
1038 fn default() -> P0Pfs {
1039 <crate::RegValueT<P0Pfs_SPEC> as RegisterValue<_>>::new(0)
1040 }
1041}
1042pub mod p0pfs {
1043
1044 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1045 pub struct Podr_SPEC;
1046 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
1047 impl Podr {
1048 #[doc = "Output low"]
1049 pub const _0: Self = Self::new(0);
1050
1051 #[doc = "Output high"]
1052 pub const _1: Self = Self::new(1);
1053 }
1054 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1055 pub struct Pidr_SPEC;
1056 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
1057 impl Pidr {
1058 #[doc = "Low level"]
1059 pub const _0: Self = Self::new(0);
1060
1061 #[doc = "High level"]
1062 pub const _1: Self = Self::new(1);
1063 }
1064 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1065 pub struct Pdr_SPEC;
1066 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
1067 impl Pdr {
1068 #[doc = "Input (functions as an input pin)"]
1069 pub const _0: Self = Self::new(0);
1070
1071 #[doc = "Output (functions as an output pin)"]
1072 pub const _1: Self = Self::new(1);
1073 }
1074 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1075 pub struct Pcr_SPEC;
1076 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
1077 impl Pcr {
1078 #[doc = "Disable input pull-up"]
1079 pub const _0: Self = Self::new(0);
1080
1081 #[doc = "Enable input pull-up"]
1082 pub const _1: Self = Self::new(1);
1083 }
1084 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1085 pub struct Ncodr_SPEC;
1086 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
1087 impl Ncodr {
1088 #[doc = "Output CMOS"]
1089 pub const _0: Self = Self::new(0);
1090
1091 #[doc = "Output NMOS open-drain"]
1092 pub const _1: Self = Self::new(1);
1093 }
1094 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1095 pub struct Isel_SPEC;
1096 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
1097 impl Isel {
1098 #[doc = "Do not use as IRQn input pin"]
1099 pub const _0: Self = Self::new(0);
1100
1101 #[doc = "Use as IRQn input pin"]
1102 pub const _1: Self = Self::new(1);
1103 }
1104 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1105 pub struct Asel_SPEC;
1106 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
1107 impl Asel {
1108 #[doc = "Do not use as analog pin"]
1109 pub const _0: Self = Self::new(0);
1110
1111 #[doc = "Use as analog pin"]
1112 pub const _1: Self = Self::new(1);
1113 }
1114 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1115 pub struct Pmr_SPEC;
1116 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
1117 impl Pmr {
1118 #[doc = "Use as general I/O pin"]
1119 pub const _0: Self = Self::new(0);
1120
1121 #[doc = "Use as I/O port for peripheral functions"]
1122 pub const _1: Self = Self::new(1);
1123 }
1124}
1125#[doc(hidden)]
1126#[derive(Copy, Clone, Eq, PartialEq)]
1127pub struct P0PfsHa_SPEC;
1128impl crate::sealed::RegSpec for P0PfsHa_SPEC {
1129 type DataType = u16;
1130}
1131
1132#[doc = "Port 0%s Pin Function Select Register"]
1133pub type P0PfsHa = crate::RegValueT<P0PfsHa_SPEC>;
1134
1135impl P0PfsHa {
1136 #[doc = "Port Output Data"]
1137 #[inline(always)]
1138 pub fn podr(
1139 self,
1140 ) -> crate::common::RegisterField<
1141 0,
1142 0x1,
1143 1,
1144 0,
1145 p0pfs_ha::Podr,
1146 p0pfs_ha::Podr,
1147 P0PfsHa_SPEC,
1148 crate::common::RW,
1149 > {
1150 crate::common::RegisterField::<
1151 0,
1152 0x1,
1153 1,
1154 0,
1155 p0pfs_ha::Podr,
1156 p0pfs_ha::Podr,
1157 P0PfsHa_SPEC,
1158 crate::common::RW,
1159 >::from_register(self, 0)
1160 }
1161
1162 #[doc = "Port State"]
1163 #[inline(always)]
1164 pub fn pidr(
1165 self,
1166 ) -> crate::common::RegisterField<
1167 1,
1168 0x1,
1169 1,
1170 0,
1171 p0pfs_ha::Pidr,
1172 p0pfs_ha::Pidr,
1173 P0PfsHa_SPEC,
1174 crate::common::R,
1175 > {
1176 crate::common::RegisterField::<
1177 1,
1178 0x1,
1179 1,
1180 0,
1181 p0pfs_ha::Pidr,
1182 p0pfs_ha::Pidr,
1183 P0PfsHa_SPEC,
1184 crate::common::R,
1185 >::from_register(self, 0)
1186 }
1187
1188 #[doc = "Port Direction"]
1189 #[inline(always)]
1190 pub fn pdr(
1191 self,
1192 ) -> crate::common::RegisterField<
1193 2,
1194 0x1,
1195 1,
1196 0,
1197 p0pfs_ha::Pdr,
1198 p0pfs_ha::Pdr,
1199 P0PfsHa_SPEC,
1200 crate::common::RW,
1201 > {
1202 crate::common::RegisterField::<
1203 2,
1204 0x1,
1205 1,
1206 0,
1207 p0pfs_ha::Pdr,
1208 p0pfs_ha::Pdr,
1209 P0PfsHa_SPEC,
1210 crate::common::RW,
1211 >::from_register(self, 0)
1212 }
1213
1214 #[doc = "Pull-up Control"]
1215 #[inline(always)]
1216 pub fn pcr(
1217 self,
1218 ) -> crate::common::RegisterField<
1219 4,
1220 0x1,
1221 1,
1222 0,
1223 p0pfs_ha::Pcr,
1224 p0pfs_ha::Pcr,
1225 P0PfsHa_SPEC,
1226 crate::common::RW,
1227 > {
1228 crate::common::RegisterField::<
1229 4,
1230 0x1,
1231 1,
1232 0,
1233 p0pfs_ha::Pcr,
1234 p0pfs_ha::Pcr,
1235 P0PfsHa_SPEC,
1236 crate::common::RW,
1237 >::from_register(self, 0)
1238 }
1239
1240 #[doc = "N-Channel Open-Drain Control"]
1241 #[inline(always)]
1242 pub fn ncodr(
1243 self,
1244 ) -> crate::common::RegisterField<
1245 6,
1246 0x1,
1247 1,
1248 0,
1249 p0pfs_ha::Ncodr,
1250 p0pfs_ha::Ncodr,
1251 P0PfsHa_SPEC,
1252 crate::common::RW,
1253 > {
1254 crate::common::RegisterField::<
1255 6,
1256 0x1,
1257 1,
1258 0,
1259 p0pfs_ha::Ncodr,
1260 p0pfs_ha::Ncodr,
1261 P0PfsHa_SPEC,
1262 crate::common::RW,
1263 >::from_register(self, 0)
1264 }
1265
1266 #[doc = "IRQ Input Enable"]
1267 #[inline(always)]
1268 pub fn isel(
1269 self,
1270 ) -> crate::common::RegisterField<
1271 14,
1272 0x1,
1273 1,
1274 0,
1275 p0pfs_ha::Isel,
1276 p0pfs_ha::Isel,
1277 P0PfsHa_SPEC,
1278 crate::common::RW,
1279 > {
1280 crate::common::RegisterField::<
1281 14,
1282 0x1,
1283 1,
1284 0,
1285 p0pfs_ha::Isel,
1286 p0pfs_ha::Isel,
1287 P0PfsHa_SPEC,
1288 crate::common::RW,
1289 >::from_register(self, 0)
1290 }
1291
1292 #[doc = "Analog Input Enable"]
1293 #[inline(always)]
1294 pub fn asel(
1295 self,
1296 ) -> crate::common::RegisterField<
1297 15,
1298 0x1,
1299 1,
1300 0,
1301 p0pfs_ha::Asel,
1302 p0pfs_ha::Asel,
1303 P0PfsHa_SPEC,
1304 crate::common::RW,
1305 > {
1306 crate::common::RegisterField::<
1307 15,
1308 0x1,
1309 1,
1310 0,
1311 p0pfs_ha::Asel,
1312 p0pfs_ha::Asel,
1313 P0PfsHa_SPEC,
1314 crate::common::RW,
1315 >::from_register(self, 0)
1316 }
1317}
1318impl ::core::default::Default for P0PfsHa {
1319 #[inline(always)]
1320 fn default() -> P0PfsHa {
1321 <crate::RegValueT<P0PfsHa_SPEC> as RegisterValue<_>>::new(0)
1322 }
1323}
1324pub mod p0pfs_ha {
1325
1326 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1327 pub struct Podr_SPEC;
1328 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
1329 impl Podr {
1330 #[doc = "Output low"]
1331 pub const _0: Self = Self::new(0);
1332
1333 #[doc = "Output high"]
1334 pub const _1: Self = Self::new(1);
1335 }
1336 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1337 pub struct Pidr_SPEC;
1338 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
1339 impl Pidr {
1340 #[doc = "Low level"]
1341 pub const _0: Self = Self::new(0);
1342
1343 #[doc = "High level"]
1344 pub const _1: Self = Self::new(1);
1345 }
1346 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1347 pub struct Pdr_SPEC;
1348 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
1349 impl Pdr {
1350 #[doc = "Input (functions as an input pin)"]
1351 pub const _0: Self = Self::new(0);
1352
1353 #[doc = "Output (functions as an output pin)"]
1354 pub const _1: Self = Self::new(1);
1355 }
1356 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1357 pub struct Pcr_SPEC;
1358 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
1359 impl Pcr {
1360 #[doc = "Disable input pull-up"]
1361 pub const _0: Self = Self::new(0);
1362
1363 #[doc = "Enable input pull-up"]
1364 pub const _1: Self = Self::new(1);
1365 }
1366 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1367 pub struct Ncodr_SPEC;
1368 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
1369 impl Ncodr {
1370 #[doc = "Output CMOS"]
1371 pub const _0: Self = Self::new(0);
1372
1373 #[doc = "Output NMOS open-drain"]
1374 pub const _1: Self = Self::new(1);
1375 }
1376 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1377 pub struct Isel_SPEC;
1378 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
1379 impl Isel {
1380 #[doc = "Do not use as IRQn input pin"]
1381 pub const _0: Self = Self::new(0);
1382
1383 #[doc = "Use as IRQn input pin"]
1384 pub const _1: Self = Self::new(1);
1385 }
1386 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1387 pub struct Asel_SPEC;
1388 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
1389 impl Asel {
1390 #[doc = "Do not use as analog pin"]
1391 pub const _0: Self = Self::new(0);
1392
1393 #[doc = "Use as analog pin"]
1394 pub const _1: Self = Self::new(1);
1395 }
1396}
1397#[doc(hidden)]
1398#[derive(Copy, Clone, Eq, PartialEq)]
1399pub struct P0PfsBy_SPEC;
1400impl crate::sealed::RegSpec for P0PfsBy_SPEC {
1401 type DataType = u8;
1402}
1403
1404#[doc = "Port 0%s Pin Function Select Register"]
1405pub type P0PfsBy = crate::RegValueT<P0PfsBy_SPEC>;
1406
1407impl P0PfsBy {
1408 #[doc = "Port Output Data"]
1409 #[inline(always)]
1410 pub fn podr(
1411 self,
1412 ) -> crate::common::RegisterField<
1413 0,
1414 0x1,
1415 1,
1416 0,
1417 p0pfs_by::Podr,
1418 p0pfs_by::Podr,
1419 P0PfsBy_SPEC,
1420 crate::common::RW,
1421 > {
1422 crate::common::RegisterField::<
1423 0,
1424 0x1,
1425 1,
1426 0,
1427 p0pfs_by::Podr,
1428 p0pfs_by::Podr,
1429 P0PfsBy_SPEC,
1430 crate::common::RW,
1431 >::from_register(self, 0)
1432 }
1433
1434 #[doc = "Port State"]
1435 #[inline(always)]
1436 pub fn pidr(
1437 self,
1438 ) -> crate::common::RegisterField<
1439 1,
1440 0x1,
1441 1,
1442 0,
1443 p0pfs_by::Pidr,
1444 p0pfs_by::Pidr,
1445 P0PfsBy_SPEC,
1446 crate::common::R,
1447 > {
1448 crate::common::RegisterField::<
1449 1,
1450 0x1,
1451 1,
1452 0,
1453 p0pfs_by::Pidr,
1454 p0pfs_by::Pidr,
1455 P0PfsBy_SPEC,
1456 crate::common::R,
1457 >::from_register(self, 0)
1458 }
1459
1460 #[doc = "Port Direction"]
1461 #[inline(always)]
1462 pub fn pdr(
1463 self,
1464 ) -> crate::common::RegisterField<
1465 2,
1466 0x1,
1467 1,
1468 0,
1469 p0pfs_by::Pdr,
1470 p0pfs_by::Pdr,
1471 P0PfsBy_SPEC,
1472 crate::common::RW,
1473 > {
1474 crate::common::RegisterField::<
1475 2,
1476 0x1,
1477 1,
1478 0,
1479 p0pfs_by::Pdr,
1480 p0pfs_by::Pdr,
1481 P0PfsBy_SPEC,
1482 crate::common::RW,
1483 >::from_register(self, 0)
1484 }
1485
1486 #[doc = "Pull-up Control"]
1487 #[inline(always)]
1488 pub fn pcr(
1489 self,
1490 ) -> crate::common::RegisterField<
1491 4,
1492 0x1,
1493 1,
1494 0,
1495 p0pfs_by::Pcr,
1496 p0pfs_by::Pcr,
1497 P0PfsBy_SPEC,
1498 crate::common::RW,
1499 > {
1500 crate::common::RegisterField::<
1501 4,
1502 0x1,
1503 1,
1504 0,
1505 p0pfs_by::Pcr,
1506 p0pfs_by::Pcr,
1507 P0PfsBy_SPEC,
1508 crate::common::RW,
1509 >::from_register(self, 0)
1510 }
1511
1512 #[doc = "N-Channel Open-Drain Control"]
1513 #[inline(always)]
1514 pub fn ncodr(
1515 self,
1516 ) -> crate::common::RegisterField<
1517 6,
1518 0x1,
1519 1,
1520 0,
1521 p0pfs_by::Ncodr,
1522 p0pfs_by::Ncodr,
1523 P0PfsBy_SPEC,
1524 crate::common::RW,
1525 > {
1526 crate::common::RegisterField::<
1527 6,
1528 0x1,
1529 1,
1530 0,
1531 p0pfs_by::Ncodr,
1532 p0pfs_by::Ncodr,
1533 P0PfsBy_SPEC,
1534 crate::common::RW,
1535 >::from_register(self, 0)
1536 }
1537}
1538impl ::core::default::Default for P0PfsBy {
1539 #[inline(always)]
1540 fn default() -> P0PfsBy {
1541 <crate::RegValueT<P0PfsBy_SPEC> as RegisterValue<_>>::new(0)
1542 }
1543}
1544pub mod p0pfs_by {
1545
1546 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1547 pub struct Podr_SPEC;
1548 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
1549 impl Podr {
1550 #[doc = "Output low"]
1551 pub const _0: Self = Self::new(0);
1552
1553 #[doc = "Output high"]
1554 pub const _1: Self = Self::new(1);
1555 }
1556 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1557 pub struct Pidr_SPEC;
1558 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
1559 impl Pidr {
1560 #[doc = "Low level"]
1561 pub const _0: Self = Self::new(0);
1562
1563 #[doc = "High level"]
1564 pub const _1: Self = Self::new(1);
1565 }
1566 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1567 pub struct Pdr_SPEC;
1568 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
1569 impl Pdr {
1570 #[doc = "Input (functions as an input pin)"]
1571 pub const _0: Self = Self::new(0);
1572
1573 #[doc = "Output (functions as an output pin)"]
1574 pub const _1: Self = Self::new(1);
1575 }
1576 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1577 pub struct Pcr_SPEC;
1578 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
1579 impl Pcr {
1580 #[doc = "Disable input pull-up"]
1581 pub const _0: Self = Self::new(0);
1582
1583 #[doc = "Enable input pull-up"]
1584 pub const _1: Self = Self::new(1);
1585 }
1586 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1587 pub struct Ncodr_SPEC;
1588 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
1589 impl Ncodr {
1590 #[doc = "Output CMOS"]
1591 pub const _0: Self = Self::new(0);
1592
1593 #[doc = "Output NMOS open-drain"]
1594 pub const _1: Self = Self::new(1);
1595 }
1596}
1597#[doc(hidden)]
1598#[derive(Copy, Clone, Eq, PartialEq)]
1599pub struct P10Pfs_SPEC;
1600impl crate::sealed::RegSpec for P10Pfs_SPEC {
1601 type DataType = u32;
1602}
1603
1604#[doc = "Port 10%s Pin Function Select Register"]
1605pub type P10Pfs = crate::RegValueT<P10Pfs_SPEC>;
1606
1607impl P10Pfs {
1608 #[doc = "Port Output Data"]
1609 #[inline(always)]
1610 pub fn podr(
1611 self,
1612 ) -> crate::common::RegisterField<
1613 0,
1614 0x1,
1615 1,
1616 0,
1617 p10pfs::Podr,
1618 p10pfs::Podr,
1619 P10Pfs_SPEC,
1620 crate::common::RW,
1621 > {
1622 crate::common::RegisterField::<
1623 0,
1624 0x1,
1625 1,
1626 0,
1627 p10pfs::Podr,
1628 p10pfs::Podr,
1629 P10Pfs_SPEC,
1630 crate::common::RW,
1631 >::from_register(self, 0)
1632 }
1633
1634 #[doc = "Port State"]
1635 #[inline(always)]
1636 pub fn pidr(
1637 self,
1638 ) -> crate::common::RegisterField<
1639 1,
1640 0x1,
1641 1,
1642 0,
1643 p10pfs::Pidr,
1644 p10pfs::Pidr,
1645 P10Pfs_SPEC,
1646 crate::common::R,
1647 > {
1648 crate::common::RegisterField::<
1649 1,
1650 0x1,
1651 1,
1652 0,
1653 p10pfs::Pidr,
1654 p10pfs::Pidr,
1655 P10Pfs_SPEC,
1656 crate::common::R,
1657 >::from_register(self, 0)
1658 }
1659
1660 #[doc = "Port Direction"]
1661 #[inline(always)]
1662 pub fn pdr(
1663 self,
1664 ) -> crate::common::RegisterField<
1665 2,
1666 0x1,
1667 1,
1668 0,
1669 p10pfs::Pdr,
1670 p10pfs::Pdr,
1671 P10Pfs_SPEC,
1672 crate::common::RW,
1673 > {
1674 crate::common::RegisterField::<
1675 2,
1676 0x1,
1677 1,
1678 0,
1679 p10pfs::Pdr,
1680 p10pfs::Pdr,
1681 P10Pfs_SPEC,
1682 crate::common::RW,
1683 >::from_register(self, 0)
1684 }
1685
1686 #[doc = "Pull-up Control"]
1687 #[inline(always)]
1688 pub fn pcr(
1689 self,
1690 ) -> crate::common::RegisterField<
1691 4,
1692 0x1,
1693 1,
1694 0,
1695 p10pfs::Pcr,
1696 p10pfs::Pcr,
1697 P10Pfs_SPEC,
1698 crate::common::RW,
1699 > {
1700 crate::common::RegisterField::<
1701 4,
1702 0x1,
1703 1,
1704 0,
1705 p10pfs::Pcr,
1706 p10pfs::Pcr,
1707 P10Pfs_SPEC,
1708 crate::common::RW,
1709 >::from_register(self, 0)
1710 }
1711
1712 #[doc = "N-Channel Open-Drain Control"]
1713 #[inline(always)]
1714 pub fn ncodr(
1715 self,
1716 ) -> crate::common::RegisterField<
1717 6,
1718 0x1,
1719 1,
1720 0,
1721 p10pfs::Ncodr,
1722 p10pfs::Ncodr,
1723 P10Pfs_SPEC,
1724 crate::common::RW,
1725 > {
1726 crate::common::RegisterField::<
1727 6,
1728 0x1,
1729 1,
1730 0,
1731 p10pfs::Ncodr,
1732 p10pfs::Ncodr,
1733 P10Pfs_SPEC,
1734 crate::common::RW,
1735 >::from_register(self, 0)
1736 }
1737
1738 #[doc = "Event on Falling/Event on Rising"]
1739 #[inline(always)]
1740 pub fn eofr(
1741 self,
1742 ) -> crate::common::RegisterField<
1743 12,
1744 0x3,
1745 1,
1746 0,
1747 p10pfs::Eofr,
1748 p10pfs::Eofr,
1749 P10Pfs_SPEC,
1750 crate::common::RW,
1751 > {
1752 crate::common::RegisterField::<
1753 12,
1754 0x3,
1755 1,
1756 0,
1757 p10pfs::Eofr,
1758 p10pfs::Eofr,
1759 P10Pfs_SPEC,
1760 crate::common::RW,
1761 >::from_register(self, 0)
1762 }
1763
1764 #[doc = "IRQ Input Enable"]
1765 #[inline(always)]
1766 pub fn isel(
1767 self,
1768 ) -> crate::common::RegisterField<
1769 14,
1770 0x1,
1771 1,
1772 0,
1773 p10pfs::Isel,
1774 p10pfs::Isel,
1775 P10Pfs_SPEC,
1776 crate::common::RW,
1777 > {
1778 crate::common::RegisterField::<
1779 14,
1780 0x1,
1781 1,
1782 0,
1783 p10pfs::Isel,
1784 p10pfs::Isel,
1785 P10Pfs_SPEC,
1786 crate::common::RW,
1787 >::from_register(self, 0)
1788 }
1789
1790 #[doc = "Analog Input Enable"]
1791 #[inline(always)]
1792 pub fn asel(
1793 self,
1794 ) -> crate::common::RegisterField<
1795 15,
1796 0x1,
1797 1,
1798 0,
1799 p10pfs::Asel,
1800 p10pfs::Asel,
1801 P10Pfs_SPEC,
1802 crate::common::RW,
1803 > {
1804 crate::common::RegisterField::<
1805 15,
1806 0x1,
1807 1,
1808 0,
1809 p10pfs::Asel,
1810 p10pfs::Asel,
1811 P10Pfs_SPEC,
1812 crate::common::RW,
1813 >::from_register(self, 0)
1814 }
1815
1816 #[doc = "Port Mode Control"]
1817 #[inline(always)]
1818 pub fn pmr(
1819 self,
1820 ) -> crate::common::RegisterField<
1821 16,
1822 0x1,
1823 1,
1824 0,
1825 p10pfs::Pmr,
1826 p10pfs::Pmr,
1827 P10Pfs_SPEC,
1828 crate::common::RW,
1829 > {
1830 crate::common::RegisterField::<
1831 16,
1832 0x1,
1833 1,
1834 0,
1835 p10pfs::Pmr,
1836 p10pfs::Pmr,
1837 P10Pfs_SPEC,
1838 crate::common::RW,
1839 >::from_register(self, 0)
1840 }
1841
1842 #[doc = "Peripheral Select"]
1843 #[inline(always)]
1844 pub fn psel(
1845 self,
1846 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P10Pfs_SPEC, crate::common::RW> {
1847 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P10Pfs_SPEC,crate::common::RW>::from_register(self,0)
1848 }
1849}
1850impl ::core::default::Default for P10Pfs {
1851 #[inline(always)]
1852 fn default() -> P10Pfs {
1853 <crate::RegValueT<P10Pfs_SPEC> as RegisterValue<_>>::new(0)
1854 }
1855}
1856pub mod p10pfs {
1857
1858 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1859 pub struct Podr_SPEC;
1860 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
1861 impl Podr {
1862 #[doc = "Output low"]
1863 pub const _0: Self = Self::new(0);
1864
1865 #[doc = "Output high"]
1866 pub const _1: Self = Self::new(1);
1867 }
1868 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1869 pub struct Pidr_SPEC;
1870 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
1871 impl Pidr {
1872 #[doc = "Low level"]
1873 pub const _0: Self = Self::new(0);
1874
1875 #[doc = "High level"]
1876 pub const _1: Self = Self::new(1);
1877 }
1878 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1879 pub struct Pdr_SPEC;
1880 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
1881 impl Pdr {
1882 #[doc = "Input (functions as an input pin)"]
1883 pub const _0: Self = Self::new(0);
1884
1885 #[doc = "Output (functions as an output pin)"]
1886 pub const _1: Self = Self::new(1);
1887 }
1888 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1889 pub struct Pcr_SPEC;
1890 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
1891 impl Pcr {
1892 #[doc = "Disable input pull-up"]
1893 pub const _0: Self = Self::new(0);
1894
1895 #[doc = "Enable input pull-up"]
1896 pub const _1: Self = Self::new(1);
1897 }
1898 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1899 pub struct Ncodr_SPEC;
1900 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
1901 impl Ncodr {
1902 #[doc = "Output CMOS"]
1903 pub const _0: Self = Self::new(0);
1904
1905 #[doc = "Output NMOS open-drain"]
1906 pub const _1: Self = Self::new(1);
1907 }
1908 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1909 pub struct Eofr_SPEC;
1910 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
1911 impl Eofr {
1912 #[doc = "Don\'t care"]
1913 pub const _00: Self = Self::new(0);
1914
1915 #[doc = "Detect rising edge"]
1916 pub const _01: Self = Self::new(1);
1917
1918 #[doc = "Detect falling edge"]
1919 pub const _10: Self = Self::new(2);
1920
1921 #[doc = "Detect both edges"]
1922 pub const _11: Self = Self::new(3);
1923 }
1924 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1925 pub struct Isel_SPEC;
1926 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
1927 impl Isel {
1928 #[doc = "Do not use as IRQn input pin"]
1929 pub const _0: Self = Self::new(0);
1930
1931 #[doc = "Use as IRQn input pin"]
1932 pub const _1: Self = Self::new(1);
1933 }
1934 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1935 pub struct Asel_SPEC;
1936 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
1937 impl Asel {
1938 #[doc = "Do not use as analog pin"]
1939 pub const _0: Self = Self::new(0);
1940
1941 #[doc = "Use as analog pin"]
1942 pub const _1: Self = Self::new(1);
1943 }
1944 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1945 pub struct Pmr_SPEC;
1946 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
1947 impl Pmr {
1948 #[doc = "Use as general I/O pin"]
1949 pub const _0: Self = Self::new(0);
1950
1951 #[doc = "Use as I/O port for peripheral functions"]
1952 pub const _1: Self = Self::new(1);
1953 }
1954}
1955#[doc(hidden)]
1956#[derive(Copy, Clone, Eq, PartialEq)]
1957pub struct P10PfsHa_SPEC;
1958impl crate::sealed::RegSpec for P10PfsHa_SPEC {
1959 type DataType = u16;
1960}
1961
1962#[doc = "Port 10%s Pin Function Select Register"]
1963pub type P10PfsHa = crate::RegValueT<P10PfsHa_SPEC>;
1964
1965impl P10PfsHa {
1966 #[doc = "Port Output Data"]
1967 #[inline(always)]
1968 pub fn podr(
1969 self,
1970 ) -> crate::common::RegisterField<
1971 0,
1972 0x1,
1973 1,
1974 0,
1975 p10pfs_ha::Podr,
1976 p10pfs_ha::Podr,
1977 P10PfsHa_SPEC,
1978 crate::common::RW,
1979 > {
1980 crate::common::RegisterField::<
1981 0,
1982 0x1,
1983 1,
1984 0,
1985 p10pfs_ha::Podr,
1986 p10pfs_ha::Podr,
1987 P10PfsHa_SPEC,
1988 crate::common::RW,
1989 >::from_register(self, 0)
1990 }
1991
1992 #[doc = "Port State"]
1993 #[inline(always)]
1994 pub fn pidr(
1995 self,
1996 ) -> crate::common::RegisterField<
1997 1,
1998 0x1,
1999 1,
2000 0,
2001 p10pfs_ha::Pidr,
2002 p10pfs_ha::Pidr,
2003 P10PfsHa_SPEC,
2004 crate::common::R,
2005 > {
2006 crate::common::RegisterField::<
2007 1,
2008 0x1,
2009 1,
2010 0,
2011 p10pfs_ha::Pidr,
2012 p10pfs_ha::Pidr,
2013 P10PfsHa_SPEC,
2014 crate::common::R,
2015 >::from_register(self, 0)
2016 }
2017
2018 #[doc = "Port Direction"]
2019 #[inline(always)]
2020 pub fn pdr(
2021 self,
2022 ) -> crate::common::RegisterField<
2023 2,
2024 0x1,
2025 1,
2026 0,
2027 p10pfs_ha::Pdr,
2028 p10pfs_ha::Pdr,
2029 P10PfsHa_SPEC,
2030 crate::common::RW,
2031 > {
2032 crate::common::RegisterField::<
2033 2,
2034 0x1,
2035 1,
2036 0,
2037 p10pfs_ha::Pdr,
2038 p10pfs_ha::Pdr,
2039 P10PfsHa_SPEC,
2040 crate::common::RW,
2041 >::from_register(self, 0)
2042 }
2043
2044 #[doc = "Pull-up Control"]
2045 #[inline(always)]
2046 pub fn pcr(
2047 self,
2048 ) -> crate::common::RegisterField<
2049 4,
2050 0x1,
2051 1,
2052 0,
2053 p10pfs_ha::Pcr,
2054 p10pfs_ha::Pcr,
2055 P10PfsHa_SPEC,
2056 crate::common::RW,
2057 > {
2058 crate::common::RegisterField::<
2059 4,
2060 0x1,
2061 1,
2062 0,
2063 p10pfs_ha::Pcr,
2064 p10pfs_ha::Pcr,
2065 P10PfsHa_SPEC,
2066 crate::common::RW,
2067 >::from_register(self, 0)
2068 }
2069
2070 #[doc = "N-Channel Open-Drain Control"]
2071 #[inline(always)]
2072 pub fn ncodr(
2073 self,
2074 ) -> crate::common::RegisterField<
2075 6,
2076 0x1,
2077 1,
2078 0,
2079 p10pfs_ha::Ncodr,
2080 p10pfs_ha::Ncodr,
2081 P10PfsHa_SPEC,
2082 crate::common::RW,
2083 > {
2084 crate::common::RegisterField::<
2085 6,
2086 0x1,
2087 1,
2088 0,
2089 p10pfs_ha::Ncodr,
2090 p10pfs_ha::Ncodr,
2091 P10PfsHa_SPEC,
2092 crate::common::RW,
2093 >::from_register(self, 0)
2094 }
2095
2096 #[doc = "Event on Falling/Event on Rising"]
2097 #[inline(always)]
2098 pub fn eofr(
2099 self,
2100 ) -> crate::common::RegisterField<
2101 12,
2102 0x3,
2103 1,
2104 0,
2105 p10pfs_ha::Eofr,
2106 p10pfs_ha::Eofr,
2107 P10PfsHa_SPEC,
2108 crate::common::RW,
2109 > {
2110 crate::common::RegisterField::<
2111 12,
2112 0x3,
2113 1,
2114 0,
2115 p10pfs_ha::Eofr,
2116 p10pfs_ha::Eofr,
2117 P10PfsHa_SPEC,
2118 crate::common::RW,
2119 >::from_register(self, 0)
2120 }
2121
2122 #[doc = "IRQ Input Enable"]
2123 #[inline(always)]
2124 pub fn isel(
2125 self,
2126 ) -> crate::common::RegisterField<
2127 14,
2128 0x1,
2129 1,
2130 0,
2131 p10pfs_ha::Isel,
2132 p10pfs_ha::Isel,
2133 P10PfsHa_SPEC,
2134 crate::common::RW,
2135 > {
2136 crate::common::RegisterField::<
2137 14,
2138 0x1,
2139 1,
2140 0,
2141 p10pfs_ha::Isel,
2142 p10pfs_ha::Isel,
2143 P10PfsHa_SPEC,
2144 crate::common::RW,
2145 >::from_register(self, 0)
2146 }
2147
2148 #[doc = "Analog Input Enable"]
2149 #[inline(always)]
2150 pub fn asel(
2151 self,
2152 ) -> crate::common::RegisterField<
2153 15,
2154 0x1,
2155 1,
2156 0,
2157 p10pfs_ha::Asel,
2158 p10pfs_ha::Asel,
2159 P10PfsHa_SPEC,
2160 crate::common::RW,
2161 > {
2162 crate::common::RegisterField::<
2163 15,
2164 0x1,
2165 1,
2166 0,
2167 p10pfs_ha::Asel,
2168 p10pfs_ha::Asel,
2169 P10PfsHa_SPEC,
2170 crate::common::RW,
2171 >::from_register(self, 0)
2172 }
2173}
2174impl ::core::default::Default for P10PfsHa {
2175 #[inline(always)]
2176 fn default() -> P10PfsHa {
2177 <crate::RegValueT<P10PfsHa_SPEC> as RegisterValue<_>>::new(0)
2178 }
2179}
2180pub mod p10pfs_ha {
2181
2182 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2183 pub struct Podr_SPEC;
2184 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
2185 impl Podr {
2186 #[doc = "Output low"]
2187 pub const _0: Self = Self::new(0);
2188
2189 #[doc = "Output high"]
2190 pub const _1: Self = Self::new(1);
2191 }
2192 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2193 pub struct Pidr_SPEC;
2194 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
2195 impl Pidr {
2196 #[doc = "Low level"]
2197 pub const _0: Self = Self::new(0);
2198
2199 #[doc = "High level"]
2200 pub const _1: Self = Self::new(1);
2201 }
2202 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2203 pub struct Pdr_SPEC;
2204 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
2205 impl Pdr {
2206 #[doc = "Input (functions as an input pin)"]
2207 pub const _0: Self = Self::new(0);
2208
2209 #[doc = "Output (functions as an output pin)"]
2210 pub const _1: Self = Self::new(1);
2211 }
2212 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2213 pub struct Pcr_SPEC;
2214 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
2215 impl Pcr {
2216 #[doc = "Disable input pull-up"]
2217 pub const _0: Self = Self::new(0);
2218
2219 #[doc = "Enable input pull-up"]
2220 pub const _1: Self = Self::new(1);
2221 }
2222 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2223 pub struct Ncodr_SPEC;
2224 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
2225 impl Ncodr {
2226 #[doc = "Output CMOS"]
2227 pub const _0: Self = Self::new(0);
2228
2229 #[doc = "Output NMOS open-drain"]
2230 pub const _1: Self = Self::new(1);
2231 }
2232 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2233 pub struct Eofr_SPEC;
2234 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
2235 impl Eofr {
2236 #[doc = "Don\'t care"]
2237 pub const _00: Self = Self::new(0);
2238
2239 #[doc = "Detect rising edge"]
2240 pub const _01: Self = Self::new(1);
2241
2242 #[doc = "Detect falling edge"]
2243 pub const _10: Self = Self::new(2);
2244
2245 #[doc = "Detect both edges"]
2246 pub const _11: Self = Self::new(3);
2247 }
2248 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2249 pub struct Isel_SPEC;
2250 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
2251 impl Isel {
2252 #[doc = "Do not use as IRQn input pin"]
2253 pub const _0: Self = Self::new(0);
2254
2255 #[doc = "Use as IRQn input pin"]
2256 pub const _1: Self = Self::new(1);
2257 }
2258 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2259 pub struct Asel_SPEC;
2260 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
2261 impl Asel {
2262 #[doc = "Do not use as analog pin"]
2263 pub const _0: Self = Self::new(0);
2264
2265 #[doc = "Use as analog pin"]
2266 pub const _1: Self = Self::new(1);
2267 }
2268}
2269#[doc(hidden)]
2270#[derive(Copy, Clone, Eq, PartialEq)]
2271pub struct P10PfsBy_SPEC;
2272impl crate::sealed::RegSpec for P10PfsBy_SPEC {
2273 type DataType = u8;
2274}
2275
2276#[doc = "Port 10%s Pin Function Select Register"]
2277pub type P10PfsBy = crate::RegValueT<P10PfsBy_SPEC>;
2278
2279impl P10PfsBy {
2280 #[doc = "Port Output Data"]
2281 #[inline(always)]
2282 pub fn podr(
2283 self,
2284 ) -> crate::common::RegisterField<
2285 0,
2286 0x1,
2287 1,
2288 0,
2289 p10pfs_by::Podr,
2290 p10pfs_by::Podr,
2291 P10PfsBy_SPEC,
2292 crate::common::RW,
2293 > {
2294 crate::common::RegisterField::<
2295 0,
2296 0x1,
2297 1,
2298 0,
2299 p10pfs_by::Podr,
2300 p10pfs_by::Podr,
2301 P10PfsBy_SPEC,
2302 crate::common::RW,
2303 >::from_register(self, 0)
2304 }
2305
2306 #[doc = "Port State"]
2307 #[inline(always)]
2308 pub fn pidr(
2309 self,
2310 ) -> crate::common::RegisterField<
2311 1,
2312 0x1,
2313 1,
2314 0,
2315 p10pfs_by::Pidr,
2316 p10pfs_by::Pidr,
2317 P10PfsBy_SPEC,
2318 crate::common::R,
2319 > {
2320 crate::common::RegisterField::<
2321 1,
2322 0x1,
2323 1,
2324 0,
2325 p10pfs_by::Pidr,
2326 p10pfs_by::Pidr,
2327 P10PfsBy_SPEC,
2328 crate::common::R,
2329 >::from_register(self, 0)
2330 }
2331
2332 #[doc = "Port Direction"]
2333 #[inline(always)]
2334 pub fn pdr(
2335 self,
2336 ) -> crate::common::RegisterField<
2337 2,
2338 0x1,
2339 1,
2340 0,
2341 p10pfs_by::Pdr,
2342 p10pfs_by::Pdr,
2343 P10PfsBy_SPEC,
2344 crate::common::RW,
2345 > {
2346 crate::common::RegisterField::<
2347 2,
2348 0x1,
2349 1,
2350 0,
2351 p10pfs_by::Pdr,
2352 p10pfs_by::Pdr,
2353 P10PfsBy_SPEC,
2354 crate::common::RW,
2355 >::from_register(self, 0)
2356 }
2357
2358 #[doc = "Pull-up Control"]
2359 #[inline(always)]
2360 pub fn pcr(
2361 self,
2362 ) -> crate::common::RegisterField<
2363 4,
2364 0x1,
2365 1,
2366 0,
2367 p10pfs_by::Pcr,
2368 p10pfs_by::Pcr,
2369 P10PfsBy_SPEC,
2370 crate::common::RW,
2371 > {
2372 crate::common::RegisterField::<
2373 4,
2374 0x1,
2375 1,
2376 0,
2377 p10pfs_by::Pcr,
2378 p10pfs_by::Pcr,
2379 P10PfsBy_SPEC,
2380 crate::common::RW,
2381 >::from_register(self, 0)
2382 }
2383
2384 #[doc = "N-Channel Open-Drain Control"]
2385 #[inline(always)]
2386 pub fn ncodr(
2387 self,
2388 ) -> crate::common::RegisterField<
2389 6,
2390 0x1,
2391 1,
2392 0,
2393 p10pfs_by::Ncodr,
2394 p10pfs_by::Ncodr,
2395 P10PfsBy_SPEC,
2396 crate::common::RW,
2397 > {
2398 crate::common::RegisterField::<
2399 6,
2400 0x1,
2401 1,
2402 0,
2403 p10pfs_by::Ncodr,
2404 p10pfs_by::Ncodr,
2405 P10PfsBy_SPEC,
2406 crate::common::RW,
2407 >::from_register(self, 0)
2408 }
2409}
2410impl ::core::default::Default for P10PfsBy {
2411 #[inline(always)]
2412 fn default() -> P10PfsBy {
2413 <crate::RegValueT<P10PfsBy_SPEC> as RegisterValue<_>>::new(0)
2414 }
2415}
2416pub mod p10pfs_by {
2417
2418 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2419 pub struct Podr_SPEC;
2420 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
2421 impl Podr {
2422 #[doc = "Output low"]
2423 pub const _0: Self = Self::new(0);
2424
2425 #[doc = "Output high"]
2426 pub const _1: Self = Self::new(1);
2427 }
2428 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2429 pub struct Pidr_SPEC;
2430 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
2431 impl Pidr {
2432 #[doc = "Low level"]
2433 pub const _0: Self = Self::new(0);
2434
2435 #[doc = "High level"]
2436 pub const _1: Self = Self::new(1);
2437 }
2438 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2439 pub struct Pdr_SPEC;
2440 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
2441 impl Pdr {
2442 #[doc = "Input (functions as an input pin)"]
2443 pub const _0: Self = Self::new(0);
2444
2445 #[doc = "Output (functions as an output pin)"]
2446 pub const _1: Self = Self::new(1);
2447 }
2448 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2449 pub struct Pcr_SPEC;
2450 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
2451 impl Pcr {
2452 #[doc = "Disable input pull-up"]
2453 pub const _0: Self = Self::new(0);
2454
2455 #[doc = "Enable input pull-up"]
2456 pub const _1: Self = Self::new(1);
2457 }
2458 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2459 pub struct Ncodr_SPEC;
2460 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
2461 impl Ncodr {
2462 #[doc = "Output CMOS"]
2463 pub const _0: Self = Self::new(0);
2464
2465 #[doc = "Output NMOS open-drain"]
2466 pub const _1: Self = Self::new(1);
2467 }
2468}
2469#[doc(hidden)]
2470#[derive(Copy, Clone, Eq, PartialEq)]
2471pub struct P108Pfs_SPEC;
2472impl crate::sealed::RegSpec for P108Pfs_SPEC {
2473 type DataType = u32;
2474}
2475
2476#[doc = "Port 108 Pin Function Select Register"]
2477pub type P108Pfs = crate::RegValueT<P108Pfs_SPEC>;
2478
2479impl P108Pfs {
2480 #[doc = "Port Output Data"]
2481 #[inline(always)]
2482 pub fn podr(
2483 self,
2484 ) -> crate::common::RegisterField<
2485 0,
2486 0x1,
2487 1,
2488 0,
2489 p108pfs::Podr,
2490 p108pfs::Podr,
2491 P108Pfs_SPEC,
2492 crate::common::RW,
2493 > {
2494 crate::common::RegisterField::<
2495 0,
2496 0x1,
2497 1,
2498 0,
2499 p108pfs::Podr,
2500 p108pfs::Podr,
2501 P108Pfs_SPEC,
2502 crate::common::RW,
2503 >::from_register(self, 0)
2504 }
2505
2506 #[doc = "Port State"]
2507 #[inline(always)]
2508 pub fn pidr(
2509 self,
2510 ) -> crate::common::RegisterField<
2511 1,
2512 0x1,
2513 1,
2514 0,
2515 p108pfs::Pidr,
2516 p108pfs::Pidr,
2517 P108Pfs_SPEC,
2518 crate::common::R,
2519 > {
2520 crate::common::RegisterField::<
2521 1,
2522 0x1,
2523 1,
2524 0,
2525 p108pfs::Pidr,
2526 p108pfs::Pidr,
2527 P108Pfs_SPEC,
2528 crate::common::R,
2529 >::from_register(self, 0)
2530 }
2531
2532 #[doc = "Port Direction"]
2533 #[inline(always)]
2534 pub fn pdr(
2535 self,
2536 ) -> crate::common::RegisterField<
2537 2,
2538 0x1,
2539 1,
2540 0,
2541 p108pfs::Pdr,
2542 p108pfs::Pdr,
2543 P108Pfs_SPEC,
2544 crate::common::RW,
2545 > {
2546 crate::common::RegisterField::<
2547 2,
2548 0x1,
2549 1,
2550 0,
2551 p108pfs::Pdr,
2552 p108pfs::Pdr,
2553 P108Pfs_SPEC,
2554 crate::common::RW,
2555 >::from_register(self, 0)
2556 }
2557
2558 #[doc = "Pull-up Control"]
2559 #[inline(always)]
2560 pub fn pcr(
2561 self,
2562 ) -> crate::common::RegisterField<
2563 4,
2564 0x1,
2565 1,
2566 0,
2567 p108pfs::Pcr,
2568 p108pfs::Pcr,
2569 P108Pfs_SPEC,
2570 crate::common::RW,
2571 > {
2572 crate::common::RegisterField::<
2573 4,
2574 0x1,
2575 1,
2576 0,
2577 p108pfs::Pcr,
2578 p108pfs::Pcr,
2579 P108Pfs_SPEC,
2580 crate::common::RW,
2581 >::from_register(self, 0)
2582 }
2583
2584 #[doc = "N-Channel Open-Drain Control"]
2585 #[inline(always)]
2586 pub fn ncodr(
2587 self,
2588 ) -> crate::common::RegisterField<
2589 6,
2590 0x1,
2591 1,
2592 0,
2593 p108pfs::Ncodr,
2594 p108pfs::Ncodr,
2595 P108Pfs_SPEC,
2596 crate::common::RW,
2597 > {
2598 crate::common::RegisterField::<
2599 6,
2600 0x1,
2601 1,
2602 0,
2603 p108pfs::Ncodr,
2604 p108pfs::Ncodr,
2605 P108Pfs_SPEC,
2606 crate::common::RW,
2607 >::from_register(self, 0)
2608 }
2609
2610 #[doc = "Event on Falling/Event on Rising"]
2611 #[inline(always)]
2612 pub fn eofr(
2613 self,
2614 ) -> crate::common::RegisterField<
2615 12,
2616 0x3,
2617 1,
2618 0,
2619 p108pfs::Eofr,
2620 p108pfs::Eofr,
2621 P108Pfs_SPEC,
2622 crate::common::RW,
2623 > {
2624 crate::common::RegisterField::<
2625 12,
2626 0x3,
2627 1,
2628 0,
2629 p108pfs::Eofr,
2630 p108pfs::Eofr,
2631 P108Pfs_SPEC,
2632 crate::common::RW,
2633 >::from_register(self, 0)
2634 }
2635
2636 #[doc = "IRQ Input Enable"]
2637 #[inline(always)]
2638 pub fn isel(
2639 self,
2640 ) -> crate::common::RegisterField<
2641 14,
2642 0x1,
2643 1,
2644 0,
2645 p108pfs::Isel,
2646 p108pfs::Isel,
2647 P108Pfs_SPEC,
2648 crate::common::RW,
2649 > {
2650 crate::common::RegisterField::<
2651 14,
2652 0x1,
2653 1,
2654 0,
2655 p108pfs::Isel,
2656 p108pfs::Isel,
2657 P108Pfs_SPEC,
2658 crate::common::RW,
2659 >::from_register(self, 0)
2660 }
2661
2662 #[doc = "Analog Input Enable"]
2663 #[inline(always)]
2664 pub fn asel(
2665 self,
2666 ) -> crate::common::RegisterField<
2667 15,
2668 0x1,
2669 1,
2670 0,
2671 p108pfs::Asel,
2672 p108pfs::Asel,
2673 P108Pfs_SPEC,
2674 crate::common::RW,
2675 > {
2676 crate::common::RegisterField::<
2677 15,
2678 0x1,
2679 1,
2680 0,
2681 p108pfs::Asel,
2682 p108pfs::Asel,
2683 P108Pfs_SPEC,
2684 crate::common::RW,
2685 >::from_register(self, 0)
2686 }
2687
2688 #[doc = "Port Mode Control"]
2689 #[inline(always)]
2690 pub fn pmr(
2691 self,
2692 ) -> crate::common::RegisterField<
2693 16,
2694 0x1,
2695 1,
2696 0,
2697 p108pfs::Pmr,
2698 p108pfs::Pmr,
2699 P108Pfs_SPEC,
2700 crate::common::RW,
2701 > {
2702 crate::common::RegisterField::<
2703 16,
2704 0x1,
2705 1,
2706 0,
2707 p108pfs::Pmr,
2708 p108pfs::Pmr,
2709 P108Pfs_SPEC,
2710 crate::common::RW,
2711 >::from_register(self, 0)
2712 }
2713
2714 #[doc = "Peripheral Select"]
2715 #[inline(always)]
2716 pub fn psel(
2717 self,
2718 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P108Pfs_SPEC, crate::common::RW> {
2719 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P108Pfs_SPEC,crate::common::RW>::from_register(self,0)
2720 }
2721}
2722impl ::core::default::Default for P108Pfs {
2723 #[inline(always)]
2724 fn default() -> P108Pfs {
2725 <crate::RegValueT<P108Pfs_SPEC> as RegisterValue<_>>::new(65552)
2726 }
2727}
2728pub mod p108pfs {
2729
2730 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2731 pub struct Podr_SPEC;
2732 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
2733 impl Podr {
2734 #[doc = "Output low"]
2735 pub const _0: Self = Self::new(0);
2736
2737 #[doc = "Output high"]
2738 pub const _1: Self = Self::new(1);
2739 }
2740 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2741 pub struct Pidr_SPEC;
2742 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
2743 impl Pidr {
2744 #[doc = "Low level"]
2745 pub const _0: Self = Self::new(0);
2746
2747 #[doc = "High level"]
2748 pub const _1: Self = Self::new(1);
2749 }
2750 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2751 pub struct Pdr_SPEC;
2752 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
2753 impl Pdr {
2754 #[doc = "Input (functions as an input pin)"]
2755 pub const _0: Self = Self::new(0);
2756
2757 #[doc = "Output (functions as an output pin)"]
2758 pub const _1: Self = Self::new(1);
2759 }
2760 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2761 pub struct Pcr_SPEC;
2762 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
2763 impl Pcr {
2764 #[doc = "Disable input pull-up"]
2765 pub const _0: Self = Self::new(0);
2766
2767 #[doc = "Enable input pull-up"]
2768 pub const _1: Self = Self::new(1);
2769 }
2770 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2771 pub struct Ncodr_SPEC;
2772 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
2773 impl Ncodr {
2774 #[doc = "Output CMOS"]
2775 pub const _0: Self = Self::new(0);
2776
2777 #[doc = "Output NMOS open-drain"]
2778 pub const _1: Self = Self::new(1);
2779 }
2780 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2781 pub struct Eofr_SPEC;
2782 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
2783 impl Eofr {
2784 #[doc = "Don\'t care"]
2785 pub const _00: Self = Self::new(0);
2786
2787 #[doc = "Detect rising edge"]
2788 pub const _01: Self = Self::new(1);
2789
2790 #[doc = "Detect falling edge"]
2791 pub const _10: Self = Self::new(2);
2792
2793 #[doc = "Detect both edges"]
2794 pub const _11: Self = Self::new(3);
2795 }
2796 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2797 pub struct Isel_SPEC;
2798 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
2799 impl Isel {
2800 #[doc = "Do not use as IRQn input pin"]
2801 pub const _0: Self = Self::new(0);
2802
2803 #[doc = "Use as IRQn input pin"]
2804 pub const _1: Self = Self::new(1);
2805 }
2806 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2807 pub struct Asel_SPEC;
2808 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
2809 impl Asel {
2810 #[doc = "Do not use as analog pin"]
2811 pub const _0: Self = Self::new(0);
2812
2813 #[doc = "Use as analog pin"]
2814 pub const _1: Self = Self::new(1);
2815 }
2816 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2817 pub struct Pmr_SPEC;
2818 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
2819 impl Pmr {
2820 #[doc = "Use as general I/O pin"]
2821 pub const _0: Self = Self::new(0);
2822
2823 #[doc = "Use as I/O port for peripheral functions"]
2824 pub const _1: Self = Self::new(1);
2825 }
2826}
2827#[doc(hidden)]
2828#[derive(Copy, Clone, Eq, PartialEq)]
2829pub struct P108PfsHa_SPEC;
2830impl crate::sealed::RegSpec for P108PfsHa_SPEC {
2831 type DataType = u16;
2832}
2833
2834#[doc = "Port 108 Pin Function Select Register"]
2835pub type P108PfsHa = crate::RegValueT<P108PfsHa_SPEC>;
2836
2837impl P108PfsHa {
2838 #[doc = "Port Output Data"]
2839 #[inline(always)]
2840 pub fn podr(
2841 self,
2842 ) -> crate::common::RegisterField<
2843 0,
2844 0x1,
2845 1,
2846 0,
2847 p108pfs_ha::Podr,
2848 p108pfs_ha::Podr,
2849 P108PfsHa_SPEC,
2850 crate::common::RW,
2851 > {
2852 crate::common::RegisterField::<
2853 0,
2854 0x1,
2855 1,
2856 0,
2857 p108pfs_ha::Podr,
2858 p108pfs_ha::Podr,
2859 P108PfsHa_SPEC,
2860 crate::common::RW,
2861 >::from_register(self, 0)
2862 }
2863
2864 #[doc = "Port State"]
2865 #[inline(always)]
2866 pub fn pidr(
2867 self,
2868 ) -> crate::common::RegisterField<
2869 1,
2870 0x1,
2871 1,
2872 0,
2873 p108pfs_ha::Pidr,
2874 p108pfs_ha::Pidr,
2875 P108PfsHa_SPEC,
2876 crate::common::R,
2877 > {
2878 crate::common::RegisterField::<
2879 1,
2880 0x1,
2881 1,
2882 0,
2883 p108pfs_ha::Pidr,
2884 p108pfs_ha::Pidr,
2885 P108PfsHa_SPEC,
2886 crate::common::R,
2887 >::from_register(self, 0)
2888 }
2889
2890 #[doc = "Port Direction"]
2891 #[inline(always)]
2892 pub fn pdr(
2893 self,
2894 ) -> crate::common::RegisterField<
2895 2,
2896 0x1,
2897 1,
2898 0,
2899 p108pfs_ha::Pdr,
2900 p108pfs_ha::Pdr,
2901 P108PfsHa_SPEC,
2902 crate::common::RW,
2903 > {
2904 crate::common::RegisterField::<
2905 2,
2906 0x1,
2907 1,
2908 0,
2909 p108pfs_ha::Pdr,
2910 p108pfs_ha::Pdr,
2911 P108PfsHa_SPEC,
2912 crate::common::RW,
2913 >::from_register(self, 0)
2914 }
2915
2916 #[doc = "Pull-up Control"]
2917 #[inline(always)]
2918 pub fn pcr(
2919 self,
2920 ) -> crate::common::RegisterField<
2921 4,
2922 0x1,
2923 1,
2924 0,
2925 p108pfs_ha::Pcr,
2926 p108pfs_ha::Pcr,
2927 P108PfsHa_SPEC,
2928 crate::common::RW,
2929 > {
2930 crate::common::RegisterField::<
2931 4,
2932 0x1,
2933 1,
2934 0,
2935 p108pfs_ha::Pcr,
2936 p108pfs_ha::Pcr,
2937 P108PfsHa_SPEC,
2938 crate::common::RW,
2939 >::from_register(self, 0)
2940 }
2941
2942 #[doc = "N-Channel Open-Drain Control"]
2943 #[inline(always)]
2944 pub fn ncodr(
2945 self,
2946 ) -> crate::common::RegisterField<
2947 6,
2948 0x1,
2949 1,
2950 0,
2951 p108pfs_ha::Ncodr,
2952 p108pfs_ha::Ncodr,
2953 P108PfsHa_SPEC,
2954 crate::common::RW,
2955 > {
2956 crate::common::RegisterField::<
2957 6,
2958 0x1,
2959 1,
2960 0,
2961 p108pfs_ha::Ncodr,
2962 p108pfs_ha::Ncodr,
2963 P108PfsHa_SPEC,
2964 crate::common::RW,
2965 >::from_register(self, 0)
2966 }
2967
2968 #[doc = "Event on Falling/Event on Rising"]
2969 #[inline(always)]
2970 pub fn eofr(
2971 self,
2972 ) -> crate::common::RegisterField<
2973 12,
2974 0x3,
2975 1,
2976 0,
2977 p108pfs_ha::Eofr,
2978 p108pfs_ha::Eofr,
2979 P108PfsHa_SPEC,
2980 crate::common::RW,
2981 > {
2982 crate::common::RegisterField::<
2983 12,
2984 0x3,
2985 1,
2986 0,
2987 p108pfs_ha::Eofr,
2988 p108pfs_ha::Eofr,
2989 P108PfsHa_SPEC,
2990 crate::common::RW,
2991 >::from_register(self, 0)
2992 }
2993
2994 #[doc = "IRQ Input Enable"]
2995 #[inline(always)]
2996 pub fn isel(
2997 self,
2998 ) -> crate::common::RegisterField<
2999 14,
3000 0x1,
3001 1,
3002 0,
3003 p108pfs_ha::Isel,
3004 p108pfs_ha::Isel,
3005 P108PfsHa_SPEC,
3006 crate::common::RW,
3007 > {
3008 crate::common::RegisterField::<
3009 14,
3010 0x1,
3011 1,
3012 0,
3013 p108pfs_ha::Isel,
3014 p108pfs_ha::Isel,
3015 P108PfsHa_SPEC,
3016 crate::common::RW,
3017 >::from_register(self, 0)
3018 }
3019
3020 #[doc = "Analog Input Enable"]
3021 #[inline(always)]
3022 pub fn asel(
3023 self,
3024 ) -> crate::common::RegisterField<
3025 15,
3026 0x1,
3027 1,
3028 0,
3029 p108pfs_ha::Asel,
3030 p108pfs_ha::Asel,
3031 P108PfsHa_SPEC,
3032 crate::common::RW,
3033 > {
3034 crate::common::RegisterField::<
3035 15,
3036 0x1,
3037 1,
3038 0,
3039 p108pfs_ha::Asel,
3040 p108pfs_ha::Asel,
3041 P108PfsHa_SPEC,
3042 crate::common::RW,
3043 >::from_register(self, 0)
3044 }
3045}
3046impl ::core::default::Default for P108PfsHa {
3047 #[inline(always)]
3048 fn default() -> P108PfsHa {
3049 <crate::RegValueT<P108PfsHa_SPEC> as RegisterValue<_>>::new(16)
3050 }
3051}
3052pub mod p108pfs_ha {
3053
3054 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3055 pub struct Podr_SPEC;
3056 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3057 impl Podr {
3058 #[doc = "Output low"]
3059 pub const _0: Self = Self::new(0);
3060
3061 #[doc = "Output high"]
3062 pub const _1: Self = Self::new(1);
3063 }
3064 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3065 pub struct Pidr_SPEC;
3066 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3067 impl Pidr {
3068 #[doc = "Low level"]
3069 pub const _0: Self = Self::new(0);
3070
3071 #[doc = "High level"]
3072 pub const _1: Self = Self::new(1);
3073 }
3074 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3075 pub struct Pdr_SPEC;
3076 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3077 impl Pdr {
3078 #[doc = "Input (functions as an input pin)"]
3079 pub const _0: Self = Self::new(0);
3080
3081 #[doc = "Output (functions as an output pin)"]
3082 pub const _1: Self = Self::new(1);
3083 }
3084 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3085 pub struct Pcr_SPEC;
3086 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3087 impl Pcr {
3088 #[doc = "Disable input pull-up"]
3089 pub const _0: Self = Self::new(0);
3090
3091 #[doc = "Enable input pull-up"]
3092 pub const _1: Self = Self::new(1);
3093 }
3094 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3095 pub struct Ncodr_SPEC;
3096 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3097 impl Ncodr {
3098 #[doc = "Output CMOS"]
3099 pub const _0: Self = Self::new(0);
3100
3101 #[doc = "Output NMOS open-drain"]
3102 pub const _1: Self = Self::new(1);
3103 }
3104 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3105 pub struct Eofr_SPEC;
3106 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
3107 impl Eofr {
3108 #[doc = "Don\'t care"]
3109 pub const _00: Self = Self::new(0);
3110
3111 #[doc = "Detect rising edge"]
3112 pub const _01: Self = Self::new(1);
3113
3114 #[doc = "Detect falling edge"]
3115 pub const _10: Self = Self::new(2);
3116
3117 #[doc = "Detect both edges"]
3118 pub const _11: Self = Self::new(3);
3119 }
3120 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3121 pub struct Isel_SPEC;
3122 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3123 impl Isel {
3124 #[doc = "Do not use as IRQn input pin"]
3125 pub const _0: Self = Self::new(0);
3126
3127 #[doc = "Use as IRQn input pin"]
3128 pub const _1: Self = Self::new(1);
3129 }
3130 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3131 pub struct Asel_SPEC;
3132 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
3133 impl Asel {
3134 #[doc = "Do not use as analog pin"]
3135 pub const _0: Self = Self::new(0);
3136
3137 #[doc = "Use as analog pin"]
3138 pub const _1: Self = Self::new(1);
3139 }
3140}
3141#[doc(hidden)]
3142#[derive(Copy, Clone, Eq, PartialEq)]
3143pub struct P108PfsBy_SPEC;
3144impl crate::sealed::RegSpec for P108PfsBy_SPEC {
3145 type DataType = u8;
3146}
3147
3148#[doc = "Port 108 Pin Function Select Register"]
3149pub type P108PfsBy = crate::RegValueT<P108PfsBy_SPEC>;
3150
3151impl P108PfsBy {
3152 #[doc = "Port Output Data"]
3153 #[inline(always)]
3154 pub fn podr(
3155 self,
3156 ) -> crate::common::RegisterField<
3157 0,
3158 0x1,
3159 1,
3160 0,
3161 p108pfs_by::Podr,
3162 p108pfs_by::Podr,
3163 P108PfsBy_SPEC,
3164 crate::common::RW,
3165 > {
3166 crate::common::RegisterField::<
3167 0,
3168 0x1,
3169 1,
3170 0,
3171 p108pfs_by::Podr,
3172 p108pfs_by::Podr,
3173 P108PfsBy_SPEC,
3174 crate::common::RW,
3175 >::from_register(self, 0)
3176 }
3177
3178 #[doc = "Port State"]
3179 #[inline(always)]
3180 pub fn pidr(
3181 self,
3182 ) -> crate::common::RegisterField<
3183 1,
3184 0x1,
3185 1,
3186 0,
3187 p108pfs_by::Pidr,
3188 p108pfs_by::Pidr,
3189 P108PfsBy_SPEC,
3190 crate::common::R,
3191 > {
3192 crate::common::RegisterField::<
3193 1,
3194 0x1,
3195 1,
3196 0,
3197 p108pfs_by::Pidr,
3198 p108pfs_by::Pidr,
3199 P108PfsBy_SPEC,
3200 crate::common::R,
3201 >::from_register(self, 0)
3202 }
3203
3204 #[doc = "Port Direction"]
3205 #[inline(always)]
3206 pub fn pdr(
3207 self,
3208 ) -> crate::common::RegisterField<
3209 2,
3210 0x1,
3211 1,
3212 0,
3213 p108pfs_by::Pdr,
3214 p108pfs_by::Pdr,
3215 P108PfsBy_SPEC,
3216 crate::common::RW,
3217 > {
3218 crate::common::RegisterField::<
3219 2,
3220 0x1,
3221 1,
3222 0,
3223 p108pfs_by::Pdr,
3224 p108pfs_by::Pdr,
3225 P108PfsBy_SPEC,
3226 crate::common::RW,
3227 >::from_register(self, 0)
3228 }
3229
3230 #[doc = "Pull-up Control"]
3231 #[inline(always)]
3232 pub fn pcr(
3233 self,
3234 ) -> crate::common::RegisterField<
3235 4,
3236 0x1,
3237 1,
3238 0,
3239 p108pfs_by::Pcr,
3240 p108pfs_by::Pcr,
3241 P108PfsBy_SPEC,
3242 crate::common::RW,
3243 > {
3244 crate::common::RegisterField::<
3245 4,
3246 0x1,
3247 1,
3248 0,
3249 p108pfs_by::Pcr,
3250 p108pfs_by::Pcr,
3251 P108PfsBy_SPEC,
3252 crate::common::RW,
3253 >::from_register(self, 0)
3254 }
3255
3256 #[doc = "N-Channel Open-Drain Control"]
3257 #[inline(always)]
3258 pub fn ncodr(
3259 self,
3260 ) -> crate::common::RegisterField<
3261 6,
3262 0x1,
3263 1,
3264 0,
3265 p108pfs_by::Ncodr,
3266 p108pfs_by::Ncodr,
3267 P108PfsBy_SPEC,
3268 crate::common::RW,
3269 > {
3270 crate::common::RegisterField::<
3271 6,
3272 0x1,
3273 1,
3274 0,
3275 p108pfs_by::Ncodr,
3276 p108pfs_by::Ncodr,
3277 P108PfsBy_SPEC,
3278 crate::common::RW,
3279 >::from_register(self, 0)
3280 }
3281}
3282impl ::core::default::Default for P108PfsBy {
3283 #[inline(always)]
3284 fn default() -> P108PfsBy {
3285 <crate::RegValueT<P108PfsBy_SPEC> as RegisterValue<_>>::new(16)
3286 }
3287}
3288pub mod p108pfs_by {
3289
3290 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3291 pub struct Podr_SPEC;
3292 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3293 impl Podr {
3294 #[doc = "Output low"]
3295 pub const _0: Self = Self::new(0);
3296
3297 #[doc = "Output high"]
3298 pub const _1: Self = Self::new(1);
3299 }
3300 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3301 pub struct Pidr_SPEC;
3302 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3303 impl Pidr {
3304 #[doc = "Low level"]
3305 pub const _0: Self = Self::new(0);
3306
3307 #[doc = "High level"]
3308 pub const _1: Self = Self::new(1);
3309 }
3310 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3311 pub struct Pdr_SPEC;
3312 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3313 impl Pdr {
3314 #[doc = "Input (functions as an input pin)"]
3315 pub const _0: Self = Self::new(0);
3316
3317 #[doc = "Output (functions as an output pin)"]
3318 pub const _1: Self = Self::new(1);
3319 }
3320 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3321 pub struct Pcr_SPEC;
3322 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3323 impl Pcr {
3324 #[doc = "Disable input pull-up"]
3325 pub const _0: Self = Self::new(0);
3326
3327 #[doc = "Enable input pull-up"]
3328 pub const _1: Self = Self::new(1);
3329 }
3330 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3331 pub struct Ncodr_SPEC;
3332 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3333 impl Ncodr {
3334 #[doc = "Output CMOS"]
3335 pub const _0: Self = Self::new(0);
3336
3337 #[doc = "Output NMOS open-drain"]
3338 pub const _1: Self = Self::new(1);
3339 }
3340}
3341#[doc(hidden)]
3342#[derive(Copy, Clone, Eq, PartialEq)]
3343pub struct P109Pfs_SPEC;
3344impl crate::sealed::RegSpec for P109Pfs_SPEC {
3345 type DataType = u32;
3346}
3347
3348#[doc = "Port 109 Pin Function Select Register"]
3349pub type P109Pfs = crate::RegValueT<P109Pfs_SPEC>;
3350
3351impl P109Pfs {
3352 #[doc = "Port Output Data"]
3353 #[inline(always)]
3354 pub fn podr(
3355 self,
3356 ) -> crate::common::RegisterField<
3357 0,
3358 0x1,
3359 1,
3360 0,
3361 p109pfs::Podr,
3362 p109pfs::Podr,
3363 P109Pfs_SPEC,
3364 crate::common::RW,
3365 > {
3366 crate::common::RegisterField::<
3367 0,
3368 0x1,
3369 1,
3370 0,
3371 p109pfs::Podr,
3372 p109pfs::Podr,
3373 P109Pfs_SPEC,
3374 crate::common::RW,
3375 >::from_register(self, 0)
3376 }
3377
3378 #[doc = "Port State"]
3379 #[inline(always)]
3380 pub fn pidr(
3381 self,
3382 ) -> crate::common::RegisterField<
3383 1,
3384 0x1,
3385 1,
3386 0,
3387 p109pfs::Pidr,
3388 p109pfs::Pidr,
3389 P109Pfs_SPEC,
3390 crate::common::R,
3391 > {
3392 crate::common::RegisterField::<
3393 1,
3394 0x1,
3395 1,
3396 0,
3397 p109pfs::Pidr,
3398 p109pfs::Pidr,
3399 P109Pfs_SPEC,
3400 crate::common::R,
3401 >::from_register(self, 0)
3402 }
3403
3404 #[doc = "Port Direction"]
3405 #[inline(always)]
3406 pub fn pdr(
3407 self,
3408 ) -> crate::common::RegisterField<
3409 2,
3410 0x1,
3411 1,
3412 0,
3413 p109pfs::Pdr,
3414 p109pfs::Pdr,
3415 P109Pfs_SPEC,
3416 crate::common::RW,
3417 > {
3418 crate::common::RegisterField::<
3419 2,
3420 0x1,
3421 1,
3422 0,
3423 p109pfs::Pdr,
3424 p109pfs::Pdr,
3425 P109Pfs_SPEC,
3426 crate::common::RW,
3427 >::from_register(self, 0)
3428 }
3429
3430 #[doc = "Pull-up Control"]
3431 #[inline(always)]
3432 pub fn pcr(
3433 self,
3434 ) -> crate::common::RegisterField<
3435 4,
3436 0x1,
3437 1,
3438 0,
3439 p109pfs::Pcr,
3440 p109pfs::Pcr,
3441 P109Pfs_SPEC,
3442 crate::common::RW,
3443 > {
3444 crate::common::RegisterField::<
3445 4,
3446 0x1,
3447 1,
3448 0,
3449 p109pfs::Pcr,
3450 p109pfs::Pcr,
3451 P109Pfs_SPEC,
3452 crate::common::RW,
3453 >::from_register(self, 0)
3454 }
3455
3456 #[doc = "N-Channel Open-Drain Control"]
3457 #[inline(always)]
3458 pub fn ncodr(
3459 self,
3460 ) -> crate::common::RegisterField<
3461 6,
3462 0x1,
3463 1,
3464 0,
3465 p109pfs::Ncodr,
3466 p109pfs::Ncodr,
3467 P109Pfs_SPEC,
3468 crate::common::RW,
3469 > {
3470 crate::common::RegisterField::<
3471 6,
3472 0x1,
3473 1,
3474 0,
3475 p109pfs::Ncodr,
3476 p109pfs::Ncodr,
3477 P109Pfs_SPEC,
3478 crate::common::RW,
3479 >::from_register(self, 0)
3480 }
3481
3482 #[doc = "Event on Falling/Event on Rising"]
3483 #[inline(always)]
3484 pub fn eofr(
3485 self,
3486 ) -> crate::common::RegisterField<
3487 12,
3488 0x3,
3489 1,
3490 0,
3491 p109pfs::Eofr,
3492 p109pfs::Eofr,
3493 P109Pfs_SPEC,
3494 crate::common::RW,
3495 > {
3496 crate::common::RegisterField::<
3497 12,
3498 0x3,
3499 1,
3500 0,
3501 p109pfs::Eofr,
3502 p109pfs::Eofr,
3503 P109Pfs_SPEC,
3504 crate::common::RW,
3505 >::from_register(self, 0)
3506 }
3507
3508 #[doc = "IRQ Input Enable"]
3509 #[inline(always)]
3510 pub fn isel(
3511 self,
3512 ) -> crate::common::RegisterField<
3513 14,
3514 0x1,
3515 1,
3516 0,
3517 p109pfs::Isel,
3518 p109pfs::Isel,
3519 P109Pfs_SPEC,
3520 crate::common::RW,
3521 > {
3522 crate::common::RegisterField::<
3523 14,
3524 0x1,
3525 1,
3526 0,
3527 p109pfs::Isel,
3528 p109pfs::Isel,
3529 P109Pfs_SPEC,
3530 crate::common::RW,
3531 >::from_register(self, 0)
3532 }
3533
3534 #[doc = "Analog Input Enable"]
3535 #[inline(always)]
3536 pub fn asel(
3537 self,
3538 ) -> crate::common::RegisterField<
3539 15,
3540 0x1,
3541 1,
3542 0,
3543 p109pfs::Asel,
3544 p109pfs::Asel,
3545 P109Pfs_SPEC,
3546 crate::common::RW,
3547 > {
3548 crate::common::RegisterField::<
3549 15,
3550 0x1,
3551 1,
3552 0,
3553 p109pfs::Asel,
3554 p109pfs::Asel,
3555 P109Pfs_SPEC,
3556 crate::common::RW,
3557 >::from_register(self, 0)
3558 }
3559
3560 #[doc = "Port Mode Control"]
3561 #[inline(always)]
3562 pub fn pmr(
3563 self,
3564 ) -> crate::common::RegisterField<
3565 16,
3566 0x1,
3567 1,
3568 0,
3569 p109pfs::Pmr,
3570 p109pfs::Pmr,
3571 P109Pfs_SPEC,
3572 crate::common::RW,
3573 > {
3574 crate::common::RegisterField::<
3575 16,
3576 0x1,
3577 1,
3578 0,
3579 p109pfs::Pmr,
3580 p109pfs::Pmr,
3581 P109Pfs_SPEC,
3582 crate::common::RW,
3583 >::from_register(self, 0)
3584 }
3585
3586 #[doc = "Peripheral Select"]
3587 #[inline(always)]
3588 pub fn psel(
3589 self,
3590 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P109Pfs_SPEC, crate::common::RW> {
3591 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P109Pfs_SPEC,crate::common::RW>::from_register(self,0)
3592 }
3593}
3594impl ::core::default::Default for P109Pfs {
3595 #[inline(always)]
3596 fn default() -> P109Pfs {
3597 <crate::RegValueT<P109Pfs_SPEC> as RegisterValue<_>>::new(0)
3598 }
3599}
3600pub mod p109pfs {
3601
3602 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3603 pub struct Podr_SPEC;
3604 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3605 impl Podr {
3606 #[doc = "Output low"]
3607 pub const _0: Self = Self::new(0);
3608
3609 #[doc = "Output high"]
3610 pub const _1: Self = Self::new(1);
3611 }
3612 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3613 pub struct Pidr_SPEC;
3614 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3615 impl Pidr {
3616 #[doc = "Low level"]
3617 pub const _0: Self = Self::new(0);
3618
3619 #[doc = "High level"]
3620 pub const _1: Self = Self::new(1);
3621 }
3622 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3623 pub struct Pdr_SPEC;
3624 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3625 impl Pdr {
3626 #[doc = "Input (functions as an input pin)"]
3627 pub const _0: Self = Self::new(0);
3628
3629 #[doc = "Output (functions as an output pin)"]
3630 pub const _1: Self = Self::new(1);
3631 }
3632 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3633 pub struct Pcr_SPEC;
3634 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3635 impl Pcr {
3636 #[doc = "Disable input pull-up"]
3637 pub const _0: Self = Self::new(0);
3638
3639 #[doc = "Enable input pull-up"]
3640 pub const _1: Self = Self::new(1);
3641 }
3642 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3643 pub struct Ncodr_SPEC;
3644 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3645 impl Ncodr {
3646 #[doc = "Output CMOS"]
3647 pub const _0: Self = Self::new(0);
3648
3649 #[doc = "Output NMOS open-drain"]
3650 pub const _1: Self = Self::new(1);
3651 }
3652 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3653 pub struct Eofr_SPEC;
3654 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
3655 impl Eofr {
3656 #[doc = "Don\'t care"]
3657 pub const _00: Self = Self::new(0);
3658
3659 #[doc = "Detect rising edge"]
3660 pub const _01: Self = Self::new(1);
3661
3662 #[doc = "Detect falling edge"]
3663 pub const _10: Self = Self::new(2);
3664
3665 #[doc = "Detect both edges"]
3666 pub const _11: Self = Self::new(3);
3667 }
3668 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3669 pub struct Isel_SPEC;
3670 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3671 impl Isel {
3672 #[doc = "Do not use as IRQn input pin"]
3673 pub const _0: Self = Self::new(0);
3674
3675 #[doc = "Use as IRQn input pin"]
3676 pub const _1: Self = Self::new(1);
3677 }
3678 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3679 pub struct Asel_SPEC;
3680 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
3681 impl Asel {
3682 #[doc = "Do not use as analog pin"]
3683 pub const _0: Self = Self::new(0);
3684
3685 #[doc = "Use as analog pin"]
3686 pub const _1: Self = Self::new(1);
3687 }
3688 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3689 pub struct Pmr_SPEC;
3690 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
3691 impl Pmr {
3692 #[doc = "Use as general I/O pin"]
3693 pub const _0: Self = Self::new(0);
3694
3695 #[doc = "Use as I/O port for peripheral functions"]
3696 pub const _1: Self = Self::new(1);
3697 }
3698}
3699#[doc(hidden)]
3700#[derive(Copy, Clone, Eq, PartialEq)]
3701pub struct P109PfsHa_SPEC;
3702impl crate::sealed::RegSpec for P109PfsHa_SPEC {
3703 type DataType = u16;
3704}
3705
3706#[doc = "Port 109 Pin Function Select Register"]
3707pub type P109PfsHa = crate::RegValueT<P109PfsHa_SPEC>;
3708
3709impl P109PfsHa {
3710 #[doc = "Port Output Data"]
3711 #[inline(always)]
3712 pub fn podr(
3713 self,
3714 ) -> crate::common::RegisterField<
3715 0,
3716 0x1,
3717 1,
3718 0,
3719 p109pfs_ha::Podr,
3720 p109pfs_ha::Podr,
3721 P109PfsHa_SPEC,
3722 crate::common::RW,
3723 > {
3724 crate::common::RegisterField::<
3725 0,
3726 0x1,
3727 1,
3728 0,
3729 p109pfs_ha::Podr,
3730 p109pfs_ha::Podr,
3731 P109PfsHa_SPEC,
3732 crate::common::RW,
3733 >::from_register(self, 0)
3734 }
3735
3736 #[doc = "Port State"]
3737 #[inline(always)]
3738 pub fn pidr(
3739 self,
3740 ) -> crate::common::RegisterField<
3741 1,
3742 0x1,
3743 1,
3744 0,
3745 p109pfs_ha::Pidr,
3746 p109pfs_ha::Pidr,
3747 P109PfsHa_SPEC,
3748 crate::common::R,
3749 > {
3750 crate::common::RegisterField::<
3751 1,
3752 0x1,
3753 1,
3754 0,
3755 p109pfs_ha::Pidr,
3756 p109pfs_ha::Pidr,
3757 P109PfsHa_SPEC,
3758 crate::common::R,
3759 >::from_register(self, 0)
3760 }
3761
3762 #[doc = "Port Direction"]
3763 #[inline(always)]
3764 pub fn pdr(
3765 self,
3766 ) -> crate::common::RegisterField<
3767 2,
3768 0x1,
3769 1,
3770 0,
3771 p109pfs_ha::Pdr,
3772 p109pfs_ha::Pdr,
3773 P109PfsHa_SPEC,
3774 crate::common::RW,
3775 > {
3776 crate::common::RegisterField::<
3777 2,
3778 0x1,
3779 1,
3780 0,
3781 p109pfs_ha::Pdr,
3782 p109pfs_ha::Pdr,
3783 P109PfsHa_SPEC,
3784 crate::common::RW,
3785 >::from_register(self, 0)
3786 }
3787
3788 #[doc = "Pull-up Control"]
3789 #[inline(always)]
3790 pub fn pcr(
3791 self,
3792 ) -> crate::common::RegisterField<
3793 4,
3794 0x1,
3795 1,
3796 0,
3797 p109pfs_ha::Pcr,
3798 p109pfs_ha::Pcr,
3799 P109PfsHa_SPEC,
3800 crate::common::RW,
3801 > {
3802 crate::common::RegisterField::<
3803 4,
3804 0x1,
3805 1,
3806 0,
3807 p109pfs_ha::Pcr,
3808 p109pfs_ha::Pcr,
3809 P109PfsHa_SPEC,
3810 crate::common::RW,
3811 >::from_register(self, 0)
3812 }
3813
3814 #[doc = "N-Channel Open-Drain Control"]
3815 #[inline(always)]
3816 pub fn ncodr(
3817 self,
3818 ) -> crate::common::RegisterField<
3819 6,
3820 0x1,
3821 1,
3822 0,
3823 p109pfs_ha::Ncodr,
3824 p109pfs_ha::Ncodr,
3825 P109PfsHa_SPEC,
3826 crate::common::RW,
3827 > {
3828 crate::common::RegisterField::<
3829 6,
3830 0x1,
3831 1,
3832 0,
3833 p109pfs_ha::Ncodr,
3834 p109pfs_ha::Ncodr,
3835 P109PfsHa_SPEC,
3836 crate::common::RW,
3837 >::from_register(self, 0)
3838 }
3839
3840 #[doc = "Event on Falling/Event on Rising"]
3841 #[inline(always)]
3842 pub fn eofr(
3843 self,
3844 ) -> crate::common::RegisterField<
3845 12,
3846 0x3,
3847 1,
3848 0,
3849 p109pfs_ha::Eofr,
3850 p109pfs_ha::Eofr,
3851 P109PfsHa_SPEC,
3852 crate::common::RW,
3853 > {
3854 crate::common::RegisterField::<
3855 12,
3856 0x3,
3857 1,
3858 0,
3859 p109pfs_ha::Eofr,
3860 p109pfs_ha::Eofr,
3861 P109PfsHa_SPEC,
3862 crate::common::RW,
3863 >::from_register(self, 0)
3864 }
3865
3866 #[doc = "IRQ Input Enable"]
3867 #[inline(always)]
3868 pub fn isel(
3869 self,
3870 ) -> crate::common::RegisterField<
3871 14,
3872 0x1,
3873 1,
3874 0,
3875 p109pfs_ha::Isel,
3876 p109pfs_ha::Isel,
3877 P109PfsHa_SPEC,
3878 crate::common::RW,
3879 > {
3880 crate::common::RegisterField::<
3881 14,
3882 0x1,
3883 1,
3884 0,
3885 p109pfs_ha::Isel,
3886 p109pfs_ha::Isel,
3887 P109PfsHa_SPEC,
3888 crate::common::RW,
3889 >::from_register(self, 0)
3890 }
3891
3892 #[doc = "Analog Input Enable"]
3893 #[inline(always)]
3894 pub fn asel(
3895 self,
3896 ) -> crate::common::RegisterField<
3897 15,
3898 0x1,
3899 1,
3900 0,
3901 p109pfs_ha::Asel,
3902 p109pfs_ha::Asel,
3903 P109PfsHa_SPEC,
3904 crate::common::RW,
3905 > {
3906 crate::common::RegisterField::<
3907 15,
3908 0x1,
3909 1,
3910 0,
3911 p109pfs_ha::Asel,
3912 p109pfs_ha::Asel,
3913 P109PfsHa_SPEC,
3914 crate::common::RW,
3915 >::from_register(self, 0)
3916 }
3917}
3918impl ::core::default::Default for P109PfsHa {
3919 #[inline(always)]
3920 fn default() -> P109PfsHa {
3921 <crate::RegValueT<P109PfsHa_SPEC> as RegisterValue<_>>::new(0)
3922 }
3923}
3924pub mod p109pfs_ha {
3925
3926 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3927 pub struct Podr_SPEC;
3928 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3929 impl Podr {
3930 #[doc = "Output low"]
3931 pub const _0: Self = Self::new(0);
3932
3933 #[doc = "Output high"]
3934 pub const _1: Self = Self::new(1);
3935 }
3936 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3937 pub struct Pidr_SPEC;
3938 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3939 impl Pidr {
3940 #[doc = "Low level"]
3941 pub const _0: Self = Self::new(0);
3942
3943 #[doc = "High level"]
3944 pub const _1: Self = Self::new(1);
3945 }
3946 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3947 pub struct Pdr_SPEC;
3948 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3949 impl Pdr {
3950 #[doc = "Input (functions as an input pin)"]
3951 pub const _0: Self = Self::new(0);
3952
3953 #[doc = "Output (functions as an output pin)"]
3954 pub const _1: Self = Self::new(1);
3955 }
3956 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3957 pub struct Pcr_SPEC;
3958 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3959 impl Pcr {
3960 #[doc = "Disable input pull-up"]
3961 pub const _0: Self = Self::new(0);
3962
3963 #[doc = "Enable input pull-up"]
3964 pub const _1: Self = Self::new(1);
3965 }
3966 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3967 pub struct Ncodr_SPEC;
3968 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3969 impl Ncodr {
3970 #[doc = "Output CMOS"]
3971 pub const _0: Self = Self::new(0);
3972
3973 #[doc = "Output NMOS open-drain"]
3974 pub const _1: Self = Self::new(1);
3975 }
3976 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3977 pub struct Eofr_SPEC;
3978 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
3979 impl Eofr {
3980 #[doc = "Don\'t care"]
3981 pub const _00: Self = Self::new(0);
3982
3983 #[doc = "Detect rising edge"]
3984 pub const _01: Self = Self::new(1);
3985
3986 #[doc = "Detect falling edge"]
3987 pub const _10: Self = Self::new(2);
3988
3989 #[doc = "Detect both edges"]
3990 pub const _11: Self = Self::new(3);
3991 }
3992 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3993 pub struct Isel_SPEC;
3994 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3995 impl Isel {
3996 #[doc = "Do not use as IRQn input pin"]
3997 pub const _0: Self = Self::new(0);
3998
3999 #[doc = "Use as IRQn input pin"]
4000 pub const _1: Self = Self::new(1);
4001 }
4002 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4003 pub struct Asel_SPEC;
4004 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4005 impl Asel {
4006 #[doc = "Do not use as analog pin"]
4007 pub const _0: Self = Self::new(0);
4008
4009 #[doc = "Use as analog pin"]
4010 pub const _1: Self = Self::new(1);
4011 }
4012}
4013#[doc(hidden)]
4014#[derive(Copy, Clone, Eq, PartialEq)]
4015pub struct P109PfsBy_SPEC;
4016impl crate::sealed::RegSpec for P109PfsBy_SPEC {
4017 type DataType = u8;
4018}
4019
4020#[doc = "Port 109 Pin Function Select Register"]
4021pub type P109PfsBy = crate::RegValueT<P109PfsBy_SPEC>;
4022
4023impl P109PfsBy {
4024 #[doc = "Port Output Data"]
4025 #[inline(always)]
4026 pub fn podr(
4027 self,
4028 ) -> crate::common::RegisterField<
4029 0,
4030 0x1,
4031 1,
4032 0,
4033 p109pfs_by::Podr,
4034 p109pfs_by::Podr,
4035 P109PfsBy_SPEC,
4036 crate::common::RW,
4037 > {
4038 crate::common::RegisterField::<
4039 0,
4040 0x1,
4041 1,
4042 0,
4043 p109pfs_by::Podr,
4044 p109pfs_by::Podr,
4045 P109PfsBy_SPEC,
4046 crate::common::RW,
4047 >::from_register(self, 0)
4048 }
4049
4050 #[doc = "Port State"]
4051 #[inline(always)]
4052 pub fn pidr(
4053 self,
4054 ) -> crate::common::RegisterField<
4055 1,
4056 0x1,
4057 1,
4058 0,
4059 p109pfs_by::Pidr,
4060 p109pfs_by::Pidr,
4061 P109PfsBy_SPEC,
4062 crate::common::R,
4063 > {
4064 crate::common::RegisterField::<
4065 1,
4066 0x1,
4067 1,
4068 0,
4069 p109pfs_by::Pidr,
4070 p109pfs_by::Pidr,
4071 P109PfsBy_SPEC,
4072 crate::common::R,
4073 >::from_register(self, 0)
4074 }
4075
4076 #[doc = "Port Direction"]
4077 #[inline(always)]
4078 pub fn pdr(
4079 self,
4080 ) -> crate::common::RegisterField<
4081 2,
4082 0x1,
4083 1,
4084 0,
4085 p109pfs_by::Pdr,
4086 p109pfs_by::Pdr,
4087 P109PfsBy_SPEC,
4088 crate::common::RW,
4089 > {
4090 crate::common::RegisterField::<
4091 2,
4092 0x1,
4093 1,
4094 0,
4095 p109pfs_by::Pdr,
4096 p109pfs_by::Pdr,
4097 P109PfsBy_SPEC,
4098 crate::common::RW,
4099 >::from_register(self, 0)
4100 }
4101
4102 #[doc = "Pull-up Control"]
4103 #[inline(always)]
4104 pub fn pcr(
4105 self,
4106 ) -> crate::common::RegisterField<
4107 4,
4108 0x1,
4109 1,
4110 0,
4111 p109pfs_by::Pcr,
4112 p109pfs_by::Pcr,
4113 P109PfsBy_SPEC,
4114 crate::common::RW,
4115 > {
4116 crate::common::RegisterField::<
4117 4,
4118 0x1,
4119 1,
4120 0,
4121 p109pfs_by::Pcr,
4122 p109pfs_by::Pcr,
4123 P109PfsBy_SPEC,
4124 crate::common::RW,
4125 >::from_register(self, 0)
4126 }
4127
4128 #[doc = "N-Channel Open-Drain Control"]
4129 #[inline(always)]
4130 pub fn ncodr(
4131 self,
4132 ) -> crate::common::RegisterField<
4133 6,
4134 0x1,
4135 1,
4136 0,
4137 p109pfs_by::Ncodr,
4138 p109pfs_by::Ncodr,
4139 P109PfsBy_SPEC,
4140 crate::common::RW,
4141 > {
4142 crate::common::RegisterField::<
4143 6,
4144 0x1,
4145 1,
4146 0,
4147 p109pfs_by::Ncodr,
4148 p109pfs_by::Ncodr,
4149 P109PfsBy_SPEC,
4150 crate::common::RW,
4151 >::from_register(self, 0)
4152 }
4153}
4154impl ::core::default::Default for P109PfsBy {
4155 #[inline(always)]
4156 fn default() -> P109PfsBy {
4157 <crate::RegValueT<P109PfsBy_SPEC> as RegisterValue<_>>::new(0)
4158 }
4159}
4160pub mod p109pfs_by {
4161
4162 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4163 pub struct Podr_SPEC;
4164 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4165 impl Podr {
4166 #[doc = "Output low"]
4167 pub const _0: Self = Self::new(0);
4168
4169 #[doc = "Output high"]
4170 pub const _1: Self = Self::new(1);
4171 }
4172 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4173 pub struct Pidr_SPEC;
4174 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4175 impl Pidr {
4176 #[doc = "Low level"]
4177 pub const _0: Self = Self::new(0);
4178
4179 #[doc = "High level"]
4180 pub const _1: Self = Self::new(1);
4181 }
4182 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4183 pub struct Pdr_SPEC;
4184 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4185 impl Pdr {
4186 #[doc = "Input (functions as an input pin)"]
4187 pub const _0: Self = Self::new(0);
4188
4189 #[doc = "Output (functions as an output pin)"]
4190 pub const _1: Self = Self::new(1);
4191 }
4192 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4193 pub struct Pcr_SPEC;
4194 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4195 impl Pcr {
4196 #[doc = "Disable input pull-up"]
4197 pub const _0: Self = Self::new(0);
4198
4199 #[doc = "Enable input pull-up"]
4200 pub const _1: Self = Self::new(1);
4201 }
4202 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4203 pub struct Ncodr_SPEC;
4204 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4205 impl Ncodr {
4206 #[doc = "Output CMOS"]
4207 pub const _0: Self = Self::new(0);
4208
4209 #[doc = "Output NMOS open-drain"]
4210 pub const _1: Self = Self::new(1);
4211 }
4212}
4213#[doc(hidden)]
4214#[derive(Copy, Clone, Eq, PartialEq)]
4215pub struct P1Pfs_SPEC;
4216impl crate::sealed::RegSpec for P1Pfs_SPEC {
4217 type DataType = u32;
4218}
4219
4220#[doc = "Port 1%s Pin Function Select Register"]
4221pub type P1Pfs = crate::RegValueT<P1Pfs_SPEC>;
4222
4223impl P1Pfs {
4224 #[doc = "Port Output Data"]
4225 #[inline(always)]
4226 pub fn podr(
4227 self,
4228 ) -> crate::common::RegisterField<
4229 0,
4230 0x1,
4231 1,
4232 0,
4233 p1pfs::Podr,
4234 p1pfs::Podr,
4235 P1Pfs_SPEC,
4236 crate::common::RW,
4237 > {
4238 crate::common::RegisterField::<
4239 0,
4240 0x1,
4241 1,
4242 0,
4243 p1pfs::Podr,
4244 p1pfs::Podr,
4245 P1Pfs_SPEC,
4246 crate::common::RW,
4247 >::from_register(self, 0)
4248 }
4249
4250 #[doc = "Port State"]
4251 #[inline(always)]
4252 pub fn pidr(
4253 self,
4254 ) -> crate::common::RegisterField<
4255 1,
4256 0x1,
4257 1,
4258 0,
4259 p1pfs::Pidr,
4260 p1pfs::Pidr,
4261 P1Pfs_SPEC,
4262 crate::common::R,
4263 > {
4264 crate::common::RegisterField::<
4265 1,
4266 0x1,
4267 1,
4268 0,
4269 p1pfs::Pidr,
4270 p1pfs::Pidr,
4271 P1Pfs_SPEC,
4272 crate::common::R,
4273 >::from_register(self, 0)
4274 }
4275
4276 #[doc = "Port Direction"]
4277 #[inline(always)]
4278 pub fn pdr(
4279 self,
4280 ) -> crate::common::RegisterField<
4281 2,
4282 0x1,
4283 1,
4284 0,
4285 p1pfs::Pdr,
4286 p1pfs::Pdr,
4287 P1Pfs_SPEC,
4288 crate::common::RW,
4289 > {
4290 crate::common::RegisterField::<
4291 2,
4292 0x1,
4293 1,
4294 0,
4295 p1pfs::Pdr,
4296 p1pfs::Pdr,
4297 P1Pfs_SPEC,
4298 crate::common::RW,
4299 >::from_register(self, 0)
4300 }
4301
4302 #[doc = "Pull-up Control"]
4303 #[inline(always)]
4304 pub fn pcr(
4305 self,
4306 ) -> crate::common::RegisterField<
4307 4,
4308 0x1,
4309 1,
4310 0,
4311 p1pfs::Pcr,
4312 p1pfs::Pcr,
4313 P1Pfs_SPEC,
4314 crate::common::RW,
4315 > {
4316 crate::common::RegisterField::<
4317 4,
4318 0x1,
4319 1,
4320 0,
4321 p1pfs::Pcr,
4322 p1pfs::Pcr,
4323 P1Pfs_SPEC,
4324 crate::common::RW,
4325 >::from_register(self, 0)
4326 }
4327
4328 #[doc = "N-Channel Open-Drain Control"]
4329 #[inline(always)]
4330 pub fn ncodr(
4331 self,
4332 ) -> crate::common::RegisterField<
4333 6,
4334 0x1,
4335 1,
4336 0,
4337 p1pfs::Ncodr,
4338 p1pfs::Ncodr,
4339 P1Pfs_SPEC,
4340 crate::common::RW,
4341 > {
4342 crate::common::RegisterField::<
4343 6,
4344 0x1,
4345 1,
4346 0,
4347 p1pfs::Ncodr,
4348 p1pfs::Ncodr,
4349 P1Pfs_SPEC,
4350 crate::common::RW,
4351 >::from_register(self, 0)
4352 }
4353
4354 #[doc = "Event on Falling/Event on Rising"]
4355 #[inline(always)]
4356 pub fn eofr(
4357 self,
4358 ) -> crate::common::RegisterField<
4359 12,
4360 0x3,
4361 1,
4362 0,
4363 p1pfs::Eofr,
4364 p1pfs::Eofr,
4365 P1Pfs_SPEC,
4366 crate::common::RW,
4367 > {
4368 crate::common::RegisterField::<
4369 12,
4370 0x3,
4371 1,
4372 0,
4373 p1pfs::Eofr,
4374 p1pfs::Eofr,
4375 P1Pfs_SPEC,
4376 crate::common::RW,
4377 >::from_register(self, 0)
4378 }
4379
4380 #[doc = "IRQ Input Enable"]
4381 #[inline(always)]
4382 pub fn isel(
4383 self,
4384 ) -> crate::common::RegisterField<
4385 14,
4386 0x1,
4387 1,
4388 0,
4389 p1pfs::Isel,
4390 p1pfs::Isel,
4391 P1Pfs_SPEC,
4392 crate::common::RW,
4393 > {
4394 crate::common::RegisterField::<
4395 14,
4396 0x1,
4397 1,
4398 0,
4399 p1pfs::Isel,
4400 p1pfs::Isel,
4401 P1Pfs_SPEC,
4402 crate::common::RW,
4403 >::from_register(self, 0)
4404 }
4405
4406 #[doc = "Analog Input Enable"]
4407 #[inline(always)]
4408 pub fn asel(
4409 self,
4410 ) -> crate::common::RegisterField<
4411 15,
4412 0x1,
4413 1,
4414 0,
4415 p1pfs::Asel,
4416 p1pfs::Asel,
4417 P1Pfs_SPEC,
4418 crate::common::RW,
4419 > {
4420 crate::common::RegisterField::<
4421 15,
4422 0x1,
4423 1,
4424 0,
4425 p1pfs::Asel,
4426 p1pfs::Asel,
4427 P1Pfs_SPEC,
4428 crate::common::RW,
4429 >::from_register(self, 0)
4430 }
4431
4432 #[doc = "Port Mode Control"]
4433 #[inline(always)]
4434 pub fn pmr(
4435 self,
4436 ) -> crate::common::RegisterField<
4437 16,
4438 0x1,
4439 1,
4440 0,
4441 p1pfs::Pmr,
4442 p1pfs::Pmr,
4443 P1Pfs_SPEC,
4444 crate::common::RW,
4445 > {
4446 crate::common::RegisterField::<
4447 16,
4448 0x1,
4449 1,
4450 0,
4451 p1pfs::Pmr,
4452 p1pfs::Pmr,
4453 P1Pfs_SPEC,
4454 crate::common::RW,
4455 >::from_register(self, 0)
4456 }
4457
4458 #[doc = "Peripheral Select"]
4459 #[inline(always)]
4460 pub fn psel(
4461 self,
4462 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P1Pfs_SPEC, crate::common::RW> {
4463 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P1Pfs_SPEC,crate::common::RW>::from_register(self,0)
4464 }
4465}
4466impl ::core::default::Default for P1Pfs {
4467 #[inline(always)]
4468 fn default() -> P1Pfs {
4469 <crate::RegValueT<P1Pfs_SPEC> as RegisterValue<_>>::new(0)
4470 }
4471}
4472pub mod p1pfs {
4473
4474 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4475 pub struct Podr_SPEC;
4476 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4477 impl Podr {
4478 #[doc = "Output low"]
4479 pub const _0: Self = Self::new(0);
4480
4481 #[doc = "Output high"]
4482 pub const _1: Self = Self::new(1);
4483 }
4484 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4485 pub struct Pidr_SPEC;
4486 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4487 impl Pidr {
4488 #[doc = "Low level"]
4489 pub const _0: Self = Self::new(0);
4490
4491 #[doc = "High level"]
4492 pub const _1: Self = Self::new(1);
4493 }
4494 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4495 pub struct Pdr_SPEC;
4496 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4497 impl Pdr {
4498 #[doc = "Input (functions as an input pin)"]
4499 pub const _0: Self = Self::new(0);
4500
4501 #[doc = "Output (functions as an output pin)"]
4502 pub const _1: Self = Self::new(1);
4503 }
4504 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4505 pub struct Pcr_SPEC;
4506 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4507 impl Pcr {
4508 #[doc = "Disable input pull-up"]
4509 pub const _0: Self = Self::new(0);
4510
4511 #[doc = "Enable input pull-up"]
4512 pub const _1: Self = Self::new(1);
4513 }
4514 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4515 pub struct Ncodr_SPEC;
4516 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4517 impl Ncodr {
4518 #[doc = "Output CMOS"]
4519 pub const _0: Self = Self::new(0);
4520
4521 #[doc = "Output NMOS open-drain"]
4522 pub const _1: Self = Self::new(1);
4523 }
4524 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4525 pub struct Eofr_SPEC;
4526 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
4527 impl Eofr {
4528 #[doc = "Don\'t care"]
4529 pub const _00: Self = Self::new(0);
4530
4531 #[doc = "Detect rising edge"]
4532 pub const _01: Self = Self::new(1);
4533
4534 #[doc = "Detect falling edge"]
4535 pub const _10: Self = Self::new(2);
4536
4537 #[doc = "Detect both edges"]
4538 pub const _11: Self = Self::new(3);
4539 }
4540 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4541 pub struct Isel_SPEC;
4542 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4543 impl Isel {
4544 #[doc = "Do not use as IRQn input pin"]
4545 pub const _0: Self = Self::new(0);
4546
4547 #[doc = "Use as IRQn input pin"]
4548 pub const _1: Self = Self::new(1);
4549 }
4550 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4551 pub struct Asel_SPEC;
4552 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4553 impl Asel {
4554 #[doc = "Do not use as analog pin"]
4555 pub const _0: Self = Self::new(0);
4556
4557 #[doc = "Use as analog pin"]
4558 pub const _1: Self = Self::new(1);
4559 }
4560 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4561 pub struct Pmr_SPEC;
4562 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
4563 impl Pmr {
4564 #[doc = "Use as general I/O pin"]
4565 pub const _0: Self = Self::new(0);
4566
4567 #[doc = "Use as I/O port for peripheral functions"]
4568 pub const _1: Self = Self::new(1);
4569 }
4570}
4571#[doc(hidden)]
4572#[derive(Copy, Clone, Eq, PartialEq)]
4573pub struct P1PfsHa_SPEC;
4574impl crate::sealed::RegSpec for P1PfsHa_SPEC {
4575 type DataType = u16;
4576}
4577
4578#[doc = "Port 1%s Pin Function Select Register"]
4579pub type P1PfsHa = crate::RegValueT<P1PfsHa_SPEC>;
4580
4581impl P1PfsHa {
4582 #[doc = "Port Output Data"]
4583 #[inline(always)]
4584 pub fn podr(
4585 self,
4586 ) -> crate::common::RegisterField<
4587 0,
4588 0x1,
4589 1,
4590 0,
4591 p1pfs_ha::Podr,
4592 p1pfs_ha::Podr,
4593 P1PfsHa_SPEC,
4594 crate::common::RW,
4595 > {
4596 crate::common::RegisterField::<
4597 0,
4598 0x1,
4599 1,
4600 0,
4601 p1pfs_ha::Podr,
4602 p1pfs_ha::Podr,
4603 P1PfsHa_SPEC,
4604 crate::common::RW,
4605 >::from_register(self, 0)
4606 }
4607
4608 #[doc = "Port State"]
4609 #[inline(always)]
4610 pub fn pidr(
4611 self,
4612 ) -> crate::common::RegisterField<
4613 1,
4614 0x1,
4615 1,
4616 0,
4617 p1pfs_ha::Pidr,
4618 p1pfs_ha::Pidr,
4619 P1PfsHa_SPEC,
4620 crate::common::R,
4621 > {
4622 crate::common::RegisterField::<
4623 1,
4624 0x1,
4625 1,
4626 0,
4627 p1pfs_ha::Pidr,
4628 p1pfs_ha::Pidr,
4629 P1PfsHa_SPEC,
4630 crate::common::R,
4631 >::from_register(self, 0)
4632 }
4633
4634 #[doc = "Port Direction"]
4635 #[inline(always)]
4636 pub fn pdr(
4637 self,
4638 ) -> crate::common::RegisterField<
4639 2,
4640 0x1,
4641 1,
4642 0,
4643 p1pfs_ha::Pdr,
4644 p1pfs_ha::Pdr,
4645 P1PfsHa_SPEC,
4646 crate::common::RW,
4647 > {
4648 crate::common::RegisterField::<
4649 2,
4650 0x1,
4651 1,
4652 0,
4653 p1pfs_ha::Pdr,
4654 p1pfs_ha::Pdr,
4655 P1PfsHa_SPEC,
4656 crate::common::RW,
4657 >::from_register(self, 0)
4658 }
4659
4660 #[doc = "Pull-up Control"]
4661 #[inline(always)]
4662 pub fn pcr(
4663 self,
4664 ) -> crate::common::RegisterField<
4665 4,
4666 0x1,
4667 1,
4668 0,
4669 p1pfs_ha::Pcr,
4670 p1pfs_ha::Pcr,
4671 P1PfsHa_SPEC,
4672 crate::common::RW,
4673 > {
4674 crate::common::RegisterField::<
4675 4,
4676 0x1,
4677 1,
4678 0,
4679 p1pfs_ha::Pcr,
4680 p1pfs_ha::Pcr,
4681 P1PfsHa_SPEC,
4682 crate::common::RW,
4683 >::from_register(self, 0)
4684 }
4685
4686 #[doc = "N-Channel Open-Drain Control"]
4687 #[inline(always)]
4688 pub fn ncodr(
4689 self,
4690 ) -> crate::common::RegisterField<
4691 6,
4692 0x1,
4693 1,
4694 0,
4695 p1pfs_ha::Ncodr,
4696 p1pfs_ha::Ncodr,
4697 P1PfsHa_SPEC,
4698 crate::common::RW,
4699 > {
4700 crate::common::RegisterField::<
4701 6,
4702 0x1,
4703 1,
4704 0,
4705 p1pfs_ha::Ncodr,
4706 p1pfs_ha::Ncodr,
4707 P1PfsHa_SPEC,
4708 crate::common::RW,
4709 >::from_register(self, 0)
4710 }
4711
4712 #[doc = "Event on Falling/Event on Rising"]
4713 #[inline(always)]
4714 pub fn eofr(
4715 self,
4716 ) -> crate::common::RegisterField<
4717 12,
4718 0x3,
4719 1,
4720 0,
4721 p1pfs_ha::Eofr,
4722 p1pfs_ha::Eofr,
4723 P1PfsHa_SPEC,
4724 crate::common::RW,
4725 > {
4726 crate::common::RegisterField::<
4727 12,
4728 0x3,
4729 1,
4730 0,
4731 p1pfs_ha::Eofr,
4732 p1pfs_ha::Eofr,
4733 P1PfsHa_SPEC,
4734 crate::common::RW,
4735 >::from_register(self, 0)
4736 }
4737
4738 #[doc = "IRQ Input Enable"]
4739 #[inline(always)]
4740 pub fn isel(
4741 self,
4742 ) -> crate::common::RegisterField<
4743 14,
4744 0x1,
4745 1,
4746 0,
4747 p1pfs_ha::Isel,
4748 p1pfs_ha::Isel,
4749 P1PfsHa_SPEC,
4750 crate::common::RW,
4751 > {
4752 crate::common::RegisterField::<
4753 14,
4754 0x1,
4755 1,
4756 0,
4757 p1pfs_ha::Isel,
4758 p1pfs_ha::Isel,
4759 P1PfsHa_SPEC,
4760 crate::common::RW,
4761 >::from_register(self, 0)
4762 }
4763
4764 #[doc = "Analog Input Enable"]
4765 #[inline(always)]
4766 pub fn asel(
4767 self,
4768 ) -> crate::common::RegisterField<
4769 15,
4770 0x1,
4771 1,
4772 0,
4773 p1pfs_ha::Asel,
4774 p1pfs_ha::Asel,
4775 P1PfsHa_SPEC,
4776 crate::common::RW,
4777 > {
4778 crate::common::RegisterField::<
4779 15,
4780 0x1,
4781 1,
4782 0,
4783 p1pfs_ha::Asel,
4784 p1pfs_ha::Asel,
4785 P1PfsHa_SPEC,
4786 crate::common::RW,
4787 >::from_register(self, 0)
4788 }
4789}
4790impl ::core::default::Default for P1PfsHa {
4791 #[inline(always)]
4792 fn default() -> P1PfsHa {
4793 <crate::RegValueT<P1PfsHa_SPEC> as RegisterValue<_>>::new(0)
4794 }
4795}
4796pub mod p1pfs_ha {
4797
4798 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4799 pub struct Podr_SPEC;
4800 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4801 impl Podr {
4802 #[doc = "Output low"]
4803 pub const _0: Self = Self::new(0);
4804
4805 #[doc = "Output high"]
4806 pub const _1: Self = Self::new(1);
4807 }
4808 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4809 pub struct Pidr_SPEC;
4810 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4811 impl Pidr {
4812 #[doc = "Low level"]
4813 pub const _0: Self = Self::new(0);
4814
4815 #[doc = "High level"]
4816 pub const _1: Self = Self::new(1);
4817 }
4818 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4819 pub struct Pdr_SPEC;
4820 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4821 impl Pdr {
4822 #[doc = "Input (functions as an input pin)"]
4823 pub const _0: Self = Self::new(0);
4824
4825 #[doc = "Output (functions as an output pin)"]
4826 pub const _1: Self = Self::new(1);
4827 }
4828 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4829 pub struct Pcr_SPEC;
4830 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4831 impl Pcr {
4832 #[doc = "Disable input pull-up"]
4833 pub const _0: Self = Self::new(0);
4834
4835 #[doc = "Enable input pull-up"]
4836 pub const _1: Self = Self::new(1);
4837 }
4838 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4839 pub struct Ncodr_SPEC;
4840 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4841 impl Ncodr {
4842 #[doc = "Output CMOS"]
4843 pub const _0: Self = Self::new(0);
4844
4845 #[doc = "Output NMOS open-drain"]
4846 pub const _1: Self = Self::new(1);
4847 }
4848 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4849 pub struct Eofr_SPEC;
4850 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
4851 impl Eofr {
4852 #[doc = "Don\'t care"]
4853 pub const _00: Self = Self::new(0);
4854
4855 #[doc = "Detect rising edge"]
4856 pub const _01: Self = Self::new(1);
4857
4858 #[doc = "Detect falling edge"]
4859 pub const _10: Self = Self::new(2);
4860
4861 #[doc = "Detect both edges"]
4862 pub const _11: Self = Self::new(3);
4863 }
4864 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4865 pub struct Isel_SPEC;
4866 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4867 impl Isel {
4868 #[doc = "Do not use as IRQn input pin"]
4869 pub const _0: Self = Self::new(0);
4870
4871 #[doc = "Use as IRQn input pin"]
4872 pub const _1: Self = Self::new(1);
4873 }
4874 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4875 pub struct Asel_SPEC;
4876 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4877 impl Asel {
4878 #[doc = "Do not use as analog pin"]
4879 pub const _0: Self = Self::new(0);
4880
4881 #[doc = "Use as analog pin"]
4882 pub const _1: Self = Self::new(1);
4883 }
4884}
4885#[doc(hidden)]
4886#[derive(Copy, Clone, Eq, PartialEq)]
4887pub struct P1PfsBy_SPEC;
4888impl crate::sealed::RegSpec for P1PfsBy_SPEC {
4889 type DataType = u8;
4890}
4891
4892#[doc = "Port 1%s Pin Function Select Register"]
4893pub type P1PfsBy = crate::RegValueT<P1PfsBy_SPEC>;
4894
4895impl P1PfsBy {
4896 #[doc = "Port Output Data"]
4897 #[inline(always)]
4898 pub fn podr(
4899 self,
4900 ) -> crate::common::RegisterField<
4901 0,
4902 0x1,
4903 1,
4904 0,
4905 p1pfs_by::Podr,
4906 p1pfs_by::Podr,
4907 P1PfsBy_SPEC,
4908 crate::common::RW,
4909 > {
4910 crate::common::RegisterField::<
4911 0,
4912 0x1,
4913 1,
4914 0,
4915 p1pfs_by::Podr,
4916 p1pfs_by::Podr,
4917 P1PfsBy_SPEC,
4918 crate::common::RW,
4919 >::from_register(self, 0)
4920 }
4921
4922 #[doc = "Port State"]
4923 #[inline(always)]
4924 pub fn pidr(
4925 self,
4926 ) -> crate::common::RegisterField<
4927 1,
4928 0x1,
4929 1,
4930 0,
4931 p1pfs_by::Pidr,
4932 p1pfs_by::Pidr,
4933 P1PfsBy_SPEC,
4934 crate::common::R,
4935 > {
4936 crate::common::RegisterField::<
4937 1,
4938 0x1,
4939 1,
4940 0,
4941 p1pfs_by::Pidr,
4942 p1pfs_by::Pidr,
4943 P1PfsBy_SPEC,
4944 crate::common::R,
4945 >::from_register(self, 0)
4946 }
4947
4948 #[doc = "Port Direction"]
4949 #[inline(always)]
4950 pub fn pdr(
4951 self,
4952 ) -> crate::common::RegisterField<
4953 2,
4954 0x1,
4955 1,
4956 0,
4957 p1pfs_by::Pdr,
4958 p1pfs_by::Pdr,
4959 P1PfsBy_SPEC,
4960 crate::common::RW,
4961 > {
4962 crate::common::RegisterField::<
4963 2,
4964 0x1,
4965 1,
4966 0,
4967 p1pfs_by::Pdr,
4968 p1pfs_by::Pdr,
4969 P1PfsBy_SPEC,
4970 crate::common::RW,
4971 >::from_register(self, 0)
4972 }
4973
4974 #[doc = "Pull-up Control"]
4975 #[inline(always)]
4976 pub fn pcr(
4977 self,
4978 ) -> crate::common::RegisterField<
4979 4,
4980 0x1,
4981 1,
4982 0,
4983 p1pfs_by::Pcr,
4984 p1pfs_by::Pcr,
4985 P1PfsBy_SPEC,
4986 crate::common::RW,
4987 > {
4988 crate::common::RegisterField::<
4989 4,
4990 0x1,
4991 1,
4992 0,
4993 p1pfs_by::Pcr,
4994 p1pfs_by::Pcr,
4995 P1PfsBy_SPEC,
4996 crate::common::RW,
4997 >::from_register(self, 0)
4998 }
4999
5000 #[doc = "N-Channel Open-Drain Control"]
5001 #[inline(always)]
5002 pub fn ncodr(
5003 self,
5004 ) -> crate::common::RegisterField<
5005 6,
5006 0x1,
5007 1,
5008 0,
5009 p1pfs_by::Ncodr,
5010 p1pfs_by::Ncodr,
5011 P1PfsBy_SPEC,
5012 crate::common::RW,
5013 > {
5014 crate::common::RegisterField::<
5015 6,
5016 0x1,
5017 1,
5018 0,
5019 p1pfs_by::Ncodr,
5020 p1pfs_by::Ncodr,
5021 P1PfsBy_SPEC,
5022 crate::common::RW,
5023 >::from_register(self, 0)
5024 }
5025}
5026impl ::core::default::Default for P1PfsBy {
5027 #[inline(always)]
5028 fn default() -> P1PfsBy {
5029 <crate::RegValueT<P1PfsBy_SPEC> as RegisterValue<_>>::new(0)
5030 }
5031}
5032pub mod p1pfs_by {
5033
5034 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5035 pub struct Podr_SPEC;
5036 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5037 impl Podr {
5038 #[doc = "Output low"]
5039 pub const _0: Self = Self::new(0);
5040
5041 #[doc = "Output high"]
5042 pub const _1: Self = Self::new(1);
5043 }
5044 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5045 pub struct Pidr_SPEC;
5046 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5047 impl Pidr {
5048 #[doc = "Low level"]
5049 pub const _0: Self = Self::new(0);
5050
5051 #[doc = "High level"]
5052 pub const _1: Self = Self::new(1);
5053 }
5054 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5055 pub struct Pdr_SPEC;
5056 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5057 impl Pdr {
5058 #[doc = "Input (functions as an input pin)"]
5059 pub const _0: Self = Self::new(0);
5060
5061 #[doc = "Output (functions as an output pin)"]
5062 pub const _1: Self = Self::new(1);
5063 }
5064 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5065 pub struct Pcr_SPEC;
5066 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5067 impl Pcr {
5068 #[doc = "Disable input pull-up"]
5069 pub const _0: Self = Self::new(0);
5070
5071 #[doc = "Enable input pull-up"]
5072 pub const _1: Self = Self::new(1);
5073 }
5074 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5075 pub struct Ncodr_SPEC;
5076 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5077 impl Ncodr {
5078 #[doc = "Output CMOS"]
5079 pub const _0: Self = Self::new(0);
5080
5081 #[doc = "Output NMOS open-drain"]
5082 pub const _1: Self = Self::new(1);
5083 }
5084}
5085#[doc(hidden)]
5086#[derive(Copy, Clone, Eq, PartialEq)]
5087pub struct P200Pfs_SPEC;
5088impl crate::sealed::RegSpec for P200Pfs_SPEC {
5089 type DataType = u32;
5090}
5091
5092#[doc = "Port 200 Pin Function Select Register"]
5093pub type P200Pfs = crate::RegValueT<P200Pfs_SPEC>;
5094
5095impl P200Pfs {
5096 #[doc = "Port Output Data"]
5097 #[inline(always)]
5098 pub fn podr(
5099 self,
5100 ) -> crate::common::RegisterField<
5101 0,
5102 0x1,
5103 1,
5104 0,
5105 p200pfs::Podr,
5106 p200pfs::Podr,
5107 P200Pfs_SPEC,
5108 crate::common::RW,
5109 > {
5110 crate::common::RegisterField::<
5111 0,
5112 0x1,
5113 1,
5114 0,
5115 p200pfs::Podr,
5116 p200pfs::Podr,
5117 P200Pfs_SPEC,
5118 crate::common::RW,
5119 >::from_register(self, 0)
5120 }
5121
5122 #[doc = "Port State"]
5123 #[inline(always)]
5124 pub fn pidr(
5125 self,
5126 ) -> crate::common::RegisterField<
5127 1,
5128 0x1,
5129 1,
5130 0,
5131 p200pfs::Pidr,
5132 p200pfs::Pidr,
5133 P200Pfs_SPEC,
5134 crate::common::R,
5135 > {
5136 crate::common::RegisterField::<
5137 1,
5138 0x1,
5139 1,
5140 0,
5141 p200pfs::Pidr,
5142 p200pfs::Pidr,
5143 P200Pfs_SPEC,
5144 crate::common::R,
5145 >::from_register(self, 0)
5146 }
5147
5148 #[doc = "Port Direction"]
5149 #[inline(always)]
5150 pub fn pdr(
5151 self,
5152 ) -> crate::common::RegisterField<
5153 2,
5154 0x1,
5155 1,
5156 0,
5157 p200pfs::Pdr,
5158 p200pfs::Pdr,
5159 P200Pfs_SPEC,
5160 crate::common::RW,
5161 > {
5162 crate::common::RegisterField::<
5163 2,
5164 0x1,
5165 1,
5166 0,
5167 p200pfs::Pdr,
5168 p200pfs::Pdr,
5169 P200Pfs_SPEC,
5170 crate::common::RW,
5171 >::from_register(self, 0)
5172 }
5173
5174 #[doc = "Pull-up Control"]
5175 #[inline(always)]
5176 pub fn pcr(
5177 self,
5178 ) -> crate::common::RegisterField<
5179 4,
5180 0x1,
5181 1,
5182 0,
5183 p200pfs::Pcr,
5184 p200pfs::Pcr,
5185 P200Pfs_SPEC,
5186 crate::common::RW,
5187 > {
5188 crate::common::RegisterField::<
5189 4,
5190 0x1,
5191 1,
5192 0,
5193 p200pfs::Pcr,
5194 p200pfs::Pcr,
5195 P200Pfs_SPEC,
5196 crate::common::RW,
5197 >::from_register(self, 0)
5198 }
5199
5200 #[doc = "N-Channel Open-Drain Control"]
5201 #[inline(always)]
5202 pub fn ncodr(
5203 self,
5204 ) -> crate::common::RegisterField<
5205 6,
5206 0x1,
5207 1,
5208 0,
5209 p200pfs::Ncodr,
5210 p200pfs::Ncodr,
5211 P200Pfs_SPEC,
5212 crate::common::RW,
5213 > {
5214 crate::common::RegisterField::<
5215 6,
5216 0x1,
5217 1,
5218 0,
5219 p200pfs::Ncodr,
5220 p200pfs::Ncodr,
5221 P200Pfs_SPEC,
5222 crate::common::RW,
5223 >::from_register(self, 0)
5224 }
5225
5226 #[doc = "Event on Falling/Event on Rising"]
5227 #[inline(always)]
5228 pub fn eofr(
5229 self,
5230 ) -> crate::common::RegisterField<
5231 12,
5232 0x3,
5233 1,
5234 0,
5235 p200pfs::Eofr,
5236 p200pfs::Eofr,
5237 P200Pfs_SPEC,
5238 crate::common::RW,
5239 > {
5240 crate::common::RegisterField::<
5241 12,
5242 0x3,
5243 1,
5244 0,
5245 p200pfs::Eofr,
5246 p200pfs::Eofr,
5247 P200Pfs_SPEC,
5248 crate::common::RW,
5249 >::from_register(self, 0)
5250 }
5251
5252 #[doc = "IRQ Input Enable"]
5253 #[inline(always)]
5254 pub fn isel(
5255 self,
5256 ) -> crate::common::RegisterField<
5257 14,
5258 0x1,
5259 1,
5260 0,
5261 p200pfs::Isel,
5262 p200pfs::Isel,
5263 P200Pfs_SPEC,
5264 crate::common::RW,
5265 > {
5266 crate::common::RegisterField::<
5267 14,
5268 0x1,
5269 1,
5270 0,
5271 p200pfs::Isel,
5272 p200pfs::Isel,
5273 P200Pfs_SPEC,
5274 crate::common::RW,
5275 >::from_register(self, 0)
5276 }
5277
5278 #[doc = "Analog Input Enable"]
5279 #[inline(always)]
5280 pub fn asel(
5281 self,
5282 ) -> crate::common::RegisterField<
5283 15,
5284 0x1,
5285 1,
5286 0,
5287 p200pfs::Asel,
5288 p200pfs::Asel,
5289 P200Pfs_SPEC,
5290 crate::common::RW,
5291 > {
5292 crate::common::RegisterField::<
5293 15,
5294 0x1,
5295 1,
5296 0,
5297 p200pfs::Asel,
5298 p200pfs::Asel,
5299 P200Pfs_SPEC,
5300 crate::common::RW,
5301 >::from_register(self, 0)
5302 }
5303
5304 #[doc = "Port Mode Control"]
5305 #[inline(always)]
5306 pub fn pmr(
5307 self,
5308 ) -> crate::common::RegisterField<
5309 16,
5310 0x1,
5311 1,
5312 0,
5313 p200pfs::Pmr,
5314 p200pfs::Pmr,
5315 P200Pfs_SPEC,
5316 crate::common::RW,
5317 > {
5318 crate::common::RegisterField::<
5319 16,
5320 0x1,
5321 1,
5322 0,
5323 p200pfs::Pmr,
5324 p200pfs::Pmr,
5325 P200Pfs_SPEC,
5326 crate::common::RW,
5327 >::from_register(self, 0)
5328 }
5329
5330 #[doc = "Peripheral Select"]
5331 #[inline(always)]
5332 pub fn psel(
5333 self,
5334 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P200Pfs_SPEC, crate::common::RW> {
5335 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P200Pfs_SPEC,crate::common::RW>::from_register(self,0)
5336 }
5337}
5338impl ::core::default::Default for P200Pfs {
5339 #[inline(always)]
5340 fn default() -> P200Pfs {
5341 <crate::RegValueT<P200Pfs_SPEC> as RegisterValue<_>>::new(0)
5342 }
5343}
5344pub mod p200pfs {
5345
5346 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5347 pub struct Podr_SPEC;
5348 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5349 impl Podr {
5350 #[doc = "Output low"]
5351 pub const _0: Self = Self::new(0);
5352
5353 #[doc = "Output high"]
5354 pub const _1: Self = Self::new(1);
5355 }
5356 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5357 pub struct Pidr_SPEC;
5358 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5359 impl Pidr {
5360 #[doc = "Low level"]
5361 pub const _0: Self = Self::new(0);
5362
5363 #[doc = "High level"]
5364 pub const _1: Self = Self::new(1);
5365 }
5366 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5367 pub struct Pdr_SPEC;
5368 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5369 impl Pdr {
5370 #[doc = "Input (functions as an input pin)"]
5371 pub const _0: Self = Self::new(0);
5372
5373 #[doc = "Output (functions as an output pin)"]
5374 pub const _1: Self = Self::new(1);
5375 }
5376 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5377 pub struct Pcr_SPEC;
5378 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5379 impl Pcr {
5380 #[doc = "Disable input pull-up"]
5381 pub const _0: Self = Self::new(0);
5382
5383 #[doc = "Enable input pull-up"]
5384 pub const _1: Self = Self::new(1);
5385 }
5386 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5387 pub struct Ncodr_SPEC;
5388 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5389 impl Ncodr {
5390 #[doc = "Output CMOS"]
5391 pub const _0: Self = Self::new(0);
5392
5393 #[doc = "Output NMOS open-drain"]
5394 pub const _1: Self = Self::new(1);
5395 }
5396 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5397 pub struct Eofr_SPEC;
5398 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
5399 impl Eofr {
5400 #[doc = "Don\'t care"]
5401 pub const _00: Self = Self::new(0);
5402
5403 #[doc = "Detect rising edge"]
5404 pub const _01: Self = Self::new(1);
5405
5406 #[doc = "Detect falling edge"]
5407 pub const _10: Self = Self::new(2);
5408
5409 #[doc = "Detect both edges"]
5410 pub const _11: Self = Self::new(3);
5411 }
5412 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5413 pub struct Isel_SPEC;
5414 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5415 impl Isel {
5416 #[doc = "Do not use as IRQn input pin"]
5417 pub const _0: Self = Self::new(0);
5418
5419 #[doc = "Use as IRQn input pin"]
5420 pub const _1: Self = Self::new(1);
5421 }
5422 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5423 pub struct Asel_SPEC;
5424 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5425 impl Asel {
5426 #[doc = "Do not use as analog pin"]
5427 pub const _0: Self = Self::new(0);
5428
5429 #[doc = "Use as analog pin"]
5430 pub const _1: Self = Self::new(1);
5431 }
5432 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5433 pub struct Pmr_SPEC;
5434 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
5435 impl Pmr {
5436 #[doc = "Use as general I/O pin"]
5437 pub const _0: Self = Self::new(0);
5438
5439 #[doc = "Use as I/O port for peripheral functions"]
5440 pub const _1: Self = Self::new(1);
5441 }
5442}
5443#[doc(hidden)]
5444#[derive(Copy, Clone, Eq, PartialEq)]
5445pub struct P200PfsHa_SPEC;
5446impl crate::sealed::RegSpec for P200PfsHa_SPEC {
5447 type DataType = u16;
5448}
5449
5450#[doc = "Port 200 Pin Function Select Register"]
5451pub type P200PfsHa = crate::RegValueT<P200PfsHa_SPEC>;
5452
5453impl P200PfsHa {
5454 #[doc = "Port Output Data"]
5455 #[inline(always)]
5456 pub fn podr(
5457 self,
5458 ) -> crate::common::RegisterField<
5459 0,
5460 0x1,
5461 1,
5462 0,
5463 p200pfs_ha::Podr,
5464 p200pfs_ha::Podr,
5465 P200PfsHa_SPEC,
5466 crate::common::RW,
5467 > {
5468 crate::common::RegisterField::<
5469 0,
5470 0x1,
5471 1,
5472 0,
5473 p200pfs_ha::Podr,
5474 p200pfs_ha::Podr,
5475 P200PfsHa_SPEC,
5476 crate::common::RW,
5477 >::from_register(self, 0)
5478 }
5479
5480 #[doc = "Port State"]
5481 #[inline(always)]
5482 pub fn pidr(
5483 self,
5484 ) -> crate::common::RegisterField<
5485 1,
5486 0x1,
5487 1,
5488 0,
5489 p200pfs_ha::Pidr,
5490 p200pfs_ha::Pidr,
5491 P200PfsHa_SPEC,
5492 crate::common::R,
5493 > {
5494 crate::common::RegisterField::<
5495 1,
5496 0x1,
5497 1,
5498 0,
5499 p200pfs_ha::Pidr,
5500 p200pfs_ha::Pidr,
5501 P200PfsHa_SPEC,
5502 crate::common::R,
5503 >::from_register(self, 0)
5504 }
5505
5506 #[doc = "Port Direction"]
5507 #[inline(always)]
5508 pub fn pdr(
5509 self,
5510 ) -> crate::common::RegisterField<
5511 2,
5512 0x1,
5513 1,
5514 0,
5515 p200pfs_ha::Pdr,
5516 p200pfs_ha::Pdr,
5517 P200PfsHa_SPEC,
5518 crate::common::RW,
5519 > {
5520 crate::common::RegisterField::<
5521 2,
5522 0x1,
5523 1,
5524 0,
5525 p200pfs_ha::Pdr,
5526 p200pfs_ha::Pdr,
5527 P200PfsHa_SPEC,
5528 crate::common::RW,
5529 >::from_register(self, 0)
5530 }
5531
5532 #[doc = "Pull-up Control"]
5533 #[inline(always)]
5534 pub fn pcr(
5535 self,
5536 ) -> crate::common::RegisterField<
5537 4,
5538 0x1,
5539 1,
5540 0,
5541 p200pfs_ha::Pcr,
5542 p200pfs_ha::Pcr,
5543 P200PfsHa_SPEC,
5544 crate::common::RW,
5545 > {
5546 crate::common::RegisterField::<
5547 4,
5548 0x1,
5549 1,
5550 0,
5551 p200pfs_ha::Pcr,
5552 p200pfs_ha::Pcr,
5553 P200PfsHa_SPEC,
5554 crate::common::RW,
5555 >::from_register(self, 0)
5556 }
5557
5558 #[doc = "N-Channel Open-Drain Control"]
5559 #[inline(always)]
5560 pub fn ncodr(
5561 self,
5562 ) -> crate::common::RegisterField<
5563 6,
5564 0x1,
5565 1,
5566 0,
5567 p200pfs_ha::Ncodr,
5568 p200pfs_ha::Ncodr,
5569 P200PfsHa_SPEC,
5570 crate::common::RW,
5571 > {
5572 crate::common::RegisterField::<
5573 6,
5574 0x1,
5575 1,
5576 0,
5577 p200pfs_ha::Ncodr,
5578 p200pfs_ha::Ncodr,
5579 P200PfsHa_SPEC,
5580 crate::common::RW,
5581 >::from_register(self, 0)
5582 }
5583
5584 #[doc = "Event on Falling/Event on Rising"]
5585 #[inline(always)]
5586 pub fn eofr(
5587 self,
5588 ) -> crate::common::RegisterField<
5589 12,
5590 0x3,
5591 1,
5592 0,
5593 p200pfs_ha::Eofr,
5594 p200pfs_ha::Eofr,
5595 P200PfsHa_SPEC,
5596 crate::common::RW,
5597 > {
5598 crate::common::RegisterField::<
5599 12,
5600 0x3,
5601 1,
5602 0,
5603 p200pfs_ha::Eofr,
5604 p200pfs_ha::Eofr,
5605 P200PfsHa_SPEC,
5606 crate::common::RW,
5607 >::from_register(self, 0)
5608 }
5609
5610 #[doc = "IRQ Input Enable"]
5611 #[inline(always)]
5612 pub fn isel(
5613 self,
5614 ) -> crate::common::RegisterField<
5615 14,
5616 0x1,
5617 1,
5618 0,
5619 p200pfs_ha::Isel,
5620 p200pfs_ha::Isel,
5621 P200PfsHa_SPEC,
5622 crate::common::RW,
5623 > {
5624 crate::common::RegisterField::<
5625 14,
5626 0x1,
5627 1,
5628 0,
5629 p200pfs_ha::Isel,
5630 p200pfs_ha::Isel,
5631 P200PfsHa_SPEC,
5632 crate::common::RW,
5633 >::from_register(self, 0)
5634 }
5635
5636 #[doc = "Analog Input Enable"]
5637 #[inline(always)]
5638 pub fn asel(
5639 self,
5640 ) -> crate::common::RegisterField<
5641 15,
5642 0x1,
5643 1,
5644 0,
5645 p200pfs_ha::Asel,
5646 p200pfs_ha::Asel,
5647 P200PfsHa_SPEC,
5648 crate::common::RW,
5649 > {
5650 crate::common::RegisterField::<
5651 15,
5652 0x1,
5653 1,
5654 0,
5655 p200pfs_ha::Asel,
5656 p200pfs_ha::Asel,
5657 P200PfsHa_SPEC,
5658 crate::common::RW,
5659 >::from_register(self, 0)
5660 }
5661}
5662impl ::core::default::Default for P200PfsHa {
5663 #[inline(always)]
5664 fn default() -> P200PfsHa {
5665 <crate::RegValueT<P200PfsHa_SPEC> as RegisterValue<_>>::new(0)
5666 }
5667}
5668pub mod p200pfs_ha {
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 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5721 pub struct Eofr_SPEC;
5722 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
5723 impl Eofr {
5724 #[doc = "Don\'t care"]
5725 pub const _00: Self = Self::new(0);
5726
5727 #[doc = "Detect rising edge"]
5728 pub const _01: Self = Self::new(1);
5729
5730 #[doc = "Detect falling edge"]
5731 pub const _10: Self = Self::new(2);
5732
5733 #[doc = "Detect both edges"]
5734 pub const _11: Self = Self::new(3);
5735 }
5736 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5737 pub struct Isel_SPEC;
5738 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5739 impl Isel {
5740 #[doc = "Do not use as IRQn input pin"]
5741 pub const _0: Self = Self::new(0);
5742
5743 #[doc = "Use as IRQn input pin"]
5744 pub const _1: Self = Self::new(1);
5745 }
5746 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5747 pub struct Asel_SPEC;
5748 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5749 impl Asel {
5750 #[doc = "Do not use as analog pin"]
5751 pub const _0: Self = Self::new(0);
5752
5753 #[doc = "Use as analog pin"]
5754 pub const _1: Self = Self::new(1);
5755 }
5756}
5757#[doc(hidden)]
5758#[derive(Copy, Clone, Eq, PartialEq)]
5759pub struct P200PfsBy_SPEC;
5760impl crate::sealed::RegSpec for P200PfsBy_SPEC {
5761 type DataType = u8;
5762}
5763
5764#[doc = "Port 200 Pin Function Select Register"]
5765pub type P200PfsBy = crate::RegValueT<P200PfsBy_SPEC>;
5766
5767impl P200PfsBy {
5768 #[doc = "Port Output Data"]
5769 #[inline(always)]
5770 pub fn podr(
5771 self,
5772 ) -> crate::common::RegisterField<
5773 0,
5774 0x1,
5775 1,
5776 0,
5777 p200pfs_by::Podr,
5778 p200pfs_by::Podr,
5779 P200PfsBy_SPEC,
5780 crate::common::RW,
5781 > {
5782 crate::common::RegisterField::<
5783 0,
5784 0x1,
5785 1,
5786 0,
5787 p200pfs_by::Podr,
5788 p200pfs_by::Podr,
5789 P200PfsBy_SPEC,
5790 crate::common::RW,
5791 >::from_register(self, 0)
5792 }
5793
5794 #[doc = "Port State"]
5795 #[inline(always)]
5796 pub fn pidr(
5797 self,
5798 ) -> crate::common::RegisterField<
5799 1,
5800 0x1,
5801 1,
5802 0,
5803 p200pfs_by::Pidr,
5804 p200pfs_by::Pidr,
5805 P200PfsBy_SPEC,
5806 crate::common::R,
5807 > {
5808 crate::common::RegisterField::<
5809 1,
5810 0x1,
5811 1,
5812 0,
5813 p200pfs_by::Pidr,
5814 p200pfs_by::Pidr,
5815 P200PfsBy_SPEC,
5816 crate::common::R,
5817 >::from_register(self, 0)
5818 }
5819
5820 #[doc = "Port Direction"]
5821 #[inline(always)]
5822 pub fn pdr(
5823 self,
5824 ) -> crate::common::RegisterField<
5825 2,
5826 0x1,
5827 1,
5828 0,
5829 p200pfs_by::Pdr,
5830 p200pfs_by::Pdr,
5831 P200PfsBy_SPEC,
5832 crate::common::RW,
5833 > {
5834 crate::common::RegisterField::<
5835 2,
5836 0x1,
5837 1,
5838 0,
5839 p200pfs_by::Pdr,
5840 p200pfs_by::Pdr,
5841 P200PfsBy_SPEC,
5842 crate::common::RW,
5843 >::from_register(self, 0)
5844 }
5845
5846 #[doc = "Pull-up Control"]
5847 #[inline(always)]
5848 pub fn pcr(
5849 self,
5850 ) -> crate::common::RegisterField<
5851 4,
5852 0x1,
5853 1,
5854 0,
5855 p200pfs_by::Pcr,
5856 p200pfs_by::Pcr,
5857 P200PfsBy_SPEC,
5858 crate::common::RW,
5859 > {
5860 crate::common::RegisterField::<
5861 4,
5862 0x1,
5863 1,
5864 0,
5865 p200pfs_by::Pcr,
5866 p200pfs_by::Pcr,
5867 P200PfsBy_SPEC,
5868 crate::common::RW,
5869 >::from_register(self, 0)
5870 }
5871
5872 #[doc = "N-Channel Open-Drain Control"]
5873 #[inline(always)]
5874 pub fn ncodr(
5875 self,
5876 ) -> crate::common::RegisterField<
5877 6,
5878 0x1,
5879 1,
5880 0,
5881 p200pfs_by::Ncodr,
5882 p200pfs_by::Ncodr,
5883 P200PfsBy_SPEC,
5884 crate::common::RW,
5885 > {
5886 crate::common::RegisterField::<
5887 6,
5888 0x1,
5889 1,
5890 0,
5891 p200pfs_by::Ncodr,
5892 p200pfs_by::Ncodr,
5893 P200PfsBy_SPEC,
5894 crate::common::RW,
5895 >::from_register(self, 0)
5896 }
5897}
5898impl ::core::default::Default for P200PfsBy {
5899 #[inline(always)]
5900 fn default() -> P200PfsBy {
5901 <crate::RegValueT<P200PfsBy_SPEC> as RegisterValue<_>>::new(0)
5902 }
5903}
5904pub mod p200pfs_by {
5905
5906 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5907 pub struct Podr_SPEC;
5908 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5909 impl Podr {
5910 #[doc = "Output low"]
5911 pub const _0: Self = Self::new(0);
5912
5913 #[doc = "Output high"]
5914 pub const _1: Self = Self::new(1);
5915 }
5916 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5917 pub struct Pidr_SPEC;
5918 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5919 impl Pidr {
5920 #[doc = "Low level"]
5921 pub const _0: Self = Self::new(0);
5922
5923 #[doc = "High level"]
5924 pub const _1: Self = Self::new(1);
5925 }
5926 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5927 pub struct Pdr_SPEC;
5928 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5929 impl Pdr {
5930 #[doc = "Input (functions as an input pin)"]
5931 pub const _0: Self = Self::new(0);
5932
5933 #[doc = "Output (functions as an output pin)"]
5934 pub const _1: Self = Self::new(1);
5935 }
5936 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5937 pub struct Pcr_SPEC;
5938 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5939 impl Pcr {
5940 #[doc = "Disable input pull-up"]
5941 pub const _0: Self = Self::new(0);
5942
5943 #[doc = "Enable input pull-up"]
5944 pub const _1: Self = Self::new(1);
5945 }
5946 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5947 pub struct Ncodr_SPEC;
5948 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5949 impl Ncodr {
5950 #[doc = "Output CMOS"]
5951 pub const _0: Self = Self::new(0);
5952
5953 #[doc = "Output NMOS open-drain"]
5954 pub const _1: Self = Self::new(1);
5955 }
5956}
5957#[doc(hidden)]
5958#[derive(Copy, Clone, Eq, PartialEq)]
5959pub struct P201Pfs_SPEC;
5960impl crate::sealed::RegSpec for P201Pfs_SPEC {
5961 type DataType = u32;
5962}
5963
5964#[doc = "Port 201 Pin Function Select Register"]
5965pub type P201Pfs = crate::RegValueT<P201Pfs_SPEC>;
5966
5967impl P201Pfs {
5968 #[doc = "Port Output Data"]
5969 #[inline(always)]
5970 pub fn podr(
5971 self,
5972 ) -> crate::common::RegisterField<
5973 0,
5974 0x1,
5975 1,
5976 0,
5977 p201pfs::Podr,
5978 p201pfs::Podr,
5979 P201Pfs_SPEC,
5980 crate::common::RW,
5981 > {
5982 crate::common::RegisterField::<
5983 0,
5984 0x1,
5985 1,
5986 0,
5987 p201pfs::Podr,
5988 p201pfs::Podr,
5989 P201Pfs_SPEC,
5990 crate::common::RW,
5991 >::from_register(self, 0)
5992 }
5993
5994 #[doc = "Port State"]
5995 #[inline(always)]
5996 pub fn pidr(
5997 self,
5998 ) -> crate::common::RegisterField<
5999 1,
6000 0x1,
6001 1,
6002 0,
6003 p201pfs::Pidr,
6004 p201pfs::Pidr,
6005 P201Pfs_SPEC,
6006 crate::common::R,
6007 > {
6008 crate::common::RegisterField::<
6009 1,
6010 0x1,
6011 1,
6012 0,
6013 p201pfs::Pidr,
6014 p201pfs::Pidr,
6015 P201Pfs_SPEC,
6016 crate::common::R,
6017 >::from_register(self, 0)
6018 }
6019
6020 #[doc = "Port Direction"]
6021 #[inline(always)]
6022 pub fn pdr(
6023 self,
6024 ) -> crate::common::RegisterField<
6025 2,
6026 0x1,
6027 1,
6028 0,
6029 p201pfs::Pdr,
6030 p201pfs::Pdr,
6031 P201Pfs_SPEC,
6032 crate::common::RW,
6033 > {
6034 crate::common::RegisterField::<
6035 2,
6036 0x1,
6037 1,
6038 0,
6039 p201pfs::Pdr,
6040 p201pfs::Pdr,
6041 P201Pfs_SPEC,
6042 crate::common::RW,
6043 >::from_register(self, 0)
6044 }
6045
6046 #[doc = "Pull-up Control"]
6047 #[inline(always)]
6048 pub fn pcr(
6049 self,
6050 ) -> crate::common::RegisterField<
6051 4,
6052 0x1,
6053 1,
6054 0,
6055 p201pfs::Pcr,
6056 p201pfs::Pcr,
6057 P201Pfs_SPEC,
6058 crate::common::RW,
6059 > {
6060 crate::common::RegisterField::<
6061 4,
6062 0x1,
6063 1,
6064 0,
6065 p201pfs::Pcr,
6066 p201pfs::Pcr,
6067 P201Pfs_SPEC,
6068 crate::common::RW,
6069 >::from_register(self, 0)
6070 }
6071
6072 #[doc = "N-Channel Open-Drain Control"]
6073 #[inline(always)]
6074 pub fn ncodr(
6075 self,
6076 ) -> crate::common::RegisterField<
6077 6,
6078 0x1,
6079 1,
6080 0,
6081 p201pfs::Ncodr,
6082 p201pfs::Ncodr,
6083 P201Pfs_SPEC,
6084 crate::common::RW,
6085 > {
6086 crate::common::RegisterField::<
6087 6,
6088 0x1,
6089 1,
6090 0,
6091 p201pfs::Ncodr,
6092 p201pfs::Ncodr,
6093 P201Pfs_SPEC,
6094 crate::common::RW,
6095 >::from_register(self, 0)
6096 }
6097
6098 #[doc = "Event on Falling/Event on Rising"]
6099 #[inline(always)]
6100 pub fn eofr(
6101 self,
6102 ) -> crate::common::RegisterField<
6103 12,
6104 0x3,
6105 1,
6106 0,
6107 p201pfs::Eofr,
6108 p201pfs::Eofr,
6109 P201Pfs_SPEC,
6110 crate::common::RW,
6111 > {
6112 crate::common::RegisterField::<
6113 12,
6114 0x3,
6115 1,
6116 0,
6117 p201pfs::Eofr,
6118 p201pfs::Eofr,
6119 P201Pfs_SPEC,
6120 crate::common::RW,
6121 >::from_register(self, 0)
6122 }
6123
6124 #[doc = "IRQ Input Enable"]
6125 #[inline(always)]
6126 pub fn isel(
6127 self,
6128 ) -> crate::common::RegisterField<
6129 14,
6130 0x1,
6131 1,
6132 0,
6133 p201pfs::Isel,
6134 p201pfs::Isel,
6135 P201Pfs_SPEC,
6136 crate::common::RW,
6137 > {
6138 crate::common::RegisterField::<
6139 14,
6140 0x1,
6141 1,
6142 0,
6143 p201pfs::Isel,
6144 p201pfs::Isel,
6145 P201Pfs_SPEC,
6146 crate::common::RW,
6147 >::from_register(self, 0)
6148 }
6149
6150 #[doc = "Analog Input Enable"]
6151 #[inline(always)]
6152 pub fn asel(
6153 self,
6154 ) -> crate::common::RegisterField<
6155 15,
6156 0x1,
6157 1,
6158 0,
6159 p201pfs::Asel,
6160 p201pfs::Asel,
6161 P201Pfs_SPEC,
6162 crate::common::RW,
6163 > {
6164 crate::common::RegisterField::<
6165 15,
6166 0x1,
6167 1,
6168 0,
6169 p201pfs::Asel,
6170 p201pfs::Asel,
6171 P201Pfs_SPEC,
6172 crate::common::RW,
6173 >::from_register(self, 0)
6174 }
6175
6176 #[doc = "Port Mode Control"]
6177 #[inline(always)]
6178 pub fn pmr(
6179 self,
6180 ) -> crate::common::RegisterField<
6181 16,
6182 0x1,
6183 1,
6184 0,
6185 p201pfs::Pmr,
6186 p201pfs::Pmr,
6187 P201Pfs_SPEC,
6188 crate::common::RW,
6189 > {
6190 crate::common::RegisterField::<
6191 16,
6192 0x1,
6193 1,
6194 0,
6195 p201pfs::Pmr,
6196 p201pfs::Pmr,
6197 P201Pfs_SPEC,
6198 crate::common::RW,
6199 >::from_register(self, 0)
6200 }
6201
6202 #[doc = "Peripheral Select"]
6203 #[inline(always)]
6204 pub fn psel(
6205 self,
6206 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P201Pfs_SPEC, crate::common::RW> {
6207 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P201Pfs_SPEC,crate::common::RW>::from_register(self,0)
6208 }
6209}
6210impl ::core::default::Default for P201Pfs {
6211 #[inline(always)]
6212 fn default() -> P201Pfs {
6213 <crate::RegValueT<P201Pfs_SPEC> as RegisterValue<_>>::new(16)
6214 }
6215}
6216pub mod p201pfs {
6217
6218 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6219 pub struct Podr_SPEC;
6220 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6221 impl Podr {
6222 #[doc = "Output low"]
6223 pub const _0: Self = Self::new(0);
6224
6225 #[doc = "Output high"]
6226 pub const _1: Self = Self::new(1);
6227 }
6228 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6229 pub struct Pidr_SPEC;
6230 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6231 impl Pidr {
6232 #[doc = "Low level"]
6233 pub const _0: Self = Self::new(0);
6234
6235 #[doc = "High level"]
6236 pub const _1: Self = Self::new(1);
6237 }
6238 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6239 pub struct Pdr_SPEC;
6240 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6241 impl Pdr {
6242 #[doc = "Input (functions as an input pin)"]
6243 pub const _0: Self = Self::new(0);
6244
6245 #[doc = "Output (functions as an output pin)"]
6246 pub const _1: Self = Self::new(1);
6247 }
6248 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6249 pub struct Pcr_SPEC;
6250 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6251 impl Pcr {
6252 #[doc = "Disable input pull-up"]
6253 pub const _0: Self = Self::new(0);
6254
6255 #[doc = "Enable input pull-up"]
6256 pub const _1: Self = Self::new(1);
6257 }
6258 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6259 pub struct Ncodr_SPEC;
6260 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6261 impl Ncodr {
6262 #[doc = "Output CMOS"]
6263 pub const _0: Self = Self::new(0);
6264
6265 #[doc = "Output NMOS open-drain"]
6266 pub const _1: Self = Self::new(1);
6267 }
6268 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6269 pub struct Eofr_SPEC;
6270 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
6271 impl Eofr {
6272 #[doc = "Don\'t care"]
6273 pub const _00: Self = Self::new(0);
6274
6275 #[doc = "Detect rising edge"]
6276 pub const _01: Self = Self::new(1);
6277
6278 #[doc = "Detect falling edge"]
6279 pub const _10: Self = Self::new(2);
6280
6281 #[doc = "Detect both edges"]
6282 pub const _11: Self = Self::new(3);
6283 }
6284 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6285 pub struct Isel_SPEC;
6286 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6287 impl Isel {
6288 #[doc = "Do not use as IRQn input pin"]
6289 pub const _0: Self = Self::new(0);
6290
6291 #[doc = "Use as IRQn input pin"]
6292 pub const _1: Self = Self::new(1);
6293 }
6294 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6295 pub struct Asel_SPEC;
6296 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6297 impl Asel {
6298 #[doc = "Do not use as analog pin"]
6299 pub const _0: Self = Self::new(0);
6300
6301 #[doc = "Use as analog pin"]
6302 pub const _1: Self = Self::new(1);
6303 }
6304 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6305 pub struct Pmr_SPEC;
6306 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
6307 impl Pmr {
6308 #[doc = "Use as general I/O pin"]
6309 pub const _0: Self = Self::new(0);
6310
6311 #[doc = "Use as I/O port for peripheral functions"]
6312 pub const _1: Self = Self::new(1);
6313 }
6314}
6315#[doc(hidden)]
6316#[derive(Copy, Clone, Eq, PartialEq)]
6317pub struct P201PfsHa_SPEC;
6318impl crate::sealed::RegSpec for P201PfsHa_SPEC {
6319 type DataType = u16;
6320}
6321
6322#[doc = "Port 201 Pin Function Select Register"]
6323pub type P201PfsHa = crate::RegValueT<P201PfsHa_SPEC>;
6324
6325impl P201PfsHa {
6326 #[doc = "Port Output Data"]
6327 #[inline(always)]
6328 pub fn podr(
6329 self,
6330 ) -> crate::common::RegisterField<
6331 0,
6332 0x1,
6333 1,
6334 0,
6335 p201pfs_ha::Podr,
6336 p201pfs_ha::Podr,
6337 P201PfsHa_SPEC,
6338 crate::common::RW,
6339 > {
6340 crate::common::RegisterField::<
6341 0,
6342 0x1,
6343 1,
6344 0,
6345 p201pfs_ha::Podr,
6346 p201pfs_ha::Podr,
6347 P201PfsHa_SPEC,
6348 crate::common::RW,
6349 >::from_register(self, 0)
6350 }
6351
6352 #[doc = "Port State"]
6353 #[inline(always)]
6354 pub fn pidr(
6355 self,
6356 ) -> crate::common::RegisterField<
6357 1,
6358 0x1,
6359 1,
6360 0,
6361 p201pfs_ha::Pidr,
6362 p201pfs_ha::Pidr,
6363 P201PfsHa_SPEC,
6364 crate::common::R,
6365 > {
6366 crate::common::RegisterField::<
6367 1,
6368 0x1,
6369 1,
6370 0,
6371 p201pfs_ha::Pidr,
6372 p201pfs_ha::Pidr,
6373 P201PfsHa_SPEC,
6374 crate::common::R,
6375 >::from_register(self, 0)
6376 }
6377
6378 #[doc = "Port Direction"]
6379 #[inline(always)]
6380 pub fn pdr(
6381 self,
6382 ) -> crate::common::RegisterField<
6383 2,
6384 0x1,
6385 1,
6386 0,
6387 p201pfs_ha::Pdr,
6388 p201pfs_ha::Pdr,
6389 P201PfsHa_SPEC,
6390 crate::common::RW,
6391 > {
6392 crate::common::RegisterField::<
6393 2,
6394 0x1,
6395 1,
6396 0,
6397 p201pfs_ha::Pdr,
6398 p201pfs_ha::Pdr,
6399 P201PfsHa_SPEC,
6400 crate::common::RW,
6401 >::from_register(self, 0)
6402 }
6403
6404 #[doc = "Pull-up Control"]
6405 #[inline(always)]
6406 pub fn pcr(
6407 self,
6408 ) -> crate::common::RegisterField<
6409 4,
6410 0x1,
6411 1,
6412 0,
6413 p201pfs_ha::Pcr,
6414 p201pfs_ha::Pcr,
6415 P201PfsHa_SPEC,
6416 crate::common::RW,
6417 > {
6418 crate::common::RegisterField::<
6419 4,
6420 0x1,
6421 1,
6422 0,
6423 p201pfs_ha::Pcr,
6424 p201pfs_ha::Pcr,
6425 P201PfsHa_SPEC,
6426 crate::common::RW,
6427 >::from_register(self, 0)
6428 }
6429
6430 #[doc = "N-Channel Open-Drain Control"]
6431 #[inline(always)]
6432 pub fn ncodr(
6433 self,
6434 ) -> crate::common::RegisterField<
6435 6,
6436 0x1,
6437 1,
6438 0,
6439 p201pfs_ha::Ncodr,
6440 p201pfs_ha::Ncodr,
6441 P201PfsHa_SPEC,
6442 crate::common::RW,
6443 > {
6444 crate::common::RegisterField::<
6445 6,
6446 0x1,
6447 1,
6448 0,
6449 p201pfs_ha::Ncodr,
6450 p201pfs_ha::Ncodr,
6451 P201PfsHa_SPEC,
6452 crate::common::RW,
6453 >::from_register(self, 0)
6454 }
6455
6456 #[doc = "Event on Falling/Event on Rising"]
6457 #[inline(always)]
6458 pub fn eofr(
6459 self,
6460 ) -> crate::common::RegisterField<
6461 12,
6462 0x3,
6463 1,
6464 0,
6465 p201pfs_ha::Eofr,
6466 p201pfs_ha::Eofr,
6467 P201PfsHa_SPEC,
6468 crate::common::RW,
6469 > {
6470 crate::common::RegisterField::<
6471 12,
6472 0x3,
6473 1,
6474 0,
6475 p201pfs_ha::Eofr,
6476 p201pfs_ha::Eofr,
6477 P201PfsHa_SPEC,
6478 crate::common::RW,
6479 >::from_register(self, 0)
6480 }
6481
6482 #[doc = "IRQ Input Enable"]
6483 #[inline(always)]
6484 pub fn isel(
6485 self,
6486 ) -> crate::common::RegisterField<
6487 14,
6488 0x1,
6489 1,
6490 0,
6491 p201pfs_ha::Isel,
6492 p201pfs_ha::Isel,
6493 P201PfsHa_SPEC,
6494 crate::common::RW,
6495 > {
6496 crate::common::RegisterField::<
6497 14,
6498 0x1,
6499 1,
6500 0,
6501 p201pfs_ha::Isel,
6502 p201pfs_ha::Isel,
6503 P201PfsHa_SPEC,
6504 crate::common::RW,
6505 >::from_register(self, 0)
6506 }
6507
6508 #[doc = "Analog Input Enable"]
6509 #[inline(always)]
6510 pub fn asel(
6511 self,
6512 ) -> crate::common::RegisterField<
6513 15,
6514 0x1,
6515 1,
6516 0,
6517 p201pfs_ha::Asel,
6518 p201pfs_ha::Asel,
6519 P201PfsHa_SPEC,
6520 crate::common::RW,
6521 > {
6522 crate::common::RegisterField::<
6523 15,
6524 0x1,
6525 1,
6526 0,
6527 p201pfs_ha::Asel,
6528 p201pfs_ha::Asel,
6529 P201PfsHa_SPEC,
6530 crate::common::RW,
6531 >::from_register(self, 0)
6532 }
6533}
6534impl ::core::default::Default for P201PfsHa {
6535 #[inline(always)]
6536 fn default() -> P201PfsHa {
6537 <crate::RegValueT<P201PfsHa_SPEC> as RegisterValue<_>>::new(16)
6538 }
6539}
6540pub mod p201pfs_ha {
6541
6542 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6543 pub struct Podr_SPEC;
6544 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6545 impl Podr {
6546 #[doc = "Output low"]
6547 pub const _0: Self = Self::new(0);
6548
6549 #[doc = "Output high"]
6550 pub const _1: Self = Self::new(1);
6551 }
6552 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6553 pub struct Pidr_SPEC;
6554 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6555 impl Pidr {
6556 #[doc = "Low level"]
6557 pub const _0: Self = Self::new(0);
6558
6559 #[doc = "High level"]
6560 pub const _1: Self = Self::new(1);
6561 }
6562 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6563 pub struct Pdr_SPEC;
6564 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6565 impl Pdr {
6566 #[doc = "Input (functions as an input pin)"]
6567 pub const _0: Self = Self::new(0);
6568
6569 #[doc = "Output (functions as an output pin)"]
6570 pub const _1: Self = Self::new(1);
6571 }
6572 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6573 pub struct Pcr_SPEC;
6574 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6575 impl Pcr {
6576 #[doc = "Disable input pull-up"]
6577 pub const _0: Self = Self::new(0);
6578
6579 #[doc = "Enable input pull-up"]
6580 pub const _1: Self = Self::new(1);
6581 }
6582 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6583 pub struct Ncodr_SPEC;
6584 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6585 impl Ncodr {
6586 #[doc = "Output CMOS"]
6587 pub const _0: Self = Self::new(0);
6588
6589 #[doc = "Output NMOS open-drain"]
6590 pub const _1: Self = Self::new(1);
6591 }
6592 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6593 pub struct Eofr_SPEC;
6594 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
6595 impl Eofr {
6596 #[doc = "Don\'t care"]
6597 pub const _00: Self = Self::new(0);
6598
6599 #[doc = "Detect rising edge"]
6600 pub const _01: Self = Self::new(1);
6601
6602 #[doc = "Detect falling edge"]
6603 pub const _10: Self = Self::new(2);
6604
6605 #[doc = "Detect both edges"]
6606 pub const _11: Self = Self::new(3);
6607 }
6608 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6609 pub struct Isel_SPEC;
6610 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6611 impl Isel {
6612 #[doc = "Do not use as IRQn input pin"]
6613 pub const _0: Self = Self::new(0);
6614
6615 #[doc = "Use as IRQn input pin"]
6616 pub const _1: Self = Self::new(1);
6617 }
6618 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6619 pub struct Asel_SPEC;
6620 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6621 impl Asel {
6622 #[doc = "Do not use as analog pin"]
6623 pub const _0: Self = Self::new(0);
6624
6625 #[doc = "Use as analog pin"]
6626 pub const _1: Self = Self::new(1);
6627 }
6628}
6629#[doc(hidden)]
6630#[derive(Copy, Clone, Eq, PartialEq)]
6631pub struct P201PfsBy_SPEC;
6632impl crate::sealed::RegSpec for P201PfsBy_SPEC {
6633 type DataType = u8;
6634}
6635
6636#[doc = "Port 201 Pin Function Select Register"]
6637pub type P201PfsBy = crate::RegValueT<P201PfsBy_SPEC>;
6638
6639impl P201PfsBy {
6640 #[doc = "Port Output Data"]
6641 #[inline(always)]
6642 pub fn podr(
6643 self,
6644 ) -> crate::common::RegisterField<
6645 0,
6646 0x1,
6647 1,
6648 0,
6649 p201pfs_by::Podr,
6650 p201pfs_by::Podr,
6651 P201PfsBy_SPEC,
6652 crate::common::RW,
6653 > {
6654 crate::common::RegisterField::<
6655 0,
6656 0x1,
6657 1,
6658 0,
6659 p201pfs_by::Podr,
6660 p201pfs_by::Podr,
6661 P201PfsBy_SPEC,
6662 crate::common::RW,
6663 >::from_register(self, 0)
6664 }
6665
6666 #[doc = "Port State"]
6667 #[inline(always)]
6668 pub fn pidr(
6669 self,
6670 ) -> crate::common::RegisterField<
6671 1,
6672 0x1,
6673 1,
6674 0,
6675 p201pfs_by::Pidr,
6676 p201pfs_by::Pidr,
6677 P201PfsBy_SPEC,
6678 crate::common::R,
6679 > {
6680 crate::common::RegisterField::<
6681 1,
6682 0x1,
6683 1,
6684 0,
6685 p201pfs_by::Pidr,
6686 p201pfs_by::Pidr,
6687 P201PfsBy_SPEC,
6688 crate::common::R,
6689 >::from_register(self, 0)
6690 }
6691
6692 #[doc = "Port Direction"]
6693 #[inline(always)]
6694 pub fn pdr(
6695 self,
6696 ) -> crate::common::RegisterField<
6697 2,
6698 0x1,
6699 1,
6700 0,
6701 p201pfs_by::Pdr,
6702 p201pfs_by::Pdr,
6703 P201PfsBy_SPEC,
6704 crate::common::RW,
6705 > {
6706 crate::common::RegisterField::<
6707 2,
6708 0x1,
6709 1,
6710 0,
6711 p201pfs_by::Pdr,
6712 p201pfs_by::Pdr,
6713 P201PfsBy_SPEC,
6714 crate::common::RW,
6715 >::from_register(self, 0)
6716 }
6717
6718 #[doc = "Pull-up Control"]
6719 #[inline(always)]
6720 pub fn pcr(
6721 self,
6722 ) -> crate::common::RegisterField<
6723 4,
6724 0x1,
6725 1,
6726 0,
6727 p201pfs_by::Pcr,
6728 p201pfs_by::Pcr,
6729 P201PfsBy_SPEC,
6730 crate::common::RW,
6731 > {
6732 crate::common::RegisterField::<
6733 4,
6734 0x1,
6735 1,
6736 0,
6737 p201pfs_by::Pcr,
6738 p201pfs_by::Pcr,
6739 P201PfsBy_SPEC,
6740 crate::common::RW,
6741 >::from_register(self, 0)
6742 }
6743
6744 #[doc = "N-Channel Open-Drain Control"]
6745 #[inline(always)]
6746 pub fn ncodr(
6747 self,
6748 ) -> crate::common::RegisterField<
6749 6,
6750 0x1,
6751 1,
6752 0,
6753 p201pfs_by::Ncodr,
6754 p201pfs_by::Ncodr,
6755 P201PfsBy_SPEC,
6756 crate::common::RW,
6757 > {
6758 crate::common::RegisterField::<
6759 6,
6760 0x1,
6761 1,
6762 0,
6763 p201pfs_by::Ncodr,
6764 p201pfs_by::Ncodr,
6765 P201PfsBy_SPEC,
6766 crate::common::RW,
6767 >::from_register(self, 0)
6768 }
6769}
6770impl ::core::default::Default for P201PfsBy {
6771 #[inline(always)]
6772 fn default() -> P201PfsBy {
6773 <crate::RegValueT<P201PfsBy_SPEC> as RegisterValue<_>>::new(16)
6774 }
6775}
6776pub mod p201pfs_by {
6777
6778 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6779 pub struct Podr_SPEC;
6780 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6781 impl Podr {
6782 #[doc = "Output low"]
6783 pub const _0: Self = Self::new(0);
6784
6785 #[doc = "Output high"]
6786 pub const _1: Self = Self::new(1);
6787 }
6788 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6789 pub struct Pidr_SPEC;
6790 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6791 impl Pidr {
6792 #[doc = "Low level"]
6793 pub const _0: Self = Self::new(0);
6794
6795 #[doc = "High level"]
6796 pub const _1: Self = Self::new(1);
6797 }
6798 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6799 pub struct Pdr_SPEC;
6800 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6801 impl Pdr {
6802 #[doc = "Input (functions as an input pin)"]
6803 pub const _0: Self = Self::new(0);
6804
6805 #[doc = "Output (functions as an output pin)"]
6806 pub const _1: Self = Self::new(1);
6807 }
6808 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6809 pub struct Pcr_SPEC;
6810 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6811 impl Pcr {
6812 #[doc = "Disable input pull-up"]
6813 pub const _0: Self = Self::new(0);
6814
6815 #[doc = "Enable input pull-up"]
6816 pub const _1: Self = Self::new(1);
6817 }
6818 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6819 pub struct Ncodr_SPEC;
6820 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6821 impl Ncodr {
6822 #[doc = "Output CMOS"]
6823 pub const _0: Self = Self::new(0);
6824
6825 #[doc = "Output NMOS open-drain"]
6826 pub const _1: Self = Self::new(1);
6827 }
6828}
6829#[doc(hidden)]
6830#[derive(Copy, Clone, Eq, PartialEq)]
6831pub struct P205Pfs_SPEC;
6832impl crate::sealed::RegSpec for P205Pfs_SPEC {
6833 type DataType = u32;
6834}
6835
6836#[doc = "Port 205 Pin Function Select Register"]
6837pub type P205Pfs = crate::RegValueT<P205Pfs_SPEC>;
6838
6839impl P205Pfs {
6840 #[doc = "Port Output Data"]
6841 #[inline(always)]
6842 pub fn podr(
6843 self,
6844 ) -> crate::common::RegisterField<
6845 0,
6846 0x1,
6847 1,
6848 0,
6849 p205pfs::Podr,
6850 p205pfs::Podr,
6851 P205Pfs_SPEC,
6852 crate::common::RW,
6853 > {
6854 crate::common::RegisterField::<
6855 0,
6856 0x1,
6857 1,
6858 0,
6859 p205pfs::Podr,
6860 p205pfs::Podr,
6861 P205Pfs_SPEC,
6862 crate::common::RW,
6863 >::from_register(self, 0)
6864 }
6865
6866 #[doc = "Port State"]
6867 #[inline(always)]
6868 pub fn pidr(
6869 self,
6870 ) -> crate::common::RegisterField<
6871 1,
6872 0x1,
6873 1,
6874 0,
6875 p205pfs::Pidr,
6876 p205pfs::Pidr,
6877 P205Pfs_SPEC,
6878 crate::common::R,
6879 > {
6880 crate::common::RegisterField::<
6881 1,
6882 0x1,
6883 1,
6884 0,
6885 p205pfs::Pidr,
6886 p205pfs::Pidr,
6887 P205Pfs_SPEC,
6888 crate::common::R,
6889 >::from_register(self, 0)
6890 }
6891
6892 #[doc = "Port Direction"]
6893 #[inline(always)]
6894 pub fn pdr(
6895 self,
6896 ) -> crate::common::RegisterField<
6897 2,
6898 0x1,
6899 1,
6900 0,
6901 p205pfs::Pdr,
6902 p205pfs::Pdr,
6903 P205Pfs_SPEC,
6904 crate::common::RW,
6905 > {
6906 crate::common::RegisterField::<
6907 2,
6908 0x1,
6909 1,
6910 0,
6911 p205pfs::Pdr,
6912 p205pfs::Pdr,
6913 P205Pfs_SPEC,
6914 crate::common::RW,
6915 >::from_register(self, 0)
6916 }
6917
6918 #[doc = "Pull-up Control"]
6919 #[inline(always)]
6920 pub fn pcr(
6921 self,
6922 ) -> crate::common::RegisterField<
6923 4,
6924 0x1,
6925 1,
6926 0,
6927 p205pfs::Pcr,
6928 p205pfs::Pcr,
6929 P205Pfs_SPEC,
6930 crate::common::RW,
6931 > {
6932 crate::common::RegisterField::<
6933 4,
6934 0x1,
6935 1,
6936 0,
6937 p205pfs::Pcr,
6938 p205pfs::Pcr,
6939 P205Pfs_SPEC,
6940 crate::common::RW,
6941 >::from_register(self, 0)
6942 }
6943
6944 #[doc = "N-Channel Open-Drain Control"]
6945 #[inline(always)]
6946 pub fn ncodr(
6947 self,
6948 ) -> crate::common::RegisterField<
6949 6,
6950 0x1,
6951 1,
6952 0,
6953 p205pfs::Ncodr,
6954 p205pfs::Ncodr,
6955 P205Pfs_SPEC,
6956 crate::common::RW,
6957 > {
6958 crate::common::RegisterField::<
6959 6,
6960 0x1,
6961 1,
6962 0,
6963 p205pfs::Ncodr,
6964 p205pfs::Ncodr,
6965 P205Pfs_SPEC,
6966 crate::common::RW,
6967 >::from_register(self, 0)
6968 }
6969
6970 #[doc = "Event on Falling/Event on Rising"]
6971 #[inline(always)]
6972 pub fn eofr(
6973 self,
6974 ) -> crate::common::RegisterField<
6975 12,
6976 0x3,
6977 1,
6978 0,
6979 p205pfs::Eofr,
6980 p205pfs::Eofr,
6981 P205Pfs_SPEC,
6982 crate::common::RW,
6983 > {
6984 crate::common::RegisterField::<
6985 12,
6986 0x3,
6987 1,
6988 0,
6989 p205pfs::Eofr,
6990 p205pfs::Eofr,
6991 P205Pfs_SPEC,
6992 crate::common::RW,
6993 >::from_register(self, 0)
6994 }
6995
6996 #[doc = "IRQ Input Enable"]
6997 #[inline(always)]
6998 pub fn isel(
6999 self,
7000 ) -> crate::common::RegisterField<
7001 14,
7002 0x1,
7003 1,
7004 0,
7005 p205pfs::Isel,
7006 p205pfs::Isel,
7007 P205Pfs_SPEC,
7008 crate::common::RW,
7009 > {
7010 crate::common::RegisterField::<
7011 14,
7012 0x1,
7013 1,
7014 0,
7015 p205pfs::Isel,
7016 p205pfs::Isel,
7017 P205Pfs_SPEC,
7018 crate::common::RW,
7019 >::from_register(self, 0)
7020 }
7021
7022 #[doc = "Analog Input Enable"]
7023 #[inline(always)]
7024 pub fn asel(
7025 self,
7026 ) -> crate::common::RegisterField<
7027 15,
7028 0x1,
7029 1,
7030 0,
7031 p205pfs::Asel,
7032 p205pfs::Asel,
7033 P205Pfs_SPEC,
7034 crate::common::RW,
7035 > {
7036 crate::common::RegisterField::<
7037 15,
7038 0x1,
7039 1,
7040 0,
7041 p205pfs::Asel,
7042 p205pfs::Asel,
7043 P205Pfs_SPEC,
7044 crate::common::RW,
7045 >::from_register(self, 0)
7046 }
7047
7048 #[doc = "Port Mode Control"]
7049 #[inline(always)]
7050 pub fn pmr(
7051 self,
7052 ) -> crate::common::RegisterField<
7053 16,
7054 0x1,
7055 1,
7056 0,
7057 p205pfs::Pmr,
7058 p205pfs::Pmr,
7059 P205Pfs_SPEC,
7060 crate::common::RW,
7061 > {
7062 crate::common::RegisterField::<
7063 16,
7064 0x1,
7065 1,
7066 0,
7067 p205pfs::Pmr,
7068 p205pfs::Pmr,
7069 P205Pfs_SPEC,
7070 crate::common::RW,
7071 >::from_register(self, 0)
7072 }
7073
7074 #[doc = "Peripheral Select"]
7075 #[inline(always)]
7076 pub fn psel(
7077 self,
7078 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P205Pfs_SPEC, crate::common::RW> {
7079 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P205Pfs_SPEC,crate::common::RW>::from_register(self,0)
7080 }
7081}
7082impl ::core::default::Default for P205Pfs {
7083 #[inline(always)]
7084 fn default() -> P205Pfs {
7085 <crate::RegValueT<P205Pfs_SPEC> as RegisterValue<_>>::new(0)
7086 }
7087}
7088pub mod p205pfs {
7089
7090 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7091 pub struct Podr_SPEC;
7092 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7093 impl Podr {
7094 #[doc = "Output low"]
7095 pub const _0: Self = Self::new(0);
7096
7097 #[doc = "Output high"]
7098 pub const _1: Self = Self::new(1);
7099 }
7100 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7101 pub struct Pidr_SPEC;
7102 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7103 impl Pidr {
7104 #[doc = "Low level"]
7105 pub const _0: Self = Self::new(0);
7106
7107 #[doc = "High level"]
7108 pub const _1: Self = Self::new(1);
7109 }
7110 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7111 pub struct Pdr_SPEC;
7112 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7113 impl Pdr {
7114 #[doc = "Input (functions as an input pin)"]
7115 pub const _0: Self = Self::new(0);
7116
7117 #[doc = "Output (functions as an output pin)"]
7118 pub const _1: Self = Self::new(1);
7119 }
7120 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7121 pub struct Pcr_SPEC;
7122 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7123 impl Pcr {
7124 #[doc = "Disable input pull-up"]
7125 pub const _0: Self = Self::new(0);
7126
7127 #[doc = "Enable input pull-up"]
7128 pub const _1: Self = Self::new(1);
7129 }
7130 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7131 pub struct Ncodr_SPEC;
7132 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7133 impl Ncodr {
7134 #[doc = "Output CMOS"]
7135 pub const _0: Self = Self::new(0);
7136
7137 #[doc = "Output NMOS open-drain"]
7138 pub const _1: Self = Self::new(1);
7139 }
7140 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7141 pub struct Eofr_SPEC;
7142 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7143 impl Eofr {
7144 #[doc = "Don\'t care"]
7145 pub const _00: Self = Self::new(0);
7146
7147 #[doc = "Detect rising edge"]
7148 pub const _01: Self = Self::new(1);
7149
7150 #[doc = "Detect falling edge"]
7151 pub const _10: Self = Self::new(2);
7152
7153 #[doc = "Detect both edges"]
7154 pub const _11: Self = Self::new(3);
7155 }
7156 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7157 pub struct Isel_SPEC;
7158 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7159 impl Isel {
7160 #[doc = "Do not use as IRQn input pin"]
7161 pub const _0: Self = Self::new(0);
7162
7163 #[doc = "Use as IRQn input pin"]
7164 pub const _1: Self = Self::new(1);
7165 }
7166 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7167 pub struct Asel_SPEC;
7168 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7169 impl Asel {
7170 #[doc = "Do not use as analog pin"]
7171 pub const _0: Self = Self::new(0);
7172
7173 #[doc = "Use as analog pin"]
7174 pub const _1: Self = Self::new(1);
7175 }
7176 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7177 pub struct Pmr_SPEC;
7178 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
7179 impl Pmr {
7180 #[doc = "Use as general I/O pin"]
7181 pub const _0: Self = Self::new(0);
7182
7183 #[doc = "Use as I/O port for peripheral functions"]
7184 pub const _1: Self = Self::new(1);
7185 }
7186}
7187#[doc(hidden)]
7188#[derive(Copy, Clone, Eq, PartialEq)]
7189pub struct P205PfsHa_SPEC;
7190impl crate::sealed::RegSpec for P205PfsHa_SPEC {
7191 type DataType = u16;
7192}
7193
7194#[doc = "Port 205 Pin Function Select Register"]
7195pub type P205PfsHa = crate::RegValueT<P205PfsHa_SPEC>;
7196
7197impl P205PfsHa {
7198 #[doc = "Port Output Data"]
7199 #[inline(always)]
7200 pub fn podr(
7201 self,
7202 ) -> crate::common::RegisterField<
7203 0,
7204 0x1,
7205 1,
7206 0,
7207 p205pfs_ha::Podr,
7208 p205pfs_ha::Podr,
7209 P205PfsHa_SPEC,
7210 crate::common::RW,
7211 > {
7212 crate::common::RegisterField::<
7213 0,
7214 0x1,
7215 1,
7216 0,
7217 p205pfs_ha::Podr,
7218 p205pfs_ha::Podr,
7219 P205PfsHa_SPEC,
7220 crate::common::RW,
7221 >::from_register(self, 0)
7222 }
7223
7224 #[doc = "Port State"]
7225 #[inline(always)]
7226 pub fn pidr(
7227 self,
7228 ) -> crate::common::RegisterField<
7229 1,
7230 0x1,
7231 1,
7232 0,
7233 p205pfs_ha::Pidr,
7234 p205pfs_ha::Pidr,
7235 P205PfsHa_SPEC,
7236 crate::common::R,
7237 > {
7238 crate::common::RegisterField::<
7239 1,
7240 0x1,
7241 1,
7242 0,
7243 p205pfs_ha::Pidr,
7244 p205pfs_ha::Pidr,
7245 P205PfsHa_SPEC,
7246 crate::common::R,
7247 >::from_register(self, 0)
7248 }
7249
7250 #[doc = "Port Direction"]
7251 #[inline(always)]
7252 pub fn pdr(
7253 self,
7254 ) -> crate::common::RegisterField<
7255 2,
7256 0x1,
7257 1,
7258 0,
7259 p205pfs_ha::Pdr,
7260 p205pfs_ha::Pdr,
7261 P205PfsHa_SPEC,
7262 crate::common::RW,
7263 > {
7264 crate::common::RegisterField::<
7265 2,
7266 0x1,
7267 1,
7268 0,
7269 p205pfs_ha::Pdr,
7270 p205pfs_ha::Pdr,
7271 P205PfsHa_SPEC,
7272 crate::common::RW,
7273 >::from_register(self, 0)
7274 }
7275
7276 #[doc = "Pull-up Control"]
7277 #[inline(always)]
7278 pub fn pcr(
7279 self,
7280 ) -> crate::common::RegisterField<
7281 4,
7282 0x1,
7283 1,
7284 0,
7285 p205pfs_ha::Pcr,
7286 p205pfs_ha::Pcr,
7287 P205PfsHa_SPEC,
7288 crate::common::RW,
7289 > {
7290 crate::common::RegisterField::<
7291 4,
7292 0x1,
7293 1,
7294 0,
7295 p205pfs_ha::Pcr,
7296 p205pfs_ha::Pcr,
7297 P205PfsHa_SPEC,
7298 crate::common::RW,
7299 >::from_register(self, 0)
7300 }
7301
7302 #[doc = "N-Channel Open-Drain Control"]
7303 #[inline(always)]
7304 pub fn ncodr(
7305 self,
7306 ) -> crate::common::RegisterField<
7307 6,
7308 0x1,
7309 1,
7310 0,
7311 p205pfs_ha::Ncodr,
7312 p205pfs_ha::Ncodr,
7313 P205PfsHa_SPEC,
7314 crate::common::RW,
7315 > {
7316 crate::common::RegisterField::<
7317 6,
7318 0x1,
7319 1,
7320 0,
7321 p205pfs_ha::Ncodr,
7322 p205pfs_ha::Ncodr,
7323 P205PfsHa_SPEC,
7324 crate::common::RW,
7325 >::from_register(self, 0)
7326 }
7327
7328 #[doc = "Event on Falling/Event on Rising"]
7329 #[inline(always)]
7330 pub fn eofr(
7331 self,
7332 ) -> crate::common::RegisterField<
7333 12,
7334 0x3,
7335 1,
7336 0,
7337 p205pfs_ha::Eofr,
7338 p205pfs_ha::Eofr,
7339 P205PfsHa_SPEC,
7340 crate::common::RW,
7341 > {
7342 crate::common::RegisterField::<
7343 12,
7344 0x3,
7345 1,
7346 0,
7347 p205pfs_ha::Eofr,
7348 p205pfs_ha::Eofr,
7349 P205PfsHa_SPEC,
7350 crate::common::RW,
7351 >::from_register(self, 0)
7352 }
7353
7354 #[doc = "IRQ Input Enable"]
7355 #[inline(always)]
7356 pub fn isel(
7357 self,
7358 ) -> crate::common::RegisterField<
7359 14,
7360 0x1,
7361 1,
7362 0,
7363 p205pfs_ha::Isel,
7364 p205pfs_ha::Isel,
7365 P205PfsHa_SPEC,
7366 crate::common::RW,
7367 > {
7368 crate::common::RegisterField::<
7369 14,
7370 0x1,
7371 1,
7372 0,
7373 p205pfs_ha::Isel,
7374 p205pfs_ha::Isel,
7375 P205PfsHa_SPEC,
7376 crate::common::RW,
7377 >::from_register(self, 0)
7378 }
7379
7380 #[doc = "Analog Input Enable"]
7381 #[inline(always)]
7382 pub fn asel(
7383 self,
7384 ) -> crate::common::RegisterField<
7385 15,
7386 0x1,
7387 1,
7388 0,
7389 p205pfs_ha::Asel,
7390 p205pfs_ha::Asel,
7391 P205PfsHa_SPEC,
7392 crate::common::RW,
7393 > {
7394 crate::common::RegisterField::<
7395 15,
7396 0x1,
7397 1,
7398 0,
7399 p205pfs_ha::Asel,
7400 p205pfs_ha::Asel,
7401 P205PfsHa_SPEC,
7402 crate::common::RW,
7403 >::from_register(self, 0)
7404 }
7405}
7406impl ::core::default::Default for P205PfsHa {
7407 #[inline(always)]
7408 fn default() -> P205PfsHa {
7409 <crate::RegValueT<P205PfsHa_SPEC> as RegisterValue<_>>::new(0)
7410 }
7411}
7412pub mod p205pfs_ha {
7413
7414 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7415 pub struct Podr_SPEC;
7416 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7417 impl Podr {
7418 #[doc = "Output low"]
7419 pub const _0: Self = Self::new(0);
7420
7421 #[doc = "Output high"]
7422 pub const _1: Self = Self::new(1);
7423 }
7424 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7425 pub struct Pidr_SPEC;
7426 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7427 impl Pidr {
7428 #[doc = "Low level"]
7429 pub const _0: Self = Self::new(0);
7430
7431 #[doc = "High level"]
7432 pub const _1: Self = Self::new(1);
7433 }
7434 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7435 pub struct Pdr_SPEC;
7436 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7437 impl Pdr {
7438 #[doc = "Input (functions as an input pin)"]
7439 pub const _0: Self = Self::new(0);
7440
7441 #[doc = "Output (functions as an output pin)"]
7442 pub const _1: Self = Self::new(1);
7443 }
7444 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7445 pub struct Pcr_SPEC;
7446 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7447 impl Pcr {
7448 #[doc = "Disable input pull-up"]
7449 pub const _0: Self = Self::new(0);
7450
7451 #[doc = "Enable input pull-up"]
7452 pub const _1: Self = Self::new(1);
7453 }
7454 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7455 pub struct Ncodr_SPEC;
7456 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7457 impl Ncodr {
7458 #[doc = "Output CMOS"]
7459 pub const _0: Self = Self::new(0);
7460
7461 #[doc = "Output NMOS open-drain"]
7462 pub const _1: Self = Self::new(1);
7463 }
7464 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7465 pub struct Eofr_SPEC;
7466 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7467 impl Eofr {
7468 #[doc = "Don\'t care"]
7469 pub const _00: Self = Self::new(0);
7470
7471 #[doc = "Detect rising edge"]
7472 pub const _01: Self = Self::new(1);
7473
7474 #[doc = "Detect falling edge"]
7475 pub const _10: Self = Self::new(2);
7476
7477 #[doc = "Detect both edges"]
7478 pub const _11: Self = Self::new(3);
7479 }
7480 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7481 pub struct Isel_SPEC;
7482 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7483 impl Isel {
7484 #[doc = "Do not use as IRQn input pin"]
7485 pub const _0: Self = Self::new(0);
7486
7487 #[doc = "Use as IRQn input pin"]
7488 pub const _1: Self = Self::new(1);
7489 }
7490 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7491 pub struct Asel_SPEC;
7492 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7493 impl Asel {
7494 #[doc = "Do not use as analog pin"]
7495 pub const _0: Self = Self::new(0);
7496
7497 #[doc = "Use as analog pin"]
7498 pub const _1: Self = Self::new(1);
7499 }
7500}
7501#[doc(hidden)]
7502#[derive(Copy, Clone, Eq, PartialEq)]
7503pub struct P205PfsBy_SPEC;
7504impl crate::sealed::RegSpec for P205PfsBy_SPEC {
7505 type DataType = u8;
7506}
7507
7508#[doc = "Port 205 Pin Function Select Register"]
7509pub type P205PfsBy = crate::RegValueT<P205PfsBy_SPEC>;
7510
7511impl P205PfsBy {
7512 #[doc = "Port Output Data"]
7513 #[inline(always)]
7514 pub fn podr(
7515 self,
7516 ) -> crate::common::RegisterField<
7517 0,
7518 0x1,
7519 1,
7520 0,
7521 p205pfs_by::Podr,
7522 p205pfs_by::Podr,
7523 P205PfsBy_SPEC,
7524 crate::common::RW,
7525 > {
7526 crate::common::RegisterField::<
7527 0,
7528 0x1,
7529 1,
7530 0,
7531 p205pfs_by::Podr,
7532 p205pfs_by::Podr,
7533 P205PfsBy_SPEC,
7534 crate::common::RW,
7535 >::from_register(self, 0)
7536 }
7537
7538 #[doc = "Port State"]
7539 #[inline(always)]
7540 pub fn pidr(
7541 self,
7542 ) -> crate::common::RegisterField<
7543 1,
7544 0x1,
7545 1,
7546 0,
7547 p205pfs_by::Pidr,
7548 p205pfs_by::Pidr,
7549 P205PfsBy_SPEC,
7550 crate::common::R,
7551 > {
7552 crate::common::RegisterField::<
7553 1,
7554 0x1,
7555 1,
7556 0,
7557 p205pfs_by::Pidr,
7558 p205pfs_by::Pidr,
7559 P205PfsBy_SPEC,
7560 crate::common::R,
7561 >::from_register(self, 0)
7562 }
7563
7564 #[doc = "Port Direction"]
7565 #[inline(always)]
7566 pub fn pdr(
7567 self,
7568 ) -> crate::common::RegisterField<
7569 2,
7570 0x1,
7571 1,
7572 0,
7573 p205pfs_by::Pdr,
7574 p205pfs_by::Pdr,
7575 P205PfsBy_SPEC,
7576 crate::common::RW,
7577 > {
7578 crate::common::RegisterField::<
7579 2,
7580 0x1,
7581 1,
7582 0,
7583 p205pfs_by::Pdr,
7584 p205pfs_by::Pdr,
7585 P205PfsBy_SPEC,
7586 crate::common::RW,
7587 >::from_register(self, 0)
7588 }
7589
7590 #[doc = "Pull-up Control"]
7591 #[inline(always)]
7592 pub fn pcr(
7593 self,
7594 ) -> crate::common::RegisterField<
7595 4,
7596 0x1,
7597 1,
7598 0,
7599 p205pfs_by::Pcr,
7600 p205pfs_by::Pcr,
7601 P205PfsBy_SPEC,
7602 crate::common::RW,
7603 > {
7604 crate::common::RegisterField::<
7605 4,
7606 0x1,
7607 1,
7608 0,
7609 p205pfs_by::Pcr,
7610 p205pfs_by::Pcr,
7611 P205PfsBy_SPEC,
7612 crate::common::RW,
7613 >::from_register(self, 0)
7614 }
7615
7616 #[doc = "N-Channel Open-Drain Control"]
7617 #[inline(always)]
7618 pub fn ncodr(
7619 self,
7620 ) -> crate::common::RegisterField<
7621 6,
7622 0x1,
7623 1,
7624 0,
7625 p205pfs_by::Ncodr,
7626 p205pfs_by::Ncodr,
7627 P205PfsBy_SPEC,
7628 crate::common::RW,
7629 > {
7630 crate::common::RegisterField::<
7631 6,
7632 0x1,
7633 1,
7634 0,
7635 p205pfs_by::Ncodr,
7636 p205pfs_by::Ncodr,
7637 P205PfsBy_SPEC,
7638 crate::common::RW,
7639 >::from_register(self, 0)
7640 }
7641}
7642impl ::core::default::Default for P205PfsBy {
7643 #[inline(always)]
7644 fn default() -> P205PfsBy {
7645 <crate::RegValueT<P205PfsBy_SPEC> as RegisterValue<_>>::new(0)
7646 }
7647}
7648pub mod p205pfs_by {
7649
7650 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7651 pub struct Podr_SPEC;
7652 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7653 impl Podr {
7654 #[doc = "Output low"]
7655 pub const _0: Self = Self::new(0);
7656
7657 #[doc = "Output high"]
7658 pub const _1: Self = Self::new(1);
7659 }
7660 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7661 pub struct Pidr_SPEC;
7662 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7663 impl Pidr {
7664 #[doc = "Low level"]
7665 pub const _0: Self = Self::new(0);
7666
7667 #[doc = "High level"]
7668 pub const _1: Self = Self::new(1);
7669 }
7670 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7671 pub struct Pdr_SPEC;
7672 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7673 impl Pdr {
7674 #[doc = "Input (functions as an input pin)"]
7675 pub const _0: Self = Self::new(0);
7676
7677 #[doc = "Output (functions as an output pin)"]
7678 pub const _1: Self = Self::new(1);
7679 }
7680 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7681 pub struct Pcr_SPEC;
7682 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7683 impl Pcr {
7684 #[doc = "Disable input pull-up"]
7685 pub const _0: Self = Self::new(0);
7686
7687 #[doc = "Enable input pull-up"]
7688 pub const _1: Self = Self::new(1);
7689 }
7690 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7691 pub struct Ncodr_SPEC;
7692 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7693 impl Ncodr {
7694 #[doc = "Output CMOS"]
7695 pub const _0: Self = Self::new(0);
7696
7697 #[doc = "Output NMOS open-drain"]
7698 pub const _1: Self = Self::new(1);
7699 }
7700}
7701#[doc(hidden)]
7702#[derive(Copy, Clone, Eq, PartialEq)]
7703pub struct P300Pfs_SPEC;
7704impl crate::sealed::RegSpec for P300Pfs_SPEC {
7705 type DataType = u32;
7706}
7707
7708#[doc = "Port 300 Pin Function Select Register"]
7709pub type P300Pfs = crate::RegValueT<P300Pfs_SPEC>;
7710
7711impl P300Pfs {
7712 #[doc = "Port Output Data"]
7713 #[inline(always)]
7714 pub fn podr(
7715 self,
7716 ) -> crate::common::RegisterField<
7717 0,
7718 0x1,
7719 1,
7720 0,
7721 p300pfs::Podr,
7722 p300pfs::Podr,
7723 P300Pfs_SPEC,
7724 crate::common::RW,
7725 > {
7726 crate::common::RegisterField::<
7727 0,
7728 0x1,
7729 1,
7730 0,
7731 p300pfs::Podr,
7732 p300pfs::Podr,
7733 P300Pfs_SPEC,
7734 crate::common::RW,
7735 >::from_register(self, 0)
7736 }
7737
7738 #[doc = "Port State"]
7739 #[inline(always)]
7740 pub fn pidr(
7741 self,
7742 ) -> crate::common::RegisterField<
7743 1,
7744 0x1,
7745 1,
7746 0,
7747 p300pfs::Pidr,
7748 p300pfs::Pidr,
7749 P300Pfs_SPEC,
7750 crate::common::R,
7751 > {
7752 crate::common::RegisterField::<
7753 1,
7754 0x1,
7755 1,
7756 0,
7757 p300pfs::Pidr,
7758 p300pfs::Pidr,
7759 P300Pfs_SPEC,
7760 crate::common::R,
7761 >::from_register(self, 0)
7762 }
7763
7764 #[doc = "Port Direction"]
7765 #[inline(always)]
7766 pub fn pdr(
7767 self,
7768 ) -> crate::common::RegisterField<
7769 2,
7770 0x1,
7771 1,
7772 0,
7773 p300pfs::Pdr,
7774 p300pfs::Pdr,
7775 P300Pfs_SPEC,
7776 crate::common::RW,
7777 > {
7778 crate::common::RegisterField::<
7779 2,
7780 0x1,
7781 1,
7782 0,
7783 p300pfs::Pdr,
7784 p300pfs::Pdr,
7785 P300Pfs_SPEC,
7786 crate::common::RW,
7787 >::from_register(self, 0)
7788 }
7789
7790 #[doc = "Pull-up Control"]
7791 #[inline(always)]
7792 pub fn pcr(
7793 self,
7794 ) -> crate::common::RegisterField<
7795 4,
7796 0x1,
7797 1,
7798 0,
7799 p300pfs::Pcr,
7800 p300pfs::Pcr,
7801 P300Pfs_SPEC,
7802 crate::common::RW,
7803 > {
7804 crate::common::RegisterField::<
7805 4,
7806 0x1,
7807 1,
7808 0,
7809 p300pfs::Pcr,
7810 p300pfs::Pcr,
7811 P300Pfs_SPEC,
7812 crate::common::RW,
7813 >::from_register(self, 0)
7814 }
7815
7816 #[doc = "N-Channel Open-Drain Control"]
7817 #[inline(always)]
7818 pub fn ncodr(
7819 self,
7820 ) -> crate::common::RegisterField<
7821 6,
7822 0x1,
7823 1,
7824 0,
7825 p300pfs::Ncodr,
7826 p300pfs::Ncodr,
7827 P300Pfs_SPEC,
7828 crate::common::RW,
7829 > {
7830 crate::common::RegisterField::<
7831 6,
7832 0x1,
7833 1,
7834 0,
7835 p300pfs::Ncodr,
7836 p300pfs::Ncodr,
7837 P300Pfs_SPEC,
7838 crate::common::RW,
7839 >::from_register(self, 0)
7840 }
7841
7842 #[doc = "IRQ Input Enable"]
7843 #[inline(always)]
7844 pub fn isel(
7845 self,
7846 ) -> crate::common::RegisterField<
7847 14,
7848 0x1,
7849 1,
7850 0,
7851 p300pfs::Isel,
7852 p300pfs::Isel,
7853 P300Pfs_SPEC,
7854 crate::common::RW,
7855 > {
7856 crate::common::RegisterField::<
7857 14,
7858 0x1,
7859 1,
7860 0,
7861 p300pfs::Isel,
7862 p300pfs::Isel,
7863 P300Pfs_SPEC,
7864 crate::common::RW,
7865 >::from_register(self, 0)
7866 }
7867
7868 #[doc = "Analog Input Enable"]
7869 #[inline(always)]
7870 pub fn asel(
7871 self,
7872 ) -> crate::common::RegisterField<
7873 15,
7874 0x1,
7875 1,
7876 0,
7877 p300pfs::Asel,
7878 p300pfs::Asel,
7879 P300Pfs_SPEC,
7880 crate::common::RW,
7881 > {
7882 crate::common::RegisterField::<
7883 15,
7884 0x1,
7885 1,
7886 0,
7887 p300pfs::Asel,
7888 p300pfs::Asel,
7889 P300Pfs_SPEC,
7890 crate::common::RW,
7891 >::from_register(self, 0)
7892 }
7893
7894 #[doc = "Port Mode Control"]
7895 #[inline(always)]
7896 pub fn pmr(
7897 self,
7898 ) -> crate::common::RegisterField<
7899 16,
7900 0x1,
7901 1,
7902 0,
7903 p300pfs::Pmr,
7904 p300pfs::Pmr,
7905 P300Pfs_SPEC,
7906 crate::common::RW,
7907 > {
7908 crate::common::RegisterField::<
7909 16,
7910 0x1,
7911 1,
7912 0,
7913 p300pfs::Pmr,
7914 p300pfs::Pmr,
7915 P300Pfs_SPEC,
7916 crate::common::RW,
7917 >::from_register(self, 0)
7918 }
7919
7920 #[doc = "Peripheral Select"]
7921 #[inline(always)]
7922 pub fn psel(
7923 self,
7924 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P300Pfs_SPEC, crate::common::RW> {
7925 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P300Pfs_SPEC,crate::common::RW>::from_register(self,0)
7926 }
7927}
7928impl ::core::default::Default for P300Pfs {
7929 #[inline(always)]
7930 fn default() -> P300Pfs {
7931 <crate::RegValueT<P300Pfs_SPEC> as RegisterValue<_>>::new(65536)
7932 }
7933}
7934pub mod p300pfs {
7935
7936 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7937 pub struct Podr_SPEC;
7938 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7939 impl Podr {
7940 #[doc = "Output low"]
7941 pub const _0: Self = Self::new(0);
7942
7943 #[doc = "Output high"]
7944 pub const _1: Self = Self::new(1);
7945 }
7946 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7947 pub struct Pidr_SPEC;
7948 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7949 impl Pidr {
7950 #[doc = "Low level"]
7951 pub const _0: Self = Self::new(0);
7952
7953 #[doc = "High level"]
7954 pub const _1: Self = Self::new(1);
7955 }
7956 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7957 pub struct Pdr_SPEC;
7958 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7959 impl Pdr {
7960 #[doc = "Input (functions as an input pin)"]
7961 pub const _0: Self = Self::new(0);
7962
7963 #[doc = "Output (functions as an output pin)"]
7964 pub const _1: Self = Self::new(1);
7965 }
7966 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7967 pub struct Pcr_SPEC;
7968 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7969 impl Pcr {
7970 #[doc = "Disable input pull-up"]
7971 pub const _0: Self = Self::new(0);
7972
7973 #[doc = "Enable input pull-up"]
7974 pub const _1: Self = Self::new(1);
7975 }
7976 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7977 pub struct Ncodr_SPEC;
7978 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7979 impl Ncodr {
7980 #[doc = "Output CMOS"]
7981 pub const _0: Self = Self::new(0);
7982
7983 #[doc = "Output NMOS open-drain"]
7984 pub const _1: Self = Self::new(1);
7985 }
7986 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7987 pub struct Isel_SPEC;
7988 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7989 impl Isel {
7990 #[doc = "Do not use as IRQn input pin"]
7991 pub const _0: Self = Self::new(0);
7992
7993 #[doc = "Use as IRQn input pin"]
7994 pub const _1: Self = Self::new(1);
7995 }
7996 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7997 pub struct Asel_SPEC;
7998 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7999 impl Asel {
8000 #[doc = "Do not use as analog pin"]
8001 pub const _0: Self = Self::new(0);
8002
8003 #[doc = "Use as analog pin"]
8004 pub const _1: Self = Self::new(1);
8005 }
8006 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8007 pub struct Pmr_SPEC;
8008 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
8009 impl Pmr {
8010 #[doc = "Use as general I/O pin"]
8011 pub const _0: Self = Self::new(0);
8012
8013 #[doc = "Use as I/O port for peripheral functions"]
8014 pub const _1: Self = Self::new(1);
8015 }
8016}
8017#[doc(hidden)]
8018#[derive(Copy, Clone, Eq, PartialEq)]
8019pub struct P300PfsHa_SPEC;
8020impl crate::sealed::RegSpec for P300PfsHa_SPEC {
8021 type DataType = u16;
8022}
8023
8024#[doc = "Port 300 Pin Function Select Register"]
8025pub type P300PfsHa = crate::RegValueT<P300PfsHa_SPEC>;
8026
8027impl P300PfsHa {
8028 #[doc = "Port Output Data"]
8029 #[inline(always)]
8030 pub fn podr(
8031 self,
8032 ) -> crate::common::RegisterField<
8033 0,
8034 0x1,
8035 1,
8036 0,
8037 p300pfs_ha::Podr,
8038 p300pfs_ha::Podr,
8039 P300PfsHa_SPEC,
8040 crate::common::RW,
8041 > {
8042 crate::common::RegisterField::<
8043 0,
8044 0x1,
8045 1,
8046 0,
8047 p300pfs_ha::Podr,
8048 p300pfs_ha::Podr,
8049 P300PfsHa_SPEC,
8050 crate::common::RW,
8051 >::from_register(self, 0)
8052 }
8053
8054 #[doc = "Port State"]
8055 #[inline(always)]
8056 pub fn pidr(
8057 self,
8058 ) -> crate::common::RegisterField<
8059 1,
8060 0x1,
8061 1,
8062 0,
8063 p300pfs_ha::Pidr,
8064 p300pfs_ha::Pidr,
8065 P300PfsHa_SPEC,
8066 crate::common::R,
8067 > {
8068 crate::common::RegisterField::<
8069 1,
8070 0x1,
8071 1,
8072 0,
8073 p300pfs_ha::Pidr,
8074 p300pfs_ha::Pidr,
8075 P300PfsHa_SPEC,
8076 crate::common::R,
8077 >::from_register(self, 0)
8078 }
8079
8080 #[doc = "Port Direction"]
8081 #[inline(always)]
8082 pub fn pdr(
8083 self,
8084 ) -> crate::common::RegisterField<
8085 2,
8086 0x1,
8087 1,
8088 0,
8089 p300pfs_ha::Pdr,
8090 p300pfs_ha::Pdr,
8091 P300PfsHa_SPEC,
8092 crate::common::RW,
8093 > {
8094 crate::common::RegisterField::<
8095 2,
8096 0x1,
8097 1,
8098 0,
8099 p300pfs_ha::Pdr,
8100 p300pfs_ha::Pdr,
8101 P300PfsHa_SPEC,
8102 crate::common::RW,
8103 >::from_register(self, 0)
8104 }
8105
8106 #[doc = "Pull-up Control"]
8107 #[inline(always)]
8108 pub fn pcr(
8109 self,
8110 ) -> crate::common::RegisterField<
8111 4,
8112 0x1,
8113 1,
8114 0,
8115 p300pfs_ha::Pcr,
8116 p300pfs_ha::Pcr,
8117 P300PfsHa_SPEC,
8118 crate::common::RW,
8119 > {
8120 crate::common::RegisterField::<
8121 4,
8122 0x1,
8123 1,
8124 0,
8125 p300pfs_ha::Pcr,
8126 p300pfs_ha::Pcr,
8127 P300PfsHa_SPEC,
8128 crate::common::RW,
8129 >::from_register(self, 0)
8130 }
8131
8132 #[doc = "N-Channel Open-Drain Control"]
8133 #[inline(always)]
8134 pub fn ncodr(
8135 self,
8136 ) -> crate::common::RegisterField<
8137 6,
8138 0x1,
8139 1,
8140 0,
8141 p300pfs_ha::Ncodr,
8142 p300pfs_ha::Ncodr,
8143 P300PfsHa_SPEC,
8144 crate::common::RW,
8145 > {
8146 crate::common::RegisterField::<
8147 6,
8148 0x1,
8149 1,
8150 0,
8151 p300pfs_ha::Ncodr,
8152 p300pfs_ha::Ncodr,
8153 P300PfsHa_SPEC,
8154 crate::common::RW,
8155 >::from_register(self, 0)
8156 }
8157
8158 #[doc = "IRQ Input Enable"]
8159 #[inline(always)]
8160 pub fn isel(
8161 self,
8162 ) -> crate::common::RegisterField<
8163 14,
8164 0x1,
8165 1,
8166 0,
8167 p300pfs_ha::Isel,
8168 p300pfs_ha::Isel,
8169 P300PfsHa_SPEC,
8170 crate::common::RW,
8171 > {
8172 crate::common::RegisterField::<
8173 14,
8174 0x1,
8175 1,
8176 0,
8177 p300pfs_ha::Isel,
8178 p300pfs_ha::Isel,
8179 P300PfsHa_SPEC,
8180 crate::common::RW,
8181 >::from_register(self, 0)
8182 }
8183
8184 #[doc = "Analog Input Enable"]
8185 #[inline(always)]
8186 pub fn asel(
8187 self,
8188 ) -> crate::common::RegisterField<
8189 15,
8190 0x1,
8191 1,
8192 0,
8193 p300pfs_ha::Asel,
8194 p300pfs_ha::Asel,
8195 P300PfsHa_SPEC,
8196 crate::common::RW,
8197 > {
8198 crate::common::RegisterField::<
8199 15,
8200 0x1,
8201 1,
8202 0,
8203 p300pfs_ha::Asel,
8204 p300pfs_ha::Asel,
8205 P300PfsHa_SPEC,
8206 crate::common::RW,
8207 >::from_register(self, 0)
8208 }
8209}
8210impl ::core::default::Default for P300PfsHa {
8211 #[inline(always)]
8212 fn default() -> P300PfsHa {
8213 <crate::RegValueT<P300PfsHa_SPEC> as RegisterValue<_>>::new(0)
8214 }
8215}
8216pub mod p300pfs_ha {
8217
8218 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8219 pub struct Podr_SPEC;
8220 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8221 impl Podr {
8222 #[doc = "Output low"]
8223 pub const _0: Self = Self::new(0);
8224
8225 #[doc = "Output high"]
8226 pub const _1: Self = Self::new(1);
8227 }
8228 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8229 pub struct Pidr_SPEC;
8230 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8231 impl Pidr {
8232 #[doc = "Low level"]
8233 pub const _0: Self = Self::new(0);
8234
8235 #[doc = "High level"]
8236 pub const _1: Self = Self::new(1);
8237 }
8238 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8239 pub struct Pdr_SPEC;
8240 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8241 impl Pdr {
8242 #[doc = "Input (functions as an input pin)"]
8243 pub const _0: Self = Self::new(0);
8244
8245 #[doc = "Output (functions as an output pin)"]
8246 pub const _1: Self = Self::new(1);
8247 }
8248 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8249 pub struct Pcr_SPEC;
8250 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8251 impl Pcr {
8252 #[doc = "Disable input pull-up"]
8253 pub const _0: Self = Self::new(0);
8254
8255 #[doc = "Enable input pull-up"]
8256 pub const _1: Self = Self::new(1);
8257 }
8258 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8259 pub struct Ncodr_SPEC;
8260 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8261 impl Ncodr {
8262 #[doc = "Output CMOS"]
8263 pub const _0: Self = Self::new(0);
8264
8265 #[doc = "Output NMOS open-drain"]
8266 pub const _1: Self = Self::new(1);
8267 }
8268 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8269 pub struct Isel_SPEC;
8270 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8271 impl Isel {
8272 #[doc = "Do not use as IRQn input pin"]
8273 pub const _0: Self = Self::new(0);
8274
8275 #[doc = "Use as IRQn input pin"]
8276 pub const _1: Self = Self::new(1);
8277 }
8278 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8279 pub struct Asel_SPEC;
8280 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8281 impl Asel {
8282 #[doc = "Do not use as analog pin"]
8283 pub const _0: Self = Self::new(0);
8284
8285 #[doc = "Use as analog pin"]
8286 pub const _1: Self = Self::new(1);
8287 }
8288}
8289#[doc(hidden)]
8290#[derive(Copy, Clone, Eq, PartialEq)]
8291pub struct P300PfsBy_SPEC;
8292impl crate::sealed::RegSpec for P300PfsBy_SPEC {
8293 type DataType = u8;
8294}
8295
8296#[doc = "Port 300 Pin Function Select Register"]
8297pub type P300PfsBy = crate::RegValueT<P300PfsBy_SPEC>;
8298
8299impl P300PfsBy {
8300 #[doc = "Port Output Data"]
8301 #[inline(always)]
8302 pub fn podr(
8303 self,
8304 ) -> crate::common::RegisterField<
8305 0,
8306 0x1,
8307 1,
8308 0,
8309 p300pfs_by::Podr,
8310 p300pfs_by::Podr,
8311 P300PfsBy_SPEC,
8312 crate::common::RW,
8313 > {
8314 crate::common::RegisterField::<
8315 0,
8316 0x1,
8317 1,
8318 0,
8319 p300pfs_by::Podr,
8320 p300pfs_by::Podr,
8321 P300PfsBy_SPEC,
8322 crate::common::RW,
8323 >::from_register(self, 0)
8324 }
8325
8326 #[doc = "Port State"]
8327 #[inline(always)]
8328 pub fn pidr(
8329 self,
8330 ) -> crate::common::RegisterField<
8331 1,
8332 0x1,
8333 1,
8334 0,
8335 p300pfs_by::Pidr,
8336 p300pfs_by::Pidr,
8337 P300PfsBy_SPEC,
8338 crate::common::R,
8339 > {
8340 crate::common::RegisterField::<
8341 1,
8342 0x1,
8343 1,
8344 0,
8345 p300pfs_by::Pidr,
8346 p300pfs_by::Pidr,
8347 P300PfsBy_SPEC,
8348 crate::common::R,
8349 >::from_register(self, 0)
8350 }
8351
8352 #[doc = "Port Direction"]
8353 #[inline(always)]
8354 pub fn pdr(
8355 self,
8356 ) -> crate::common::RegisterField<
8357 2,
8358 0x1,
8359 1,
8360 0,
8361 p300pfs_by::Pdr,
8362 p300pfs_by::Pdr,
8363 P300PfsBy_SPEC,
8364 crate::common::RW,
8365 > {
8366 crate::common::RegisterField::<
8367 2,
8368 0x1,
8369 1,
8370 0,
8371 p300pfs_by::Pdr,
8372 p300pfs_by::Pdr,
8373 P300PfsBy_SPEC,
8374 crate::common::RW,
8375 >::from_register(self, 0)
8376 }
8377
8378 #[doc = "Pull-up Control"]
8379 #[inline(always)]
8380 pub fn pcr(
8381 self,
8382 ) -> crate::common::RegisterField<
8383 4,
8384 0x1,
8385 1,
8386 0,
8387 p300pfs_by::Pcr,
8388 p300pfs_by::Pcr,
8389 P300PfsBy_SPEC,
8390 crate::common::RW,
8391 > {
8392 crate::common::RegisterField::<
8393 4,
8394 0x1,
8395 1,
8396 0,
8397 p300pfs_by::Pcr,
8398 p300pfs_by::Pcr,
8399 P300PfsBy_SPEC,
8400 crate::common::RW,
8401 >::from_register(self, 0)
8402 }
8403
8404 #[doc = "N-Channel Open-Drain Control"]
8405 #[inline(always)]
8406 pub fn ncodr(
8407 self,
8408 ) -> crate::common::RegisterField<
8409 6,
8410 0x1,
8411 1,
8412 0,
8413 p300pfs_by::Ncodr,
8414 p300pfs_by::Ncodr,
8415 P300PfsBy_SPEC,
8416 crate::common::RW,
8417 > {
8418 crate::common::RegisterField::<
8419 6,
8420 0x1,
8421 1,
8422 0,
8423 p300pfs_by::Ncodr,
8424 p300pfs_by::Ncodr,
8425 P300PfsBy_SPEC,
8426 crate::common::RW,
8427 >::from_register(self, 0)
8428 }
8429}
8430impl ::core::default::Default for P300PfsBy {
8431 #[inline(always)]
8432 fn default() -> P300PfsBy {
8433 <crate::RegValueT<P300PfsBy_SPEC> as RegisterValue<_>>::new(0)
8434 }
8435}
8436pub mod p300pfs_by {
8437
8438 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8439 pub struct Podr_SPEC;
8440 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8441 impl Podr {
8442 #[doc = "Output low"]
8443 pub const _0: Self = Self::new(0);
8444
8445 #[doc = "Output high"]
8446 pub const _1: Self = Self::new(1);
8447 }
8448 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8449 pub struct Pidr_SPEC;
8450 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8451 impl Pidr {
8452 #[doc = "Low level"]
8453 pub const _0: Self = Self::new(0);
8454
8455 #[doc = "High level"]
8456 pub const _1: Self = Self::new(1);
8457 }
8458 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8459 pub struct Pdr_SPEC;
8460 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8461 impl Pdr {
8462 #[doc = "Input (functions as an input pin)"]
8463 pub const _0: Self = Self::new(0);
8464
8465 #[doc = "Output (functions as an output pin)"]
8466 pub const _1: Self = Self::new(1);
8467 }
8468 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8469 pub struct Pcr_SPEC;
8470 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8471 impl Pcr {
8472 #[doc = "Disable input pull-up"]
8473 pub const _0: Self = Self::new(0);
8474
8475 #[doc = "Enable input pull-up"]
8476 pub const _1: Self = Self::new(1);
8477 }
8478 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8479 pub struct Ncodr_SPEC;
8480 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8481 impl Ncodr {
8482 #[doc = "Output CMOS"]
8483 pub const _0: Self = Self::new(0);
8484
8485 #[doc = "Output NMOS open-drain"]
8486 pub const _1: Self = Self::new(1);
8487 }
8488}
8489#[doc(hidden)]
8490#[derive(Copy, Clone, Eq, PartialEq)]
8491pub struct P40Pfs_SPEC;
8492impl crate::sealed::RegSpec for P40Pfs_SPEC {
8493 type DataType = u32;
8494}
8495
8496#[doc = "Port 40%s Pin Function Select Register"]
8497pub type P40Pfs = crate::RegValueT<P40Pfs_SPEC>;
8498
8499impl P40Pfs {
8500 #[doc = "Port Output Data"]
8501 #[inline(always)]
8502 pub fn podr(
8503 self,
8504 ) -> crate::common::RegisterField<
8505 0,
8506 0x1,
8507 1,
8508 0,
8509 p40pfs::Podr,
8510 p40pfs::Podr,
8511 P40Pfs_SPEC,
8512 crate::common::RW,
8513 > {
8514 crate::common::RegisterField::<
8515 0,
8516 0x1,
8517 1,
8518 0,
8519 p40pfs::Podr,
8520 p40pfs::Podr,
8521 P40Pfs_SPEC,
8522 crate::common::RW,
8523 >::from_register(self, 0)
8524 }
8525
8526 #[doc = "Port State"]
8527 #[inline(always)]
8528 pub fn pidr(
8529 self,
8530 ) -> crate::common::RegisterField<
8531 1,
8532 0x1,
8533 1,
8534 0,
8535 p40pfs::Pidr,
8536 p40pfs::Pidr,
8537 P40Pfs_SPEC,
8538 crate::common::R,
8539 > {
8540 crate::common::RegisterField::<
8541 1,
8542 0x1,
8543 1,
8544 0,
8545 p40pfs::Pidr,
8546 p40pfs::Pidr,
8547 P40Pfs_SPEC,
8548 crate::common::R,
8549 >::from_register(self, 0)
8550 }
8551
8552 #[doc = "Port Direction"]
8553 #[inline(always)]
8554 pub fn pdr(
8555 self,
8556 ) -> crate::common::RegisterField<
8557 2,
8558 0x1,
8559 1,
8560 0,
8561 p40pfs::Pdr,
8562 p40pfs::Pdr,
8563 P40Pfs_SPEC,
8564 crate::common::RW,
8565 > {
8566 crate::common::RegisterField::<
8567 2,
8568 0x1,
8569 1,
8570 0,
8571 p40pfs::Pdr,
8572 p40pfs::Pdr,
8573 P40Pfs_SPEC,
8574 crate::common::RW,
8575 >::from_register(self, 0)
8576 }
8577
8578 #[doc = "Pull-up Control"]
8579 #[inline(always)]
8580 pub fn pcr(
8581 self,
8582 ) -> crate::common::RegisterField<
8583 4,
8584 0x1,
8585 1,
8586 0,
8587 p40pfs::Pcr,
8588 p40pfs::Pcr,
8589 P40Pfs_SPEC,
8590 crate::common::RW,
8591 > {
8592 crate::common::RegisterField::<
8593 4,
8594 0x1,
8595 1,
8596 0,
8597 p40pfs::Pcr,
8598 p40pfs::Pcr,
8599 P40Pfs_SPEC,
8600 crate::common::RW,
8601 >::from_register(self, 0)
8602 }
8603
8604 #[doc = "N-Channel Open-Drain Control"]
8605 #[inline(always)]
8606 pub fn ncodr(
8607 self,
8608 ) -> crate::common::RegisterField<
8609 6,
8610 0x1,
8611 1,
8612 0,
8613 p40pfs::Ncodr,
8614 p40pfs::Ncodr,
8615 P40Pfs_SPEC,
8616 crate::common::RW,
8617 > {
8618 crate::common::RegisterField::<
8619 6,
8620 0x1,
8621 1,
8622 0,
8623 p40pfs::Ncodr,
8624 p40pfs::Ncodr,
8625 P40Pfs_SPEC,
8626 crate::common::RW,
8627 >::from_register(self, 0)
8628 }
8629
8630 #[doc = "IRQ Input Enable"]
8631 #[inline(always)]
8632 pub fn isel(
8633 self,
8634 ) -> crate::common::RegisterField<
8635 14,
8636 0x1,
8637 1,
8638 0,
8639 p40pfs::Isel,
8640 p40pfs::Isel,
8641 P40Pfs_SPEC,
8642 crate::common::RW,
8643 > {
8644 crate::common::RegisterField::<
8645 14,
8646 0x1,
8647 1,
8648 0,
8649 p40pfs::Isel,
8650 p40pfs::Isel,
8651 P40Pfs_SPEC,
8652 crate::common::RW,
8653 >::from_register(self, 0)
8654 }
8655
8656 #[doc = "Analog Input Enable"]
8657 #[inline(always)]
8658 pub fn asel(
8659 self,
8660 ) -> crate::common::RegisterField<
8661 15,
8662 0x1,
8663 1,
8664 0,
8665 p40pfs::Asel,
8666 p40pfs::Asel,
8667 P40Pfs_SPEC,
8668 crate::common::RW,
8669 > {
8670 crate::common::RegisterField::<
8671 15,
8672 0x1,
8673 1,
8674 0,
8675 p40pfs::Asel,
8676 p40pfs::Asel,
8677 P40Pfs_SPEC,
8678 crate::common::RW,
8679 >::from_register(self, 0)
8680 }
8681
8682 #[doc = "Port Mode Control"]
8683 #[inline(always)]
8684 pub fn pmr(
8685 self,
8686 ) -> crate::common::RegisterField<
8687 16,
8688 0x1,
8689 1,
8690 0,
8691 p40pfs::Pmr,
8692 p40pfs::Pmr,
8693 P40Pfs_SPEC,
8694 crate::common::RW,
8695 > {
8696 crate::common::RegisterField::<
8697 16,
8698 0x1,
8699 1,
8700 0,
8701 p40pfs::Pmr,
8702 p40pfs::Pmr,
8703 P40Pfs_SPEC,
8704 crate::common::RW,
8705 >::from_register(self, 0)
8706 }
8707
8708 #[doc = "Peripheral Select"]
8709 #[inline(always)]
8710 pub fn psel(
8711 self,
8712 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P40Pfs_SPEC, crate::common::RW> {
8713 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P40Pfs_SPEC,crate::common::RW>::from_register(self,0)
8714 }
8715}
8716impl ::core::default::Default for P40Pfs {
8717 #[inline(always)]
8718 fn default() -> P40Pfs {
8719 <crate::RegValueT<P40Pfs_SPEC> as RegisterValue<_>>::new(0)
8720 }
8721}
8722pub mod p40pfs {
8723
8724 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8725 pub struct Podr_SPEC;
8726 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8727 impl Podr {
8728 #[doc = "Output low"]
8729 pub const _0: Self = Self::new(0);
8730
8731 #[doc = "Output high"]
8732 pub const _1: Self = Self::new(1);
8733 }
8734 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8735 pub struct Pidr_SPEC;
8736 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8737 impl Pidr {
8738 #[doc = "Low level"]
8739 pub const _0: Self = Self::new(0);
8740
8741 #[doc = "High level"]
8742 pub const _1: Self = Self::new(1);
8743 }
8744 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8745 pub struct Pdr_SPEC;
8746 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8747 impl Pdr {
8748 #[doc = "Input (functions as an input pin)"]
8749 pub const _0: Self = Self::new(0);
8750
8751 #[doc = "Output (functions as an output pin)"]
8752 pub const _1: Self = Self::new(1);
8753 }
8754 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8755 pub struct Pcr_SPEC;
8756 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8757 impl Pcr {
8758 #[doc = "Disable input pull-up"]
8759 pub const _0: Self = Self::new(0);
8760
8761 #[doc = "Enable input pull-up"]
8762 pub const _1: Self = Self::new(1);
8763 }
8764 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8765 pub struct Ncodr_SPEC;
8766 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8767 impl Ncodr {
8768 #[doc = "Output CMOS"]
8769 pub const _0: Self = Self::new(0);
8770
8771 #[doc = "Output NMOS open-drain"]
8772 pub const _1: Self = Self::new(1);
8773 }
8774 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8775 pub struct Isel_SPEC;
8776 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8777 impl Isel {
8778 #[doc = "Do not use as IRQn input pin"]
8779 pub const _0: Self = Self::new(0);
8780
8781 #[doc = "Use as IRQn input pin"]
8782 pub const _1: Self = Self::new(1);
8783 }
8784 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8785 pub struct Asel_SPEC;
8786 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8787 impl Asel {
8788 #[doc = "Do not use as analog pin"]
8789 pub const _0: Self = Self::new(0);
8790
8791 #[doc = "Use as analog pin"]
8792 pub const _1: Self = Self::new(1);
8793 }
8794 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8795 pub struct Pmr_SPEC;
8796 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
8797 impl Pmr {
8798 #[doc = "Use as general I/O pin"]
8799 pub const _0: Self = Self::new(0);
8800
8801 #[doc = "Use as I/O port for peripheral functions"]
8802 pub const _1: Self = Self::new(1);
8803 }
8804}
8805#[doc(hidden)]
8806#[derive(Copy, Clone, Eq, PartialEq)]
8807pub struct P40PfsHa_SPEC;
8808impl crate::sealed::RegSpec for P40PfsHa_SPEC {
8809 type DataType = u16;
8810}
8811
8812#[doc = "Port 40%s Pin Function Select Register"]
8813pub type P40PfsHa = crate::RegValueT<P40PfsHa_SPEC>;
8814
8815impl P40PfsHa {
8816 #[doc = "Port Output Data"]
8817 #[inline(always)]
8818 pub fn podr(
8819 self,
8820 ) -> crate::common::RegisterField<
8821 0,
8822 0x1,
8823 1,
8824 0,
8825 p40pfs_ha::Podr,
8826 p40pfs_ha::Podr,
8827 P40PfsHa_SPEC,
8828 crate::common::RW,
8829 > {
8830 crate::common::RegisterField::<
8831 0,
8832 0x1,
8833 1,
8834 0,
8835 p40pfs_ha::Podr,
8836 p40pfs_ha::Podr,
8837 P40PfsHa_SPEC,
8838 crate::common::RW,
8839 >::from_register(self, 0)
8840 }
8841
8842 #[doc = "Port State"]
8843 #[inline(always)]
8844 pub fn pidr(
8845 self,
8846 ) -> crate::common::RegisterField<
8847 1,
8848 0x1,
8849 1,
8850 0,
8851 p40pfs_ha::Pidr,
8852 p40pfs_ha::Pidr,
8853 P40PfsHa_SPEC,
8854 crate::common::R,
8855 > {
8856 crate::common::RegisterField::<
8857 1,
8858 0x1,
8859 1,
8860 0,
8861 p40pfs_ha::Pidr,
8862 p40pfs_ha::Pidr,
8863 P40PfsHa_SPEC,
8864 crate::common::R,
8865 >::from_register(self, 0)
8866 }
8867
8868 #[doc = "Port Direction"]
8869 #[inline(always)]
8870 pub fn pdr(
8871 self,
8872 ) -> crate::common::RegisterField<
8873 2,
8874 0x1,
8875 1,
8876 0,
8877 p40pfs_ha::Pdr,
8878 p40pfs_ha::Pdr,
8879 P40PfsHa_SPEC,
8880 crate::common::RW,
8881 > {
8882 crate::common::RegisterField::<
8883 2,
8884 0x1,
8885 1,
8886 0,
8887 p40pfs_ha::Pdr,
8888 p40pfs_ha::Pdr,
8889 P40PfsHa_SPEC,
8890 crate::common::RW,
8891 >::from_register(self, 0)
8892 }
8893
8894 #[doc = "Pull-up Control"]
8895 #[inline(always)]
8896 pub fn pcr(
8897 self,
8898 ) -> crate::common::RegisterField<
8899 4,
8900 0x1,
8901 1,
8902 0,
8903 p40pfs_ha::Pcr,
8904 p40pfs_ha::Pcr,
8905 P40PfsHa_SPEC,
8906 crate::common::RW,
8907 > {
8908 crate::common::RegisterField::<
8909 4,
8910 0x1,
8911 1,
8912 0,
8913 p40pfs_ha::Pcr,
8914 p40pfs_ha::Pcr,
8915 P40PfsHa_SPEC,
8916 crate::common::RW,
8917 >::from_register(self, 0)
8918 }
8919
8920 #[doc = "N-Channel Open-Drain Control"]
8921 #[inline(always)]
8922 pub fn ncodr(
8923 self,
8924 ) -> crate::common::RegisterField<
8925 6,
8926 0x1,
8927 1,
8928 0,
8929 p40pfs_ha::Ncodr,
8930 p40pfs_ha::Ncodr,
8931 P40PfsHa_SPEC,
8932 crate::common::RW,
8933 > {
8934 crate::common::RegisterField::<
8935 6,
8936 0x1,
8937 1,
8938 0,
8939 p40pfs_ha::Ncodr,
8940 p40pfs_ha::Ncodr,
8941 P40PfsHa_SPEC,
8942 crate::common::RW,
8943 >::from_register(self, 0)
8944 }
8945
8946 #[doc = "IRQ Input Enable"]
8947 #[inline(always)]
8948 pub fn isel(
8949 self,
8950 ) -> crate::common::RegisterField<
8951 14,
8952 0x1,
8953 1,
8954 0,
8955 p40pfs_ha::Isel,
8956 p40pfs_ha::Isel,
8957 P40PfsHa_SPEC,
8958 crate::common::RW,
8959 > {
8960 crate::common::RegisterField::<
8961 14,
8962 0x1,
8963 1,
8964 0,
8965 p40pfs_ha::Isel,
8966 p40pfs_ha::Isel,
8967 P40PfsHa_SPEC,
8968 crate::common::RW,
8969 >::from_register(self, 0)
8970 }
8971
8972 #[doc = "Analog Input Enable"]
8973 #[inline(always)]
8974 pub fn asel(
8975 self,
8976 ) -> crate::common::RegisterField<
8977 15,
8978 0x1,
8979 1,
8980 0,
8981 p40pfs_ha::Asel,
8982 p40pfs_ha::Asel,
8983 P40PfsHa_SPEC,
8984 crate::common::RW,
8985 > {
8986 crate::common::RegisterField::<
8987 15,
8988 0x1,
8989 1,
8990 0,
8991 p40pfs_ha::Asel,
8992 p40pfs_ha::Asel,
8993 P40PfsHa_SPEC,
8994 crate::common::RW,
8995 >::from_register(self, 0)
8996 }
8997}
8998impl ::core::default::Default for P40PfsHa {
8999 #[inline(always)]
9000 fn default() -> P40PfsHa {
9001 <crate::RegValueT<P40PfsHa_SPEC> as RegisterValue<_>>::new(0)
9002 }
9003}
9004pub mod p40pfs_ha {
9005
9006 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9007 pub struct Podr_SPEC;
9008 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9009 impl Podr {
9010 #[doc = "Output low"]
9011 pub const _0: Self = Self::new(0);
9012
9013 #[doc = "Output high"]
9014 pub const _1: Self = Self::new(1);
9015 }
9016 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9017 pub struct Pidr_SPEC;
9018 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9019 impl Pidr {
9020 #[doc = "Low level"]
9021 pub const _0: Self = Self::new(0);
9022
9023 #[doc = "High level"]
9024 pub const _1: Self = Self::new(1);
9025 }
9026 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9027 pub struct Pdr_SPEC;
9028 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9029 impl Pdr {
9030 #[doc = "Input (functions as an input pin)"]
9031 pub const _0: Self = Self::new(0);
9032
9033 #[doc = "Output (functions as an output pin)"]
9034 pub const _1: Self = Self::new(1);
9035 }
9036 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9037 pub struct Pcr_SPEC;
9038 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9039 impl Pcr {
9040 #[doc = "Disable input pull-up"]
9041 pub const _0: Self = Self::new(0);
9042
9043 #[doc = "Enable input pull-up"]
9044 pub const _1: Self = Self::new(1);
9045 }
9046 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9047 pub struct Ncodr_SPEC;
9048 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9049 impl Ncodr {
9050 #[doc = "Output CMOS"]
9051 pub const _0: Self = Self::new(0);
9052
9053 #[doc = "Output NMOS open-drain"]
9054 pub const _1: Self = Self::new(1);
9055 }
9056 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9057 pub struct Isel_SPEC;
9058 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9059 impl Isel {
9060 #[doc = "Do not use as IRQn input pin"]
9061 pub const _0: Self = Self::new(0);
9062
9063 #[doc = "Use as IRQn input pin"]
9064 pub const _1: Self = Self::new(1);
9065 }
9066 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9067 pub struct Asel_SPEC;
9068 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9069 impl Asel {
9070 #[doc = "Do not use as analog pin"]
9071 pub const _0: Self = Self::new(0);
9072
9073 #[doc = "Use as analog pin"]
9074 pub const _1: Self = Self::new(1);
9075 }
9076}
9077#[doc(hidden)]
9078#[derive(Copy, Clone, Eq, PartialEq)]
9079pub struct P40PfsBy_SPEC;
9080impl crate::sealed::RegSpec for P40PfsBy_SPEC {
9081 type DataType = u8;
9082}
9083
9084#[doc = "Port 40%s Pin Function Select Register"]
9085pub type P40PfsBy = crate::RegValueT<P40PfsBy_SPEC>;
9086
9087impl P40PfsBy {
9088 #[doc = "Port Output Data"]
9089 #[inline(always)]
9090 pub fn podr(
9091 self,
9092 ) -> crate::common::RegisterField<
9093 0,
9094 0x1,
9095 1,
9096 0,
9097 p40pfs_by::Podr,
9098 p40pfs_by::Podr,
9099 P40PfsBy_SPEC,
9100 crate::common::RW,
9101 > {
9102 crate::common::RegisterField::<
9103 0,
9104 0x1,
9105 1,
9106 0,
9107 p40pfs_by::Podr,
9108 p40pfs_by::Podr,
9109 P40PfsBy_SPEC,
9110 crate::common::RW,
9111 >::from_register(self, 0)
9112 }
9113
9114 #[doc = "Port State"]
9115 #[inline(always)]
9116 pub fn pidr(
9117 self,
9118 ) -> crate::common::RegisterField<
9119 1,
9120 0x1,
9121 1,
9122 0,
9123 p40pfs_by::Pidr,
9124 p40pfs_by::Pidr,
9125 P40PfsBy_SPEC,
9126 crate::common::R,
9127 > {
9128 crate::common::RegisterField::<
9129 1,
9130 0x1,
9131 1,
9132 0,
9133 p40pfs_by::Pidr,
9134 p40pfs_by::Pidr,
9135 P40PfsBy_SPEC,
9136 crate::common::R,
9137 >::from_register(self, 0)
9138 }
9139
9140 #[doc = "Port Direction"]
9141 #[inline(always)]
9142 pub fn pdr(
9143 self,
9144 ) -> crate::common::RegisterField<
9145 2,
9146 0x1,
9147 1,
9148 0,
9149 p40pfs_by::Pdr,
9150 p40pfs_by::Pdr,
9151 P40PfsBy_SPEC,
9152 crate::common::RW,
9153 > {
9154 crate::common::RegisterField::<
9155 2,
9156 0x1,
9157 1,
9158 0,
9159 p40pfs_by::Pdr,
9160 p40pfs_by::Pdr,
9161 P40PfsBy_SPEC,
9162 crate::common::RW,
9163 >::from_register(self, 0)
9164 }
9165
9166 #[doc = "Pull-up Control"]
9167 #[inline(always)]
9168 pub fn pcr(
9169 self,
9170 ) -> crate::common::RegisterField<
9171 4,
9172 0x1,
9173 1,
9174 0,
9175 p40pfs_by::Pcr,
9176 p40pfs_by::Pcr,
9177 P40PfsBy_SPEC,
9178 crate::common::RW,
9179 > {
9180 crate::common::RegisterField::<
9181 4,
9182 0x1,
9183 1,
9184 0,
9185 p40pfs_by::Pcr,
9186 p40pfs_by::Pcr,
9187 P40PfsBy_SPEC,
9188 crate::common::RW,
9189 >::from_register(self, 0)
9190 }
9191
9192 #[doc = "N-Channel Open-Drain Control"]
9193 #[inline(always)]
9194 pub fn ncodr(
9195 self,
9196 ) -> crate::common::RegisterField<
9197 6,
9198 0x1,
9199 1,
9200 0,
9201 p40pfs_by::Ncodr,
9202 p40pfs_by::Ncodr,
9203 P40PfsBy_SPEC,
9204 crate::common::RW,
9205 > {
9206 crate::common::RegisterField::<
9207 6,
9208 0x1,
9209 1,
9210 0,
9211 p40pfs_by::Ncodr,
9212 p40pfs_by::Ncodr,
9213 P40PfsBy_SPEC,
9214 crate::common::RW,
9215 >::from_register(self, 0)
9216 }
9217}
9218impl ::core::default::Default for P40PfsBy {
9219 #[inline(always)]
9220 fn default() -> P40PfsBy {
9221 <crate::RegValueT<P40PfsBy_SPEC> as RegisterValue<_>>::new(0)
9222 }
9223}
9224pub mod p40pfs_by {
9225
9226 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9227 pub struct Podr_SPEC;
9228 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9229 impl Podr {
9230 #[doc = "Output low"]
9231 pub const _0: Self = Self::new(0);
9232
9233 #[doc = "Output high"]
9234 pub const _1: Self = Self::new(1);
9235 }
9236 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9237 pub struct Pidr_SPEC;
9238 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9239 impl Pidr {
9240 #[doc = "Low level"]
9241 pub const _0: Self = Self::new(0);
9242
9243 #[doc = "High level"]
9244 pub const _1: Self = Self::new(1);
9245 }
9246 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9247 pub struct Pdr_SPEC;
9248 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9249 impl Pdr {
9250 #[doc = "Input (functions as an input pin)"]
9251 pub const _0: Self = Self::new(0);
9252
9253 #[doc = "Output (functions as an output pin)"]
9254 pub const _1: Self = Self::new(1);
9255 }
9256 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9257 pub struct Pcr_SPEC;
9258 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9259 impl Pcr {
9260 #[doc = "Disable input pull-up"]
9261 pub const _0: Self = Self::new(0);
9262
9263 #[doc = "Enable input pull-up"]
9264 pub const _1: Self = Self::new(1);
9265 }
9266 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9267 pub struct Ncodr_SPEC;
9268 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9269 impl Ncodr {
9270 #[doc = "Output CMOS"]
9271 pub const _0: Self = Self::new(0);
9272
9273 #[doc = "Output NMOS open-drain"]
9274 pub const _1: Self = Self::new(1);
9275 }
9276}
9277#[doc(hidden)]
9278#[derive(Copy, Clone, Eq, PartialEq)]
9279pub struct P914Pfs_SPEC;
9280impl crate::sealed::RegSpec for P914Pfs_SPEC {
9281 type DataType = u32;
9282}
9283
9284#[doc = "Port 914 Pin Function Select Register"]
9285pub type P914Pfs = crate::RegValueT<P914Pfs_SPEC>;
9286
9287impl P914Pfs {
9288 #[doc = "Port Output Data"]
9289 #[inline(always)]
9290 pub fn podr(
9291 self,
9292 ) -> crate::common::RegisterField<
9293 0,
9294 0x1,
9295 1,
9296 0,
9297 p914pfs::Podr,
9298 p914pfs::Podr,
9299 P914Pfs_SPEC,
9300 crate::common::RW,
9301 > {
9302 crate::common::RegisterField::<
9303 0,
9304 0x1,
9305 1,
9306 0,
9307 p914pfs::Podr,
9308 p914pfs::Podr,
9309 P914Pfs_SPEC,
9310 crate::common::RW,
9311 >::from_register(self, 0)
9312 }
9313
9314 #[doc = "Port State"]
9315 #[inline(always)]
9316 pub fn pidr(
9317 self,
9318 ) -> crate::common::RegisterField<
9319 1,
9320 0x1,
9321 1,
9322 0,
9323 p914pfs::Pidr,
9324 p914pfs::Pidr,
9325 P914Pfs_SPEC,
9326 crate::common::R,
9327 > {
9328 crate::common::RegisterField::<
9329 1,
9330 0x1,
9331 1,
9332 0,
9333 p914pfs::Pidr,
9334 p914pfs::Pidr,
9335 P914Pfs_SPEC,
9336 crate::common::R,
9337 >::from_register(self, 0)
9338 }
9339
9340 #[doc = "Port Direction"]
9341 #[inline(always)]
9342 pub fn pdr(
9343 self,
9344 ) -> crate::common::RegisterField<
9345 2,
9346 0x1,
9347 1,
9348 0,
9349 p914pfs::Pdr,
9350 p914pfs::Pdr,
9351 P914Pfs_SPEC,
9352 crate::common::RW,
9353 > {
9354 crate::common::RegisterField::<
9355 2,
9356 0x1,
9357 1,
9358 0,
9359 p914pfs::Pdr,
9360 p914pfs::Pdr,
9361 P914Pfs_SPEC,
9362 crate::common::RW,
9363 >::from_register(self, 0)
9364 }
9365
9366 #[doc = "Pull-up Control"]
9367 #[inline(always)]
9368 pub fn pcr(
9369 self,
9370 ) -> crate::common::RegisterField<
9371 4,
9372 0x1,
9373 1,
9374 0,
9375 p914pfs::Pcr,
9376 p914pfs::Pcr,
9377 P914Pfs_SPEC,
9378 crate::common::RW,
9379 > {
9380 crate::common::RegisterField::<
9381 4,
9382 0x1,
9383 1,
9384 0,
9385 p914pfs::Pcr,
9386 p914pfs::Pcr,
9387 P914Pfs_SPEC,
9388 crate::common::RW,
9389 >::from_register(self, 0)
9390 }
9391
9392 #[doc = "N-Channel Open-Drain Control"]
9393 #[inline(always)]
9394 pub fn ncodr(
9395 self,
9396 ) -> crate::common::RegisterField<
9397 6,
9398 0x1,
9399 1,
9400 0,
9401 p914pfs::Ncodr,
9402 p914pfs::Ncodr,
9403 P914Pfs_SPEC,
9404 crate::common::RW,
9405 > {
9406 crate::common::RegisterField::<
9407 6,
9408 0x1,
9409 1,
9410 0,
9411 p914pfs::Ncodr,
9412 p914pfs::Ncodr,
9413 P914Pfs_SPEC,
9414 crate::common::RW,
9415 >::from_register(self, 0)
9416 }
9417
9418 #[doc = "IRQ Input Enable"]
9419 #[inline(always)]
9420 pub fn isel(
9421 self,
9422 ) -> crate::common::RegisterField<
9423 14,
9424 0x1,
9425 1,
9426 0,
9427 p914pfs::Isel,
9428 p914pfs::Isel,
9429 P914Pfs_SPEC,
9430 crate::common::RW,
9431 > {
9432 crate::common::RegisterField::<
9433 14,
9434 0x1,
9435 1,
9436 0,
9437 p914pfs::Isel,
9438 p914pfs::Isel,
9439 P914Pfs_SPEC,
9440 crate::common::RW,
9441 >::from_register(self, 0)
9442 }
9443
9444 #[doc = "Analog Input Enable"]
9445 #[inline(always)]
9446 pub fn asel(
9447 self,
9448 ) -> crate::common::RegisterField<
9449 15,
9450 0x1,
9451 1,
9452 0,
9453 p914pfs::Asel,
9454 p914pfs::Asel,
9455 P914Pfs_SPEC,
9456 crate::common::RW,
9457 > {
9458 crate::common::RegisterField::<
9459 15,
9460 0x1,
9461 1,
9462 0,
9463 p914pfs::Asel,
9464 p914pfs::Asel,
9465 P914Pfs_SPEC,
9466 crate::common::RW,
9467 >::from_register(self, 0)
9468 }
9469
9470 #[doc = "Port Mode Control"]
9471 #[inline(always)]
9472 pub fn pmr(
9473 self,
9474 ) -> crate::common::RegisterField<
9475 16,
9476 0x1,
9477 1,
9478 0,
9479 p914pfs::Pmr,
9480 p914pfs::Pmr,
9481 P914Pfs_SPEC,
9482 crate::common::RW,
9483 > {
9484 crate::common::RegisterField::<
9485 16,
9486 0x1,
9487 1,
9488 0,
9489 p914pfs::Pmr,
9490 p914pfs::Pmr,
9491 P914Pfs_SPEC,
9492 crate::common::RW,
9493 >::from_register(self, 0)
9494 }
9495
9496 #[doc = "Peripheral Select"]
9497 #[inline(always)]
9498 pub fn psel(
9499 self,
9500 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P914Pfs_SPEC, crate::common::RW> {
9501 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P914Pfs_SPEC,crate::common::RW>::from_register(self,0)
9502 }
9503}
9504impl ::core::default::Default for P914Pfs {
9505 #[inline(always)]
9506 fn default() -> P914Pfs {
9507 <crate::RegValueT<P914Pfs_SPEC> as RegisterValue<_>>::new(0)
9508 }
9509}
9510pub mod p914pfs {
9511
9512 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9513 pub struct Podr_SPEC;
9514 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9515 impl Podr {
9516 #[doc = "Output low"]
9517 pub const _0: Self = Self::new(0);
9518
9519 #[doc = "Output high"]
9520 pub const _1: Self = Self::new(1);
9521 }
9522 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9523 pub struct Pidr_SPEC;
9524 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9525 impl Pidr {
9526 #[doc = "Low level"]
9527 pub const _0: Self = Self::new(0);
9528
9529 #[doc = "High level"]
9530 pub const _1: Self = Self::new(1);
9531 }
9532 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9533 pub struct Pdr_SPEC;
9534 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9535 impl Pdr {
9536 #[doc = "Input (functions as an input pin)"]
9537 pub const _0: Self = Self::new(0);
9538
9539 #[doc = "Output (functions as an output pin)"]
9540 pub const _1: Self = Self::new(1);
9541 }
9542 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9543 pub struct Pcr_SPEC;
9544 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9545 impl Pcr {
9546 #[doc = "Disable input pull-up"]
9547 pub const _0: Self = Self::new(0);
9548
9549 #[doc = "Enable input pull-up"]
9550 pub const _1: Self = Self::new(1);
9551 }
9552 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9553 pub struct Ncodr_SPEC;
9554 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9555 impl Ncodr {
9556 #[doc = "Output CMOS"]
9557 pub const _0: Self = Self::new(0);
9558
9559 #[doc = "Output NMOS open-drain"]
9560 pub const _1: Self = Self::new(1);
9561 }
9562 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9563 pub struct Isel_SPEC;
9564 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9565 impl Isel {
9566 #[doc = "Do not use as IRQn input pin"]
9567 pub const _0: Self = Self::new(0);
9568
9569 #[doc = "Use as IRQn input pin"]
9570 pub const _1: Self = Self::new(1);
9571 }
9572 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9573 pub struct Asel_SPEC;
9574 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9575 impl Asel {
9576 #[doc = "Do not use as analog pin"]
9577 pub const _0: Self = Self::new(0);
9578
9579 #[doc = "Use as analog pin"]
9580 pub const _1: Self = Self::new(1);
9581 }
9582 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9583 pub struct Pmr_SPEC;
9584 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
9585 impl Pmr {
9586 #[doc = "Use as general I/O pin"]
9587 pub const _0: Self = Self::new(0);
9588
9589 #[doc = "Use as I/O port for peripheral functions"]
9590 pub const _1: Self = Self::new(1);
9591 }
9592}
9593#[doc(hidden)]
9594#[derive(Copy, Clone, Eq, PartialEq)]
9595pub struct P914PfsHa_SPEC;
9596impl crate::sealed::RegSpec for P914PfsHa_SPEC {
9597 type DataType = u16;
9598}
9599
9600#[doc = "Port 914 Pin Function Select Register"]
9601pub type P914PfsHa = crate::RegValueT<P914PfsHa_SPEC>;
9602
9603impl P914PfsHa {
9604 #[doc = "Port Output Data"]
9605 #[inline(always)]
9606 pub fn podr(
9607 self,
9608 ) -> crate::common::RegisterField<
9609 0,
9610 0x1,
9611 1,
9612 0,
9613 p914pfs_ha::Podr,
9614 p914pfs_ha::Podr,
9615 P914PfsHa_SPEC,
9616 crate::common::RW,
9617 > {
9618 crate::common::RegisterField::<
9619 0,
9620 0x1,
9621 1,
9622 0,
9623 p914pfs_ha::Podr,
9624 p914pfs_ha::Podr,
9625 P914PfsHa_SPEC,
9626 crate::common::RW,
9627 >::from_register(self, 0)
9628 }
9629
9630 #[doc = "Port State"]
9631 #[inline(always)]
9632 pub fn pidr(
9633 self,
9634 ) -> crate::common::RegisterField<
9635 1,
9636 0x1,
9637 1,
9638 0,
9639 p914pfs_ha::Pidr,
9640 p914pfs_ha::Pidr,
9641 P914PfsHa_SPEC,
9642 crate::common::R,
9643 > {
9644 crate::common::RegisterField::<
9645 1,
9646 0x1,
9647 1,
9648 0,
9649 p914pfs_ha::Pidr,
9650 p914pfs_ha::Pidr,
9651 P914PfsHa_SPEC,
9652 crate::common::R,
9653 >::from_register(self, 0)
9654 }
9655
9656 #[doc = "Port Direction"]
9657 #[inline(always)]
9658 pub fn pdr(
9659 self,
9660 ) -> crate::common::RegisterField<
9661 2,
9662 0x1,
9663 1,
9664 0,
9665 p914pfs_ha::Pdr,
9666 p914pfs_ha::Pdr,
9667 P914PfsHa_SPEC,
9668 crate::common::RW,
9669 > {
9670 crate::common::RegisterField::<
9671 2,
9672 0x1,
9673 1,
9674 0,
9675 p914pfs_ha::Pdr,
9676 p914pfs_ha::Pdr,
9677 P914PfsHa_SPEC,
9678 crate::common::RW,
9679 >::from_register(self, 0)
9680 }
9681
9682 #[doc = "Pull-up Control"]
9683 #[inline(always)]
9684 pub fn pcr(
9685 self,
9686 ) -> crate::common::RegisterField<
9687 4,
9688 0x1,
9689 1,
9690 0,
9691 p914pfs_ha::Pcr,
9692 p914pfs_ha::Pcr,
9693 P914PfsHa_SPEC,
9694 crate::common::RW,
9695 > {
9696 crate::common::RegisterField::<
9697 4,
9698 0x1,
9699 1,
9700 0,
9701 p914pfs_ha::Pcr,
9702 p914pfs_ha::Pcr,
9703 P914PfsHa_SPEC,
9704 crate::common::RW,
9705 >::from_register(self, 0)
9706 }
9707
9708 #[doc = "N-Channel Open-Drain Control"]
9709 #[inline(always)]
9710 pub fn ncodr(
9711 self,
9712 ) -> crate::common::RegisterField<
9713 6,
9714 0x1,
9715 1,
9716 0,
9717 p914pfs_ha::Ncodr,
9718 p914pfs_ha::Ncodr,
9719 P914PfsHa_SPEC,
9720 crate::common::RW,
9721 > {
9722 crate::common::RegisterField::<
9723 6,
9724 0x1,
9725 1,
9726 0,
9727 p914pfs_ha::Ncodr,
9728 p914pfs_ha::Ncodr,
9729 P914PfsHa_SPEC,
9730 crate::common::RW,
9731 >::from_register(self, 0)
9732 }
9733
9734 #[doc = "IRQ Input Enable"]
9735 #[inline(always)]
9736 pub fn isel(
9737 self,
9738 ) -> crate::common::RegisterField<
9739 14,
9740 0x1,
9741 1,
9742 0,
9743 p914pfs_ha::Isel,
9744 p914pfs_ha::Isel,
9745 P914PfsHa_SPEC,
9746 crate::common::RW,
9747 > {
9748 crate::common::RegisterField::<
9749 14,
9750 0x1,
9751 1,
9752 0,
9753 p914pfs_ha::Isel,
9754 p914pfs_ha::Isel,
9755 P914PfsHa_SPEC,
9756 crate::common::RW,
9757 >::from_register(self, 0)
9758 }
9759
9760 #[doc = "Analog Input Enable"]
9761 #[inline(always)]
9762 pub fn asel(
9763 self,
9764 ) -> crate::common::RegisterField<
9765 15,
9766 0x1,
9767 1,
9768 0,
9769 p914pfs_ha::Asel,
9770 p914pfs_ha::Asel,
9771 P914PfsHa_SPEC,
9772 crate::common::RW,
9773 > {
9774 crate::common::RegisterField::<
9775 15,
9776 0x1,
9777 1,
9778 0,
9779 p914pfs_ha::Asel,
9780 p914pfs_ha::Asel,
9781 P914PfsHa_SPEC,
9782 crate::common::RW,
9783 >::from_register(self, 0)
9784 }
9785}
9786impl ::core::default::Default for P914PfsHa {
9787 #[inline(always)]
9788 fn default() -> P914PfsHa {
9789 <crate::RegValueT<P914PfsHa_SPEC> as RegisterValue<_>>::new(0)
9790 }
9791}
9792pub mod p914pfs_ha {
9793
9794 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9795 pub struct Podr_SPEC;
9796 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9797 impl Podr {
9798 #[doc = "Output low"]
9799 pub const _0: Self = Self::new(0);
9800
9801 #[doc = "Output high"]
9802 pub const _1: Self = Self::new(1);
9803 }
9804 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9805 pub struct Pidr_SPEC;
9806 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9807 impl Pidr {
9808 #[doc = "Low level"]
9809 pub const _0: Self = Self::new(0);
9810
9811 #[doc = "High level"]
9812 pub const _1: Self = Self::new(1);
9813 }
9814 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9815 pub struct Pdr_SPEC;
9816 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9817 impl Pdr {
9818 #[doc = "Input (functions as an input pin)"]
9819 pub const _0: Self = Self::new(0);
9820
9821 #[doc = "Output (functions as an output pin)"]
9822 pub const _1: Self = Self::new(1);
9823 }
9824 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9825 pub struct Pcr_SPEC;
9826 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9827 impl Pcr {
9828 #[doc = "Disable input pull-up"]
9829 pub const _0: Self = Self::new(0);
9830
9831 #[doc = "Enable input pull-up"]
9832 pub const _1: Self = Self::new(1);
9833 }
9834 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9835 pub struct Ncodr_SPEC;
9836 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9837 impl Ncodr {
9838 #[doc = "Output CMOS"]
9839 pub const _0: Self = Self::new(0);
9840
9841 #[doc = "Output NMOS open-drain"]
9842 pub const _1: Self = Self::new(1);
9843 }
9844 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9845 pub struct Isel_SPEC;
9846 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9847 impl Isel {
9848 #[doc = "Do not use as IRQn input pin"]
9849 pub const _0: Self = Self::new(0);
9850
9851 #[doc = "Use as IRQn input pin"]
9852 pub const _1: Self = Self::new(1);
9853 }
9854 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9855 pub struct Asel_SPEC;
9856 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9857 impl Asel {
9858 #[doc = "Do not use as analog pin"]
9859 pub const _0: Self = Self::new(0);
9860
9861 #[doc = "Use as analog pin"]
9862 pub const _1: Self = Self::new(1);
9863 }
9864}
9865#[doc(hidden)]
9866#[derive(Copy, Clone, Eq, PartialEq)]
9867pub struct P914PfsBy_SPEC;
9868impl crate::sealed::RegSpec for P914PfsBy_SPEC {
9869 type DataType = u8;
9870}
9871
9872#[doc = "Port 914 Pin Function Select Register"]
9873pub type P914PfsBy = crate::RegValueT<P914PfsBy_SPEC>;
9874
9875impl P914PfsBy {
9876 #[doc = "Port Output Data"]
9877 #[inline(always)]
9878 pub fn podr(
9879 self,
9880 ) -> crate::common::RegisterField<
9881 0,
9882 0x1,
9883 1,
9884 0,
9885 p914pfs_by::Podr,
9886 p914pfs_by::Podr,
9887 P914PfsBy_SPEC,
9888 crate::common::RW,
9889 > {
9890 crate::common::RegisterField::<
9891 0,
9892 0x1,
9893 1,
9894 0,
9895 p914pfs_by::Podr,
9896 p914pfs_by::Podr,
9897 P914PfsBy_SPEC,
9898 crate::common::RW,
9899 >::from_register(self, 0)
9900 }
9901
9902 #[doc = "Port State"]
9903 #[inline(always)]
9904 pub fn pidr(
9905 self,
9906 ) -> crate::common::RegisterField<
9907 1,
9908 0x1,
9909 1,
9910 0,
9911 p914pfs_by::Pidr,
9912 p914pfs_by::Pidr,
9913 P914PfsBy_SPEC,
9914 crate::common::R,
9915 > {
9916 crate::common::RegisterField::<
9917 1,
9918 0x1,
9919 1,
9920 0,
9921 p914pfs_by::Pidr,
9922 p914pfs_by::Pidr,
9923 P914PfsBy_SPEC,
9924 crate::common::R,
9925 >::from_register(self, 0)
9926 }
9927
9928 #[doc = "Port Direction"]
9929 #[inline(always)]
9930 pub fn pdr(
9931 self,
9932 ) -> crate::common::RegisterField<
9933 2,
9934 0x1,
9935 1,
9936 0,
9937 p914pfs_by::Pdr,
9938 p914pfs_by::Pdr,
9939 P914PfsBy_SPEC,
9940 crate::common::RW,
9941 > {
9942 crate::common::RegisterField::<
9943 2,
9944 0x1,
9945 1,
9946 0,
9947 p914pfs_by::Pdr,
9948 p914pfs_by::Pdr,
9949 P914PfsBy_SPEC,
9950 crate::common::RW,
9951 >::from_register(self, 0)
9952 }
9953
9954 #[doc = "Pull-up Control"]
9955 #[inline(always)]
9956 pub fn pcr(
9957 self,
9958 ) -> crate::common::RegisterField<
9959 4,
9960 0x1,
9961 1,
9962 0,
9963 p914pfs_by::Pcr,
9964 p914pfs_by::Pcr,
9965 P914PfsBy_SPEC,
9966 crate::common::RW,
9967 > {
9968 crate::common::RegisterField::<
9969 4,
9970 0x1,
9971 1,
9972 0,
9973 p914pfs_by::Pcr,
9974 p914pfs_by::Pcr,
9975 P914PfsBy_SPEC,
9976 crate::common::RW,
9977 >::from_register(self, 0)
9978 }
9979
9980 #[doc = "N-Channel Open-Drain Control"]
9981 #[inline(always)]
9982 pub fn ncodr(
9983 self,
9984 ) -> crate::common::RegisterField<
9985 6,
9986 0x1,
9987 1,
9988 0,
9989 p914pfs_by::Ncodr,
9990 p914pfs_by::Ncodr,
9991 P914PfsBy_SPEC,
9992 crate::common::RW,
9993 > {
9994 crate::common::RegisterField::<
9995 6,
9996 0x1,
9997 1,
9998 0,
9999 p914pfs_by::Ncodr,
10000 p914pfs_by::Ncodr,
10001 P914PfsBy_SPEC,
10002 crate::common::RW,
10003 >::from_register(self, 0)
10004 }
10005}
10006impl ::core::default::Default for P914PfsBy {
10007 #[inline(always)]
10008 fn default() -> P914PfsBy {
10009 <crate::RegValueT<P914PfsBy_SPEC> as RegisterValue<_>>::new(0)
10010 }
10011}
10012pub mod p914pfs_by {
10013
10014 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10015 pub struct Podr_SPEC;
10016 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10017 impl Podr {
10018 #[doc = "Output low"]
10019 pub const _0: Self = Self::new(0);
10020
10021 #[doc = "Output high"]
10022 pub const _1: Self = Self::new(1);
10023 }
10024 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10025 pub struct Pidr_SPEC;
10026 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10027 impl Pidr {
10028 #[doc = "Low level"]
10029 pub const _0: Self = Self::new(0);
10030
10031 #[doc = "High level"]
10032 pub const _1: Self = Self::new(1);
10033 }
10034 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10035 pub struct Pdr_SPEC;
10036 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10037 impl Pdr {
10038 #[doc = "Input (functions as an input pin)"]
10039 pub const _0: Self = Self::new(0);
10040
10041 #[doc = "Output (functions as an output pin)"]
10042 pub const _1: Self = Self::new(1);
10043 }
10044 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10045 pub struct Pcr_SPEC;
10046 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10047 impl Pcr {
10048 #[doc = "Disable input pull-up"]
10049 pub const _0: Self = Self::new(0);
10050
10051 #[doc = "Enable input pull-up"]
10052 pub const _1: Self = Self::new(1);
10053 }
10054 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10055 pub struct Ncodr_SPEC;
10056 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10057 impl Ncodr {
10058 #[doc = "Output CMOS"]
10059 pub const _0: Self = Self::new(0);
10060
10061 #[doc = "Output NMOS open-drain"]
10062 pub const _1: Self = Self::new(1);
10063 }
10064}
10065#[doc(hidden)]
10066#[derive(Copy, Clone, Eq, PartialEq)]
10067pub struct Pwpr_SPEC;
10068impl crate::sealed::RegSpec for Pwpr_SPEC {
10069 type DataType = u8;
10070}
10071
10072#[doc = "Write-Protect Register"]
10073pub type Pwpr = crate::RegValueT<Pwpr_SPEC>;
10074
10075impl Pwpr {
10076 #[doc = "PmnPFS Register Write Enable"]
10077 #[inline(always)]
10078 pub fn pfswe(
10079 self,
10080 ) -> crate::common::RegisterField<
10081 6,
10082 0x1,
10083 1,
10084 0,
10085 pwpr::Pfswe,
10086 pwpr::Pfswe,
10087 Pwpr_SPEC,
10088 crate::common::RW,
10089 > {
10090 crate::common::RegisterField::<
10091 6,
10092 0x1,
10093 1,
10094 0,
10095 pwpr::Pfswe,
10096 pwpr::Pfswe,
10097 Pwpr_SPEC,
10098 crate::common::RW,
10099 >::from_register(self, 0)
10100 }
10101
10102 #[doc = "PFSWE Bit Write Disable"]
10103 #[inline(always)]
10104 pub fn b0wi(
10105 self,
10106 ) -> crate::common::RegisterField<
10107 7,
10108 0x1,
10109 1,
10110 0,
10111 pwpr::B0Wi,
10112 pwpr::B0Wi,
10113 Pwpr_SPEC,
10114 crate::common::RW,
10115 > {
10116 crate::common::RegisterField::<
10117 7,
10118 0x1,
10119 1,
10120 0,
10121 pwpr::B0Wi,
10122 pwpr::B0Wi,
10123 Pwpr_SPEC,
10124 crate::common::RW,
10125 >::from_register(self, 0)
10126 }
10127}
10128impl ::core::default::Default for Pwpr {
10129 #[inline(always)]
10130 fn default() -> Pwpr {
10131 <crate::RegValueT<Pwpr_SPEC> as RegisterValue<_>>::new(128)
10132 }
10133}
10134pub mod pwpr {
10135
10136 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10137 pub struct Pfswe_SPEC;
10138 pub type Pfswe = crate::EnumBitfieldStruct<u8, Pfswe_SPEC>;
10139 impl Pfswe {
10140 #[doc = "Writing to the PmnPFS register is disabled"]
10141 pub const _0: Self = Self::new(0);
10142
10143 #[doc = "Writing to the PmnPFS register is enabled"]
10144 pub const _1: Self = Self::new(1);
10145 }
10146 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10147 pub struct B0Wi_SPEC;
10148 pub type B0Wi = crate::EnumBitfieldStruct<u8, B0Wi_SPEC>;
10149 impl B0Wi {
10150 #[doc = "Writing to the PFSWE bit is enabled"]
10151 pub const _0: Self = Self::new(0);
10152
10153 #[doc = "Writing to the PFSWE bit is disabled"]
10154 pub const _1: Self = Self::new(1);
10155 }
10156}
10157#[doc(hidden)]
10158#[derive(Copy, Clone, Eq, PartialEq)]
10159pub struct Prwcntr_SPEC;
10160impl crate::sealed::RegSpec for Prwcntr_SPEC {
10161 type DataType = u8;
10162}
10163
10164#[doc = "Port Read Wait Control Register"]
10165pub type Prwcntr = crate::RegValueT<Prwcntr_SPEC>;
10166
10167impl Prwcntr {
10168 #[doc = "Wait Cycle Control"]
10169 #[inline(always)]
10170 pub fn wait(
10171 self,
10172 ) -> crate::common::RegisterField<
10173 0,
10174 0x3,
10175 1,
10176 0,
10177 prwcntr::Wait,
10178 prwcntr::Wait,
10179 Prwcntr_SPEC,
10180 crate::common::RW,
10181 > {
10182 crate::common::RegisterField::<
10183 0,
10184 0x3,
10185 1,
10186 0,
10187 prwcntr::Wait,
10188 prwcntr::Wait,
10189 Prwcntr_SPEC,
10190 crate::common::RW,
10191 >::from_register(self, 0)
10192 }
10193}
10194impl ::core::default::Default for Prwcntr {
10195 #[inline(always)]
10196 fn default() -> Prwcntr {
10197 <crate::RegValueT<Prwcntr_SPEC> as RegisterValue<_>>::new(1)
10198 }
10199}
10200pub mod prwcntr {
10201
10202 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10203 pub struct Wait_SPEC;
10204 pub type Wait = crate::EnumBitfieldStruct<u8, Wait_SPEC>;
10205 impl Wait {
10206 #[doc = "Setting prohibited"]
10207 pub const _00: Self = Self::new(0);
10208
10209 #[doc = "Insert a 1-cycle wait"]
10210 pub const _01: Self = Self::new(1);
10211
10212 #[doc = "Insert a 2-cycle wait"]
10213 pub const _10: Self = Self::new(2);
10214
10215 #[doc = "Insert a 3-cycle wait"]
10216 pub const _11: Self = Self::new(3);
10217 }
10218}