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 00%s Pin Function Select Register"]
38 #[inline(always)]
39 pub const fn p00pfs(
40 &self,
41 ) -> &'static crate::common::ClusterRegisterArray<
42 crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW>,
43 6,
44 0x4,
45 > {
46 unsafe {
47 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x10usize))
48 }
49 }
50 #[inline(always)]
51 pub const fn p004pfs(
52 &self,
53 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
54 unsafe {
55 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
56 self._svd2pac_as_ptr().add(0x10usize),
57 )
58 }
59 }
60 #[inline(always)]
61 pub const fn p005pfs(
62 &self,
63 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
64 unsafe {
65 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
66 self._svd2pac_as_ptr().add(0x14usize),
67 )
68 }
69 }
70 #[inline(always)]
71 pub const fn p006pfs(
72 &self,
73 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
74 unsafe {
75 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
76 self._svd2pac_as_ptr().add(0x18usize),
77 )
78 }
79 }
80 #[inline(always)]
81 pub const fn p007pfs(
82 &self,
83 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
84 unsafe {
85 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
86 self._svd2pac_as_ptr().add(0x1cusize),
87 )
88 }
89 }
90 #[inline(always)]
91 pub const fn p008pfs(
92 &self,
93 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
94 unsafe {
95 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
96 self._svd2pac_as_ptr().add(0x20usize),
97 )
98 }
99 }
100 #[inline(always)]
101 pub const fn p009pfs(
102 &self,
103 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
104 unsafe {
105 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
106 self._svd2pac_as_ptr().add(0x24usize),
107 )
108 }
109 }
110
111 #[doc = "Port 00%s Pin Function Select Register"]
112 #[inline(always)]
113 pub const fn p00pfs_ha(
114 &self,
115 ) -> &'static crate::common::ClusterRegisterArray<
116 crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW>,
117 6,
118 0x4,
119 > {
120 unsafe {
121 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x12usize))
122 }
123 }
124 #[inline(always)]
125 pub const fn p004pfs_ha(
126 &self,
127 ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
128 unsafe {
129 crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
130 self._svd2pac_as_ptr().add(0x12usize),
131 )
132 }
133 }
134 #[inline(always)]
135 pub const fn p005pfs_ha(
136 &self,
137 ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
138 unsafe {
139 crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
140 self._svd2pac_as_ptr().add(0x16usize),
141 )
142 }
143 }
144 #[inline(always)]
145 pub const fn p006pfs_ha(
146 &self,
147 ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
148 unsafe {
149 crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
150 self._svd2pac_as_ptr().add(0x1ausize),
151 )
152 }
153 }
154 #[inline(always)]
155 pub const fn p007pfs_ha(
156 &self,
157 ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
158 unsafe {
159 crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
160 self._svd2pac_as_ptr().add(0x1eusize),
161 )
162 }
163 }
164 #[inline(always)]
165 pub const fn p008pfs_ha(
166 &self,
167 ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
168 unsafe {
169 crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
170 self._svd2pac_as_ptr().add(0x22usize),
171 )
172 }
173 }
174 #[inline(always)]
175 pub const fn p009pfs_ha(
176 &self,
177 ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
178 unsafe {
179 crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
180 self._svd2pac_as_ptr().add(0x26usize),
181 )
182 }
183 }
184
185 #[doc = "Port 00%s Pin Function Select Register"]
186 #[inline(always)]
187 pub const fn p00pfs_by(
188 &self,
189 ) -> &'static crate::common::ClusterRegisterArray<
190 crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW>,
191 6,
192 0x4,
193 > {
194 unsafe {
195 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x13usize))
196 }
197 }
198 #[inline(always)]
199 pub const fn p004pfs_by(
200 &self,
201 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
202 unsafe {
203 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
204 self._svd2pac_as_ptr().add(0x13usize),
205 )
206 }
207 }
208 #[inline(always)]
209 pub const fn p005pfs_by(
210 &self,
211 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
212 unsafe {
213 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
214 self._svd2pac_as_ptr().add(0x17usize),
215 )
216 }
217 }
218 #[inline(always)]
219 pub const fn p006pfs_by(
220 &self,
221 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
222 unsafe {
223 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
224 self._svd2pac_as_ptr().add(0x1busize),
225 )
226 }
227 }
228 #[inline(always)]
229 pub const fn p007pfs_by(
230 &self,
231 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
232 unsafe {
233 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
234 self._svd2pac_as_ptr().add(0x1fusize),
235 )
236 }
237 }
238 #[inline(always)]
239 pub const fn p008pfs_by(
240 &self,
241 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
242 unsafe {
243 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
244 self._svd2pac_as_ptr().add(0x23usize),
245 )
246 }
247 }
248 #[inline(always)]
249 pub const fn p009pfs_by(
250 &self,
251 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
252 unsafe {
253 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
254 self._svd2pac_as_ptr().add(0x27usize),
255 )
256 }
257 }
258
259 #[doc = "Port 0%s Pin Function Select Register"]
260 #[inline(always)]
261 pub const fn p0pfs(
262 &self,
263 ) -> &'static crate::common::ClusterRegisterArray<
264 crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW>,
265 6,
266 0x4,
267 > {
268 unsafe {
269 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x28usize))
270 }
271 }
272 #[inline(always)]
273 pub const fn p010pfs(
274 &self,
275 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
276 unsafe {
277 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
278 self._svd2pac_as_ptr().add(0x28usize),
279 )
280 }
281 }
282 #[inline(always)]
283 pub const fn p011pfs(
284 &self,
285 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
286 unsafe {
287 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
288 self._svd2pac_as_ptr().add(0x2cusize),
289 )
290 }
291 }
292 #[inline(always)]
293 pub const fn p012pfs(
294 &self,
295 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
296 unsafe {
297 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
298 self._svd2pac_as_ptr().add(0x30usize),
299 )
300 }
301 }
302 #[inline(always)]
303 pub const fn p013pfs(
304 &self,
305 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
306 unsafe {
307 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
308 self._svd2pac_as_ptr().add(0x34usize),
309 )
310 }
311 }
312 #[inline(always)]
313 pub const fn p014pfs(
314 &self,
315 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
316 unsafe {
317 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
318 self._svd2pac_as_ptr().add(0x38usize),
319 )
320 }
321 }
322 #[inline(always)]
323 pub const fn p015pfs(
324 &self,
325 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
326 unsafe {
327 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
328 self._svd2pac_as_ptr().add(0x3cusize),
329 )
330 }
331 }
332
333 #[doc = "Port 0%s Pin Function Select Register"]
334 #[inline(always)]
335 pub const fn p0pfs_ha(
336 &self,
337 ) -> &'static crate::common::ClusterRegisterArray<
338 crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW>,
339 6,
340 0x4,
341 > {
342 unsafe {
343 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x2ausize))
344 }
345 }
346 #[inline(always)]
347 pub const fn p010pfs_ha(
348 &self,
349 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
350 unsafe {
351 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
352 self._svd2pac_as_ptr().add(0x2ausize),
353 )
354 }
355 }
356 #[inline(always)]
357 pub const fn p011pfs_ha(
358 &self,
359 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
360 unsafe {
361 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
362 self._svd2pac_as_ptr().add(0x2eusize),
363 )
364 }
365 }
366 #[inline(always)]
367 pub const fn p012pfs_ha(
368 &self,
369 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
370 unsafe {
371 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
372 self._svd2pac_as_ptr().add(0x32usize),
373 )
374 }
375 }
376 #[inline(always)]
377 pub const fn p013pfs_ha(
378 &self,
379 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
380 unsafe {
381 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
382 self._svd2pac_as_ptr().add(0x36usize),
383 )
384 }
385 }
386 #[inline(always)]
387 pub const fn p014pfs_ha(
388 &self,
389 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
390 unsafe {
391 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
392 self._svd2pac_as_ptr().add(0x3ausize),
393 )
394 }
395 }
396 #[inline(always)]
397 pub const fn p015pfs_ha(
398 &self,
399 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
400 unsafe {
401 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
402 self._svd2pac_as_ptr().add(0x3eusize),
403 )
404 }
405 }
406
407 #[doc = "Port 0%s Pin Function Select Register"]
408 #[inline(always)]
409 pub const fn p0pfs_by(
410 &self,
411 ) -> &'static crate::common::ClusterRegisterArray<
412 crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW>,
413 6,
414 0x4,
415 > {
416 unsafe {
417 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x2busize))
418 }
419 }
420 #[inline(always)]
421 pub const fn p010pfs_by(
422 &self,
423 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
424 unsafe {
425 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
426 self._svd2pac_as_ptr().add(0x2busize),
427 )
428 }
429 }
430 #[inline(always)]
431 pub const fn p011pfs_by(
432 &self,
433 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
434 unsafe {
435 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
436 self._svd2pac_as_ptr().add(0x2fusize),
437 )
438 }
439 }
440 #[inline(always)]
441 pub const fn p012pfs_by(
442 &self,
443 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
444 unsafe {
445 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
446 self._svd2pac_as_ptr().add(0x33usize),
447 )
448 }
449 }
450 #[inline(always)]
451 pub const fn p013pfs_by(
452 &self,
453 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
454 unsafe {
455 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
456 self._svd2pac_as_ptr().add(0x37usize),
457 )
458 }
459 }
460 #[inline(always)]
461 pub const fn p014pfs_by(
462 &self,
463 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
464 unsafe {
465 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
466 self._svd2pac_as_ptr().add(0x3busize),
467 )
468 }
469 }
470 #[inline(always)]
471 pub const fn p015pfs_by(
472 &self,
473 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
474 unsafe {
475 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
476 self._svd2pac_as_ptr().add(0x3fusize),
477 )
478 }
479 }
480
481 #[doc = "Port 10%s Pin Function Select Register"]
482 #[inline(always)]
483 pub const fn p10pfs(
484 &self,
485 ) -> &'static crate::common::ClusterRegisterArray<
486 crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW>,
487 8,
488 0x4,
489 > {
490 unsafe {
491 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x40usize))
492 }
493 }
494 #[inline(always)]
495 pub const fn p100pfs(
496 &self,
497 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
498 unsafe {
499 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
500 self._svd2pac_as_ptr().add(0x40usize),
501 )
502 }
503 }
504 #[inline(always)]
505 pub const fn p101pfs(
506 &self,
507 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
508 unsafe {
509 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
510 self._svd2pac_as_ptr().add(0x44usize),
511 )
512 }
513 }
514 #[inline(always)]
515 pub const fn p102pfs(
516 &self,
517 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
518 unsafe {
519 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
520 self._svd2pac_as_ptr().add(0x48usize),
521 )
522 }
523 }
524 #[inline(always)]
525 pub const fn p103pfs(
526 &self,
527 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
528 unsafe {
529 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
530 self._svd2pac_as_ptr().add(0x4cusize),
531 )
532 }
533 }
534 #[inline(always)]
535 pub const fn p104pfs(
536 &self,
537 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
538 unsafe {
539 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
540 self._svd2pac_as_ptr().add(0x50usize),
541 )
542 }
543 }
544 #[inline(always)]
545 pub const fn p105pfs(
546 &self,
547 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
548 unsafe {
549 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
550 self._svd2pac_as_ptr().add(0x54usize),
551 )
552 }
553 }
554 #[inline(always)]
555 pub const fn p106pfs(
556 &self,
557 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
558 unsafe {
559 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
560 self._svd2pac_as_ptr().add(0x58usize),
561 )
562 }
563 }
564 #[inline(always)]
565 pub const fn p107pfs(
566 &self,
567 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
568 unsafe {
569 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
570 self._svd2pac_as_ptr().add(0x5cusize),
571 )
572 }
573 }
574
575 #[doc = "Port 10%s Pin Function Select Register"]
576 #[inline(always)]
577 pub const fn p10pfs_ha(
578 &self,
579 ) -> &'static crate::common::ClusterRegisterArray<
580 crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW>,
581 8,
582 0x4,
583 > {
584 unsafe {
585 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x42usize))
586 }
587 }
588 #[inline(always)]
589 pub const fn p100pfs_ha(
590 &self,
591 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
592 unsafe {
593 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
594 self._svd2pac_as_ptr().add(0x42usize),
595 )
596 }
597 }
598 #[inline(always)]
599 pub const fn p101pfs_ha(
600 &self,
601 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
602 unsafe {
603 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
604 self._svd2pac_as_ptr().add(0x46usize),
605 )
606 }
607 }
608 #[inline(always)]
609 pub const fn p102pfs_ha(
610 &self,
611 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
612 unsafe {
613 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
614 self._svd2pac_as_ptr().add(0x4ausize),
615 )
616 }
617 }
618 #[inline(always)]
619 pub const fn p103pfs_ha(
620 &self,
621 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
622 unsafe {
623 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
624 self._svd2pac_as_ptr().add(0x4eusize),
625 )
626 }
627 }
628 #[inline(always)]
629 pub const fn p104pfs_ha(
630 &self,
631 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
632 unsafe {
633 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
634 self._svd2pac_as_ptr().add(0x52usize),
635 )
636 }
637 }
638 #[inline(always)]
639 pub const fn p105pfs_ha(
640 &self,
641 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
642 unsafe {
643 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
644 self._svd2pac_as_ptr().add(0x56usize),
645 )
646 }
647 }
648 #[inline(always)]
649 pub const fn p106pfs_ha(
650 &self,
651 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
652 unsafe {
653 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
654 self._svd2pac_as_ptr().add(0x5ausize),
655 )
656 }
657 }
658 #[inline(always)]
659 pub const fn p107pfs_ha(
660 &self,
661 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
662 unsafe {
663 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
664 self._svd2pac_as_ptr().add(0x5eusize),
665 )
666 }
667 }
668
669 #[doc = "Port 10%s Pin Function Select Register"]
670 #[inline(always)]
671 pub const fn p10pfs_by(
672 &self,
673 ) -> &'static crate::common::ClusterRegisterArray<
674 crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW>,
675 8,
676 0x4,
677 > {
678 unsafe {
679 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x43usize))
680 }
681 }
682 #[inline(always)]
683 pub const fn p100pfs_by(
684 &self,
685 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
686 unsafe {
687 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
688 self._svd2pac_as_ptr().add(0x43usize),
689 )
690 }
691 }
692 #[inline(always)]
693 pub const fn p101pfs_by(
694 &self,
695 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
696 unsafe {
697 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
698 self._svd2pac_as_ptr().add(0x47usize),
699 )
700 }
701 }
702 #[inline(always)]
703 pub const fn p102pfs_by(
704 &self,
705 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
706 unsafe {
707 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
708 self._svd2pac_as_ptr().add(0x4busize),
709 )
710 }
711 }
712 #[inline(always)]
713 pub const fn p103pfs_by(
714 &self,
715 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
716 unsafe {
717 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
718 self._svd2pac_as_ptr().add(0x4fusize),
719 )
720 }
721 }
722 #[inline(always)]
723 pub const fn p104pfs_by(
724 &self,
725 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
726 unsafe {
727 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
728 self._svd2pac_as_ptr().add(0x53usize),
729 )
730 }
731 }
732 #[inline(always)]
733 pub const fn p105pfs_by(
734 &self,
735 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
736 unsafe {
737 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
738 self._svd2pac_as_ptr().add(0x57usize),
739 )
740 }
741 }
742 #[inline(always)]
743 pub const fn p106pfs_by(
744 &self,
745 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
746 unsafe {
747 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
748 self._svd2pac_as_ptr().add(0x5busize),
749 )
750 }
751 }
752 #[inline(always)]
753 pub const fn p107pfs_by(
754 &self,
755 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
756 unsafe {
757 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
758 self._svd2pac_as_ptr().add(0x5fusize),
759 )
760 }
761 }
762
763 #[doc = "Port 108 Pin Function Select Register"]
764 #[inline(always)]
765 pub const fn p108pfs(
766 &self,
767 ) -> &'static crate::common::Reg<self::P108Pfs_SPEC, crate::common::RW> {
768 unsafe {
769 crate::common::Reg::<self::P108Pfs_SPEC, crate::common::RW>::from_ptr(
770 self._svd2pac_as_ptr().add(96usize),
771 )
772 }
773 }
774
775 #[doc = "Port 108 Pin Function Select Register"]
776 #[inline(always)]
777 pub const fn p108pfs_ha(
778 &self,
779 ) -> &'static crate::common::Reg<self::P108PfsHa_SPEC, crate::common::RW> {
780 unsafe {
781 crate::common::Reg::<self::P108PfsHa_SPEC, crate::common::RW>::from_ptr(
782 self._svd2pac_as_ptr().add(98usize),
783 )
784 }
785 }
786
787 #[doc = "Port 108 Pin Function Select Register"]
788 #[inline(always)]
789 pub const fn p108pfs_by(
790 &self,
791 ) -> &'static crate::common::Reg<self::P108PfsBy_SPEC, crate::common::RW> {
792 unsafe {
793 crate::common::Reg::<self::P108PfsBy_SPEC, crate::common::RW>::from_ptr(
794 self._svd2pac_as_ptr().add(99usize),
795 )
796 }
797 }
798
799 #[doc = "Port 109 Pin Function Select Register"]
800 #[inline(always)]
801 pub const fn p109pfs(
802 &self,
803 ) -> &'static crate::common::Reg<self::P109Pfs_SPEC, crate::common::RW> {
804 unsafe {
805 crate::common::Reg::<self::P109Pfs_SPEC, crate::common::RW>::from_ptr(
806 self._svd2pac_as_ptr().add(100usize),
807 )
808 }
809 }
810
811 #[doc = "Port 109 Pin Function Select Register"]
812 #[inline(always)]
813 pub const fn p109pfs_ha(
814 &self,
815 ) -> &'static crate::common::Reg<self::P109PfsHa_SPEC, crate::common::RW> {
816 unsafe {
817 crate::common::Reg::<self::P109PfsHa_SPEC, crate::common::RW>::from_ptr(
818 self._svd2pac_as_ptr().add(102usize),
819 )
820 }
821 }
822
823 #[doc = "Port 109 Pin Function Select Register"]
824 #[inline(always)]
825 pub const fn p109pfs_by(
826 &self,
827 ) -> &'static crate::common::Reg<self::P109PfsBy_SPEC, crate::common::RW> {
828 unsafe {
829 crate::common::Reg::<self::P109PfsBy_SPEC, crate::common::RW>::from_ptr(
830 self._svd2pac_as_ptr().add(103usize),
831 )
832 }
833 }
834
835 #[doc = "Port 1%s Pin Function Select Register"]
836 #[inline(always)]
837 pub const fn p1pfs(
838 &self,
839 ) -> &'static crate::common::ClusterRegisterArray<
840 crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW>,
841 6,
842 0x4,
843 > {
844 unsafe {
845 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x68usize))
846 }
847 }
848 #[inline(always)]
849 pub const fn p110pfs(
850 &self,
851 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
852 unsafe {
853 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
854 self._svd2pac_as_ptr().add(0x68usize),
855 )
856 }
857 }
858 #[inline(always)]
859 pub const fn p111pfs(
860 &self,
861 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
862 unsafe {
863 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
864 self._svd2pac_as_ptr().add(0x6cusize),
865 )
866 }
867 }
868 #[inline(always)]
869 pub const fn p112pfs(
870 &self,
871 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
872 unsafe {
873 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
874 self._svd2pac_as_ptr().add(0x70usize),
875 )
876 }
877 }
878 #[inline(always)]
879 pub const fn p113pfs(
880 &self,
881 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
882 unsafe {
883 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
884 self._svd2pac_as_ptr().add(0x74usize),
885 )
886 }
887 }
888 #[inline(always)]
889 pub const fn p114pfs(
890 &self,
891 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
892 unsafe {
893 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
894 self._svd2pac_as_ptr().add(0x78usize),
895 )
896 }
897 }
898 #[inline(always)]
899 pub const fn p115pfs(
900 &self,
901 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
902 unsafe {
903 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
904 self._svd2pac_as_ptr().add(0x7cusize),
905 )
906 }
907 }
908
909 #[doc = "Port 1%s Pin Function Select Register"]
910 #[inline(always)]
911 pub const fn p1pfs_ha(
912 &self,
913 ) -> &'static crate::common::ClusterRegisterArray<
914 crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW>,
915 6,
916 0x4,
917 > {
918 unsafe {
919 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x6ausize))
920 }
921 }
922 #[inline(always)]
923 pub const fn p110pfs_ha(
924 &self,
925 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
926 unsafe {
927 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
928 self._svd2pac_as_ptr().add(0x6ausize),
929 )
930 }
931 }
932 #[inline(always)]
933 pub const fn p111pfs_ha(
934 &self,
935 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
936 unsafe {
937 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
938 self._svd2pac_as_ptr().add(0x6eusize),
939 )
940 }
941 }
942 #[inline(always)]
943 pub const fn p112pfs_ha(
944 &self,
945 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
946 unsafe {
947 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
948 self._svd2pac_as_ptr().add(0x72usize),
949 )
950 }
951 }
952 #[inline(always)]
953 pub const fn p113pfs_ha(
954 &self,
955 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
956 unsafe {
957 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
958 self._svd2pac_as_ptr().add(0x76usize),
959 )
960 }
961 }
962 #[inline(always)]
963 pub const fn p114pfs_ha(
964 &self,
965 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
966 unsafe {
967 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
968 self._svd2pac_as_ptr().add(0x7ausize),
969 )
970 }
971 }
972 #[inline(always)]
973 pub const fn p115pfs_ha(
974 &self,
975 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
976 unsafe {
977 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
978 self._svd2pac_as_ptr().add(0x7eusize),
979 )
980 }
981 }
982
983 #[doc = "Port 1%s Pin Function Select Register"]
984 #[inline(always)]
985 pub const fn p1pfs_by(
986 &self,
987 ) -> &'static crate::common::ClusterRegisterArray<
988 crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW>,
989 6,
990 0x4,
991 > {
992 unsafe {
993 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x6busize))
994 }
995 }
996 #[inline(always)]
997 pub const fn p110pfs_by(
998 &self,
999 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1000 unsafe {
1001 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1002 self._svd2pac_as_ptr().add(0x6busize),
1003 )
1004 }
1005 }
1006 #[inline(always)]
1007 pub const fn p111pfs_by(
1008 &self,
1009 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1010 unsafe {
1011 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1012 self._svd2pac_as_ptr().add(0x6fusize),
1013 )
1014 }
1015 }
1016 #[inline(always)]
1017 pub const fn p112pfs_by(
1018 &self,
1019 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1020 unsafe {
1021 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1022 self._svd2pac_as_ptr().add(0x73usize),
1023 )
1024 }
1025 }
1026 #[inline(always)]
1027 pub const fn p113pfs_by(
1028 &self,
1029 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1030 unsafe {
1031 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1032 self._svd2pac_as_ptr().add(0x77usize),
1033 )
1034 }
1035 }
1036 #[inline(always)]
1037 pub const fn p114pfs_by(
1038 &self,
1039 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1040 unsafe {
1041 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1042 self._svd2pac_as_ptr().add(0x7busize),
1043 )
1044 }
1045 }
1046 #[inline(always)]
1047 pub const fn p115pfs_by(
1048 &self,
1049 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1050 unsafe {
1051 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1052 self._svd2pac_as_ptr().add(0x7fusize),
1053 )
1054 }
1055 }
1056
1057 #[doc = "Port 200 Pin Function Select Register"]
1058 #[inline(always)]
1059 pub const fn p200pfs(
1060 &self,
1061 ) -> &'static crate::common::Reg<self::P200Pfs_SPEC, crate::common::RW> {
1062 unsafe {
1063 crate::common::Reg::<self::P200Pfs_SPEC, crate::common::RW>::from_ptr(
1064 self._svd2pac_as_ptr().add(128usize),
1065 )
1066 }
1067 }
1068
1069 #[doc = "Port 200 Pin Function Select Register"]
1070 #[inline(always)]
1071 pub const fn p200pfs_ha(
1072 &self,
1073 ) -> &'static crate::common::Reg<self::P200PfsHa_SPEC, crate::common::RW> {
1074 unsafe {
1075 crate::common::Reg::<self::P200PfsHa_SPEC, crate::common::RW>::from_ptr(
1076 self._svd2pac_as_ptr().add(130usize),
1077 )
1078 }
1079 }
1080
1081 #[doc = "Port 200 Pin Function Select Register"]
1082 #[inline(always)]
1083 pub const fn p200pfs_by(
1084 &self,
1085 ) -> &'static crate::common::Reg<self::P200PfsBy_SPEC, crate::common::RW> {
1086 unsafe {
1087 crate::common::Reg::<self::P200PfsBy_SPEC, crate::common::RW>::from_ptr(
1088 self._svd2pac_as_ptr().add(131usize),
1089 )
1090 }
1091 }
1092
1093 #[doc = "Port 201 Pin Function Select Register"]
1094 #[inline(always)]
1095 pub const fn p201pfs(
1096 &self,
1097 ) -> &'static crate::common::Reg<self::P201Pfs_SPEC, crate::common::RW> {
1098 unsafe {
1099 crate::common::Reg::<self::P201Pfs_SPEC, crate::common::RW>::from_ptr(
1100 self._svd2pac_as_ptr().add(132usize),
1101 )
1102 }
1103 }
1104
1105 #[doc = "Port 201 Pin Function Select Register"]
1106 #[inline(always)]
1107 pub const fn p201pfs_ha(
1108 &self,
1109 ) -> &'static crate::common::Reg<self::P201PfsHa_SPEC, crate::common::RW> {
1110 unsafe {
1111 crate::common::Reg::<self::P201PfsHa_SPEC, crate::common::RW>::from_ptr(
1112 self._svd2pac_as_ptr().add(134usize),
1113 )
1114 }
1115 }
1116
1117 #[doc = "Port 201 Pin Function Select Register"]
1118 #[inline(always)]
1119 pub const fn p201pfs_by(
1120 &self,
1121 ) -> &'static crate::common::Reg<self::P201PfsBy_SPEC, crate::common::RW> {
1122 unsafe {
1123 crate::common::Reg::<self::P201PfsBy_SPEC, crate::common::RW>::from_ptr(
1124 self._svd2pac_as_ptr().add(135usize),
1125 )
1126 }
1127 }
1128
1129 #[doc = "Port 20%s Pin Function Select Register"]
1130 #[inline(always)]
1131 pub const fn p20pfs(
1132 &self,
1133 ) -> &'static crate::common::ClusterRegisterArray<
1134 crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW>,
1135 7,
1136 0x4,
1137 > {
1138 unsafe {
1139 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x8cusize))
1140 }
1141 }
1142 #[inline(always)]
1143 pub const fn p203pfs(
1144 &self,
1145 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1146 unsafe {
1147 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1148 self._svd2pac_as_ptr().add(0x8cusize),
1149 )
1150 }
1151 }
1152 #[inline(always)]
1153 pub const fn p204pfs(
1154 &self,
1155 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1156 unsafe {
1157 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1158 self._svd2pac_as_ptr().add(0x90usize),
1159 )
1160 }
1161 }
1162 #[inline(always)]
1163 pub const fn p205pfs(
1164 &self,
1165 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1166 unsafe {
1167 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1168 self._svd2pac_as_ptr().add(0x94usize),
1169 )
1170 }
1171 }
1172 #[inline(always)]
1173 pub const fn p206pfs(
1174 &self,
1175 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1176 unsafe {
1177 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1178 self._svd2pac_as_ptr().add(0x98usize),
1179 )
1180 }
1181 }
1182 #[inline(always)]
1183 pub const fn p207pfs(
1184 &self,
1185 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1186 unsafe {
1187 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1188 self._svd2pac_as_ptr().add(0x9cusize),
1189 )
1190 }
1191 }
1192 #[inline(always)]
1193 pub const fn p208pfs(
1194 &self,
1195 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1196 unsafe {
1197 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1198 self._svd2pac_as_ptr().add(0xa0usize),
1199 )
1200 }
1201 }
1202 #[inline(always)]
1203 pub const fn p209pfs(
1204 &self,
1205 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1206 unsafe {
1207 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1208 self._svd2pac_as_ptr().add(0xa4usize),
1209 )
1210 }
1211 }
1212
1213 #[doc = "Port 20%s Pin Function Select Register"]
1214 #[inline(always)]
1215 pub const fn p20pfs_ha(
1216 &self,
1217 ) -> &'static crate::common::ClusterRegisterArray<
1218 crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW>,
1219 7,
1220 0x4,
1221 > {
1222 unsafe {
1223 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x8eusize))
1224 }
1225 }
1226 #[inline(always)]
1227 pub const fn p203pfs_ha(
1228 &self,
1229 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1230 unsafe {
1231 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1232 self._svd2pac_as_ptr().add(0x8eusize),
1233 )
1234 }
1235 }
1236 #[inline(always)]
1237 pub const fn p204pfs_ha(
1238 &self,
1239 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1240 unsafe {
1241 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1242 self._svd2pac_as_ptr().add(0x92usize),
1243 )
1244 }
1245 }
1246 #[inline(always)]
1247 pub const fn p205pfs_ha(
1248 &self,
1249 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1250 unsafe {
1251 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1252 self._svd2pac_as_ptr().add(0x96usize),
1253 )
1254 }
1255 }
1256 #[inline(always)]
1257 pub const fn p206pfs_ha(
1258 &self,
1259 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1260 unsafe {
1261 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1262 self._svd2pac_as_ptr().add(0x9ausize),
1263 )
1264 }
1265 }
1266 #[inline(always)]
1267 pub const fn p207pfs_ha(
1268 &self,
1269 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1270 unsafe {
1271 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1272 self._svd2pac_as_ptr().add(0x9eusize),
1273 )
1274 }
1275 }
1276 #[inline(always)]
1277 pub const fn p208pfs_ha(
1278 &self,
1279 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1280 unsafe {
1281 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1282 self._svd2pac_as_ptr().add(0xa2usize),
1283 )
1284 }
1285 }
1286 #[inline(always)]
1287 pub const fn p209pfs_ha(
1288 &self,
1289 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1290 unsafe {
1291 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1292 self._svd2pac_as_ptr().add(0xa6usize),
1293 )
1294 }
1295 }
1296
1297 #[doc = "Port 20%s Pin Function Select Register"]
1298 #[inline(always)]
1299 pub const fn p20pfs_by(
1300 &self,
1301 ) -> &'static crate::common::ClusterRegisterArray<
1302 crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW>,
1303 7,
1304 0x4,
1305 > {
1306 unsafe {
1307 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x8fusize))
1308 }
1309 }
1310 #[inline(always)]
1311 pub const fn p203pfs_by(
1312 &self,
1313 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1314 unsafe {
1315 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1316 self._svd2pac_as_ptr().add(0x8fusize),
1317 )
1318 }
1319 }
1320 #[inline(always)]
1321 pub const fn p204pfs_by(
1322 &self,
1323 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1324 unsafe {
1325 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1326 self._svd2pac_as_ptr().add(0x93usize),
1327 )
1328 }
1329 }
1330 #[inline(always)]
1331 pub const fn p205pfs_by(
1332 &self,
1333 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1334 unsafe {
1335 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1336 self._svd2pac_as_ptr().add(0x97usize),
1337 )
1338 }
1339 }
1340 #[inline(always)]
1341 pub const fn p206pfs_by(
1342 &self,
1343 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1344 unsafe {
1345 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1346 self._svd2pac_as_ptr().add(0x9busize),
1347 )
1348 }
1349 }
1350 #[inline(always)]
1351 pub const fn p207pfs_by(
1352 &self,
1353 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1354 unsafe {
1355 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1356 self._svd2pac_as_ptr().add(0x9fusize),
1357 )
1358 }
1359 }
1360 #[inline(always)]
1361 pub const fn p208pfs_by(
1362 &self,
1363 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1364 unsafe {
1365 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1366 self._svd2pac_as_ptr().add(0xa3usize),
1367 )
1368 }
1369 }
1370 #[inline(always)]
1371 pub const fn p209pfs_by(
1372 &self,
1373 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1374 unsafe {
1375 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1376 self._svd2pac_as_ptr().add(0xa7usize),
1377 )
1378 }
1379 }
1380
1381 #[doc = "Port 2%s Pin Function Select Register"]
1382 #[inline(always)]
1383 pub const fn p2pfs(
1384 &self,
1385 ) -> &'static crate::common::ClusterRegisterArray<
1386 crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW>,
1387 6,
1388 0x4,
1389 > {
1390 unsafe {
1391 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xa8usize))
1392 }
1393 }
1394 #[inline(always)]
1395 pub const fn p210pfs(
1396 &self,
1397 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1398 unsafe {
1399 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1400 self._svd2pac_as_ptr().add(0xa8usize),
1401 )
1402 }
1403 }
1404 #[inline(always)]
1405 pub const fn p211pfs(
1406 &self,
1407 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1408 unsafe {
1409 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1410 self._svd2pac_as_ptr().add(0xacusize),
1411 )
1412 }
1413 }
1414 #[inline(always)]
1415 pub const fn p212pfs(
1416 &self,
1417 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1418 unsafe {
1419 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1420 self._svd2pac_as_ptr().add(0xb0usize),
1421 )
1422 }
1423 }
1424 #[inline(always)]
1425 pub const fn p213pfs(
1426 &self,
1427 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1428 unsafe {
1429 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1430 self._svd2pac_as_ptr().add(0xb4usize),
1431 )
1432 }
1433 }
1434 #[inline(always)]
1435 pub const fn p214pfs(
1436 &self,
1437 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1438 unsafe {
1439 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1440 self._svd2pac_as_ptr().add(0xb8usize),
1441 )
1442 }
1443 }
1444 #[inline(always)]
1445 pub const fn p215pfs(
1446 &self,
1447 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1448 unsafe {
1449 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1450 self._svd2pac_as_ptr().add(0xbcusize),
1451 )
1452 }
1453 }
1454
1455 #[doc = "Port 2%s Pin Function Select Register"]
1456 #[inline(always)]
1457 pub const fn p2pfs_ha(
1458 &self,
1459 ) -> &'static crate::common::ClusterRegisterArray<
1460 crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW>,
1461 6,
1462 0x4,
1463 > {
1464 unsafe {
1465 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xaausize))
1466 }
1467 }
1468 #[inline(always)]
1469 pub const fn p210pfs_ha(
1470 &self,
1471 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1472 unsafe {
1473 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1474 self._svd2pac_as_ptr().add(0xaausize),
1475 )
1476 }
1477 }
1478 #[inline(always)]
1479 pub const fn p211pfs_ha(
1480 &self,
1481 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1482 unsafe {
1483 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1484 self._svd2pac_as_ptr().add(0xaeusize),
1485 )
1486 }
1487 }
1488 #[inline(always)]
1489 pub const fn p212pfs_ha(
1490 &self,
1491 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1492 unsafe {
1493 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1494 self._svd2pac_as_ptr().add(0xb2usize),
1495 )
1496 }
1497 }
1498 #[inline(always)]
1499 pub const fn p213pfs_ha(
1500 &self,
1501 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1502 unsafe {
1503 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1504 self._svd2pac_as_ptr().add(0xb6usize),
1505 )
1506 }
1507 }
1508 #[inline(always)]
1509 pub const fn p214pfs_ha(
1510 &self,
1511 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1512 unsafe {
1513 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1514 self._svd2pac_as_ptr().add(0xbausize),
1515 )
1516 }
1517 }
1518 #[inline(always)]
1519 pub const fn p215pfs_ha(
1520 &self,
1521 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1522 unsafe {
1523 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1524 self._svd2pac_as_ptr().add(0xbeusize),
1525 )
1526 }
1527 }
1528
1529 #[doc = "Port 2%s Pin Function Select Register"]
1530 #[inline(always)]
1531 pub const fn p2pfs_by(
1532 &self,
1533 ) -> &'static crate::common::ClusterRegisterArray<
1534 crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW>,
1535 6,
1536 0x4,
1537 > {
1538 unsafe {
1539 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xabusize))
1540 }
1541 }
1542 #[inline(always)]
1543 pub const fn p210pfs_by(
1544 &self,
1545 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1546 unsafe {
1547 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1548 self._svd2pac_as_ptr().add(0xabusize),
1549 )
1550 }
1551 }
1552 #[inline(always)]
1553 pub const fn p211pfs_by(
1554 &self,
1555 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1556 unsafe {
1557 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1558 self._svd2pac_as_ptr().add(0xafusize),
1559 )
1560 }
1561 }
1562 #[inline(always)]
1563 pub const fn p212pfs_by(
1564 &self,
1565 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1566 unsafe {
1567 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1568 self._svd2pac_as_ptr().add(0xb3usize),
1569 )
1570 }
1571 }
1572 #[inline(always)]
1573 pub const fn p213pfs_by(
1574 &self,
1575 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1576 unsafe {
1577 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1578 self._svd2pac_as_ptr().add(0xb7usize),
1579 )
1580 }
1581 }
1582 #[inline(always)]
1583 pub const fn p214pfs_by(
1584 &self,
1585 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1586 unsafe {
1587 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1588 self._svd2pac_as_ptr().add(0xbbusize),
1589 )
1590 }
1591 }
1592 #[inline(always)]
1593 pub const fn p215pfs_by(
1594 &self,
1595 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1596 unsafe {
1597 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1598 self._svd2pac_as_ptr().add(0xbfusize),
1599 )
1600 }
1601 }
1602
1603 #[doc = "Port 300 Pin Function Select Register"]
1604 #[inline(always)]
1605 pub const fn p300pfs(
1606 &self,
1607 ) -> &'static crate::common::Reg<self::P300Pfs_SPEC, crate::common::RW> {
1608 unsafe {
1609 crate::common::Reg::<self::P300Pfs_SPEC, crate::common::RW>::from_ptr(
1610 self._svd2pac_as_ptr().add(192usize),
1611 )
1612 }
1613 }
1614
1615 #[doc = "Port 300 Pin Function Select Register"]
1616 #[inline(always)]
1617 pub const fn p300pfs_ha(
1618 &self,
1619 ) -> &'static crate::common::Reg<self::P300PfsHa_SPEC, crate::common::RW> {
1620 unsafe {
1621 crate::common::Reg::<self::P300PfsHa_SPEC, crate::common::RW>::from_ptr(
1622 self._svd2pac_as_ptr().add(194usize),
1623 )
1624 }
1625 }
1626
1627 #[doc = "Port 300 Pin Function Select Register"]
1628 #[inline(always)]
1629 pub const fn p300pfs_by(
1630 &self,
1631 ) -> &'static crate::common::Reg<self::P300PfsBy_SPEC, crate::common::RW> {
1632 unsafe {
1633 crate::common::Reg::<self::P300PfsBy_SPEC, crate::common::RW>::from_ptr(
1634 self._svd2pac_as_ptr().add(195usize),
1635 )
1636 }
1637 }
1638
1639 #[doc = "Port 30%s Pin Function Select Register"]
1640 #[inline(always)]
1641 pub const fn p30pfs(
1642 &self,
1643 ) -> &'static crate::common::ClusterRegisterArray<
1644 crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW>,
1645 9,
1646 0x4,
1647 > {
1648 unsafe {
1649 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc4usize))
1650 }
1651 }
1652 #[inline(always)]
1653 pub const fn p301pfs(
1654 &self,
1655 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1656 unsafe {
1657 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1658 self._svd2pac_as_ptr().add(0xc4usize),
1659 )
1660 }
1661 }
1662 #[inline(always)]
1663 pub const fn p302pfs(
1664 &self,
1665 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1666 unsafe {
1667 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1668 self._svd2pac_as_ptr().add(0xc8usize),
1669 )
1670 }
1671 }
1672 #[inline(always)]
1673 pub const fn p303pfs(
1674 &self,
1675 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1676 unsafe {
1677 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1678 self._svd2pac_as_ptr().add(0xccusize),
1679 )
1680 }
1681 }
1682 #[inline(always)]
1683 pub const fn p304pfs(
1684 &self,
1685 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1686 unsafe {
1687 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1688 self._svd2pac_as_ptr().add(0xd0usize),
1689 )
1690 }
1691 }
1692 #[inline(always)]
1693 pub const fn p305pfs(
1694 &self,
1695 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1696 unsafe {
1697 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1698 self._svd2pac_as_ptr().add(0xd4usize),
1699 )
1700 }
1701 }
1702 #[inline(always)]
1703 pub const fn p306pfs(
1704 &self,
1705 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1706 unsafe {
1707 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1708 self._svd2pac_as_ptr().add(0xd8usize),
1709 )
1710 }
1711 }
1712 #[inline(always)]
1713 pub const fn p307pfs(
1714 &self,
1715 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1716 unsafe {
1717 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1718 self._svd2pac_as_ptr().add(0xdcusize),
1719 )
1720 }
1721 }
1722 #[inline(always)]
1723 pub const fn p308pfs(
1724 &self,
1725 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1726 unsafe {
1727 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1728 self._svd2pac_as_ptr().add(0xe0usize),
1729 )
1730 }
1731 }
1732 #[inline(always)]
1733 pub const fn p309pfs(
1734 &self,
1735 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1736 unsafe {
1737 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1738 self._svd2pac_as_ptr().add(0xe4usize),
1739 )
1740 }
1741 }
1742
1743 #[doc = "Port 30%s Pin Function Select Register"]
1744 #[inline(always)]
1745 pub const fn p30pfs_ha(
1746 &self,
1747 ) -> &'static crate::common::ClusterRegisterArray<
1748 crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW>,
1749 9,
1750 0x4,
1751 > {
1752 unsafe {
1753 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc6usize))
1754 }
1755 }
1756 #[inline(always)]
1757 pub const fn p301pfs_ha(
1758 &self,
1759 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1760 unsafe {
1761 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1762 self._svd2pac_as_ptr().add(0xc6usize),
1763 )
1764 }
1765 }
1766 #[inline(always)]
1767 pub const fn p302pfs_ha(
1768 &self,
1769 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1770 unsafe {
1771 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1772 self._svd2pac_as_ptr().add(0xcausize),
1773 )
1774 }
1775 }
1776 #[inline(always)]
1777 pub const fn p303pfs_ha(
1778 &self,
1779 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1780 unsafe {
1781 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1782 self._svd2pac_as_ptr().add(0xceusize),
1783 )
1784 }
1785 }
1786 #[inline(always)]
1787 pub const fn p304pfs_ha(
1788 &self,
1789 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1790 unsafe {
1791 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1792 self._svd2pac_as_ptr().add(0xd2usize),
1793 )
1794 }
1795 }
1796 #[inline(always)]
1797 pub const fn p305pfs_ha(
1798 &self,
1799 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1800 unsafe {
1801 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1802 self._svd2pac_as_ptr().add(0xd6usize),
1803 )
1804 }
1805 }
1806 #[inline(always)]
1807 pub const fn p306pfs_ha(
1808 &self,
1809 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1810 unsafe {
1811 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1812 self._svd2pac_as_ptr().add(0xdausize),
1813 )
1814 }
1815 }
1816 #[inline(always)]
1817 pub const fn p307pfs_ha(
1818 &self,
1819 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1820 unsafe {
1821 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1822 self._svd2pac_as_ptr().add(0xdeusize),
1823 )
1824 }
1825 }
1826 #[inline(always)]
1827 pub const fn p308pfs_ha(
1828 &self,
1829 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1830 unsafe {
1831 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1832 self._svd2pac_as_ptr().add(0xe2usize),
1833 )
1834 }
1835 }
1836 #[inline(always)]
1837 pub const fn p309pfs_ha(
1838 &self,
1839 ) -> &'static crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW> {
1840 unsafe {
1841 crate::common::Reg::<self::P30PfsHa_SPEC, crate::common::RW>::from_ptr(
1842 self._svd2pac_as_ptr().add(0xe6usize),
1843 )
1844 }
1845 }
1846
1847 #[doc = "Port 30%s Pin Function Select Register"]
1848 #[inline(always)]
1849 pub const fn p30pfs_by(
1850 &self,
1851 ) -> &'static crate::common::ClusterRegisterArray<
1852 crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW>,
1853 9,
1854 0x4,
1855 > {
1856 unsafe {
1857 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc7usize))
1858 }
1859 }
1860 #[inline(always)]
1861 pub const fn p301pfs_by(
1862 &self,
1863 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1864 unsafe {
1865 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1866 self._svd2pac_as_ptr().add(0xc7usize),
1867 )
1868 }
1869 }
1870 #[inline(always)]
1871 pub const fn p302pfs_by(
1872 &self,
1873 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1874 unsafe {
1875 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1876 self._svd2pac_as_ptr().add(0xcbusize),
1877 )
1878 }
1879 }
1880 #[inline(always)]
1881 pub const fn p303pfs_by(
1882 &self,
1883 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1884 unsafe {
1885 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1886 self._svd2pac_as_ptr().add(0xcfusize),
1887 )
1888 }
1889 }
1890 #[inline(always)]
1891 pub const fn p304pfs_by(
1892 &self,
1893 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1894 unsafe {
1895 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1896 self._svd2pac_as_ptr().add(0xd3usize),
1897 )
1898 }
1899 }
1900 #[inline(always)]
1901 pub const fn p305pfs_by(
1902 &self,
1903 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1904 unsafe {
1905 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1906 self._svd2pac_as_ptr().add(0xd7usize),
1907 )
1908 }
1909 }
1910 #[inline(always)]
1911 pub const fn p306pfs_by(
1912 &self,
1913 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1914 unsafe {
1915 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1916 self._svd2pac_as_ptr().add(0xdbusize),
1917 )
1918 }
1919 }
1920 #[inline(always)]
1921 pub const fn p307pfs_by(
1922 &self,
1923 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1924 unsafe {
1925 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1926 self._svd2pac_as_ptr().add(0xdfusize),
1927 )
1928 }
1929 }
1930 #[inline(always)]
1931 pub const fn p308pfs_by(
1932 &self,
1933 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1934 unsafe {
1935 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1936 self._svd2pac_as_ptr().add(0xe3usize),
1937 )
1938 }
1939 }
1940 #[inline(always)]
1941 pub const fn p309pfs_by(
1942 &self,
1943 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1944 unsafe {
1945 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1946 self._svd2pac_as_ptr().add(0xe7usize),
1947 )
1948 }
1949 }
1950
1951 #[doc = "Port 3%s Pin Function Select Register"]
1952 #[inline(always)]
1953 pub const fn p3pfs(
1954 &self,
1955 ) -> &'static crate::common::ClusterRegisterArray<
1956 crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW>,
1957 4,
1958 0x4,
1959 > {
1960 unsafe {
1961 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xe8usize))
1962 }
1963 }
1964 #[inline(always)]
1965 pub const fn p310pfs(
1966 &self,
1967 ) -> &'static crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW> {
1968 unsafe {
1969 crate::common::Reg::<self::P3Pfs_SPEC, crate::common::RW>::from_ptr(
1970 self._svd2pac_as_ptr().add(0xe8usize),
1971 )
1972 }
1973 }
1974 #[inline(always)]
1975 pub const fn p311pfs(
1976 &self,
1977 ) -> &'static crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW> {
1978 unsafe {
1979 crate::common::Reg::<self::P3Pfs_SPEC, crate::common::RW>::from_ptr(
1980 self._svd2pac_as_ptr().add(0xecusize),
1981 )
1982 }
1983 }
1984 #[inline(always)]
1985 pub const fn p312pfs(
1986 &self,
1987 ) -> &'static crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW> {
1988 unsafe {
1989 crate::common::Reg::<self::P3Pfs_SPEC, crate::common::RW>::from_ptr(
1990 self._svd2pac_as_ptr().add(0xf0usize),
1991 )
1992 }
1993 }
1994 #[inline(always)]
1995 pub const fn p313pfs(
1996 &self,
1997 ) -> &'static crate::common::Reg<self::P3Pfs_SPEC, crate::common::RW> {
1998 unsafe {
1999 crate::common::Reg::<self::P3Pfs_SPEC, crate::common::RW>::from_ptr(
2000 self._svd2pac_as_ptr().add(0xf4usize),
2001 )
2002 }
2003 }
2004
2005 #[doc = "Port 3%s Pin Function Select Register"]
2006 #[inline(always)]
2007 pub const fn p3pfs_ha(
2008 &self,
2009 ) -> &'static crate::common::ClusterRegisterArray<
2010 crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW>,
2011 4,
2012 0x4,
2013 > {
2014 unsafe {
2015 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xeausize))
2016 }
2017 }
2018 #[inline(always)]
2019 pub const fn p310pfs_ha(
2020 &self,
2021 ) -> &'static crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW> {
2022 unsafe {
2023 crate::common::Reg::<self::P3PfsHa_SPEC, crate::common::RW>::from_ptr(
2024 self._svd2pac_as_ptr().add(0xeausize),
2025 )
2026 }
2027 }
2028 #[inline(always)]
2029 pub const fn p311pfs_ha(
2030 &self,
2031 ) -> &'static crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW> {
2032 unsafe {
2033 crate::common::Reg::<self::P3PfsHa_SPEC, crate::common::RW>::from_ptr(
2034 self._svd2pac_as_ptr().add(0xeeusize),
2035 )
2036 }
2037 }
2038 #[inline(always)]
2039 pub const fn p312pfs_ha(
2040 &self,
2041 ) -> &'static crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW> {
2042 unsafe {
2043 crate::common::Reg::<self::P3PfsHa_SPEC, crate::common::RW>::from_ptr(
2044 self._svd2pac_as_ptr().add(0xf2usize),
2045 )
2046 }
2047 }
2048 #[inline(always)]
2049 pub const fn p313pfs_ha(
2050 &self,
2051 ) -> &'static crate::common::Reg<self::P3PfsHa_SPEC, crate::common::RW> {
2052 unsafe {
2053 crate::common::Reg::<self::P3PfsHa_SPEC, crate::common::RW>::from_ptr(
2054 self._svd2pac_as_ptr().add(0xf6usize),
2055 )
2056 }
2057 }
2058
2059 #[doc = "Port 3%s Pin Function Select Register"]
2060 #[inline(always)]
2061 pub const fn p3pfs_by(
2062 &self,
2063 ) -> &'static crate::common::ClusterRegisterArray<
2064 crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW>,
2065 4,
2066 0x4,
2067 > {
2068 unsafe {
2069 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xebusize))
2070 }
2071 }
2072 #[inline(always)]
2073 pub const fn p310pfs_by(
2074 &self,
2075 ) -> &'static crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW> {
2076 unsafe {
2077 crate::common::Reg::<self::P3PfsBy_SPEC, crate::common::RW>::from_ptr(
2078 self._svd2pac_as_ptr().add(0xebusize),
2079 )
2080 }
2081 }
2082 #[inline(always)]
2083 pub const fn p311pfs_by(
2084 &self,
2085 ) -> &'static crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW> {
2086 unsafe {
2087 crate::common::Reg::<self::P3PfsBy_SPEC, crate::common::RW>::from_ptr(
2088 self._svd2pac_as_ptr().add(0xefusize),
2089 )
2090 }
2091 }
2092 #[inline(always)]
2093 pub const fn p312pfs_by(
2094 &self,
2095 ) -> &'static crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW> {
2096 unsafe {
2097 crate::common::Reg::<self::P3PfsBy_SPEC, crate::common::RW>::from_ptr(
2098 self._svd2pac_as_ptr().add(0xf3usize),
2099 )
2100 }
2101 }
2102 #[inline(always)]
2103 pub const fn p313pfs_by(
2104 &self,
2105 ) -> &'static crate::common::Reg<self::P3PfsBy_SPEC, crate::common::RW> {
2106 unsafe {
2107 crate::common::Reg::<self::P3PfsBy_SPEC, crate::common::RW>::from_ptr(
2108 self._svd2pac_as_ptr().add(0xf7usize),
2109 )
2110 }
2111 }
2112
2113 #[doc = "Port 40%s Pin Function Select Register"]
2114 #[inline(always)]
2115 pub const fn p40pfs(
2116 &self,
2117 ) -> &'static crate::common::ClusterRegisterArray<
2118 crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW>,
2119 2,
2120 0x4,
2121 > {
2122 unsafe {
2123 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x120usize))
2124 }
2125 }
2126 #[inline(always)]
2127 pub const fn p408pfs(
2128 &self,
2129 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2130 unsafe {
2131 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2132 self._svd2pac_as_ptr().add(0x120usize),
2133 )
2134 }
2135 }
2136 #[inline(always)]
2137 pub const fn p409pfs(
2138 &self,
2139 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2140 unsafe {
2141 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2142 self._svd2pac_as_ptr().add(0x124usize),
2143 )
2144 }
2145 }
2146
2147 #[doc = "Port 40%s Pin Function Select Register"]
2148 #[inline(always)]
2149 pub const fn p40pfs_ha(
2150 &self,
2151 ) -> &'static crate::common::ClusterRegisterArray<
2152 crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW>,
2153 2,
2154 0x4,
2155 > {
2156 unsafe {
2157 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x122usize))
2158 }
2159 }
2160 #[inline(always)]
2161 pub const fn p408pfs_ha(
2162 &self,
2163 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2164 unsafe {
2165 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2166 self._svd2pac_as_ptr().add(0x122usize),
2167 )
2168 }
2169 }
2170 #[inline(always)]
2171 pub const fn p409pfs_ha(
2172 &self,
2173 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2174 unsafe {
2175 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2176 self._svd2pac_as_ptr().add(0x126usize),
2177 )
2178 }
2179 }
2180
2181 #[doc = "Port 40%s Pin Function Select Register"]
2182 #[inline(always)]
2183 pub const fn p40pfs_by(
2184 &self,
2185 ) -> &'static crate::common::ClusterRegisterArray<
2186 crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW>,
2187 2,
2188 0x4,
2189 > {
2190 unsafe {
2191 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x123usize))
2192 }
2193 }
2194 #[inline(always)]
2195 pub const fn p408pfs_by(
2196 &self,
2197 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2198 unsafe {
2199 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2200 self._svd2pac_as_ptr().add(0x123usize),
2201 )
2202 }
2203 }
2204 #[inline(always)]
2205 pub const fn p409pfs_by(
2206 &self,
2207 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2208 unsafe {
2209 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2210 self._svd2pac_as_ptr().add(0x127usize),
2211 )
2212 }
2213 }
2214
2215 #[doc = "Port 4%s Pin Function Select Register"]
2216 #[inline(always)]
2217 pub const fn p4pfs(
2218 &self,
2219 ) -> &'static crate::common::ClusterRegisterArray<
2220 crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW>,
2221 2,
2222 0x4,
2223 > {
2224 unsafe {
2225 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x128usize))
2226 }
2227 }
2228 #[inline(always)]
2229 pub const fn p410pfs(
2230 &self,
2231 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2232 unsafe {
2233 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2234 self._svd2pac_as_ptr().add(0x128usize),
2235 )
2236 }
2237 }
2238 #[inline(always)]
2239 pub const fn p411pfs(
2240 &self,
2241 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2242 unsafe {
2243 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2244 self._svd2pac_as_ptr().add(0x12cusize),
2245 )
2246 }
2247 }
2248
2249 #[doc = "Port 4%s Pin Function Select Register"]
2250 #[inline(always)]
2251 pub const fn p4pfs_ha(
2252 &self,
2253 ) -> &'static crate::common::ClusterRegisterArray<
2254 crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW>,
2255 2,
2256 0x4,
2257 > {
2258 unsafe {
2259 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x12ausize))
2260 }
2261 }
2262 #[inline(always)]
2263 pub const fn p410pfs_ha(
2264 &self,
2265 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2266 unsafe {
2267 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2268 self._svd2pac_as_ptr().add(0x12ausize),
2269 )
2270 }
2271 }
2272 #[inline(always)]
2273 pub const fn p411pfs_ha(
2274 &self,
2275 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2276 unsafe {
2277 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2278 self._svd2pac_as_ptr().add(0x12eusize),
2279 )
2280 }
2281 }
2282
2283 #[doc = "Port 4%s Pin Function Select Register"]
2284 #[inline(always)]
2285 pub const fn p4pfs_by(
2286 &self,
2287 ) -> &'static crate::common::ClusterRegisterArray<
2288 crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW>,
2289 2,
2290 0x4,
2291 > {
2292 unsafe {
2293 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x12busize))
2294 }
2295 }
2296 #[inline(always)]
2297 pub const fn p410pfs_by(
2298 &self,
2299 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2300 unsafe {
2301 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2302 self._svd2pac_as_ptr().add(0x12busize),
2303 )
2304 }
2305 }
2306 #[inline(always)]
2307 pub const fn p411pfs_by(
2308 &self,
2309 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2310 unsafe {
2311 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2312 self._svd2pac_as_ptr().add(0x12fusize),
2313 )
2314 }
2315 }
2316
2317 #[doc = "Port 50%s Pin Function Select Register"]
2318 #[inline(always)]
2319 pub const fn p50pfs(
2320 &self,
2321 ) -> &'static crate::common::ClusterRegisterArray<
2322 crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW>,
2323 7,
2324 0x4,
2325 > {
2326 unsafe {
2327 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x140usize))
2328 }
2329 }
2330 #[inline(always)]
2331 pub const fn p500pfs(
2332 &self,
2333 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2334 unsafe {
2335 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2336 self._svd2pac_as_ptr().add(0x140usize),
2337 )
2338 }
2339 }
2340 #[inline(always)]
2341 pub const fn p501pfs(
2342 &self,
2343 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2344 unsafe {
2345 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2346 self._svd2pac_as_ptr().add(0x144usize),
2347 )
2348 }
2349 }
2350 #[inline(always)]
2351 pub const fn p502pfs(
2352 &self,
2353 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2354 unsafe {
2355 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2356 self._svd2pac_as_ptr().add(0x148usize),
2357 )
2358 }
2359 }
2360 #[inline(always)]
2361 pub const fn p503pfs(
2362 &self,
2363 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2364 unsafe {
2365 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2366 self._svd2pac_as_ptr().add(0x14cusize),
2367 )
2368 }
2369 }
2370 #[inline(always)]
2371 pub const fn p504pfs(
2372 &self,
2373 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2374 unsafe {
2375 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2376 self._svd2pac_as_ptr().add(0x150usize),
2377 )
2378 }
2379 }
2380 #[inline(always)]
2381 pub const fn p505pfs(
2382 &self,
2383 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2384 unsafe {
2385 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2386 self._svd2pac_as_ptr().add(0x154usize),
2387 )
2388 }
2389 }
2390 #[inline(always)]
2391 pub const fn p506pfs(
2392 &self,
2393 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2394 unsafe {
2395 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2396 self._svd2pac_as_ptr().add(0x158usize),
2397 )
2398 }
2399 }
2400
2401 #[doc = "Port 50%s Pin Function Select Register"]
2402 #[inline(always)]
2403 pub const fn p50pfs_ha(
2404 &self,
2405 ) -> &'static crate::common::ClusterRegisterArray<
2406 crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW>,
2407 7,
2408 0x4,
2409 > {
2410 unsafe {
2411 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x142usize))
2412 }
2413 }
2414 #[inline(always)]
2415 pub const fn p500pfs_ha(
2416 &self,
2417 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2418 unsafe {
2419 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2420 self._svd2pac_as_ptr().add(0x142usize),
2421 )
2422 }
2423 }
2424 #[inline(always)]
2425 pub const fn p501pfs_ha(
2426 &self,
2427 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2428 unsafe {
2429 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2430 self._svd2pac_as_ptr().add(0x146usize),
2431 )
2432 }
2433 }
2434 #[inline(always)]
2435 pub const fn p502pfs_ha(
2436 &self,
2437 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2438 unsafe {
2439 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2440 self._svd2pac_as_ptr().add(0x14ausize),
2441 )
2442 }
2443 }
2444 #[inline(always)]
2445 pub const fn p503pfs_ha(
2446 &self,
2447 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2448 unsafe {
2449 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2450 self._svd2pac_as_ptr().add(0x14eusize),
2451 )
2452 }
2453 }
2454 #[inline(always)]
2455 pub const fn p504pfs_ha(
2456 &self,
2457 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2458 unsafe {
2459 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2460 self._svd2pac_as_ptr().add(0x152usize),
2461 )
2462 }
2463 }
2464 #[inline(always)]
2465 pub const fn p505pfs_ha(
2466 &self,
2467 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2468 unsafe {
2469 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2470 self._svd2pac_as_ptr().add(0x156usize),
2471 )
2472 }
2473 }
2474 #[inline(always)]
2475 pub const fn p506pfs_ha(
2476 &self,
2477 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2478 unsafe {
2479 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2480 self._svd2pac_as_ptr().add(0x15ausize),
2481 )
2482 }
2483 }
2484
2485 #[doc = "Port 50%s Pin Function Select Register"]
2486 #[inline(always)]
2487 pub const fn p50pfs_by(
2488 &self,
2489 ) -> &'static crate::common::ClusterRegisterArray<
2490 crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW>,
2491 7,
2492 0x4,
2493 > {
2494 unsafe {
2495 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x143usize))
2496 }
2497 }
2498 #[inline(always)]
2499 pub const fn p500pfs_by(
2500 &self,
2501 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2502 unsafe {
2503 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2504 self._svd2pac_as_ptr().add(0x143usize),
2505 )
2506 }
2507 }
2508 #[inline(always)]
2509 pub const fn p501pfs_by(
2510 &self,
2511 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2512 unsafe {
2513 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2514 self._svd2pac_as_ptr().add(0x147usize),
2515 )
2516 }
2517 }
2518 #[inline(always)]
2519 pub const fn p502pfs_by(
2520 &self,
2521 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2522 unsafe {
2523 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2524 self._svd2pac_as_ptr().add(0x14busize),
2525 )
2526 }
2527 }
2528 #[inline(always)]
2529 pub const fn p503pfs_by(
2530 &self,
2531 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2532 unsafe {
2533 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2534 self._svd2pac_as_ptr().add(0x14fusize),
2535 )
2536 }
2537 }
2538 #[inline(always)]
2539 pub const fn p504pfs_by(
2540 &self,
2541 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2542 unsafe {
2543 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2544 self._svd2pac_as_ptr().add(0x153usize),
2545 )
2546 }
2547 }
2548 #[inline(always)]
2549 pub const fn p505pfs_by(
2550 &self,
2551 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2552 unsafe {
2553 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2554 self._svd2pac_as_ptr().add(0x157usize),
2555 )
2556 }
2557 }
2558 #[inline(always)]
2559 pub const fn p506pfs_by(
2560 &self,
2561 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2562 unsafe {
2563 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2564 self._svd2pac_as_ptr().add(0x15busize),
2565 )
2566 }
2567 }
2568
2569 #[doc = "Port 600 Pin Function Select Register"]
2570 #[inline(always)]
2571 pub const fn p600pfs(
2572 &self,
2573 ) -> &'static crate::common::Reg<self::P600Pfs_SPEC, crate::common::RW> {
2574 unsafe {
2575 crate::common::Reg::<self::P600Pfs_SPEC, crate::common::RW>::from_ptr(
2576 self._svd2pac_as_ptr().add(384usize),
2577 )
2578 }
2579 }
2580
2581 #[doc = "Port 600 Pin Function Select Register"]
2582 #[inline(always)]
2583 pub const fn p600pfs_ha(
2584 &self,
2585 ) -> &'static crate::common::Reg<self::P600PfsHa_SPEC, crate::common::RW> {
2586 unsafe {
2587 crate::common::Reg::<self::P600PfsHa_SPEC, crate::common::RW>::from_ptr(
2588 self._svd2pac_as_ptr().add(386usize),
2589 )
2590 }
2591 }
2592
2593 #[doc = "Port 600 Pin Function Select Register"]
2594 #[inline(always)]
2595 pub const fn p600pfs_by(
2596 &self,
2597 ) -> &'static crate::common::Reg<self::P600PfsBy_SPEC, crate::common::RW> {
2598 unsafe {
2599 crate::common::Reg::<self::P600PfsBy_SPEC, crate::common::RW>::from_ptr(
2600 self._svd2pac_as_ptr().add(387usize),
2601 )
2602 }
2603 }
2604
2605 #[doc = "VL1 Select Control Register"]
2606 #[inline(always)]
2607 pub const fn vl1sel(
2608 &self,
2609 ) -> &'static crate::common::Reg<self::Vl1Sel_SPEC, crate::common::RW> {
2610 unsafe {
2611 crate::common::Reg::<self::Vl1Sel_SPEC, crate::common::RW>::from_ptr(
2612 self._svd2pac_as_ptr().add(389usize),
2613 )
2614 }
2615 }
2616
2617 #[doc = "Write-Protect Register"]
2618 #[inline(always)]
2619 pub const fn pwpr(&self) -> &'static crate::common::Reg<self::Pwpr_SPEC, crate::common::RW> {
2620 unsafe {
2621 crate::common::Reg::<self::Pwpr_SPEC, crate::common::RW>::from_ptr(
2622 self._svd2pac_as_ptr().add(1283usize),
2623 )
2624 }
2625 }
2626
2627 #[doc = "Port Read Wait Control Register"]
2628 #[inline(always)]
2629 pub const fn prwcntr(
2630 &self,
2631 ) -> &'static crate::common::Reg<self::Prwcntr_SPEC, crate::common::RW> {
2632 unsafe {
2633 crate::common::Reg::<self::Prwcntr_SPEC, crate::common::RW>::from_ptr(
2634 self._svd2pac_as_ptr().add(1295usize),
2635 )
2636 }
2637 }
2638}
2639#[doc(hidden)]
2640#[derive(Copy, Clone, Eq, PartialEq)]
2641pub struct P00Pfs_SPEC;
2642impl crate::sealed::RegSpec for P00Pfs_SPEC {
2643 type DataType = u32;
2644}
2645
2646#[doc = "Port 00%s Pin Function Select Register"]
2647pub type P00Pfs = crate::RegValueT<P00Pfs_SPEC>;
2648
2649impl P00Pfs {
2650 #[doc = "Port Output Data"]
2651 #[inline(always)]
2652 pub fn podr(
2653 self,
2654 ) -> crate::common::RegisterField<
2655 0,
2656 0x1,
2657 1,
2658 0,
2659 p00pfs::Podr,
2660 p00pfs::Podr,
2661 P00Pfs_SPEC,
2662 crate::common::RW,
2663 > {
2664 crate::common::RegisterField::<
2665 0,
2666 0x1,
2667 1,
2668 0,
2669 p00pfs::Podr,
2670 p00pfs::Podr,
2671 P00Pfs_SPEC,
2672 crate::common::RW,
2673 >::from_register(self, 0)
2674 }
2675
2676 #[doc = "Port State"]
2677 #[inline(always)]
2678 pub fn pidr(
2679 self,
2680 ) -> crate::common::RegisterField<
2681 1,
2682 0x1,
2683 1,
2684 0,
2685 p00pfs::Pidr,
2686 p00pfs::Pidr,
2687 P00Pfs_SPEC,
2688 crate::common::R,
2689 > {
2690 crate::common::RegisterField::<
2691 1,
2692 0x1,
2693 1,
2694 0,
2695 p00pfs::Pidr,
2696 p00pfs::Pidr,
2697 P00Pfs_SPEC,
2698 crate::common::R,
2699 >::from_register(self, 0)
2700 }
2701
2702 #[doc = "Port Direction"]
2703 #[inline(always)]
2704 pub fn pdr(
2705 self,
2706 ) -> crate::common::RegisterField<
2707 2,
2708 0x1,
2709 1,
2710 0,
2711 p00pfs::Pdr,
2712 p00pfs::Pdr,
2713 P00Pfs_SPEC,
2714 crate::common::RW,
2715 > {
2716 crate::common::RegisterField::<
2717 2,
2718 0x1,
2719 1,
2720 0,
2721 p00pfs::Pdr,
2722 p00pfs::Pdr,
2723 P00Pfs_SPEC,
2724 crate::common::RW,
2725 >::from_register(self, 0)
2726 }
2727
2728 #[doc = "Pull-up Control"]
2729 #[inline(always)]
2730 pub fn pcr(
2731 self,
2732 ) -> crate::common::RegisterField<
2733 4,
2734 0x1,
2735 1,
2736 0,
2737 p00pfs::Pcr,
2738 p00pfs::Pcr,
2739 P00Pfs_SPEC,
2740 crate::common::RW,
2741 > {
2742 crate::common::RegisterField::<
2743 4,
2744 0x1,
2745 1,
2746 0,
2747 p00pfs::Pcr,
2748 p00pfs::Pcr,
2749 P00Pfs_SPEC,
2750 crate::common::RW,
2751 >::from_register(self, 0)
2752 }
2753
2754 #[doc = "N-Channel Open-Drain Control"]
2755 #[inline(always)]
2756 pub fn ncodr(
2757 self,
2758 ) -> crate::common::RegisterField<
2759 6,
2760 0x1,
2761 1,
2762 0,
2763 p00pfs::Ncodr,
2764 p00pfs::Ncodr,
2765 P00Pfs_SPEC,
2766 crate::common::RW,
2767 > {
2768 crate::common::RegisterField::<
2769 6,
2770 0x1,
2771 1,
2772 0,
2773 p00pfs::Ncodr,
2774 p00pfs::Ncodr,
2775 P00Pfs_SPEC,
2776 crate::common::RW,
2777 >::from_register(self, 0)
2778 }
2779
2780 #[doc = "IRQ Input Enable"]
2781 #[inline(always)]
2782 pub fn isel(
2783 self,
2784 ) -> crate::common::RegisterField<
2785 14,
2786 0x1,
2787 1,
2788 0,
2789 p00pfs::Isel,
2790 p00pfs::Isel,
2791 P00Pfs_SPEC,
2792 crate::common::RW,
2793 > {
2794 crate::common::RegisterField::<
2795 14,
2796 0x1,
2797 1,
2798 0,
2799 p00pfs::Isel,
2800 p00pfs::Isel,
2801 P00Pfs_SPEC,
2802 crate::common::RW,
2803 >::from_register(self, 0)
2804 }
2805
2806 #[doc = "Analog Input Enable"]
2807 #[inline(always)]
2808 pub fn asel(
2809 self,
2810 ) -> crate::common::RegisterField<
2811 15,
2812 0x1,
2813 1,
2814 0,
2815 p00pfs::Asel,
2816 p00pfs::Asel,
2817 P00Pfs_SPEC,
2818 crate::common::RW,
2819 > {
2820 crate::common::RegisterField::<
2821 15,
2822 0x1,
2823 1,
2824 0,
2825 p00pfs::Asel,
2826 p00pfs::Asel,
2827 P00Pfs_SPEC,
2828 crate::common::RW,
2829 >::from_register(self, 0)
2830 }
2831
2832 #[doc = "Port Mode Control"]
2833 #[inline(always)]
2834 pub fn pmr(
2835 self,
2836 ) -> crate::common::RegisterField<
2837 16,
2838 0x1,
2839 1,
2840 0,
2841 p00pfs::Pmr,
2842 p00pfs::Pmr,
2843 P00Pfs_SPEC,
2844 crate::common::RW,
2845 > {
2846 crate::common::RegisterField::<
2847 16,
2848 0x1,
2849 1,
2850 0,
2851 p00pfs::Pmr,
2852 p00pfs::Pmr,
2853 P00Pfs_SPEC,
2854 crate::common::RW,
2855 >::from_register(self, 0)
2856 }
2857
2858 #[doc = "Peripheral Select"]
2859 #[inline(always)]
2860 pub fn psel(
2861 self,
2862 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P00Pfs_SPEC, crate::common::RW> {
2863 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P00Pfs_SPEC,crate::common::RW>::from_register(self,0)
2864 }
2865}
2866impl ::core::default::Default for P00Pfs {
2867 #[inline(always)]
2868 fn default() -> P00Pfs {
2869 <crate::RegValueT<P00Pfs_SPEC> as RegisterValue<_>>::new(0)
2870 }
2871}
2872pub mod p00pfs {
2873
2874 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2875 pub struct Podr_SPEC;
2876 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
2877 impl Podr {
2878 #[doc = "Output low"]
2879 pub const _0: Self = Self::new(0);
2880
2881 #[doc = "Output high"]
2882 pub const _1: Self = Self::new(1);
2883 }
2884 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2885 pub struct Pidr_SPEC;
2886 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
2887 impl Pidr {
2888 #[doc = "Low level"]
2889 pub const _0: Self = Self::new(0);
2890
2891 #[doc = "High level"]
2892 pub const _1: Self = Self::new(1);
2893 }
2894 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2895 pub struct Pdr_SPEC;
2896 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
2897 impl Pdr {
2898 #[doc = "Input (functions as an input pin)"]
2899 pub const _0: Self = Self::new(0);
2900
2901 #[doc = "Output (functions as an output pin)"]
2902 pub const _1: Self = Self::new(1);
2903 }
2904 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2905 pub struct Pcr_SPEC;
2906 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
2907 impl Pcr {
2908 #[doc = "Disable input pull-up"]
2909 pub const _0: Self = Self::new(0);
2910
2911 #[doc = "Enable input pull-up"]
2912 pub const _1: Self = Self::new(1);
2913 }
2914 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2915 pub struct Ncodr_SPEC;
2916 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
2917 impl Ncodr {
2918 #[doc = "Output CMOS"]
2919 pub const _0: Self = Self::new(0);
2920
2921 #[doc = "Output NMOS open-drain"]
2922 pub const _1: Self = Self::new(1);
2923 }
2924 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2925 pub struct Isel_SPEC;
2926 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
2927 impl Isel {
2928 #[doc = "Do not use as IRQn input pin"]
2929 pub const _0: Self = Self::new(0);
2930
2931 #[doc = "Use as IRQn input pin"]
2932 pub const _1: Self = Self::new(1);
2933 }
2934 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2935 pub struct Asel_SPEC;
2936 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
2937 impl Asel {
2938 #[doc = "Do not use as analog pin"]
2939 pub const _0: Self = Self::new(0);
2940
2941 #[doc = "Use as analog pin"]
2942 pub const _1: Self = Self::new(1);
2943 }
2944 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2945 pub struct Pmr_SPEC;
2946 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
2947 impl Pmr {
2948 #[doc = "Use as general I/O pin"]
2949 pub const _0: Self = Self::new(0);
2950
2951 #[doc = "Use as I/O port for peripheral functions"]
2952 pub const _1: Self = Self::new(1);
2953 }
2954}
2955#[doc(hidden)]
2956#[derive(Copy, Clone, Eq, PartialEq)]
2957pub struct P00PfsHa_SPEC;
2958impl crate::sealed::RegSpec for P00PfsHa_SPEC {
2959 type DataType = u16;
2960}
2961
2962#[doc = "Port 00%s Pin Function Select Register"]
2963pub type P00PfsHa = crate::RegValueT<P00PfsHa_SPEC>;
2964
2965impl P00PfsHa {
2966 #[doc = "Port Output Data"]
2967 #[inline(always)]
2968 pub fn podr(
2969 self,
2970 ) -> crate::common::RegisterField<
2971 0,
2972 0x1,
2973 1,
2974 0,
2975 p00pfs_ha::Podr,
2976 p00pfs_ha::Podr,
2977 P00PfsHa_SPEC,
2978 crate::common::RW,
2979 > {
2980 crate::common::RegisterField::<
2981 0,
2982 0x1,
2983 1,
2984 0,
2985 p00pfs_ha::Podr,
2986 p00pfs_ha::Podr,
2987 P00PfsHa_SPEC,
2988 crate::common::RW,
2989 >::from_register(self, 0)
2990 }
2991
2992 #[doc = "Port State"]
2993 #[inline(always)]
2994 pub fn pidr(
2995 self,
2996 ) -> crate::common::RegisterField<
2997 1,
2998 0x1,
2999 1,
3000 0,
3001 p00pfs_ha::Pidr,
3002 p00pfs_ha::Pidr,
3003 P00PfsHa_SPEC,
3004 crate::common::R,
3005 > {
3006 crate::common::RegisterField::<
3007 1,
3008 0x1,
3009 1,
3010 0,
3011 p00pfs_ha::Pidr,
3012 p00pfs_ha::Pidr,
3013 P00PfsHa_SPEC,
3014 crate::common::R,
3015 >::from_register(self, 0)
3016 }
3017
3018 #[doc = "Port Direction"]
3019 #[inline(always)]
3020 pub fn pdr(
3021 self,
3022 ) -> crate::common::RegisterField<
3023 2,
3024 0x1,
3025 1,
3026 0,
3027 p00pfs_ha::Pdr,
3028 p00pfs_ha::Pdr,
3029 P00PfsHa_SPEC,
3030 crate::common::RW,
3031 > {
3032 crate::common::RegisterField::<
3033 2,
3034 0x1,
3035 1,
3036 0,
3037 p00pfs_ha::Pdr,
3038 p00pfs_ha::Pdr,
3039 P00PfsHa_SPEC,
3040 crate::common::RW,
3041 >::from_register(self, 0)
3042 }
3043
3044 #[doc = "Pull-up Control"]
3045 #[inline(always)]
3046 pub fn pcr(
3047 self,
3048 ) -> crate::common::RegisterField<
3049 4,
3050 0x1,
3051 1,
3052 0,
3053 p00pfs_ha::Pcr,
3054 p00pfs_ha::Pcr,
3055 P00PfsHa_SPEC,
3056 crate::common::RW,
3057 > {
3058 crate::common::RegisterField::<
3059 4,
3060 0x1,
3061 1,
3062 0,
3063 p00pfs_ha::Pcr,
3064 p00pfs_ha::Pcr,
3065 P00PfsHa_SPEC,
3066 crate::common::RW,
3067 >::from_register(self, 0)
3068 }
3069
3070 #[doc = "N-Channel Open-Drain Control"]
3071 #[inline(always)]
3072 pub fn ncodr(
3073 self,
3074 ) -> crate::common::RegisterField<
3075 6,
3076 0x1,
3077 1,
3078 0,
3079 p00pfs_ha::Ncodr,
3080 p00pfs_ha::Ncodr,
3081 P00PfsHa_SPEC,
3082 crate::common::RW,
3083 > {
3084 crate::common::RegisterField::<
3085 6,
3086 0x1,
3087 1,
3088 0,
3089 p00pfs_ha::Ncodr,
3090 p00pfs_ha::Ncodr,
3091 P00PfsHa_SPEC,
3092 crate::common::RW,
3093 >::from_register(self, 0)
3094 }
3095
3096 #[doc = "IRQ Input Enable"]
3097 #[inline(always)]
3098 pub fn isel(
3099 self,
3100 ) -> crate::common::RegisterField<
3101 14,
3102 0x1,
3103 1,
3104 0,
3105 p00pfs_ha::Isel,
3106 p00pfs_ha::Isel,
3107 P00PfsHa_SPEC,
3108 crate::common::RW,
3109 > {
3110 crate::common::RegisterField::<
3111 14,
3112 0x1,
3113 1,
3114 0,
3115 p00pfs_ha::Isel,
3116 p00pfs_ha::Isel,
3117 P00PfsHa_SPEC,
3118 crate::common::RW,
3119 >::from_register(self, 0)
3120 }
3121
3122 #[doc = "Analog Input Enable"]
3123 #[inline(always)]
3124 pub fn asel(
3125 self,
3126 ) -> crate::common::RegisterField<
3127 15,
3128 0x1,
3129 1,
3130 0,
3131 p00pfs_ha::Asel,
3132 p00pfs_ha::Asel,
3133 P00PfsHa_SPEC,
3134 crate::common::RW,
3135 > {
3136 crate::common::RegisterField::<
3137 15,
3138 0x1,
3139 1,
3140 0,
3141 p00pfs_ha::Asel,
3142 p00pfs_ha::Asel,
3143 P00PfsHa_SPEC,
3144 crate::common::RW,
3145 >::from_register(self, 0)
3146 }
3147}
3148impl ::core::default::Default for P00PfsHa {
3149 #[inline(always)]
3150 fn default() -> P00PfsHa {
3151 <crate::RegValueT<P00PfsHa_SPEC> as RegisterValue<_>>::new(0)
3152 }
3153}
3154pub mod p00pfs_ha {
3155
3156 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3157 pub struct Podr_SPEC;
3158 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3159 impl Podr {
3160 #[doc = "Output low"]
3161 pub const _0: Self = Self::new(0);
3162
3163 #[doc = "Output high"]
3164 pub const _1: Self = Self::new(1);
3165 }
3166 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3167 pub struct Pidr_SPEC;
3168 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3169 impl Pidr {
3170 #[doc = "Low level"]
3171 pub const _0: Self = Self::new(0);
3172
3173 #[doc = "High level"]
3174 pub const _1: Self = Self::new(1);
3175 }
3176 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3177 pub struct Pdr_SPEC;
3178 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3179 impl Pdr {
3180 #[doc = "Input (functions as an input pin)"]
3181 pub const _0: Self = Self::new(0);
3182
3183 #[doc = "Output (functions as an output pin)"]
3184 pub const _1: Self = Self::new(1);
3185 }
3186 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3187 pub struct Pcr_SPEC;
3188 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3189 impl Pcr {
3190 #[doc = "Disable input pull-up"]
3191 pub const _0: Self = Self::new(0);
3192
3193 #[doc = "Enable input pull-up"]
3194 pub const _1: Self = Self::new(1);
3195 }
3196 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3197 pub struct Ncodr_SPEC;
3198 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3199 impl Ncodr {
3200 #[doc = "Output CMOS"]
3201 pub const _0: Self = Self::new(0);
3202
3203 #[doc = "Output NMOS open-drain"]
3204 pub const _1: Self = Self::new(1);
3205 }
3206 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3207 pub struct Isel_SPEC;
3208 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3209 impl Isel {
3210 #[doc = "Do not use as IRQn input pin"]
3211 pub const _0: Self = Self::new(0);
3212
3213 #[doc = "Use as IRQn input pin"]
3214 pub const _1: Self = Self::new(1);
3215 }
3216 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3217 pub struct Asel_SPEC;
3218 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
3219 impl Asel {
3220 #[doc = "Do not use as analog pin"]
3221 pub const _0: Self = Self::new(0);
3222
3223 #[doc = "Use as analog pin"]
3224 pub const _1: Self = Self::new(1);
3225 }
3226}
3227#[doc(hidden)]
3228#[derive(Copy, Clone, Eq, PartialEq)]
3229pub struct P00PfsBy_SPEC;
3230impl crate::sealed::RegSpec for P00PfsBy_SPEC {
3231 type DataType = u8;
3232}
3233
3234#[doc = "Port 00%s Pin Function Select Register"]
3235pub type P00PfsBy = crate::RegValueT<P00PfsBy_SPEC>;
3236
3237impl P00PfsBy {
3238 #[doc = "Port Output Data"]
3239 #[inline(always)]
3240 pub fn podr(
3241 self,
3242 ) -> crate::common::RegisterField<
3243 0,
3244 0x1,
3245 1,
3246 0,
3247 p00pfs_by::Podr,
3248 p00pfs_by::Podr,
3249 P00PfsBy_SPEC,
3250 crate::common::RW,
3251 > {
3252 crate::common::RegisterField::<
3253 0,
3254 0x1,
3255 1,
3256 0,
3257 p00pfs_by::Podr,
3258 p00pfs_by::Podr,
3259 P00PfsBy_SPEC,
3260 crate::common::RW,
3261 >::from_register(self, 0)
3262 }
3263
3264 #[doc = "Port State"]
3265 #[inline(always)]
3266 pub fn pidr(
3267 self,
3268 ) -> crate::common::RegisterField<
3269 1,
3270 0x1,
3271 1,
3272 0,
3273 p00pfs_by::Pidr,
3274 p00pfs_by::Pidr,
3275 P00PfsBy_SPEC,
3276 crate::common::R,
3277 > {
3278 crate::common::RegisterField::<
3279 1,
3280 0x1,
3281 1,
3282 0,
3283 p00pfs_by::Pidr,
3284 p00pfs_by::Pidr,
3285 P00PfsBy_SPEC,
3286 crate::common::R,
3287 >::from_register(self, 0)
3288 }
3289
3290 #[doc = "Port Direction"]
3291 #[inline(always)]
3292 pub fn pdr(
3293 self,
3294 ) -> crate::common::RegisterField<
3295 2,
3296 0x1,
3297 1,
3298 0,
3299 p00pfs_by::Pdr,
3300 p00pfs_by::Pdr,
3301 P00PfsBy_SPEC,
3302 crate::common::RW,
3303 > {
3304 crate::common::RegisterField::<
3305 2,
3306 0x1,
3307 1,
3308 0,
3309 p00pfs_by::Pdr,
3310 p00pfs_by::Pdr,
3311 P00PfsBy_SPEC,
3312 crate::common::RW,
3313 >::from_register(self, 0)
3314 }
3315
3316 #[doc = "Pull-up Control"]
3317 #[inline(always)]
3318 pub fn pcr(
3319 self,
3320 ) -> crate::common::RegisterField<
3321 4,
3322 0x1,
3323 1,
3324 0,
3325 p00pfs_by::Pcr,
3326 p00pfs_by::Pcr,
3327 P00PfsBy_SPEC,
3328 crate::common::RW,
3329 > {
3330 crate::common::RegisterField::<
3331 4,
3332 0x1,
3333 1,
3334 0,
3335 p00pfs_by::Pcr,
3336 p00pfs_by::Pcr,
3337 P00PfsBy_SPEC,
3338 crate::common::RW,
3339 >::from_register(self, 0)
3340 }
3341
3342 #[doc = "N-Channel Open-Drain Control"]
3343 #[inline(always)]
3344 pub fn ncodr(
3345 self,
3346 ) -> crate::common::RegisterField<
3347 6,
3348 0x1,
3349 1,
3350 0,
3351 p00pfs_by::Ncodr,
3352 p00pfs_by::Ncodr,
3353 P00PfsBy_SPEC,
3354 crate::common::RW,
3355 > {
3356 crate::common::RegisterField::<
3357 6,
3358 0x1,
3359 1,
3360 0,
3361 p00pfs_by::Ncodr,
3362 p00pfs_by::Ncodr,
3363 P00PfsBy_SPEC,
3364 crate::common::RW,
3365 >::from_register(self, 0)
3366 }
3367}
3368impl ::core::default::Default for P00PfsBy {
3369 #[inline(always)]
3370 fn default() -> P00PfsBy {
3371 <crate::RegValueT<P00PfsBy_SPEC> as RegisterValue<_>>::new(0)
3372 }
3373}
3374pub mod p00pfs_by {
3375
3376 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3377 pub struct Podr_SPEC;
3378 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3379 impl Podr {
3380 #[doc = "Output low"]
3381 pub const _0: Self = Self::new(0);
3382
3383 #[doc = "Output high"]
3384 pub const _1: Self = Self::new(1);
3385 }
3386 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3387 pub struct Pidr_SPEC;
3388 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3389 impl Pidr {
3390 #[doc = "Low level"]
3391 pub const _0: Self = Self::new(0);
3392
3393 #[doc = "High level"]
3394 pub const _1: Self = Self::new(1);
3395 }
3396 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3397 pub struct Pdr_SPEC;
3398 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3399 impl Pdr {
3400 #[doc = "Input (functions as an input pin)"]
3401 pub const _0: Self = Self::new(0);
3402
3403 #[doc = "Output (functions as an output pin)"]
3404 pub const _1: Self = Self::new(1);
3405 }
3406 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3407 pub struct Pcr_SPEC;
3408 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3409 impl Pcr {
3410 #[doc = "Disable input pull-up"]
3411 pub const _0: Self = Self::new(0);
3412
3413 #[doc = "Enable input pull-up"]
3414 pub const _1: Self = Self::new(1);
3415 }
3416 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3417 pub struct Ncodr_SPEC;
3418 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3419 impl Ncodr {
3420 #[doc = "Output CMOS"]
3421 pub const _0: Self = Self::new(0);
3422
3423 #[doc = "Output NMOS open-drain"]
3424 pub const _1: Self = Self::new(1);
3425 }
3426}
3427#[doc(hidden)]
3428#[derive(Copy, Clone, Eq, PartialEq)]
3429pub struct P0Pfs_SPEC;
3430impl crate::sealed::RegSpec for P0Pfs_SPEC {
3431 type DataType = u32;
3432}
3433
3434#[doc = "Port 0%s Pin Function Select Register"]
3435pub type P0Pfs = crate::RegValueT<P0Pfs_SPEC>;
3436
3437impl P0Pfs {
3438 #[doc = "Port Output Data"]
3439 #[inline(always)]
3440 pub fn podr(
3441 self,
3442 ) -> crate::common::RegisterField<
3443 0,
3444 0x1,
3445 1,
3446 0,
3447 p0pfs::Podr,
3448 p0pfs::Podr,
3449 P0Pfs_SPEC,
3450 crate::common::RW,
3451 > {
3452 crate::common::RegisterField::<
3453 0,
3454 0x1,
3455 1,
3456 0,
3457 p0pfs::Podr,
3458 p0pfs::Podr,
3459 P0Pfs_SPEC,
3460 crate::common::RW,
3461 >::from_register(self, 0)
3462 }
3463
3464 #[doc = "Port State"]
3465 #[inline(always)]
3466 pub fn pidr(
3467 self,
3468 ) -> crate::common::RegisterField<
3469 1,
3470 0x1,
3471 1,
3472 0,
3473 p0pfs::Pidr,
3474 p0pfs::Pidr,
3475 P0Pfs_SPEC,
3476 crate::common::R,
3477 > {
3478 crate::common::RegisterField::<
3479 1,
3480 0x1,
3481 1,
3482 0,
3483 p0pfs::Pidr,
3484 p0pfs::Pidr,
3485 P0Pfs_SPEC,
3486 crate::common::R,
3487 >::from_register(self, 0)
3488 }
3489
3490 #[doc = "Port Direction"]
3491 #[inline(always)]
3492 pub fn pdr(
3493 self,
3494 ) -> crate::common::RegisterField<
3495 2,
3496 0x1,
3497 1,
3498 0,
3499 p0pfs::Pdr,
3500 p0pfs::Pdr,
3501 P0Pfs_SPEC,
3502 crate::common::RW,
3503 > {
3504 crate::common::RegisterField::<
3505 2,
3506 0x1,
3507 1,
3508 0,
3509 p0pfs::Pdr,
3510 p0pfs::Pdr,
3511 P0Pfs_SPEC,
3512 crate::common::RW,
3513 >::from_register(self, 0)
3514 }
3515
3516 #[doc = "Pull-up Control"]
3517 #[inline(always)]
3518 pub fn pcr(
3519 self,
3520 ) -> crate::common::RegisterField<
3521 4,
3522 0x1,
3523 1,
3524 0,
3525 p0pfs::Pcr,
3526 p0pfs::Pcr,
3527 P0Pfs_SPEC,
3528 crate::common::RW,
3529 > {
3530 crate::common::RegisterField::<
3531 4,
3532 0x1,
3533 1,
3534 0,
3535 p0pfs::Pcr,
3536 p0pfs::Pcr,
3537 P0Pfs_SPEC,
3538 crate::common::RW,
3539 >::from_register(self, 0)
3540 }
3541
3542 #[doc = "N-Channel Open-Drain Control"]
3543 #[inline(always)]
3544 pub fn ncodr(
3545 self,
3546 ) -> crate::common::RegisterField<
3547 6,
3548 0x1,
3549 1,
3550 0,
3551 p0pfs::Ncodr,
3552 p0pfs::Ncodr,
3553 P0Pfs_SPEC,
3554 crate::common::RW,
3555 > {
3556 crate::common::RegisterField::<
3557 6,
3558 0x1,
3559 1,
3560 0,
3561 p0pfs::Ncodr,
3562 p0pfs::Ncodr,
3563 P0Pfs_SPEC,
3564 crate::common::RW,
3565 >::from_register(self, 0)
3566 }
3567
3568 #[doc = "IRQ Input Enable"]
3569 #[inline(always)]
3570 pub fn isel(
3571 self,
3572 ) -> crate::common::RegisterField<
3573 14,
3574 0x1,
3575 1,
3576 0,
3577 p0pfs::Isel,
3578 p0pfs::Isel,
3579 P0Pfs_SPEC,
3580 crate::common::RW,
3581 > {
3582 crate::common::RegisterField::<
3583 14,
3584 0x1,
3585 1,
3586 0,
3587 p0pfs::Isel,
3588 p0pfs::Isel,
3589 P0Pfs_SPEC,
3590 crate::common::RW,
3591 >::from_register(self, 0)
3592 }
3593
3594 #[doc = "Analog Input Enable"]
3595 #[inline(always)]
3596 pub fn asel(
3597 self,
3598 ) -> crate::common::RegisterField<
3599 15,
3600 0x1,
3601 1,
3602 0,
3603 p0pfs::Asel,
3604 p0pfs::Asel,
3605 P0Pfs_SPEC,
3606 crate::common::RW,
3607 > {
3608 crate::common::RegisterField::<
3609 15,
3610 0x1,
3611 1,
3612 0,
3613 p0pfs::Asel,
3614 p0pfs::Asel,
3615 P0Pfs_SPEC,
3616 crate::common::RW,
3617 >::from_register(self, 0)
3618 }
3619
3620 #[doc = "Port Mode Control"]
3621 #[inline(always)]
3622 pub fn pmr(
3623 self,
3624 ) -> crate::common::RegisterField<
3625 16,
3626 0x1,
3627 1,
3628 0,
3629 p0pfs::Pmr,
3630 p0pfs::Pmr,
3631 P0Pfs_SPEC,
3632 crate::common::RW,
3633 > {
3634 crate::common::RegisterField::<
3635 16,
3636 0x1,
3637 1,
3638 0,
3639 p0pfs::Pmr,
3640 p0pfs::Pmr,
3641 P0Pfs_SPEC,
3642 crate::common::RW,
3643 >::from_register(self, 0)
3644 }
3645
3646 #[doc = "Peripheral Select"]
3647 #[inline(always)]
3648 pub fn psel(
3649 self,
3650 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P0Pfs_SPEC, crate::common::RW> {
3651 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P0Pfs_SPEC,crate::common::RW>::from_register(self,0)
3652 }
3653}
3654impl ::core::default::Default for P0Pfs {
3655 #[inline(always)]
3656 fn default() -> P0Pfs {
3657 <crate::RegValueT<P0Pfs_SPEC> as RegisterValue<_>>::new(0)
3658 }
3659}
3660pub mod p0pfs {
3661
3662 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3663 pub struct Podr_SPEC;
3664 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3665 impl Podr {
3666 #[doc = "Output low"]
3667 pub const _0: Self = Self::new(0);
3668
3669 #[doc = "Output high"]
3670 pub const _1: Self = Self::new(1);
3671 }
3672 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3673 pub struct Pidr_SPEC;
3674 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3675 impl Pidr {
3676 #[doc = "Low level"]
3677 pub const _0: Self = Self::new(0);
3678
3679 #[doc = "High level"]
3680 pub const _1: Self = Self::new(1);
3681 }
3682 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3683 pub struct Pdr_SPEC;
3684 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3685 impl Pdr {
3686 #[doc = "Input (functions as an input pin)"]
3687 pub const _0: Self = Self::new(0);
3688
3689 #[doc = "Output (functions as an output pin)"]
3690 pub const _1: Self = Self::new(1);
3691 }
3692 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3693 pub struct Pcr_SPEC;
3694 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3695 impl Pcr {
3696 #[doc = "Disable input pull-up"]
3697 pub const _0: Self = Self::new(0);
3698
3699 #[doc = "Enable input pull-up"]
3700 pub const _1: Self = Self::new(1);
3701 }
3702 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3703 pub struct Ncodr_SPEC;
3704 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3705 impl Ncodr {
3706 #[doc = "Output CMOS"]
3707 pub const _0: Self = Self::new(0);
3708
3709 #[doc = "Output NMOS open-drain"]
3710 pub const _1: Self = Self::new(1);
3711 }
3712 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3713 pub struct Isel_SPEC;
3714 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3715 impl Isel {
3716 #[doc = "Do not use as IRQn input pin"]
3717 pub const _0: Self = Self::new(0);
3718
3719 #[doc = "Use as IRQn input pin"]
3720 pub const _1: Self = Self::new(1);
3721 }
3722 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3723 pub struct Asel_SPEC;
3724 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
3725 impl Asel {
3726 #[doc = "Do not use as analog pin"]
3727 pub const _0: Self = Self::new(0);
3728
3729 #[doc = "Use as analog pin"]
3730 pub const _1: Self = Self::new(1);
3731 }
3732 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3733 pub struct Pmr_SPEC;
3734 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
3735 impl Pmr {
3736 #[doc = "Use as general I/O pin"]
3737 pub const _0: Self = Self::new(0);
3738
3739 #[doc = "Use as I/O port for peripheral functions"]
3740 pub const _1: Self = Self::new(1);
3741 }
3742}
3743#[doc(hidden)]
3744#[derive(Copy, Clone, Eq, PartialEq)]
3745pub struct P0PfsHa_SPEC;
3746impl crate::sealed::RegSpec for P0PfsHa_SPEC {
3747 type DataType = u16;
3748}
3749
3750#[doc = "Port 0%s Pin Function Select Register"]
3751pub type P0PfsHa = crate::RegValueT<P0PfsHa_SPEC>;
3752
3753impl P0PfsHa {
3754 #[doc = "Port Output Data"]
3755 #[inline(always)]
3756 pub fn podr(
3757 self,
3758 ) -> crate::common::RegisterField<
3759 0,
3760 0x1,
3761 1,
3762 0,
3763 p0pfs_ha::Podr,
3764 p0pfs_ha::Podr,
3765 P0PfsHa_SPEC,
3766 crate::common::RW,
3767 > {
3768 crate::common::RegisterField::<
3769 0,
3770 0x1,
3771 1,
3772 0,
3773 p0pfs_ha::Podr,
3774 p0pfs_ha::Podr,
3775 P0PfsHa_SPEC,
3776 crate::common::RW,
3777 >::from_register(self, 0)
3778 }
3779
3780 #[doc = "Port State"]
3781 #[inline(always)]
3782 pub fn pidr(
3783 self,
3784 ) -> crate::common::RegisterField<
3785 1,
3786 0x1,
3787 1,
3788 0,
3789 p0pfs_ha::Pidr,
3790 p0pfs_ha::Pidr,
3791 P0PfsHa_SPEC,
3792 crate::common::R,
3793 > {
3794 crate::common::RegisterField::<
3795 1,
3796 0x1,
3797 1,
3798 0,
3799 p0pfs_ha::Pidr,
3800 p0pfs_ha::Pidr,
3801 P0PfsHa_SPEC,
3802 crate::common::R,
3803 >::from_register(self, 0)
3804 }
3805
3806 #[doc = "Port Direction"]
3807 #[inline(always)]
3808 pub fn pdr(
3809 self,
3810 ) -> crate::common::RegisterField<
3811 2,
3812 0x1,
3813 1,
3814 0,
3815 p0pfs_ha::Pdr,
3816 p0pfs_ha::Pdr,
3817 P0PfsHa_SPEC,
3818 crate::common::RW,
3819 > {
3820 crate::common::RegisterField::<
3821 2,
3822 0x1,
3823 1,
3824 0,
3825 p0pfs_ha::Pdr,
3826 p0pfs_ha::Pdr,
3827 P0PfsHa_SPEC,
3828 crate::common::RW,
3829 >::from_register(self, 0)
3830 }
3831
3832 #[doc = "Pull-up Control"]
3833 #[inline(always)]
3834 pub fn pcr(
3835 self,
3836 ) -> crate::common::RegisterField<
3837 4,
3838 0x1,
3839 1,
3840 0,
3841 p0pfs_ha::Pcr,
3842 p0pfs_ha::Pcr,
3843 P0PfsHa_SPEC,
3844 crate::common::RW,
3845 > {
3846 crate::common::RegisterField::<
3847 4,
3848 0x1,
3849 1,
3850 0,
3851 p0pfs_ha::Pcr,
3852 p0pfs_ha::Pcr,
3853 P0PfsHa_SPEC,
3854 crate::common::RW,
3855 >::from_register(self, 0)
3856 }
3857
3858 #[doc = "N-Channel Open-Drain Control"]
3859 #[inline(always)]
3860 pub fn ncodr(
3861 self,
3862 ) -> crate::common::RegisterField<
3863 6,
3864 0x1,
3865 1,
3866 0,
3867 p0pfs_ha::Ncodr,
3868 p0pfs_ha::Ncodr,
3869 P0PfsHa_SPEC,
3870 crate::common::RW,
3871 > {
3872 crate::common::RegisterField::<
3873 6,
3874 0x1,
3875 1,
3876 0,
3877 p0pfs_ha::Ncodr,
3878 p0pfs_ha::Ncodr,
3879 P0PfsHa_SPEC,
3880 crate::common::RW,
3881 >::from_register(self, 0)
3882 }
3883
3884 #[doc = "IRQ Input Enable"]
3885 #[inline(always)]
3886 pub fn isel(
3887 self,
3888 ) -> crate::common::RegisterField<
3889 14,
3890 0x1,
3891 1,
3892 0,
3893 p0pfs_ha::Isel,
3894 p0pfs_ha::Isel,
3895 P0PfsHa_SPEC,
3896 crate::common::RW,
3897 > {
3898 crate::common::RegisterField::<
3899 14,
3900 0x1,
3901 1,
3902 0,
3903 p0pfs_ha::Isel,
3904 p0pfs_ha::Isel,
3905 P0PfsHa_SPEC,
3906 crate::common::RW,
3907 >::from_register(self, 0)
3908 }
3909
3910 #[doc = "Analog Input Enable"]
3911 #[inline(always)]
3912 pub fn asel(
3913 self,
3914 ) -> crate::common::RegisterField<
3915 15,
3916 0x1,
3917 1,
3918 0,
3919 p0pfs_ha::Asel,
3920 p0pfs_ha::Asel,
3921 P0PfsHa_SPEC,
3922 crate::common::RW,
3923 > {
3924 crate::common::RegisterField::<
3925 15,
3926 0x1,
3927 1,
3928 0,
3929 p0pfs_ha::Asel,
3930 p0pfs_ha::Asel,
3931 P0PfsHa_SPEC,
3932 crate::common::RW,
3933 >::from_register(self, 0)
3934 }
3935}
3936impl ::core::default::Default for P0PfsHa {
3937 #[inline(always)]
3938 fn default() -> P0PfsHa {
3939 <crate::RegValueT<P0PfsHa_SPEC> as RegisterValue<_>>::new(0)
3940 }
3941}
3942pub mod p0pfs_ha {
3943
3944 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3945 pub struct Podr_SPEC;
3946 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3947 impl Podr {
3948 #[doc = "Output low"]
3949 pub const _0: Self = Self::new(0);
3950
3951 #[doc = "Output high"]
3952 pub const _1: Self = Self::new(1);
3953 }
3954 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3955 pub struct Pidr_SPEC;
3956 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3957 impl Pidr {
3958 #[doc = "Low level"]
3959 pub const _0: Self = Self::new(0);
3960
3961 #[doc = "High level"]
3962 pub const _1: Self = Self::new(1);
3963 }
3964 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3965 pub struct Pdr_SPEC;
3966 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3967 impl Pdr {
3968 #[doc = "Input (functions as an input pin)"]
3969 pub const _0: Self = Self::new(0);
3970
3971 #[doc = "Output (functions as an output pin)"]
3972 pub const _1: Self = Self::new(1);
3973 }
3974 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3975 pub struct Pcr_SPEC;
3976 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3977 impl Pcr {
3978 #[doc = "Disable input pull-up"]
3979 pub const _0: Self = Self::new(0);
3980
3981 #[doc = "Enable input pull-up"]
3982 pub const _1: Self = Self::new(1);
3983 }
3984 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3985 pub struct Ncodr_SPEC;
3986 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3987 impl Ncodr {
3988 #[doc = "Output CMOS"]
3989 pub const _0: Self = Self::new(0);
3990
3991 #[doc = "Output NMOS open-drain"]
3992 pub const _1: Self = Self::new(1);
3993 }
3994 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3995 pub struct Isel_SPEC;
3996 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3997 impl Isel {
3998 #[doc = "Do not use as IRQn input pin"]
3999 pub const _0: Self = Self::new(0);
4000
4001 #[doc = "Use as IRQn input pin"]
4002 pub const _1: Self = Self::new(1);
4003 }
4004 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4005 pub struct Asel_SPEC;
4006 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4007 impl Asel {
4008 #[doc = "Do not use as analog pin"]
4009 pub const _0: Self = Self::new(0);
4010
4011 #[doc = "Use as analog pin"]
4012 pub const _1: Self = Self::new(1);
4013 }
4014}
4015#[doc(hidden)]
4016#[derive(Copy, Clone, Eq, PartialEq)]
4017pub struct P0PfsBy_SPEC;
4018impl crate::sealed::RegSpec for P0PfsBy_SPEC {
4019 type DataType = u8;
4020}
4021
4022#[doc = "Port 0%s Pin Function Select Register"]
4023pub type P0PfsBy = crate::RegValueT<P0PfsBy_SPEC>;
4024
4025impl P0PfsBy {
4026 #[doc = "Port Output Data"]
4027 #[inline(always)]
4028 pub fn podr(
4029 self,
4030 ) -> crate::common::RegisterField<
4031 0,
4032 0x1,
4033 1,
4034 0,
4035 p0pfs_by::Podr,
4036 p0pfs_by::Podr,
4037 P0PfsBy_SPEC,
4038 crate::common::RW,
4039 > {
4040 crate::common::RegisterField::<
4041 0,
4042 0x1,
4043 1,
4044 0,
4045 p0pfs_by::Podr,
4046 p0pfs_by::Podr,
4047 P0PfsBy_SPEC,
4048 crate::common::RW,
4049 >::from_register(self, 0)
4050 }
4051
4052 #[doc = "Port State"]
4053 #[inline(always)]
4054 pub fn pidr(
4055 self,
4056 ) -> crate::common::RegisterField<
4057 1,
4058 0x1,
4059 1,
4060 0,
4061 p0pfs_by::Pidr,
4062 p0pfs_by::Pidr,
4063 P0PfsBy_SPEC,
4064 crate::common::R,
4065 > {
4066 crate::common::RegisterField::<
4067 1,
4068 0x1,
4069 1,
4070 0,
4071 p0pfs_by::Pidr,
4072 p0pfs_by::Pidr,
4073 P0PfsBy_SPEC,
4074 crate::common::R,
4075 >::from_register(self, 0)
4076 }
4077
4078 #[doc = "Port Direction"]
4079 #[inline(always)]
4080 pub fn pdr(
4081 self,
4082 ) -> crate::common::RegisterField<
4083 2,
4084 0x1,
4085 1,
4086 0,
4087 p0pfs_by::Pdr,
4088 p0pfs_by::Pdr,
4089 P0PfsBy_SPEC,
4090 crate::common::RW,
4091 > {
4092 crate::common::RegisterField::<
4093 2,
4094 0x1,
4095 1,
4096 0,
4097 p0pfs_by::Pdr,
4098 p0pfs_by::Pdr,
4099 P0PfsBy_SPEC,
4100 crate::common::RW,
4101 >::from_register(self, 0)
4102 }
4103
4104 #[doc = "Pull-up Control"]
4105 #[inline(always)]
4106 pub fn pcr(
4107 self,
4108 ) -> crate::common::RegisterField<
4109 4,
4110 0x1,
4111 1,
4112 0,
4113 p0pfs_by::Pcr,
4114 p0pfs_by::Pcr,
4115 P0PfsBy_SPEC,
4116 crate::common::RW,
4117 > {
4118 crate::common::RegisterField::<
4119 4,
4120 0x1,
4121 1,
4122 0,
4123 p0pfs_by::Pcr,
4124 p0pfs_by::Pcr,
4125 P0PfsBy_SPEC,
4126 crate::common::RW,
4127 >::from_register(self, 0)
4128 }
4129
4130 #[doc = "N-Channel Open-Drain Control"]
4131 #[inline(always)]
4132 pub fn ncodr(
4133 self,
4134 ) -> crate::common::RegisterField<
4135 6,
4136 0x1,
4137 1,
4138 0,
4139 p0pfs_by::Ncodr,
4140 p0pfs_by::Ncodr,
4141 P0PfsBy_SPEC,
4142 crate::common::RW,
4143 > {
4144 crate::common::RegisterField::<
4145 6,
4146 0x1,
4147 1,
4148 0,
4149 p0pfs_by::Ncodr,
4150 p0pfs_by::Ncodr,
4151 P0PfsBy_SPEC,
4152 crate::common::RW,
4153 >::from_register(self, 0)
4154 }
4155}
4156impl ::core::default::Default for P0PfsBy {
4157 #[inline(always)]
4158 fn default() -> P0PfsBy {
4159 <crate::RegValueT<P0PfsBy_SPEC> as RegisterValue<_>>::new(0)
4160 }
4161}
4162pub mod p0pfs_by {
4163
4164 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4165 pub struct Podr_SPEC;
4166 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4167 impl Podr {
4168 #[doc = "Output low"]
4169 pub const _0: Self = Self::new(0);
4170
4171 #[doc = "Output high"]
4172 pub const _1: Self = Self::new(1);
4173 }
4174 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4175 pub struct Pidr_SPEC;
4176 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4177 impl Pidr {
4178 #[doc = "Low level"]
4179 pub const _0: Self = Self::new(0);
4180
4181 #[doc = "High level"]
4182 pub const _1: Self = Self::new(1);
4183 }
4184 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4185 pub struct Pdr_SPEC;
4186 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4187 impl Pdr {
4188 #[doc = "Input (functions as an input pin)"]
4189 pub const _0: Self = Self::new(0);
4190
4191 #[doc = "Output (functions as an output pin)"]
4192 pub const _1: Self = Self::new(1);
4193 }
4194 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4195 pub struct Pcr_SPEC;
4196 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4197 impl Pcr {
4198 #[doc = "Disable input pull-up"]
4199 pub const _0: Self = Self::new(0);
4200
4201 #[doc = "Enable input pull-up"]
4202 pub const _1: Self = Self::new(1);
4203 }
4204 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4205 pub struct Ncodr_SPEC;
4206 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4207 impl Ncodr {
4208 #[doc = "Output CMOS"]
4209 pub const _0: Self = Self::new(0);
4210
4211 #[doc = "Output NMOS open-drain"]
4212 pub const _1: Self = Self::new(1);
4213 }
4214}
4215#[doc(hidden)]
4216#[derive(Copy, Clone, Eq, PartialEq)]
4217pub struct P10Pfs_SPEC;
4218impl crate::sealed::RegSpec for P10Pfs_SPEC {
4219 type DataType = u32;
4220}
4221
4222#[doc = "Port 10%s Pin Function Select Register"]
4223pub type P10Pfs = crate::RegValueT<P10Pfs_SPEC>;
4224
4225impl P10Pfs {
4226 #[doc = "Port Output Data"]
4227 #[inline(always)]
4228 pub fn podr(
4229 self,
4230 ) -> crate::common::RegisterField<
4231 0,
4232 0x1,
4233 1,
4234 0,
4235 p10pfs::Podr,
4236 p10pfs::Podr,
4237 P10Pfs_SPEC,
4238 crate::common::RW,
4239 > {
4240 crate::common::RegisterField::<
4241 0,
4242 0x1,
4243 1,
4244 0,
4245 p10pfs::Podr,
4246 p10pfs::Podr,
4247 P10Pfs_SPEC,
4248 crate::common::RW,
4249 >::from_register(self, 0)
4250 }
4251
4252 #[doc = "Port State"]
4253 #[inline(always)]
4254 pub fn pidr(
4255 self,
4256 ) -> crate::common::RegisterField<
4257 1,
4258 0x1,
4259 1,
4260 0,
4261 p10pfs::Pidr,
4262 p10pfs::Pidr,
4263 P10Pfs_SPEC,
4264 crate::common::R,
4265 > {
4266 crate::common::RegisterField::<
4267 1,
4268 0x1,
4269 1,
4270 0,
4271 p10pfs::Pidr,
4272 p10pfs::Pidr,
4273 P10Pfs_SPEC,
4274 crate::common::R,
4275 >::from_register(self, 0)
4276 }
4277
4278 #[doc = "Port Direction"]
4279 #[inline(always)]
4280 pub fn pdr(
4281 self,
4282 ) -> crate::common::RegisterField<
4283 2,
4284 0x1,
4285 1,
4286 0,
4287 p10pfs::Pdr,
4288 p10pfs::Pdr,
4289 P10Pfs_SPEC,
4290 crate::common::RW,
4291 > {
4292 crate::common::RegisterField::<
4293 2,
4294 0x1,
4295 1,
4296 0,
4297 p10pfs::Pdr,
4298 p10pfs::Pdr,
4299 P10Pfs_SPEC,
4300 crate::common::RW,
4301 >::from_register(self, 0)
4302 }
4303
4304 #[doc = "Pull-up Control"]
4305 #[inline(always)]
4306 pub fn pcr(
4307 self,
4308 ) -> crate::common::RegisterField<
4309 4,
4310 0x1,
4311 1,
4312 0,
4313 p10pfs::Pcr,
4314 p10pfs::Pcr,
4315 P10Pfs_SPEC,
4316 crate::common::RW,
4317 > {
4318 crate::common::RegisterField::<
4319 4,
4320 0x1,
4321 1,
4322 0,
4323 p10pfs::Pcr,
4324 p10pfs::Pcr,
4325 P10Pfs_SPEC,
4326 crate::common::RW,
4327 >::from_register(self, 0)
4328 }
4329
4330 #[doc = "N-Channel Open-Drain Control"]
4331 #[inline(always)]
4332 pub fn ncodr(
4333 self,
4334 ) -> crate::common::RegisterField<
4335 6,
4336 0x1,
4337 1,
4338 0,
4339 p10pfs::Ncodr,
4340 p10pfs::Ncodr,
4341 P10Pfs_SPEC,
4342 crate::common::RW,
4343 > {
4344 crate::common::RegisterField::<
4345 6,
4346 0x1,
4347 1,
4348 0,
4349 p10pfs::Ncodr,
4350 p10pfs::Ncodr,
4351 P10Pfs_SPEC,
4352 crate::common::RW,
4353 >::from_register(self, 0)
4354 }
4355
4356 #[doc = "Event on Falling/Event on Rising"]
4357 #[inline(always)]
4358 pub fn eofr(
4359 self,
4360 ) -> crate::common::RegisterField<
4361 12,
4362 0x3,
4363 1,
4364 0,
4365 p10pfs::Eofr,
4366 p10pfs::Eofr,
4367 P10Pfs_SPEC,
4368 crate::common::RW,
4369 > {
4370 crate::common::RegisterField::<
4371 12,
4372 0x3,
4373 1,
4374 0,
4375 p10pfs::Eofr,
4376 p10pfs::Eofr,
4377 P10Pfs_SPEC,
4378 crate::common::RW,
4379 >::from_register(self, 0)
4380 }
4381
4382 #[doc = "IRQ Input Enable"]
4383 #[inline(always)]
4384 pub fn isel(
4385 self,
4386 ) -> crate::common::RegisterField<
4387 14,
4388 0x1,
4389 1,
4390 0,
4391 p10pfs::Isel,
4392 p10pfs::Isel,
4393 P10Pfs_SPEC,
4394 crate::common::RW,
4395 > {
4396 crate::common::RegisterField::<
4397 14,
4398 0x1,
4399 1,
4400 0,
4401 p10pfs::Isel,
4402 p10pfs::Isel,
4403 P10Pfs_SPEC,
4404 crate::common::RW,
4405 >::from_register(self, 0)
4406 }
4407
4408 #[doc = "Analog Input Enable"]
4409 #[inline(always)]
4410 pub fn asel(
4411 self,
4412 ) -> crate::common::RegisterField<
4413 15,
4414 0x1,
4415 1,
4416 0,
4417 p10pfs::Asel,
4418 p10pfs::Asel,
4419 P10Pfs_SPEC,
4420 crate::common::RW,
4421 > {
4422 crate::common::RegisterField::<
4423 15,
4424 0x1,
4425 1,
4426 0,
4427 p10pfs::Asel,
4428 p10pfs::Asel,
4429 P10Pfs_SPEC,
4430 crate::common::RW,
4431 >::from_register(self, 0)
4432 }
4433
4434 #[doc = "Port Mode Control"]
4435 #[inline(always)]
4436 pub fn pmr(
4437 self,
4438 ) -> crate::common::RegisterField<
4439 16,
4440 0x1,
4441 1,
4442 0,
4443 p10pfs::Pmr,
4444 p10pfs::Pmr,
4445 P10Pfs_SPEC,
4446 crate::common::RW,
4447 > {
4448 crate::common::RegisterField::<
4449 16,
4450 0x1,
4451 1,
4452 0,
4453 p10pfs::Pmr,
4454 p10pfs::Pmr,
4455 P10Pfs_SPEC,
4456 crate::common::RW,
4457 >::from_register(self, 0)
4458 }
4459
4460 #[doc = "Peripheral Select"]
4461 #[inline(always)]
4462 pub fn psel(
4463 self,
4464 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P10Pfs_SPEC, crate::common::RW> {
4465 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P10Pfs_SPEC,crate::common::RW>::from_register(self,0)
4466 }
4467}
4468impl ::core::default::Default for P10Pfs {
4469 #[inline(always)]
4470 fn default() -> P10Pfs {
4471 <crate::RegValueT<P10Pfs_SPEC> as RegisterValue<_>>::new(0)
4472 }
4473}
4474pub mod p10pfs {
4475
4476 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4477 pub struct Podr_SPEC;
4478 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4479 impl Podr {
4480 #[doc = "Output low"]
4481 pub const _0: Self = Self::new(0);
4482
4483 #[doc = "Output high"]
4484 pub const _1: Self = Self::new(1);
4485 }
4486 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4487 pub struct Pidr_SPEC;
4488 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4489 impl Pidr {
4490 #[doc = "Low level"]
4491 pub const _0: Self = Self::new(0);
4492
4493 #[doc = "High level"]
4494 pub const _1: Self = Self::new(1);
4495 }
4496 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4497 pub struct Pdr_SPEC;
4498 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4499 impl Pdr {
4500 #[doc = "Input (functions as an input pin)"]
4501 pub const _0: Self = Self::new(0);
4502
4503 #[doc = "Output (functions as an output pin)"]
4504 pub const _1: Self = Self::new(1);
4505 }
4506 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4507 pub struct Pcr_SPEC;
4508 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4509 impl Pcr {
4510 #[doc = "Disable input pull-up"]
4511 pub const _0: Self = Self::new(0);
4512
4513 #[doc = "Enable input pull-up"]
4514 pub const _1: Self = Self::new(1);
4515 }
4516 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4517 pub struct Ncodr_SPEC;
4518 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4519 impl Ncodr {
4520 #[doc = "Output CMOS"]
4521 pub const _0: Self = Self::new(0);
4522
4523 #[doc = "Output NMOS open-drain"]
4524 pub const _1: Self = Self::new(1);
4525 }
4526 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4527 pub struct Eofr_SPEC;
4528 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
4529 impl Eofr {
4530 #[doc = "Don\'t care"]
4531 pub const _00: Self = Self::new(0);
4532
4533 #[doc = "Detect rising edge"]
4534 pub const _01: Self = Self::new(1);
4535
4536 #[doc = "Detect falling edge"]
4537 pub const _10: Self = Self::new(2);
4538
4539 #[doc = "Detect both edges"]
4540 pub const _11: Self = Self::new(3);
4541 }
4542 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4543 pub struct Isel_SPEC;
4544 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4545 impl Isel {
4546 #[doc = "Do not use as IRQn input pin"]
4547 pub const _0: Self = Self::new(0);
4548
4549 #[doc = "Use as IRQn input pin"]
4550 pub const _1: Self = Self::new(1);
4551 }
4552 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4553 pub struct Asel_SPEC;
4554 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4555 impl Asel {
4556 #[doc = "Do not use as analog pin"]
4557 pub const _0: Self = Self::new(0);
4558
4559 #[doc = "Use as analog pin"]
4560 pub const _1: Self = Self::new(1);
4561 }
4562 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4563 pub struct Pmr_SPEC;
4564 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
4565 impl Pmr {
4566 #[doc = "Use as general I/O pin"]
4567 pub const _0: Self = Self::new(0);
4568
4569 #[doc = "Use as I/O port for peripheral functions"]
4570 pub const _1: Self = Self::new(1);
4571 }
4572}
4573#[doc(hidden)]
4574#[derive(Copy, Clone, Eq, PartialEq)]
4575pub struct P10PfsHa_SPEC;
4576impl crate::sealed::RegSpec for P10PfsHa_SPEC {
4577 type DataType = u16;
4578}
4579
4580#[doc = "Port 10%s Pin Function Select Register"]
4581pub type P10PfsHa = crate::RegValueT<P10PfsHa_SPEC>;
4582
4583impl P10PfsHa {
4584 #[doc = "Port Output Data"]
4585 #[inline(always)]
4586 pub fn podr(
4587 self,
4588 ) -> crate::common::RegisterField<
4589 0,
4590 0x1,
4591 1,
4592 0,
4593 p10pfs_ha::Podr,
4594 p10pfs_ha::Podr,
4595 P10PfsHa_SPEC,
4596 crate::common::RW,
4597 > {
4598 crate::common::RegisterField::<
4599 0,
4600 0x1,
4601 1,
4602 0,
4603 p10pfs_ha::Podr,
4604 p10pfs_ha::Podr,
4605 P10PfsHa_SPEC,
4606 crate::common::RW,
4607 >::from_register(self, 0)
4608 }
4609
4610 #[doc = "Port State"]
4611 #[inline(always)]
4612 pub fn pidr(
4613 self,
4614 ) -> crate::common::RegisterField<
4615 1,
4616 0x1,
4617 1,
4618 0,
4619 p10pfs_ha::Pidr,
4620 p10pfs_ha::Pidr,
4621 P10PfsHa_SPEC,
4622 crate::common::R,
4623 > {
4624 crate::common::RegisterField::<
4625 1,
4626 0x1,
4627 1,
4628 0,
4629 p10pfs_ha::Pidr,
4630 p10pfs_ha::Pidr,
4631 P10PfsHa_SPEC,
4632 crate::common::R,
4633 >::from_register(self, 0)
4634 }
4635
4636 #[doc = "Port Direction"]
4637 #[inline(always)]
4638 pub fn pdr(
4639 self,
4640 ) -> crate::common::RegisterField<
4641 2,
4642 0x1,
4643 1,
4644 0,
4645 p10pfs_ha::Pdr,
4646 p10pfs_ha::Pdr,
4647 P10PfsHa_SPEC,
4648 crate::common::RW,
4649 > {
4650 crate::common::RegisterField::<
4651 2,
4652 0x1,
4653 1,
4654 0,
4655 p10pfs_ha::Pdr,
4656 p10pfs_ha::Pdr,
4657 P10PfsHa_SPEC,
4658 crate::common::RW,
4659 >::from_register(self, 0)
4660 }
4661
4662 #[doc = "Pull-up Control"]
4663 #[inline(always)]
4664 pub fn pcr(
4665 self,
4666 ) -> crate::common::RegisterField<
4667 4,
4668 0x1,
4669 1,
4670 0,
4671 p10pfs_ha::Pcr,
4672 p10pfs_ha::Pcr,
4673 P10PfsHa_SPEC,
4674 crate::common::RW,
4675 > {
4676 crate::common::RegisterField::<
4677 4,
4678 0x1,
4679 1,
4680 0,
4681 p10pfs_ha::Pcr,
4682 p10pfs_ha::Pcr,
4683 P10PfsHa_SPEC,
4684 crate::common::RW,
4685 >::from_register(self, 0)
4686 }
4687
4688 #[doc = "N-Channel Open-Drain Control"]
4689 #[inline(always)]
4690 pub fn ncodr(
4691 self,
4692 ) -> crate::common::RegisterField<
4693 6,
4694 0x1,
4695 1,
4696 0,
4697 p10pfs_ha::Ncodr,
4698 p10pfs_ha::Ncodr,
4699 P10PfsHa_SPEC,
4700 crate::common::RW,
4701 > {
4702 crate::common::RegisterField::<
4703 6,
4704 0x1,
4705 1,
4706 0,
4707 p10pfs_ha::Ncodr,
4708 p10pfs_ha::Ncodr,
4709 P10PfsHa_SPEC,
4710 crate::common::RW,
4711 >::from_register(self, 0)
4712 }
4713
4714 #[doc = "Event on Falling/Event on Rising"]
4715 #[inline(always)]
4716 pub fn eofr(
4717 self,
4718 ) -> crate::common::RegisterField<
4719 12,
4720 0x3,
4721 1,
4722 0,
4723 p10pfs_ha::Eofr,
4724 p10pfs_ha::Eofr,
4725 P10PfsHa_SPEC,
4726 crate::common::RW,
4727 > {
4728 crate::common::RegisterField::<
4729 12,
4730 0x3,
4731 1,
4732 0,
4733 p10pfs_ha::Eofr,
4734 p10pfs_ha::Eofr,
4735 P10PfsHa_SPEC,
4736 crate::common::RW,
4737 >::from_register(self, 0)
4738 }
4739
4740 #[doc = "IRQ Input Enable"]
4741 #[inline(always)]
4742 pub fn isel(
4743 self,
4744 ) -> crate::common::RegisterField<
4745 14,
4746 0x1,
4747 1,
4748 0,
4749 p10pfs_ha::Isel,
4750 p10pfs_ha::Isel,
4751 P10PfsHa_SPEC,
4752 crate::common::RW,
4753 > {
4754 crate::common::RegisterField::<
4755 14,
4756 0x1,
4757 1,
4758 0,
4759 p10pfs_ha::Isel,
4760 p10pfs_ha::Isel,
4761 P10PfsHa_SPEC,
4762 crate::common::RW,
4763 >::from_register(self, 0)
4764 }
4765
4766 #[doc = "Analog Input Enable"]
4767 #[inline(always)]
4768 pub fn asel(
4769 self,
4770 ) -> crate::common::RegisterField<
4771 15,
4772 0x1,
4773 1,
4774 0,
4775 p10pfs_ha::Asel,
4776 p10pfs_ha::Asel,
4777 P10PfsHa_SPEC,
4778 crate::common::RW,
4779 > {
4780 crate::common::RegisterField::<
4781 15,
4782 0x1,
4783 1,
4784 0,
4785 p10pfs_ha::Asel,
4786 p10pfs_ha::Asel,
4787 P10PfsHa_SPEC,
4788 crate::common::RW,
4789 >::from_register(self, 0)
4790 }
4791}
4792impl ::core::default::Default for P10PfsHa {
4793 #[inline(always)]
4794 fn default() -> P10PfsHa {
4795 <crate::RegValueT<P10PfsHa_SPEC> as RegisterValue<_>>::new(0)
4796 }
4797}
4798pub mod p10pfs_ha {
4799
4800 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4801 pub struct Podr_SPEC;
4802 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4803 impl Podr {
4804 #[doc = "Output low"]
4805 pub const _0: Self = Self::new(0);
4806
4807 #[doc = "Output high"]
4808 pub const _1: Self = Self::new(1);
4809 }
4810 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4811 pub struct Pidr_SPEC;
4812 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4813 impl Pidr {
4814 #[doc = "Low level"]
4815 pub const _0: Self = Self::new(0);
4816
4817 #[doc = "High level"]
4818 pub const _1: Self = Self::new(1);
4819 }
4820 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4821 pub struct Pdr_SPEC;
4822 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4823 impl Pdr {
4824 #[doc = "Input (functions as an input pin)"]
4825 pub const _0: Self = Self::new(0);
4826
4827 #[doc = "Output (functions as an output pin)"]
4828 pub const _1: Self = Self::new(1);
4829 }
4830 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4831 pub struct Pcr_SPEC;
4832 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4833 impl Pcr {
4834 #[doc = "Disable input pull-up"]
4835 pub const _0: Self = Self::new(0);
4836
4837 #[doc = "Enable input pull-up"]
4838 pub const _1: Self = Self::new(1);
4839 }
4840 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4841 pub struct Ncodr_SPEC;
4842 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4843 impl Ncodr {
4844 #[doc = "Output CMOS"]
4845 pub const _0: Self = Self::new(0);
4846
4847 #[doc = "Output NMOS open-drain"]
4848 pub const _1: Self = Self::new(1);
4849 }
4850 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4851 pub struct Eofr_SPEC;
4852 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
4853 impl Eofr {
4854 #[doc = "Don\'t care"]
4855 pub const _00: Self = Self::new(0);
4856
4857 #[doc = "Detect rising edge"]
4858 pub const _01: Self = Self::new(1);
4859
4860 #[doc = "Detect falling edge"]
4861 pub const _10: Self = Self::new(2);
4862
4863 #[doc = "Detect both edges"]
4864 pub const _11: Self = Self::new(3);
4865 }
4866 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4867 pub struct Isel_SPEC;
4868 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4869 impl Isel {
4870 #[doc = "Do not use as IRQn input pin"]
4871 pub const _0: Self = Self::new(0);
4872
4873 #[doc = "Use as IRQn input pin"]
4874 pub const _1: Self = Self::new(1);
4875 }
4876 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4877 pub struct Asel_SPEC;
4878 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4879 impl Asel {
4880 #[doc = "Do not use as analog pin"]
4881 pub const _0: Self = Self::new(0);
4882
4883 #[doc = "Use as analog pin"]
4884 pub const _1: Self = Self::new(1);
4885 }
4886}
4887#[doc(hidden)]
4888#[derive(Copy, Clone, Eq, PartialEq)]
4889pub struct P10PfsBy_SPEC;
4890impl crate::sealed::RegSpec for P10PfsBy_SPEC {
4891 type DataType = u8;
4892}
4893
4894#[doc = "Port 10%s Pin Function Select Register"]
4895pub type P10PfsBy = crate::RegValueT<P10PfsBy_SPEC>;
4896
4897impl P10PfsBy {
4898 #[doc = "Port Output Data"]
4899 #[inline(always)]
4900 pub fn podr(
4901 self,
4902 ) -> crate::common::RegisterField<
4903 0,
4904 0x1,
4905 1,
4906 0,
4907 p10pfs_by::Podr,
4908 p10pfs_by::Podr,
4909 P10PfsBy_SPEC,
4910 crate::common::RW,
4911 > {
4912 crate::common::RegisterField::<
4913 0,
4914 0x1,
4915 1,
4916 0,
4917 p10pfs_by::Podr,
4918 p10pfs_by::Podr,
4919 P10PfsBy_SPEC,
4920 crate::common::RW,
4921 >::from_register(self, 0)
4922 }
4923
4924 #[doc = "Port State"]
4925 #[inline(always)]
4926 pub fn pidr(
4927 self,
4928 ) -> crate::common::RegisterField<
4929 1,
4930 0x1,
4931 1,
4932 0,
4933 p10pfs_by::Pidr,
4934 p10pfs_by::Pidr,
4935 P10PfsBy_SPEC,
4936 crate::common::R,
4937 > {
4938 crate::common::RegisterField::<
4939 1,
4940 0x1,
4941 1,
4942 0,
4943 p10pfs_by::Pidr,
4944 p10pfs_by::Pidr,
4945 P10PfsBy_SPEC,
4946 crate::common::R,
4947 >::from_register(self, 0)
4948 }
4949
4950 #[doc = "Port Direction"]
4951 #[inline(always)]
4952 pub fn pdr(
4953 self,
4954 ) -> crate::common::RegisterField<
4955 2,
4956 0x1,
4957 1,
4958 0,
4959 p10pfs_by::Pdr,
4960 p10pfs_by::Pdr,
4961 P10PfsBy_SPEC,
4962 crate::common::RW,
4963 > {
4964 crate::common::RegisterField::<
4965 2,
4966 0x1,
4967 1,
4968 0,
4969 p10pfs_by::Pdr,
4970 p10pfs_by::Pdr,
4971 P10PfsBy_SPEC,
4972 crate::common::RW,
4973 >::from_register(self, 0)
4974 }
4975
4976 #[doc = "Pull-up Control"]
4977 #[inline(always)]
4978 pub fn pcr(
4979 self,
4980 ) -> crate::common::RegisterField<
4981 4,
4982 0x1,
4983 1,
4984 0,
4985 p10pfs_by::Pcr,
4986 p10pfs_by::Pcr,
4987 P10PfsBy_SPEC,
4988 crate::common::RW,
4989 > {
4990 crate::common::RegisterField::<
4991 4,
4992 0x1,
4993 1,
4994 0,
4995 p10pfs_by::Pcr,
4996 p10pfs_by::Pcr,
4997 P10PfsBy_SPEC,
4998 crate::common::RW,
4999 >::from_register(self, 0)
5000 }
5001
5002 #[doc = "N-Channel Open-Drain Control"]
5003 #[inline(always)]
5004 pub fn ncodr(
5005 self,
5006 ) -> crate::common::RegisterField<
5007 6,
5008 0x1,
5009 1,
5010 0,
5011 p10pfs_by::Ncodr,
5012 p10pfs_by::Ncodr,
5013 P10PfsBy_SPEC,
5014 crate::common::RW,
5015 > {
5016 crate::common::RegisterField::<
5017 6,
5018 0x1,
5019 1,
5020 0,
5021 p10pfs_by::Ncodr,
5022 p10pfs_by::Ncodr,
5023 P10PfsBy_SPEC,
5024 crate::common::RW,
5025 >::from_register(self, 0)
5026 }
5027}
5028impl ::core::default::Default for P10PfsBy {
5029 #[inline(always)]
5030 fn default() -> P10PfsBy {
5031 <crate::RegValueT<P10PfsBy_SPEC> as RegisterValue<_>>::new(0)
5032 }
5033}
5034pub mod p10pfs_by {
5035
5036 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5037 pub struct Podr_SPEC;
5038 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5039 impl Podr {
5040 #[doc = "Output low"]
5041 pub const _0: Self = Self::new(0);
5042
5043 #[doc = "Output high"]
5044 pub const _1: Self = Self::new(1);
5045 }
5046 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5047 pub struct Pidr_SPEC;
5048 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5049 impl Pidr {
5050 #[doc = "Low level"]
5051 pub const _0: Self = Self::new(0);
5052
5053 #[doc = "High level"]
5054 pub const _1: Self = Self::new(1);
5055 }
5056 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5057 pub struct Pdr_SPEC;
5058 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5059 impl Pdr {
5060 #[doc = "Input (functions as an input pin)"]
5061 pub const _0: Self = Self::new(0);
5062
5063 #[doc = "Output (functions as an output pin)"]
5064 pub const _1: Self = Self::new(1);
5065 }
5066 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5067 pub struct Pcr_SPEC;
5068 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5069 impl Pcr {
5070 #[doc = "Disable input pull-up"]
5071 pub const _0: Self = Self::new(0);
5072
5073 #[doc = "Enable input pull-up"]
5074 pub const _1: Self = Self::new(1);
5075 }
5076 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5077 pub struct Ncodr_SPEC;
5078 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5079 impl Ncodr {
5080 #[doc = "Output CMOS"]
5081 pub const _0: Self = Self::new(0);
5082
5083 #[doc = "Output NMOS open-drain"]
5084 pub const _1: Self = Self::new(1);
5085 }
5086}
5087#[doc(hidden)]
5088#[derive(Copy, Clone, Eq, PartialEq)]
5089pub struct P108Pfs_SPEC;
5090impl crate::sealed::RegSpec for P108Pfs_SPEC {
5091 type DataType = u32;
5092}
5093
5094#[doc = "Port 108 Pin Function Select Register"]
5095pub type P108Pfs = crate::RegValueT<P108Pfs_SPEC>;
5096
5097impl P108Pfs {
5098 #[doc = "Port Output Data"]
5099 #[inline(always)]
5100 pub fn podr(
5101 self,
5102 ) -> crate::common::RegisterField<
5103 0,
5104 0x1,
5105 1,
5106 0,
5107 p108pfs::Podr,
5108 p108pfs::Podr,
5109 P108Pfs_SPEC,
5110 crate::common::RW,
5111 > {
5112 crate::common::RegisterField::<
5113 0,
5114 0x1,
5115 1,
5116 0,
5117 p108pfs::Podr,
5118 p108pfs::Podr,
5119 P108Pfs_SPEC,
5120 crate::common::RW,
5121 >::from_register(self, 0)
5122 }
5123
5124 #[doc = "Port State"]
5125 #[inline(always)]
5126 pub fn pidr(
5127 self,
5128 ) -> crate::common::RegisterField<
5129 1,
5130 0x1,
5131 1,
5132 0,
5133 p108pfs::Pidr,
5134 p108pfs::Pidr,
5135 P108Pfs_SPEC,
5136 crate::common::R,
5137 > {
5138 crate::common::RegisterField::<
5139 1,
5140 0x1,
5141 1,
5142 0,
5143 p108pfs::Pidr,
5144 p108pfs::Pidr,
5145 P108Pfs_SPEC,
5146 crate::common::R,
5147 >::from_register(self, 0)
5148 }
5149
5150 #[doc = "Port Direction"]
5151 #[inline(always)]
5152 pub fn pdr(
5153 self,
5154 ) -> crate::common::RegisterField<
5155 2,
5156 0x1,
5157 1,
5158 0,
5159 p108pfs::Pdr,
5160 p108pfs::Pdr,
5161 P108Pfs_SPEC,
5162 crate::common::RW,
5163 > {
5164 crate::common::RegisterField::<
5165 2,
5166 0x1,
5167 1,
5168 0,
5169 p108pfs::Pdr,
5170 p108pfs::Pdr,
5171 P108Pfs_SPEC,
5172 crate::common::RW,
5173 >::from_register(self, 0)
5174 }
5175
5176 #[doc = "Pull-up Control"]
5177 #[inline(always)]
5178 pub fn pcr(
5179 self,
5180 ) -> crate::common::RegisterField<
5181 4,
5182 0x1,
5183 1,
5184 0,
5185 p108pfs::Pcr,
5186 p108pfs::Pcr,
5187 P108Pfs_SPEC,
5188 crate::common::RW,
5189 > {
5190 crate::common::RegisterField::<
5191 4,
5192 0x1,
5193 1,
5194 0,
5195 p108pfs::Pcr,
5196 p108pfs::Pcr,
5197 P108Pfs_SPEC,
5198 crate::common::RW,
5199 >::from_register(self, 0)
5200 }
5201
5202 #[doc = "N-Channel Open-Drain Control"]
5203 #[inline(always)]
5204 pub fn ncodr(
5205 self,
5206 ) -> crate::common::RegisterField<
5207 6,
5208 0x1,
5209 1,
5210 0,
5211 p108pfs::Ncodr,
5212 p108pfs::Ncodr,
5213 P108Pfs_SPEC,
5214 crate::common::RW,
5215 > {
5216 crate::common::RegisterField::<
5217 6,
5218 0x1,
5219 1,
5220 0,
5221 p108pfs::Ncodr,
5222 p108pfs::Ncodr,
5223 P108Pfs_SPEC,
5224 crate::common::RW,
5225 >::from_register(self, 0)
5226 }
5227
5228 #[doc = "Event on Falling/Event on Rising"]
5229 #[inline(always)]
5230 pub fn eofr(
5231 self,
5232 ) -> crate::common::RegisterField<
5233 12,
5234 0x3,
5235 1,
5236 0,
5237 p108pfs::Eofr,
5238 p108pfs::Eofr,
5239 P108Pfs_SPEC,
5240 crate::common::RW,
5241 > {
5242 crate::common::RegisterField::<
5243 12,
5244 0x3,
5245 1,
5246 0,
5247 p108pfs::Eofr,
5248 p108pfs::Eofr,
5249 P108Pfs_SPEC,
5250 crate::common::RW,
5251 >::from_register(self, 0)
5252 }
5253
5254 #[doc = "IRQ Input Enable"]
5255 #[inline(always)]
5256 pub fn isel(
5257 self,
5258 ) -> crate::common::RegisterField<
5259 14,
5260 0x1,
5261 1,
5262 0,
5263 p108pfs::Isel,
5264 p108pfs::Isel,
5265 P108Pfs_SPEC,
5266 crate::common::RW,
5267 > {
5268 crate::common::RegisterField::<
5269 14,
5270 0x1,
5271 1,
5272 0,
5273 p108pfs::Isel,
5274 p108pfs::Isel,
5275 P108Pfs_SPEC,
5276 crate::common::RW,
5277 >::from_register(self, 0)
5278 }
5279
5280 #[doc = "Analog Input Enable"]
5281 #[inline(always)]
5282 pub fn asel(
5283 self,
5284 ) -> crate::common::RegisterField<
5285 15,
5286 0x1,
5287 1,
5288 0,
5289 p108pfs::Asel,
5290 p108pfs::Asel,
5291 P108Pfs_SPEC,
5292 crate::common::RW,
5293 > {
5294 crate::common::RegisterField::<
5295 15,
5296 0x1,
5297 1,
5298 0,
5299 p108pfs::Asel,
5300 p108pfs::Asel,
5301 P108Pfs_SPEC,
5302 crate::common::RW,
5303 >::from_register(self, 0)
5304 }
5305
5306 #[doc = "Port Mode Control"]
5307 #[inline(always)]
5308 pub fn pmr(
5309 self,
5310 ) -> crate::common::RegisterField<
5311 16,
5312 0x1,
5313 1,
5314 0,
5315 p108pfs::Pmr,
5316 p108pfs::Pmr,
5317 P108Pfs_SPEC,
5318 crate::common::RW,
5319 > {
5320 crate::common::RegisterField::<
5321 16,
5322 0x1,
5323 1,
5324 0,
5325 p108pfs::Pmr,
5326 p108pfs::Pmr,
5327 P108Pfs_SPEC,
5328 crate::common::RW,
5329 >::from_register(self, 0)
5330 }
5331
5332 #[doc = "Peripheral Select"]
5333 #[inline(always)]
5334 pub fn psel(
5335 self,
5336 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P108Pfs_SPEC, crate::common::RW> {
5337 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P108Pfs_SPEC,crate::common::RW>::from_register(self,0)
5338 }
5339}
5340impl ::core::default::Default for P108Pfs {
5341 #[inline(always)]
5342 fn default() -> P108Pfs {
5343 <crate::RegValueT<P108Pfs_SPEC> as RegisterValue<_>>::new(65552)
5344 }
5345}
5346pub mod p108pfs {
5347
5348 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5349 pub struct Podr_SPEC;
5350 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5351 impl Podr {
5352 #[doc = "Output low"]
5353 pub const _0: Self = Self::new(0);
5354
5355 #[doc = "Output high"]
5356 pub const _1: Self = Self::new(1);
5357 }
5358 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5359 pub struct Pidr_SPEC;
5360 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5361 impl Pidr {
5362 #[doc = "Low level"]
5363 pub const _0: Self = Self::new(0);
5364
5365 #[doc = "High level"]
5366 pub const _1: Self = Self::new(1);
5367 }
5368 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5369 pub struct Pdr_SPEC;
5370 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5371 impl Pdr {
5372 #[doc = "Input (functions as an input pin)"]
5373 pub const _0: Self = Self::new(0);
5374
5375 #[doc = "Output (functions as an output pin)"]
5376 pub const _1: Self = Self::new(1);
5377 }
5378 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5379 pub struct Pcr_SPEC;
5380 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5381 impl Pcr {
5382 #[doc = "Disable input pull-up"]
5383 pub const _0: Self = Self::new(0);
5384
5385 #[doc = "Enable input pull-up"]
5386 pub const _1: Self = Self::new(1);
5387 }
5388 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5389 pub struct Ncodr_SPEC;
5390 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5391 impl Ncodr {
5392 #[doc = "Output CMOS"]
5393 pub const _0: Self = Self::new(0);
5394
5395 #[doc = "Output NMOS open-drain"]
5396 pub const _1: Self = Self::new(1);
5397 }
5398 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5399 pub struct Eofr_SPEC;
5400 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
5401 impl Eofr {
5402 #[doc = "Don\'t care"]
5403 pub const _00: Self = Self::new(0);
5404
5405 #[doc = "Detect rising edge"]
5406 pub const _01: Self = Self::new(1);
5407
5408 #[doc = "Detect falling edge"]
5409 pub const _10: Self = Self::new(2);
5410
5411 #[doc = "Detect both edges"]
5412 pub const _11: Self = Self::new(3);
5413 }
5414 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5415 pub struct Isel_SPEC;
5416 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5417 impl Isel {
5418 #[doc = "Do not use as IRQn input pin"]
5419 pub const _0: Self = Self::new(0);
5420
5421 #[doc = "Use as IRQn input pin"]
5422 pub const _1: Self = Self::new(1);
5423 }
5424 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5425 pub struct Asel_SPEC;
5426 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5427 impl Asel {
5428 #[doc = "Do not use as analog pin"]
5429 pub const _0: Self = Self::new(0);
5430
5431 #[doc = "Use as analog pin"]
5432 pub const _1: Self = Self::new(1);
5433 }
5434 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5435 pub struct Pmr_SPEC;
5436 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
5437 impl Pmr {
5438 #[doc = "Use as general I/O pin"]
5439 pub const _0: Self = Self::new(0);
5440
5441 #[doc = "Use as I/O port for peripheral functions"]
5442 pub const _1: Self = Self::new(1);
5443 }
5444}
5445#[doc(hidden)]
5446#[derive(Copy, Clone, Eq, PartialEq)]
5447pub struct P108PfsHa_SPEC;
5448impl crate::sealed::RegSpec for P108PfsHa_SPEC {
5449 type DataType = u16;
5450}
5451
5452#[doc = "Port 108 Pin Function Select Register"]
5453pub type P108PfsHa = crate::RegValueT<P108PfsHa_SPEC>;
5454
5455impl P108PfsHa {
5456 #[doc = "Port Output Data"]
5457 #[inline(always)]
5458 pub fn podr(
5459 self,
5460 ) -> crate::common::RegisterField<
5461 0,
5462 0x1,
5463 1,
5464 0,
5465 p108pfs_ha::Podr,
5466 p108pfs_ha::Podr,
5467 P108PfsHa_SPEC,
5468 crate::common::RW,
5469 > {
5470 crate::common::RegisterField::<
5471 0,
5472 0x1,
5473 1,
5474 0,
5475 p108pfs_ha::Podr,
5476 p108pfs_ha::Podr,
5477 P108PfsHa_SPEC,
5478 crate::common::RW,
5479 >::from_register(self, 0)
5480 }
5481
5482 #[doc = "Port State"]
5483 #[inline(always)]
5484 pub fn pidr(
5485 self,
5486 ) -> crate::common::RegisterField<
5487 1,
5488 0x1,
5489 1,
5490 0,
5491 p108pfs_ha::Pidr,
5492 p108pfs_ha::Pidr,
5493 P108PfsHa_SPEC,
5494 crate::common::R,
5495 > {
5496 crate::common::RegisterField::<
5497 1,
5498 0x1,
5499 1,
5500 0,
5501 p108pfs_ha::Pidr,
5502 p108pfs_ha::Pidr,
5503 P108PfsHa_SPEC,
5504 crate::common::R,
5505 >::from_register(self, 0)
5506 }
5507
5508 #[doc = "Port Direction"]
5509 #[inline(always)]
5510 pub fn pdr(
5511 self,
5512 ) -> crate::common::RegisterField<
5513 2,
5514 0x1,
5515 1,
5516 0,
5517 p108pfs_ha::Pdr,
5518 p108pfs_ha::Pdr,
5519 P108PfsHa_SPEC,
5520 crate::common::RW,
5521 > {
5522 crate::common::RegisterField::<
5523 2,
5524 0x1,
5525 1,
5526 0,
5527 p108pfs_ha::Pdr,
5528 p108pfs_ha::Pdr,
5529 P108PfsHa_SPEC,
5530 crate::common::RW,
5531 >::from_register(self, 0)
5532 }
5533
5534 #[doc = "Pull-up Control"]
5535 #[inline(always)]
5536 pub fn pcr(
5537 self,
5538 ) -> crate::common::RegisterField<
5539 4,
5540 0x1,
5541 1,
5542 0,
5543 p108pfs_ha::Pcr,
5544 p108pfs_ha::Pcr,
5545 P108PfsHa_SPEC,
5546 crate::common::RW,
5547 > {
5548 crate::common::RegisterField::<
5549 4,
5550 0x1,
5551 1,
5552 0,
5553 p108pfs_ha::Pcr,
5554 p108pfs_ha::Pcr,
5555 P108PfsHa_SPEC,
5556 crate::common::RW,
5557 >::from_register(self, 0)
5558 }
5559
5560 #[doc = "N-Channel Open-Drain Control"]
5561 #[inline(always)]
5562 pub fn ncodr(
5563 self,
5564 ) -> crate::common::RegisterField<
5565 6,
5566 0x1,
5567 1,
5568 0,
5569 p108pfs_ha::Ncodr,
5570 p108pfs_ha::Ncodr,
5571 P108PfsHa_SPEC,
5572 crate::common::RW,
5573 > {
5574 crate::common::RegisterField::<
5575 6,
5576 0x1,
5577 1,
5578 0,
5579 p108pfs_ha::Ncodr,
5580 p108pfs_ha::Ncodr,
5581 P108PfsHa_SPEC,
5582 crate::common::RW,
5583 >::from_register(self, 0)
5584 }
5585
5586 #[doc = "Event on Falling/Event on Rising"]
5587 #[inline(always)]
5588 pub fn eofr(
5589 self,
5590 ) -> crate::common::RegisterField<
5591 12,
5592 0x3,
5593 1,
5594 0,
5595 p108pfs_ha::Eofr,
5596 p108pfs_ha::Eofr,
5597 P108PfsHa_SPEC,
5598 crate::common::RW,
5599 > {
5600 crate::common::RegisterField::<
5601 12,
5602 0x3,
5603 1,
5604 0,
5605 p108pfs_ha::Eofr,
5606 p108pfs_ha::Eofr,
5607 P108PfsHa_SPEC,
5608 crate::common::RW,
5609 >::from_register(self, 0)
5610 }
5611
5612 #[doc = "IRQ Input Enable"]
5613 #[inline(always)]
5614 pub fn isel(
5615 self,
5616 ) -> crate::common::RegisterField<
5617 14,
5618 0x1,
5619 1,
5620 0,
5621 p108pfs_ha::Isel,
5622 p108pfs_ha::Isel,
5623 P108PfsHa_SPEC,
5624 crate::common::RW,
5625 > {
5626 crate::common::RegisterField::<
5627 14,
5628 0x1,
5629 1,
5630 0,
5631 p108pfs_ha::Isel,
5632 p108pfs_ha::Isel,
5633 P108PfsHa_SPEC,
5634 crate::common::RW,
5635 >::from_register(self, 0)
5636 }
5637
5638 #[doc = "Analog Input Enable"]
5639 #[inline(always)]
5640 pub fn asel(
5641 self,
5642 ) -> crate::common::RegisterField<
5643 15,
5644 0x1,
5645 1,
5646 0,
5647 p108pfs_ha::Asel,
5648 p108pfs_ha::Asel,
5649 P108PfsHa_SPEC,
5650 crate::common::RW,
5651 > {
5652 crate::common::RegisterField::<
5653 15,
5654 0x1,
5655 1,
5656 0,
5657 p108pfs_ha::Asel,
5658 p108pfs_ha::Asel,
5659 P108PfsHa_SPEC,
5660 crate::common::RW,
5661 >::from_register(self, 0)
5662 }
5663}
5664impl ::core::default::Default for P108PfsHa {
5665 #[inline(always)]
5666 fn default() -> P108PfsHa {
5667 <crate::RegValueT<P108PfsHa_SPEC> as RegisterValue<_>>::new(16)
5668 }
5669}
5670pub mod p108pfs_ha {
5671
5672 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5673 pub struct Podr_SPEC;
5674 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5675 impl Podr {
5676 #[doc = "Output low"]
5677 pub const _0: Self = Self::new(0);
5678
5679 #[doc = "Output high"]
5680 pub const _1: Self = Self::new(1);
5681 }
5682 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5683 pub struct Pidr_SPEC;
5684 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5685 impl Pidr {
5686 #[doc = "Low level"]
5687 pub const _0: Self = Self::new(0);
5688
5689 #[doc = "High level"]
5690 pub const _1: Self = Self::new(1);
5691 }
5692 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5693 pub struct Pdr_SPEC;
5694 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5695 impl Pdr {
5696 #[doc = "Input (functions as an input pin)"]
5697 pub const _0: Self = Self::new(0);
5698
5699 #[doc = "Output (functions as an output pin)"]
5700 pub const _1: Self = Self::new(1);
5701 }
5702 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5703 pub struct Pcr_SPEC;
5704 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5705 impl Pcr {
5706 #[doc = "Disable input pull-up"]
5707 pub const _0: Self = Self::new(0);
5708
5709 #[doc = "Enable input pull-up"]
5710 pub const _1: Self = Self::new(1);
5711 }
5712 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5713 pub struct Ncodr_SPEC;
5714 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5715 impl Ncodr {
5716 #[doc = "Output CMOS"]
5717 pub const _0: Self = Self::new(0);
5718
5719 #[doc = "Output NMOS open-drain"]
5720 pub const _1: Self = Self::new(1);
5721 }
5722 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5723 pub struct Eofr_SPEC;
5724 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
5725 impl Eofr {
5726 #[doc = "Don\'t care"]
5727 pub const _00: Self = Self::new(0);
5728
5729 #[doc = "Detect rising edge"]
5730 pub const _01: Self = Self::new(1);
5731
5732 #[doc = "Detect falling edge"]
5733 pub const _10: Self = Self::new(2);
5734
5735 #[doc = "Detect both edges"]
5736 pub const _11: Self = Self::new(3);
5737 }
5738 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5739 pub struct Isel_SPEC;
5740 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5741 impl Isel {
5742 #[doc = "Do not use as IRQn input pin"]
5743 pub const _0: Self = Self::new(0);
5744
5745 #[doc = "Use as IRQn input pin"]
5746 pub const _1: Self = Self::new(1);
5747 }
5748 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5749 pub struct Asel_SPEC;
5750 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5751 impl Asel {
5752 #[doc = "Do not use as analog pin"]
5753 pub const _0: Self = Self::new(0);
5754
5755 #[doc = "Use as analog pin"]
5756 pub const _1: Self = Self::new(1);
5757 }
5758}
5759#[doc(hidden)]
5760#[derive(Copy, Clone, Eq, PartialEq)]
5761pub struct P108PfsBy_SPEC;
5762impl crate::sealed::RegSpec for P108PfsBy_SPEC {
5763 type DataType = u8;
5764}
5765
5766#[doc = "Port 108 Pin Function Select Register"]
5767pub type P108PfsBy = crate::RegValueT<P108PfsBy_SPEC>;
5768
5769impl P108PfsBy {
5770 #[doc = "Port Output Data"]
5771 #[inline(always)]
5772 pub fn podr(
5773 self,
5774 ) -> crate::common::RegisterField<
5775 0,
5776 0x1,
5777 1,
5778 0,
5779 p108pfs_by::Podr,
5780 p108pfs_by::Podr,
5781 P108PfsBy_SPEC,
5782 crate::common::RW,
5783 > {
5784 crate::common::RegisterField::<
5785 0,
5786 0x1,
5787 1,
5788 0,
5789 p108pfs_by::Podr,
5790 p108pfs_by::Podr,
5791 P108PfsBy_SPEC,
5792 crate::common::RW,
5793 >::from_register(self, 0)
5794 }
5795
5796 #[doc = "Port State"]
5797 #[inline(always)]
5798 pub fn pidr(
5799 self,
5800 ) -> crate::common::RegisterField<
5801 1,
5802 0x1,
5803 1,
5804 0,
5805 p108pfs_by::Pidr,
5806 p108pfs_by::Pidr,
5807 P108PfsBy_SPEC,
5808 crate::common::R,
5809 > {
5810 crate::common::RegisterField::<
5811 1,
5812 0x1,
5813 1,
5814 0,
5815 p108pfs_by::Pidr,
5816 p108pfs_by::Pidr,
5817 P108PfsBy_SPEC,
5818 crate::common::R,
5819 >::from_register(self, 0)
5820 }
5821
5822 #[doc = "Port Direction"]
5823 #[inline(always)]
5824 pub fn pdr(
5825 self,
5826 ) -> crate::common::RegisterField<
5827 2,
5828 0x1,
5829 1,
5830 0,
5831 p108pfs_by::Pdr,
5832 p108pfs_by::Pdr,
5833 P108PfsBy_SPEC,
5834 crate::common::RW,
5835 > {
5836 crate::common::RegisterField::<
5837 2,
5838 0x1,
5839 1,
5840 0,
5841 p108pfs_by::Pdr,
5842 p108pfs_by::Pdr,
5843 P108PfsBy_SPEC,
5844 crate::common::RW,
5845 >::from_register(self, 0)
5846 }
5847
5848 #[doc = "Pull-up Control"]
5849 #[inline(always)]
5850 pub fn pcr(
5851 self,
5852 ) -> crate::common::RegisterField<
5853 4,
5854 0x1,
5855 1,
5856 0,
5857 p108pfs_by::Pcr,
5858 p108pfs_by::Pcr,
5859 P108PfsBy_SPEC,
5860 crate::common::RW,
5861 > {
5862 crate::common::RegisterField::<
5863 4,
5864 0x1,
5865 1,
5866 0,
5867 p108pfs_by::Pcr,
5868 p108pfs_by::Pcr,
5869 P108PfsBy_SPEC,
5870 crate::common::RW,
5871 >::from_register(self, 0)
5872 }
5873
5874 #[doc = "N-Channel Open-Drain Control"]
5875 #[inline(always)]
5876 pub fn ncodr(
5877 self,
5878 ) -> crate::common::RegisterField<
5879 6,
5880 0x1,
5881 1,
5882 0,
5883 p108pfs_by::Ncodr,
5884 p108pfs_by::Ncodr,
5885 P108PfsBy_SPEC,
5886 crate::common::RW,
5887 > {
5888 crate::common::RegisterField::<
5889 6,
5890 0x1,
5891 1,
5892 0,
5893 p108pfs_by::Ncodr,
5894 p108pfs_by::Ncodr,
5895 P108PfsBy_SPEC,
5896 crate::common::RW,
5897 >::from_register(self, 0)
5898 }
5899}
5900impl ::core::default::Default for P108PfsBy {
5901 #[inline(always)]
5902 fn default() -> P108PfsBy {
5903 <crate::RegValueT<P108PfsBy_SPEC> as RegisterValue<_>>::new(16)
5904 }
5905}
5906pub mod p108pfs_by {
5907
5908 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5909 pub struct Podr_SPEC;
5910 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5911 impl Podr {
5912 #[doc = "Output low"]
5913 pub const _0: Self = Self::new(0);
5914
5915 #[doc = "Output high"]
5916 pub const _1: Self = Self::new(1);
5917 }
5918 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5919 pub struct Pidr_SPEC;
5920 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5921 impl Pidr {
5922 #[doc = "Low level"]
5923 pub const _0: Self = Self::new(0);
5924
5925 #[doc = "High level"]
5926 pub const _1: Self = Self::new(1);
5927 }
5928 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5929 pub struct Pdr_SPEC;
5930 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5931 impl Pdr {
5932 #[doc = "Input (functions as an input pin)"]
5933 pub const _0: Self = Self::new(0);
5934
5935 #[doc = "Output (functions as an output pin)"]
5936 pub const _1: Self = Self::new(1);
5937 }
5938 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5939 pub struct Pcr_SPEC;
5940 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5941 impl Pcr {
5942 #[doc = "Disable input pull-up"]
5943 pub const _0: Self = Self::new(0);
5944
5945 #[doc = "Enable input pull-up"]
5946 pub const _1: Self = Self::new(1);
5947 }
5948 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5949 pub struct Ncodr_SPEC;
5950 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5951 impl Ncodr {
5952 #[doc = "Output CMOS"]
5953 pub const _0: Self = Self::new(0);
5954
5955 #[doc = "Output NMOS open-drain"]
5956 pub const _1: Self = Self::new(1);
5957 }
5958}
5959#[doc(hidden)]
5960#[derive(Copy, Clone, Eq, PartialEq)]
5961pub struct P109Pfs_SPEC;
5962impl crate::sealed::RegSpec for P109Pfs_SPEC {
5963 type DataType = u32;
5964}
5965
5966#[doc = "Port 109 Pin Function Select Register"]
5967pub type P109Pfs = crate::RegValueT<P109Pfs_SPEC>;
5968
5969impl P109Pfs {
5970 #[doc = "Port Output Data"]
5971 #[inline(always)]
5972 pub fn podr(
5973 self,
5974 ) -> crate::common::RegisterField<
5975 0,
5976 0x1,
5977 1,
5978 0,
5979 p109pfs::Podr,
5980 p109pfs::Podr,
5981 P109Pfs_SPEC,
5982 crate::common::RW,
5983 > {
5984 crate::common::RegisterField::<
5985 0,
5986 0x1,
5987 1,
5988 0,
5989 p109pfs::Podr,
5990 p109pfs::Podr,
5991 P109Pfs_SPEC,
5992 crate::common::RW,
5993 >::from_register(self, 0)
5994 }
5995
5996 #[doc = "Port State"]
5997 #[inline(always)]
5998 pub fn pidr(
5999 self,
6000 ) -> crate::common::RegisterField<
6001 1,
6002 0x1,
6003 1,
6004 0,
6005 p109pfs::Pidr,
6006 p109pfs::Pidr,
6007 P109Pfs_SPEC,
6008 crate::common::R,
6009 > {
6010 crate::common::RegisterField::<
6011 1,
6012 0x1,
6013 1,
6014 0,
6015 p109pfs::Pidr,
6016 p109pfs::Pidr,
6017 P109Pfs_SPEC,
6018 crate::common::R,
6019 >::from_register(self, 0)
6020 }
6021
6022 #[doc = "Port Direction"]
6023 #[inline(always)]
6024 pub fn pdr(
6025 self,
6026 ) -> crate::common::RegisterField<
6027 2,
6028 0x1,
6029 1,
6030 0,
6031 p109pfs::Pdr,
6032 p109pfs::Pdr,
6033 P109Pfs_SPEC,
6034 crate::common::RW,
6035 > {
6036 crate::common::RegisterField::<
6037 2,
6038 0x1,
6039 1,
6040 0,
6041 p109pfs::Pdr,
6042 p109pfs::Pdr,
6043 P109Pfs_SPEC,
6044 crate::common::RW,
6045 >::from_register(self, 0)
6046 }
6047
6048 #[doc = "Pull-up Control"]
6049 #[inline(always)]
6050 pub fn pcr(
6051 self,
6052 ) -> crate::common::RegisterField<
6053 4,
6054 0x1,
6055 1,
6056 0,
6057 p109pfs::Pcr,
6058 p109pfs::Pcr,
6059 P109Pfs_SPEC,
6060 crate::common::RW,
6061 > {
6062 crate::common::RegisterField::<
6063 4,
6064 0x1,
6065 1,
6066 0,
6067 p109pfs::Pcr,
6068 p109pfs::Pcr,
6069 P109Pfs_SPEC,
6070 crate::common::RW,
6071 >::from_register(self, 0)
6072 }
6073
6074 #[doc = "N-Channel Open-Drain Control"]
6075 #[inline(always)]
6076 pub fn ncodr(
6077 self,
6078 ) -> crate::common::RegisterField<
6079 6,
6080 0x1,
6081 1,
6082 0,
6083 p109pfs::Ncodr,
6084 p109pfs::Ncodr,
6085 P109Pfs_SPEC,
6086 crate::common::RW,
6087 > {
6088 crate::common::RegisterField::<
6089 6,
6090 0x1,
6091 1,
6092 0,
6093 p109pfs::Ncodr,
6094 p109pfs::Ncodr,
6095 P109Pfs_SPEC,
6096 crate::common::RW,
6097 >::from_register(self, 0)
6098 }
6099
6100 #[doc = "Event on Falling/Event on Rising"]
6101 #[inline(always)]
6102 pub fn eofr(
6103 self,
6104 ) -> crate::common::RegisterField<
6105 12,
6106 0x3,
6107 1,
6108 0,
6109 p109pfs::Eofr,
6110 p109pfs::Eofr,
6111 P109Pfs_SPEC,
6112 crate::common::RW,
6113 > {
6114 crate::common::RegisterField::<
6115 12,
6116 0x3,
6117 1,
6118 0,
6119 p109pfs::Eofr,
6120 p109pfs::Eofr,
6121 P109Pfs_SPEC,
6122 crate::common::RW,
6123 >::from_register(self, 0)
6124 }
6125
6126 #[doc = "IRQ Input Enable"]
6127 #[inline(always)]
6128 pub fn isel(
6129 self,
6130 ) -> crate::common::RegisterField<
6131 14,
6132 0x1,
6133 1,
6134 0,
6135 p109pfs::Isel,
6136 p109pfs::Isel,
6137 P109Pfs_SPEC,
6138 crate::common::RW,
6139 > {
6140 crate::common::RegisterField::<
6141 14,
6142 0x1,
6143 1,
6144 0,
6145 p109pfs::Isel,
6146 p109pfs::Isel,
6147 P109Pfs_SPEC,
6148 crate::common::RW,
6149 >::from_register(self, 0)
6150 }
6151
6152 #[doc = "Analog Input Enable"]
6153 #[inline(always)]
6154 pub fn asel(
6155 self,
6156 ) -> crate::common::RegisterField<
6157 15,
6158 0x1,
6159 1,
6160 0,
6161 p109pfs::Asel,
6162 p109pfs::Asel,
6163 P109Pfs_SPEC,
6164 crate::common::RW,
6165 > {
6166 crate::common::RegisterField::<
6167 15,
6168 0x1,
6169 1,
6170 0,
6171 p109pfs::Asel,
6172 p109pfs::Asel,
6173 P109Pfs_SPEC,
6174 crate::common::RW,
6175 >::from_register(self, 0)
6176 }
6177
6178 #[doc = "Port Mode Control"]
6179 #[inline(always)]
6180 pub fn pmr(
6181 self,
6182 ) -> crate::common::RegisterField<
6183 16,
6184 0x1,
6185 1,
6186 0,
6187 p109pfs::Pmr,
6188 p109pfs::Pmr,
6189 P109Pfs_SPEC,
6190 crate::common::RW,
6191 > {
6192 crate::common::RegisterField::<
6193 16,
6194 0x1,
6195 1,
6196 0,
6197 p109pfs::Pmr,
6198 p109pfs::Pmr,
6199 P109Pfs_SPEC,
6200 crate::common::RW,
6201 >::from_register(self, 0)
6202 }
6203
6204 #[doc = "Peripheral Select"]
6205 #[inline(always)]
6206 pub fn psel(
6207 self,
6208 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P109Pfs_SPEC, crate::common::RW> {
6209 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P109Pfs_SPEC,crate::common::RW>::from_register(self,0)
6210 }
6211}
6212impl ::core::default::Default for P109Pfs {
6213 #[inline(always)]
6214 fn default() -> P109Pfs {
6215 <crate::RegValueT<P109Pfs_SPEC> as RegisterValue<_>>::new(0)
6216 }
6217}
6218pub mod p109pfs {
6219
6220 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6221 pub struct Podr_SPEC;
6222 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6223 impl Podr {
6224 #[doc = "Output low"]
6225 pub const _0: Self = Self::new(0);
6226
6227 #[doc = "Output high"]
6228 pub const _1: Self = Self::new(1);
6229 }
6230 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6231 pub struct Pidr_SPEC;
6232 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6233 impl Pidr {
6234 #[doc = "Low level"]
6235 pub const _0: Self = Self::new(0);
6236
6237 #[doc = "High level"]
6238 pub const _1: Self = Self::new(1);
6239 }
6240 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6241 pub struct Pdr_SPEC;
6242 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6243 impl Pdr {
6244 #[doc = "Input (functions as an input pin)"]
6245 pub const _0: Self = Self::new(0);
6246
6247 #[doc = "Output (functions as an output pin)"]
6248 pub const _1: Self = Self::new(1);
6249 }
6250 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6251 pub struct Pcr_SPEC;
6252 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6253 impl Pcr {
6254 #[doc = "Disable input pull-up"]
6255 pub const _0: Self = Self::new(0);
6256
6257 #[doc = "Enable input pull-up"]
6258 pub const _1: Self = Self::new(1);
6259 }
6260 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6261 pub struct Ncodr_SPEC;
6262 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6263 impl Ncodr {
6264 #[doc = "Output CMOS"]
6265 pub const _0: Self = Self::new(0);
6266
6267 #[doc = "Output NMOS open-drain"]
6268 pub const _1: Self = Self::new(1);
6269 }
6270 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6271 pub struct Eofr_SPEC;
6272 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
6273 impl Eofr {
6274 #[doc = "Don\'t care"]
6275 pub const _00: Self = Self::new(0);
6276
6277 #[doc = "Detect rising edge"]
6278 pub const _01: Self = Self::new(1);
6279
6280 #[doc = "Detect falling edge"]
6281 pub const _10: Self = Self::new(2);
6282
6283 #[doc = "Detect both edges"]
6284 pub const _11: Self = Self::new(3);
6285 }
6286 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6287 pub struct Isel_SPEC;
6288 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6289 impl Isel {
6290 #[doc = "Do not use as IRQn input pin"]
6291 pub const _0: Self = Self::new(0);
6292
6293 #[doc = "Use as IRQn input pin"]
6294 pub const _1: Self = Self::new(1);
6295 }
6296 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6297 pub struct Asel_SPEC;
6298 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6299 impl Asel {
6300 #[doc = "Do not use as analog pin"]
6301 pub const _0: Self = Self::new(0);
6302
6303 #[doc = "Use as analog pin"]
6304 pub const _1: Self = Self::new(1);
6305 }
6306 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6307 pub struct Pmr_SPEC;
6308 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
6309 impl Pmr {
6310 #[doc = "Use as general I/O pin"]
6311 pub const _0: Self = Self::new(0);
6312
6313 #[doc = "Use as I/O port for peripheral functions"]
6314 pub const _1: Self = Self::new(1);
6315 }
6316}
6317#[doc(hidden)]
6318#[derive(Copy, Clone, Eq, PartialEq)]
6319pub struct P109PfsHa_SPEC;
6320impl crate::sealed::RegSpec for P109PfsHa_SPEC {
6321 type DataType = u16;
6322}
6323
6324#[doc = "Port 109 Pin Function Select Register"]
6325pub type P109PfsHa = crate::RegValueT<P109PfsHa_SPEC>;
6326
6327impl P109PfsHa {
6328 #[doc = "Port Output Data"]
6329 #[inline(always)]
6330 pub fn podr(
6331 self,
6332 ) -> crate::common::RegisterField<
6333 0,
6334 0x1,
6335 1,
6336 0,
6337 p109pfs_ha::Podr,
6338 p109pfs_ha::Podr,
6339 P109PfsHa_SPEC,
6340 crate::common::RW,
6341 > {
6342 crate::common::RegisterField::<
6343 0,
6344 0x1,
6345 1,
6346 0,
6347 p109pfs_ha::Podr,
6348 p109pfs_ha::Podr,
6349 P109PfsHa_SPEC,
6350 crate::common::RW,
6351 >::from_register(self, 0)
6352 }
6353
6354 #[doc = "Port State"]
6355 #[inline(always)]
6356 pub fn pidr(
6357 self,
6358 ) -> crate::common::RegisterField<
6359 1,
6360 0x1,
6361 1,
6362 0,
6363 p109pfs_ha::Pidr,
6364 p109pfs_ha::Pidr,
6365 P109PfsHa_SPEC,
6366 crate::common::R,
6367 > {
6368 crate::common::RegisterField::<
6369 1,
6370 0x1,
6371 1,
6372 0,
6373 p109pfs_ha::Pidr,
6374 p109pfs_ha::Pidr,
6375 P109PfsHa_SPEC,
6376 crate::common::R,
6377 >::from_register(self, 0)
6378 }
6379
6380 #[doc = "Port Direction"]
6381 #[inline(always)]
6382 pub fn pdr(
6383 self,
6384 ) -> crate::common::RegisterField<
6385 2,
6386 0x1,
6387 1,
6388 0,
6389 p109pfs_ha::Pdr,
6390 p109pfs_ha::Pdr,
6391 P109PfsHa_SPEC,
6392 crate::common::RW,
6393 > {
6394 crate::common::RegisterField::<
6395 2,
6396 0x1,
6397 1,
6398 0,
6399 p109pfs_ha::Pdr,
6400 p109pfs_ha::Pdr,
6401 P109PfsHa_SPEC,
6402 crate::common::RW,
6403 >::from_register(self, 0)
6404 }
6405
6406 #[doc = "Pull-up Control"]
6407 #[inline(always)]
6408 pub fn pcr(
6409 self,
6410 ) -> crate::common::RegisterField<
6411 4,
6412 0x1,
6413 1,
6414 0,
6415 p109pfs_ha::Pcr,
6416 p109pfs_ha::Pcr,
6417 P109PfsHa_SPEC,
6418 crate::common::RW,
6419 > {
6420 crate::common::RegisterField::<
6421 4,
6422 0x1,
6423 1,
6424 0,
6425 p109pfs_ha::Pcr,
6426 p109pfs_ha::Pcr,
6427 P109PfsHa_SPEC,
6428 crate::common::RW,
6429 >::from_register(self, 0)
6430 }
6431
6432 #[doc = "N-Channel Open-Drain Control"]
6433 #[inline(always)]
6434 pub fn ncodr(
6435 self,
6436 ) -> crate::common::RegisterField<
6437 6,
6438 0x1,
6439 1,
6440 0,
6441 p109pfs_ha::Ncodr,
6442 p109pfs_ha::Ncodr,
6443 P109PfsHa_SPEC,
6444 crate::common::RW,
6445 > {
6446 crate::common::RegisterField::<
6447 6,
6448 0x1,
6449 1,
6450 0,
6451 p109pfs_ha::Ncodr,
6452 p109pfs_ha::Ncodr,
6453 P109PfsHa_SPEC,
6454 crate::common::RW,
6455 >::from_register(self, 0)
6456 }
6457
6458 #[doc = "Event on Falling/Event on Rising"]
6459 #[inline(always)]
6460 pub fn eofr(
6461 self,
6462 ) -> crate::common::RegisterField<
6463 12,
6464 0x3,
6465 1,
6466 0,
6467 p109pfs_ha::Eofr,
6468 p109pfs_ha::Eofr,
6469 P109PfsHa_SPEC,
6470 crate::common::RW,
6471 > {
6472 crate::common::RegisterField::<
6473 12,
6474 0x3,
6475 1,
6476 0,
6477 p109pfs_ha::Eofr,
6478 p109pfs_ha::Eofr,
6479 P109PfsHa_SPEC,
6480 crate::common::RW,
6481 >::from_register(self, 0)
6482 }
6483
6484 #[doc = "IRQ Input Enable"]
6485 #[inline(always)]
6486 pub fn isel(
6487 self,
6488 ) -> crate::common::RegisterField<
6489 14,
6490 0x1,
6491 1,
6492 0,
6493 p109pfs_ha::Isel,
6494 p109pfs_ha::Isel,
6495 P109PfsHa_SPEC,
6496 crate::common::RW,
6497 > {
6498 crate::common::RegisterField::<
6499 14,
6500 0x1,
6501 1,
6502 0,
6503 p109pfs_ha::Isel,
6504 p109pfs_ha::Isel,
6505 P109PfsHa_SPEC,
6506 crate::common::RW,
6507 >::from_register(self, 0)
6508 }
6509
6510 #[doc = "Analog Input Enable"]
6511 #[inline(always)]
6512 pub fn asel(
6513 self,
6514 ) -> crate::common::RegisterField<
6515 15,
6516 0x1,
6517 1,
6518 0,
6519 p109pfs_ha::Asel,
6520 p109pfs_ha::Asel,
6521 P109PfsHa_SPEC,
6522 crate::common::RW,
6523 > {
6524 crate::common::RegisterField::<
6525 15,
6526 0x1,
6527 1,
6528 0,
6529 p109pfs_ha::Asel,
6530 p109pfs_ha::Asel,
6531 P109PfsHa_SPEC,
6532 crate::common::RW,
6533 >::from_register(self, 0)
6534 }
6535}
6536impl ::core::default::Default for P109PfsHa {
6537 #[inline(always)]
6538 fn default() -> P109PfsHa {
6539 <crate::RegValueT<P109PfsHa_SPEC> as RegisterValue<_>>::new(0)
6540 }
6541}
6542pub mod p109pfs_ha {
6543
6544 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6545 pub struct Podr_SPEC;
6546 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6547 impl Podr {
6548 #[doc = "Output low"]
6549 pub const _0: Self = Self::new(0);
6550
6551 #[doc = "Output high"]
6552 pub const _1: Self = Self::new(1);
6553 }
6554 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6555 pub struct Pidr_SPEC;
6556 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6557 impl Pidr {
6558 #[doc = "Low level"]
6559 pub const _0: Self = Self::new(0);
6560
6561 #[doc = "High level"]
6562 pub const _1: Self = Self::new(1);
6563 }
6564 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6565 pub struct Pdr_SPEC;
6566 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6567 impl Pdr {
6568 #[doc = "Input (functions as an input pin)"]
6569 pub const _0: Self = Self::new(0);
6570
6571 #[doc = "Output (functions as an output pin)"]
6572 pub const _1: Self = Self::new(1);
6573 }
6574 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6575 pub struct Pcr_SPEC;
6576 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6577 impl Pcr {
6578 #[doc = "Disable input pull-up"]
6579 pub const _0: Self = Self::new(0);
6580
6581 #[doc = "Enable input pull-up"]
6582 pub const _1: Self = Self::new(1);
6583 }
6584 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6585 pub struct Ncodr_SPEC;
6586 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6587 impl Ncodr {
6588 #[doc = "Output CMOS"]
6589 pub const _0: Self = Self::new(0);
6590
6591 #[doc = "Output NMOS open-drain"]
6592 pub const _1: Self = Self::new(1);
6593 }
6594 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6595 pub struct Eofr_SPEC;
6596 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
6597 impl Eofr {
6598 #[doc = "Don\'t care"]
6599 pub const _00: Self = Self::new(0);
6600
6601 #[doc = "Detect rising edge"]
6602 pub const _01: Self = Self::new(1);
6603
6604 #[doc = "Detect falling edge"]
6605 pub const _10: Self = Self::new(2);
6606
6607 #[doc = "Detect both edges"]
6608 pub const _11: Self = Self::new(3);
6609 }
6610 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6611 pub struct Isel_SPEC;
6612 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6613 impl Isel {
6614 #[doc = "Do not use as IRQn input pin"]
6615 pub const _0: Self = Self::new(0);
6616
6617 #[doc = "Use as IRQn input pin"]
6618 pub const _1: Self = Self::new(1);
6619 }
6620 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6621 pub struct Asel_SPEC;
6622 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6623 impl Asel {
6624 #[doc = "Do not use as analog pin"]
6625 pub const _0: Self = Self::new(0);
6626
6627 #[doc = "Use as analog pin"]
6628 pub const _1: Self = Self::new(1);
6629 }
6630}
6631#[doc(hidden)]
6632#[derive(Copy, Clone, Eq, PartialEq)]
6633pub struct P109PfsBy_SPEC;
6634impl crate::sealed::RegSpec for P109PfsBy_SPEC {
6635 type DataType = u8;
6636}
6637
6638#[doc = "Port 109 Pin Function Select Register"]
6639pub type P109PfsBy = crate::RegValueT<P109PfsBy_SPEC>;
6640
6641impl P109PfsBy {
6642 #[doc = "Port Output Data"]
6643 #[inline(always)]
6644 pub fn podr(
6645 self,
6646 ) -> crate::common::RegisterField<
6647 0,
6648 0x1,
6649 1,
6650 0,
6651 p109pfs_by::Podr,
6652 p109pfs_by::Podr,
6653 P109PfsBy_SPEC,
6654 crate::common::RW,
6655 > {
6656 crate::common::RegisterField::<
6657 0,
6658 0x1,
6659 1,
6660 0,
6661 p109pfs_by::Podr,
6662 p109pfs_by::Podr,
6663 P109PfsBy_SPEC,
6664 crate::common::RW,
6665 >::from_register(self, 0)
6666 }
6667
6668 #[doc = "Port State"]
6669 #[inline(always)]
6670 pub fn pidr(
6671 self,
6672 ) -> crate::common::RegisterField<
6673 1,
6674 0x1,
6675 1,
6676 0,
6677 p109pfs_by::Pidr,
6678 p109pfs_by::Pidr,
6679 P109PfsBy_SPEC,
6680 crate::common::R,
6681 > {
6682 crate::common::RegisterField::<
6683 1,
6684 0x1,
6685 1,
6686 0,
6687 p109pfs_by::Pidr,
6688 p109pfs_by::Pidr,
6689 P109PfsBy_SPEC,
6690 crate::common::R,
6691 >::from_register(self, 0)
6692 }
6693
6694 #[doc = "Port Direction"]
6695 #[inline(always)]
6696 pub fn pdr(
6697 self,
6698 ) -> crate::common::RegisterField<
6699 2,
6700 0x1,
6701 1,
6702 0,
6703 p109pfs_by::Pdr,
6704 p109pfs_by::Pdr,
6705 P109PfsBy_SPEC,
6706 crate::common::RW,
6707 > {
6708 crate::common::RegisterField::<
6709 2,
6710 0x1,
6711 1,
6712 0,
6713 p109pfs_by::Pdr,
6714 p109pfs_by::Pdr,
6715 P109PfsBy_SPEC,
6716 crate::common::RW,
6717 >::from_register(self, 0)
6718 }
6719
6720 #[doc = "Pull-up Control"]
6721 #[inline(always)]
6722 pub fn pcr(
6723 self,
6724 ) -> crate::common::RegisterField<
6725 4,
6726 0x1,
6727 1,
6728 0,
6729 p109pfs_by::Pcr,
6730 p109pfs_by::Pcr,
6731 P109PfsBy_SPEC,
6732 crate::common::RW,
6733 > {
6734 crate::common::RegisterField::<
6735 4,
6736 0x1,
6737 1,
6738 0,
6739 p109pfs_by::Pcr,
6740 p109pfs_by::Pcr,
6741 P109PfsBy_SPEC,
6742 crate::common::RW,
6743 >::from_register(self, 0)
6744 }
6745
6746 #[doc = "N-Channel Open-Drain Control"]
6747 #[inline(always)]
6748 pub fn ncodr(
6749 self,
6750 ) -> crate::common::RegisterField<
6751 6,
6752 0x1,
6753 1,
6754 0,
6755 p109pfs_by::Ncodr,
6756 p109pfs_by::Ncodr,
6757 P109PfsBy_SPEC,
6758 crate::common::RW,
6759 > {
6760 crate::common::RegisterField::<
6761 6,
6762 0x1,
6763 1,
6764 0,
6765 p109pfs_by::Ncodr,
6766 p109pfs_by::Ncodr,
6767 P109PfsBy_SPEC,
6768 crate::common::RW,
6769 >::from_register(self, 0)
6770 }
6771}
6772impl ::core::default::Default for P109PfsBy {
6773 #[inline(always)]
6774 fn default() -> P109PfsBy {
6775 <crate::RegValueT<P109PfsBy_SPEC> as RegisterValue<_>>::new(0)
6776 }
6777}
6778pub mod p109pfs_by {
6779
6780 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6781 pub struct Podr_SPEC;
6782 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6783 impl Podr {
6784 #[doc = "Output low"]
6785 pub const _0: Self = Self::new(0);
6786
6787 #[doc = "Output high"]
6788 pub const _1: Self = Self::new(1);
6789 }
6790 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6791 pub struct Pidr_SPEC;
6792 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6793 impl Pidr {
6794 #[doc = "Low level"]
6795 pub const _0: Self = Self::new(0);
6796
6797 #[doc = "High level"]
6798 pub const _1: Self = Self::new(1);
6799 }
6800 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6801 pub struct Pdr_SPEC;
6802 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6803 impl Pdr {
6804 #[doc = "Input (functions as an input pin)"]
6805 pub const _0: Self = Self::new(0);
6806
6807 #[doc = "Output (functions as an output pin)"]
6808 pub const _1: Self = Self::new(1);
6809 }
6810 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6811 pub struct Pcr_SPEC;
6812 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6813 impl Pcr {
6814 #[doc = "Disable input pull-up"]
6815 pub const _0: Self = Self::new(0);
6816
6817 #[doc = "Enable input pull-up"]
6818 pub const _1: Self = Self::new(1);
6819 }
6820 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6821 pub struct Ncodr_SPEC;
6822 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6823 impl Ncodr {
6824 #[doc = "Output CMOS"]
6825 pub const _0: Self = Self::new(0);
6826
6827 #[doc = "Output NMOS open-drain"]
6828 pub const _1: Self = Self::new(1);
6829 }
6830}
6831#[doc(hidden)]
6832#[derive(Copy, Clone, Eq, PartialEq)]
6833pub struct P1Pfs_SPEC;
6834impl crate::sealed::RegSpec for P1Pfs_SPEC {
6835 type DataType = u32;
6836}
6837
6838#[doc = "Port 1%s Pin Function Select Register"]
6839pub type P1Pfs = crate::RegValueT<P1Pfs_SPEC>;
6840
6841impl P1Pfs {
6842 #[doc = "Port Output Data"]
6843 #[inline(always)]
6844 pub fn podr(
6845 self,
6846 ) -> crate::common::RegisterField<
6847 0,
6848 0x1,
6849 1,
6850 0,
6851 p1pfs::Podr,
6852 p1pfs::Podr,
6853 P1Pfs_SPEC,
6854 crate::common::RW,
6855 > {
6856 crate::common::RegisterField::<
6857 0,
6858 0x1,
6859 1,
6860 0,
6861 p1pfs::Podr,
6862 p1pfs::Podr,
6863 P1Pfs_SPEC,
6864 crate::common::RW,
6865 >::from_register(self, 0)
6866 }
6867
6868 #[doc = "Port State"]
6869 #[inline(always)]
6870 pub fn pidr(
6871 self,
6872 ) -> crate::common::RegisterField<
6873 1,
6874 0x1,
6875 1,
6876 0,
6877 p1pfs::Pidr,
6878 p1pfs::Pidr,
6879 P1Pfs_SPEC,
6880 crate::common::R,
6881 > {
6882 crate::common::RegisterField::<
6883 1,
6884 0x1,
6885 1,
6886 0,
6887 p1pfs::Pidr,
6888 p1pfs::Pidr,
6889 P1Pfs_SPEC,
6890 crate::common::R,
6891 >::from_register(self, 0)
6892 }
6893
6894 #[doc = "Port Direction"]
6895 #[inline(always)]
6896 pub fn pdr(
6897 self,
6898 ) -> crate::common::RegisterField<
6899 2,
6900 0x1,
6901 1,
6902 0,
6903 p1pfs::Pdr,
6904 p1pfs::Pdr,
6905 P1Pfs_SPEC,
6906 crate::common::RW,
6907 > {
6908 crate::common::RegisterField::<
6909 2,
6910 0x1,
6911 1,
6912 0,
6913 p1pfs::Pdr,
6914 p1pfs::Pdr,
6915 P1Pfs_SPEC,
6916 crate::common::RW,
6917 >::from_register(self, 0)
6918 }
6919
6920 #[doc = "Pull-up Control"]
6921 #[inline(always)]
6922 pub fn pcr(
6923 self,
6924 ) -> crate::common::RegisterField<
6925 4,
6926 0x1,
6927 1,
6928 0,
6929 p1pfs::Pcr,
6930 p1pfs::Pcr,
6931 P1Pfs_SPEC,
6932 crate::common::RW,
6933 > {
6934 crate::common::RegisterField::<
6935 4,
6936 0x1,
6937 1,
6938 0,
6939 p1pfs::Pcr,
6940 p1pfs::Pcr,
6941 P1Pfs_SPEC,
6942 crate::common::RW,
6943 >::from_register(self, 0)
6944 }
6945
6946 #[doc = "N-Channel Open-Drain Control"]
6947 #[inline(always)]
6948 pub fn ncodr(
6949 self,
6950 ) -> crate::common::RegisterField<
6951 6,
6952 0x1,
6953 1,
6954 0,
6955 p1pfs::Ncodr,
6956 p1pfs::Ncodr,
6957 P1Pfs_SPEC,
6958 crate::common::RW,
6959 > {
6960 crate::common::RegisterField::<
6961 6,
6962 0x1,
6963 1,
6964 0,
6965 p1pfs::Ncodr,
6966 p1pfs::Ncodr,
6967 P1Pfs_SPEC,
6968 crate::common::RW,
6969 >::from_register(self, 0)
6970 }
6971
6972 #[doc = "Event on Falling/Event on Rising"]
6973 #[inline(always)]
6974 pub fn eofr(
6975 self,
6976 ) -> crate::common::RegisterField<
6977 12,
6978 0x3,
6979 1,
6980 0,
6981 p1pfs::Eofr,
6982 p1pfs::Eofr,
6983 P1Pfs_SPEC,
6984 crate::common::RW,
6985 > {
6986 crate::common::RegisterField::<
6987 12,
6988 0x3,
6989 1,
6990 0,
6991 p1pfs::Eofr,
6992 p1pfs::Eofr,
6993 P1Pfs_SPEC,
6994 crate::common::RW,
6995 >::from_register(self, 0)
6996 }
6997
6998 #[doc = "IRQ Input Enable"]
6999 #[inline(always)]
7000 pub fn isel(
7001 self,
7002 ) -> crate::common::RegisterField<
7003 14,
7004 0x1,
7005 1,
7006 0,
7007 p1pfs::Isel,
7008 p1pfs::Isel,
7009 P1Pfs_SPEC,
7010 crate::common::RW,
7011 > {
7012 crate::common::RegisterField::<
7013 14,
7014 0x1,
7015 1,
7016 0,
7017 p1pfs::Isel,
7018 p1pfs::Isel,
7019 P1Pfs_SPEC,
7020 crate::common::RW,
7021 >::from_register(self, 0)
7022 }
7023
7024 #[doc = "Analog Input Enable"]
7025 #[inline(always)]
7026 pub fn asel(
7027 self,
7028 ) -> crate::common::RegisterField<
7029 15,
7030 0x1,
7031 1,
7032 0,
7033 p1pfs::Asel,
7034 p1pfs::Asel,
7035 P1Pfs_SPEC,
7036 crate::common::RW,
7037 > {
7038 crate::common::RegisterField::<
7039 15,
7040 0x1,
7041 1,
7042 0,
7043 p1pfs::Asel,
7044 p1pfs::Asel,
7045 P1Pfs_SPEC,
7046 crate::common::RW,
7047 >::from_register(self, 0)
7048 }
7049
7050 #[doc = "Port Mode Control"]
7051 #[inline(always)]
7052 pub fn pmr(
7053 self,
7054 ) -> crate::common::RegisterField<
7055 16,
7056 0x1,
7057 1,
7058 0,
7059 p1pfs::Pmr,
7060 p1pfs::Pmr,
7061 P1Pfs_SPEC,
7062 crate::common::RW,
7063 > {
7064 crate::common::RegisterField::<
7065 16,
7066 0x1,
7067 1,
7068 0,
7069 p1pfs::Pmr,
7070 p1pfs::Pmr,
7071 P1Pfs_SPEC,
7072 crate::common::RW,
7073 >::from_register(self, 0)
7074 }
7075
7076 #[doc = "Peripheral Select"]
7077 #[inline(always)]
7078 pub fn psel(
7079 self,
7080 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P1Pfs_SPEC, crate::common::RW> {
7081 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P1Pfs_SPEC,crate::common::RW>::from_register(self,0)
7082 }
7083}
7084impl ::core::default::Default for P1Pfs {
7085 #[inline(always)]
7086 fn default() -> P1Pfs {
7087 <crate::RegValueT<P1Pfs_SPEC> as RegisterValue<_>>::new(0)
7088 }
7089}
7090pub mod p1pfs {
7091
7092 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7093 pub struct Podr_SPEC;
7094 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7095 impl Podr {
7096 #[doc = "Output low"]
7097 pub const _0: Self = Self::new(0);
7098
7099 #[doc = "Output high"]
7100 pub const _1: Self = Self::new(1);
7101 }
7102 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7103 pub struct Pidr_SPEC;
7104 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7105 impl Pidr {
7106 #[doc = "Low level"]
7107 pub const _0: Self = Self::new(0);
7108
7109 #[doc = "High level"]
7110 pub const _1: Self = Self::new(1);
7111 }
7112 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7113 pub struct Pdr_SPEC;
7114 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7115 impl Pdr {
7116 #[doc = "Input (functions as an input pin)"]
7117 pub const _0: Self = Self::new(0);
7118
7119 #[doc = "Output (functions as an output pin)"]
7120 pub const _1: Self = Self::new(1);
7121 }
7122 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7123 pub struct Pcr_SPEC;
7124 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7125 impl Pcr {
7126 #[doc = "Disable input pull-up"]
7127 pub const _0: Self = Self::new(0);
7128
7129 #[doc = "Enable input pull-up"]
7130 pub const _1: Self = Self::new(1);
7131 }
7132 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7133 pub struct Ncodr_SPEC;
7134 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7135 impl Ncodr {
7136 #[doc = "Output CMOS"]
7137 pub const _0: Self = Self::new(0);
7138
7139 #[doc = "Output NMOS open-drain"]
7140 pub const _1: Self = Self::new(1);
7141 }
7142 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7143 pub struct Eofr_SPEC;
7144 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7145 impl Eofr {
7146 #[doc = "Don\'t care"]
7147 pub const _00: Self = Self::new(0);
7148
7149 #[doc = "Detect rising edge"]
7150 pub const _01: Self = Self::new(1);
7151
7152 #[doc = "Detect falling edge"]
7153 pub const _10: Self = Self::new(2);
7154
7155 #[doc = "Detect both edges"]
7156 pub const _11: Self = Self::new(3);
7157 }
7158 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7159 pub struct Isel_SPEC;
7160 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7161 impl Isel {
7162 #[doc = "Do not use as IRQn input pin"]
7163 pub const _0: Self = Self::new(0);
7164
7165 #[doc = "Use as IRQn input pin"]
7166 pub const _1: Self = Self::new(1);
7167 }
7168 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7169 pub struct Asel_SPEC;
7170 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7171 impl Asel {
7172 #[doc = "Do not use as analog pin"]
7173 pub const _0: Self = Self::new(0);
7174
7175 #[doc = "Use as analog pin"]
7176 pub const _1: Self = Self::new(1);
7177 }
7178 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7179 pub struct Pmr_SPEC;
7180 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
7181 impl Pmr {
7182 #[doc = "Use as general I/O pin"]
7183 pub const _0: Self = Self::new(0);
7184
7185 #[doc = "Use as I/O port for peripheral functions"]
7186 pub const _1: Self = Self::new(1);
7187 }
7188}
7189#[doc(hidden)]
7190#[derive(Copy, Clone, Eq, PartialEq)]
7191pub struct P1PfsHa_SPEC;
7192impl crate::sealed::RegSpec for P1PfsHa_SPEC {
7193 type DataType = u16;
7194}
7195
7196#[doc = "Port 1%s Pin Function Select Register"]
7197pub type P1PfsHa = crate::RegValueT<P1PfsHa_SPEC>;
7198
7199impl P1PfsHa {
7200 #[doc = "Port Output Data"]
7201 #[inline(always)]
7202 pub fn podr(
7203 self,
7204 ) -> crate::common::RegisterField<
7205 0,
7206 0x1,
7207 1,
7208 0,
7209 p1pfs_ha::Podr,
7210 p1pfs_ha::Podr,
7211 P1PfsHa_SPEC,
7212 crate::common::RW,
7213 > {
7214 crate::common::RegisterField::<
7215 0,
7216 0x1,
7217 1,
7218 0,
7219 p1pfs_ha::Podr,
7220 p1pfs_ha::Podr,
7221 P1PfsHa_SPEC,
7222 crate::common::RW,
7223 >::from_register(self, 0)
7224 }
7225
7226 #[doc = "Port State"]
7227 #[inline(always)]
7228 pub fn pidr(
7229 self,
7230 ) -> crate::common::RegisterField<
7231 1,
7232 0x1,
7233 1,
7234 0,
7235 p1pfs_ha::Pidr,
7236 p1pfs_ha::Pidr,
7237 P1PfsHa_SPEC,
7238 crate::common::R,
7239 > {
7240 crate::common::RegisterField::<
7241 1,
7242 0x1,
7243 1,
7244 0,
7245 p1pfs_ha::Pidr,
7246 p1pfs_ha::Pidr,
7247 P1PfsHa_SPEC,
7248 crate::common::R,
7249 >::from_register(self, 0)
7250 }
7251
7252 #[doc = "Port Direction"]
7253 #[inline(always)]
7254 pub fn pdr(
7255 self,
7256 ) -> crate::common::RegisterField<
7257 2,
7258 0x1,
7259 1,
7260 0,
7261 p1pfs_ha::Pdr,
7262 p1pfs_ha::Pdr,
7263 P1PfsHa_SPEC,
7264 crate::common::RW,
7265 > {
7266 crate::common::RegisterField::<
7267 2,
7268 0x1,
7269 1,
7270 0,
7271 p1pfs_ha::Pdr,
7272 p1pfs_ha::Pdr,
7273 P1PfsHa_SPEC,
7274 crate::common::RW,
7275 >::from_register(self, 0)
7276 }
7277
7278 #[doc = "Pull-up Control"]
7279 #[inline(always)]
7280 pub fn pcr(
7281 self,
7282 ) -> crate::common::RegisterField<
7283 4,
7284 0x1,
7285 1,
7286 0,
7287 p1pfs_ha::Pcr,
7288 p1pfs_ha::Pcr,
7289 P1PfsHa_SPEC,
7290 crate::common::RW,
7291 > {
7292 crate::common::RegisterField::<
7293 4,
7294 0x1,
7295 1,
7296 0,
7297 p1pfs_ha::Pcr,
7298 p1pfs_ha::Pcr,
7299 P1PfsHa_SPEC,
7300 crate::common::RW,
7301 >::from_register(self, 0)
7302 }
7303
7304 #[doc = "N-Channel Open-Drain Control"]
7305 #[inline(always)]
7306 pub fn ncodr(
7307 self,
7308 ) -> crate::common::RegisterField<
7309 6,
7310 0x1,
7311 1,
7312 0,
7313 p1pfs_ha::Ncodr,
7314 p1pfs_ha::Ncodr,
7315 P1PfsHa_SPEC,
7316 crate::common::RW,
7317 > {
7318 crate::common::RegisterField::<
7319 6,
7320 0x1,
7321 1,
7322 0,
7323 p1pfs_ha::Ncodr,
7324 p1pfs_ha::Ncodr,
7325 P1PfsHa_SPEC,
7326 crate::common::RW,
7327 >::from_register(self, 0)
7328 }
7329
7330 #[doc = "Event on Falling/Event on Rising"]
7331 #[inline(always)]
7332 pub fn eofr(
7333 self,
7334 ) -> crate::common::RegisterField<
7335 12,
7336 0x3,
7337 1,
7338 0,
7339 p1pfs_ha::Eofr,
7340 p1pfs_ha::Eofr,
7341 P1PfsHa_SPEC,
7342 crate::common::RW,
7343 > {
7344 crate::common::RegisterField::<
7345 12,
7346 0x3,
7347 1,
7348 0,
7349 p1pfs_ha::Eofr,
7350 p1pfs_ha::Eofr,
7351 P1PfsHa_SPEC,
7352 crate::common::RW,
7353 >::from_register(self, 0)
7354 }
7355
7356 #[doc = "IRQ Input Enable"]
7357 #[inline(always)]
7358 pub fn isel(
7359 self,
7360 ) -> crate::common::RegisterField<
7361 14,
7362 0x1,
7363 1,
7364 0,
7365 p1pfs_ha::Isel,
7366 p1pfs_ha::Isel,
7367 P1PfsHa_SPEC,
7368 crate::common::RW,
7369 > {
7370 crate::common::RegisterField::<
7371 14,
7372 0x1,
7373 1,
7374 0,
7375 p1pfs_ha::Isel,
7376 p1pfs_ha::Isel,
7377 P1PfsHa_SPEC,
7378 crate::common::RW,
7379 >::from_register(self, 0)
7380 }
7381
7382 #[doc = "Analog Input Enable"]
7383 #[inline(always)]
7384 pub fn asel(
7385 self,
7386 ) -> crate::common::RegisterField<
7387 15,
7388 0x1,
7389 1,
7390 0,
7391 p1pfs_ha::Asel,
7392 p1pfs_ha::Asel,
7393 P1PfsHa_SPEC,
7394 crate::common::RW,
7395 > {
7396 crate::common::RegisterField::<
7397 15,
7398 0x1,
7399 1,
7400 0,
7401 p1pfs_ha::Asel,
7402 p1pfs_ha::Asel,
7403 P1PfsHa_SPEC,
7404 crate::common::RW,
7405 >::from_register(self, 0)
7406 }
7407}
7408impl ::core::default::Default for P1PfsHa {
7409 #[inline(always)]
7410 fn default() -> P1PfsHa {
7411 <crate::RegValueT<P1PfsHa_SPEC> as RegisterValue<_>>::new(0)
7412 }
7413}
7414pub mod p1pfs_ha {
7415
7416 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7417 pub struct Podr_SPEC;
7418 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7419 impl Podr {
7420 #[doc = "Output low"]
7421 pub const _0: Self = Self::new(0);
7422
7423 #[doc = "Output high"]
7424 pub const _1: Self = Self::new(1);
7425 }
7426 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7427 pub struct Pidr_SPEC;
7428 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7429 impl Pidr {
7430 #[doc = "Low level"]
7431 pub const _0: Self = Self::new(0);
7432
7433 #[doc = "High level"]
7434 pub const _1: Self = Self::new(1);
7435 }
7436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7437 pub struct Pdr_SPEC;
7438 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7439 impl Pdr {
7440 #[doc = "Input (functions as an input pin)"]
7441 pub const _0: Self = Self::new(0);
7442
7443 #[doc = "Output (functions as an output pin)"]
7444 pub const _1: Self = Self::new(1);
7445 }
7446 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7447 pub struct Pcr_SPEC;
7448 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7449 impl Pcr {
7450 #[doc = "Disable input pull-up"]
7451 pub const _0: Self = Self::new(0);
7452
7453 #[doc = "Enable input pull-up"]
7454 pub const _1: Self = Self::new(1);
7455 }
7456 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7457 pub struct Ncodr_SPEC;
7458 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7459 impl Ncodr {
7460 #[doc = "Output CMOS"]
7461 pub const _0: Self = Self::new(0);
7462
7463 #[doc = "Output NMOS open-drain"]
7464 pub const _1: Self = Self::new(1);
7465 }
7466 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7467 pub struct Eofr_SPEC;
7468 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7469 impl Eofr {
7470 #[doc = "Don\'t care"]
7471 pub const _00: Self = Self::new(0);
7472
7473 #[doc = "Detect rising edge"]
7474 pub const _01: Self = Self::new(1);
7475
7476 #[doc = "Detect falling edge"]
7477 pub const _10: Self = Self::new(2);
7478
7479 #[doc = "Detect both edges"]
7480 pub const _11: Self = Self::new(3);
7481 }
7482 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7483 pub struct Isel_SPEC;
7484 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7485 impl Isel {
7486 #[doc = "Do not use as IRQn input pin"]
7487 pub const _0: Self = Self::new(0);
7488
7489 #[doc = "Use as IRQn input pin"]
7490 pub const _1: Self = Self::new(1);
7491 }
7492 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7493 pub struct Asel_SPEC;
7494 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7495 impl Asel {
7496 #[doc = "Do not use as analog pin"]
7497 pub const _0: Self = Self::new(0);
7498
7499 #[doc = "Use as analog pin"]
7500 pub const _1: Self = Self::new(1);
7501 }
7502}
7503#[doc(hidden)]
7504#[derive(Copy, Clone, Eq, PartialEq)]
7505pub struct P1PfsBy_SPEC;
7506impl crate::sealed::RegSpec for P1PfsBy_SPEC {
7507 type DataType = u8;
7508}
7509
7510#[doc = "Port 1%s Pin Function Select Register"]
7511pub type P1PfsBy = crate::RegValueT<P1PfsBy_SPEC>;
7512
7513impl P1PfsBy {
7514 #[doc = "Port Output Data"]
7515 #[inline(always)]
7516 pub fn podr(
7517 self,
7518 ) -> crate::common::RegisterField<
7519 0,
7520 0x1,
7521 1,
7522 0,
7523 p1pfs_by::Podr,
7524 p1pfs_by::Podr,
7525 P1PfsBy_SPEC,
7526 crate::common::RW,
7527 > {
7528 crate::common::RegisterField::<
7529 0,
7530 0x1,
7531 1,
7532 0,
7533 p1pfs_by::Podr,
7534 p1pfs_by::Podr,
7535 P1PfsBy_SPEC,
7536 crate::common::RW,
7537 >::from_register(self, 0)
7538 }
7539
7540 #[doc = "Port State"]
7541 #[inline(always)]
7542 pub fn pidr(
7543 self,
7544 ) -> crate::common::RegisterField<
7545 1,
7546 0x1,
7547 1,
7548 0,
7549 p1pfs_by::Pidr,
7550 p1pfs_by::Pidr,
7551 P1PfsBy_SPEC,
7552 crate::common::R,
7553 > {
7554 crate::common::RegisterField::<
7555 1,
7556 0x1,
7557 1,
7558 0,
7559 p1pfs_by::Pidr,
7560 p1pfs_by::Pidr,
7561 P1PfsBy_SPEC,
7562 crate::common::R,
7563 >::from_register(self, 0)
7564 }
7565
7566 #[doc = "Port Direction"]
7567 #[inline(always)]
7568 pub fn pdr(
7569 self,
7570 ) -> crate::common::RegisterField<
7571 2,
7572 0x1,
7573 1,
7574 0,
7575 p1pfs_by::Pdr,
7576 p1pfs_by::Pdr,
7577 P1PfsBy_SPEC,
7578 crate::common::RW,
7579 > {
7580 crate::common::RegisterField::<
7581 2,
7582 0x1,
7583 1,
7584 0,
7585 p1pfs_by::Pdr,
7586 p1pfs_by::Pdr,
7587 P1PfsBy_SPEC,
7588 crate::common::RW,
7589 >::from_register(self, 0)
7590 }
7591
7592 #[doc = "Pull-up Control"]
7593 #[inline(always)]
7594 pub fn pcr(
7595 self,
7596 ) -> crate::common::RegisterField<
7597 4,
7598 0x1,
7599 1,
7600 0,
7601 p1pfs_by::Pcr,
7602 p1pfs_by::Pcr,
7603 P1PfsBy_SPEC,
7604 crate::common::RW,
7605 > {
7606 crate::common::RegisterField::<
7607 4,
7608 0x1,
7609 1,
7610 0,
7611 p1pfs_by::Pcr,
7612 p1pfs_by::Pcr,
7613 P1PfsBy_SPEC,
7614 crate::common::RW,
7615 >::from_register(self, 0)
7616 }
7617
7618 #[doc = "N-Channel Open-Drain Control"]
7619 #[inline(always)]
7620 pub fn ncodr(
7621 self,
7622 ) -> crate::common::RegisterField<
7623 6,
7624 0x1,
7625 1,
7626 0,
7627 p1pfs_by::Ncodr,
7628 p1pfs_by::Ncodr,
7629 P1PfsBy_SPEC,
7630 crate::common::RW,
7631 > {
7632 crate::common::RegisterField::<
7633 6,
7634 0x1,
7635 1,
7636 0,
7637 p1pfs_by::Ncodr,
7638 p1pfs_by::Ncodr,
7639 P1PfsBy_SPEC,
7640 crate::common::RW,
7641 >::from_register(self, 0)
7642 }
7643}
7644impl ::core::default::Default for P1PfsBy {
7645 #[inline(always)]
7646 fn default() -> P1PfsBy {
7647 <crate::RegValueT<P1PfsBy_SPEC> as RegisterValue<_>>::new(0)
7648 }
7649}
7650pub mod p1pfs_by {
7651
7652 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7653 pub struct Podr_SPEC;
7654 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7655 impl Podr {
7656 #[doc = "Output low"]
7657 pub const _0: Self = Self::new(0);
7658
7659 #[doc = "Output high"]
7660 pub const _1: Self = Self::new(1);
7661 }
7662 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7663 pub struct Pidr_SPEC;
7664 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7665 impl Pidr {
7666 #[doc = "Low level"]
7667 pub const _0: Self = Self::new(0);
7668
7669 #[doc = "High level"]
7670 pub const _1: Self = Self::new(1);
7671 }
7672 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7673 pub struct Pdr_SPEC;
7674 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7675 impl Pdr {
7676 #[doc = "Input (functions as an input pin)"]
7677 pub const _0: Self = Self::new(0);
7678
7679 #[doc = "Output (functions as an output pin)"]
7680 pub const _1: Self = Self::new(1);
7681 }
7682 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7683 pub struct Pcr_SPEC;
7684 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7685 impl Pcr {
7686 #[doc = "Disable input pull-up"]
7687 pub const _0: Self = Self::new(0);
7688
7689 #[doc = "Enable input pull-up"]
7690 pub const _1: Self = Self::new(1);
7691 }
7692 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7693 pub struct Ncodr_SPEC;
7694 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7695 impl Ncodr {
7696 #[doc = "Output CMOS"]
7697 pub const _0: Self = Self::new(0);
7698
7699 #[doc = "Output NMOS open-drain"]
7700 pub const _1: Self = Self::new(1);
7701 }
7702}
7703#[doc(hidden)]
7704#[derive(Copy, Clone, Eq, PartialEq)]
7705pub struct P200Pfs_SPEC;
7706impl crate::sealed::RegSpec for P200Pfs_SPEC {
7707 type DataType = u32;
7708}
7709
7710#[doc = "Port 200 Pin Function Select Register"]
7711pub type P200Pfs = crate::RegValueT<P200Pfs_SPEC>;
7712
7713impl P200Pfs {
7714 #[doc = "Port Output Data"]
7715 #[inline(always)]
7716 pub fn podr(
7717 self,
7718 ) -> crate::common::RegisterField<
7719 0,
7720 0x1,
7721 1,
7722 0,
7723 p200pfs::Podr,
7724 p200pfs::Podr,
7725 P200Pfs_SPEC,
7726 crate::common::RW,
7727 > {
7728 crate::common::RegisterField::<
7729 0,
7730 0x1,
7731 1,
7732 0,
7733 p200pfs::Podr,
7734 p200pfs::Podr,
7735 P200Pfs_SPEC,
7736 crate::common::RW,
7737 >::from_register(self, 0)
7738 }
7739
7740 #[doc = "Port State"]
7741 #[inline(always)]
7742 pub fn pidr(
7743 self,
7744 ) -> crate::common::RegisterField<
7745 1,
7746 0x1,
7747 1,
7748 0,
7749 p200pfs::Pidr,
7750 p200pfs::Pidr,
7751 P200Pfs_SPEC,
7752 crate::common::R,
7753 > {
7754 crate::common::RegisterField::<
7755 1,
7756 0x1,
7757 1,
7758 0,
7759 p200pfs::Pidr,
7760 p200pfs::Pidr,
7761 P200Pfs_SPEC,
7762 crate::common::R,
7763 >::from_register(self, 0)
7764 }
7765
7766 #[doc = "Port Direction"]
7767 #[inline(always)]
7768 pub fn pdr(
7769 self,
7770 ) -> crate::common::RegisterField<
7771 2,
7772 0x1,
7773 1,
7774 0,
7775 p200pfs::Pdr,
7776 p200pfs::Pdr,
7777 P200Pfs_SPEC,
7778 crate::common::RW,
7779 > {
7780 crate::common::RegisterField::<
7781 2,
7782 0x1,
7783 1,
7784 0,
7785 p200pfs::Pdr,
7786 p200pfs::Pdr,
7787 P200Pfs_SPEC,
7788 crate::common::RW,
7789 >::from_register(self, 0)
7790 }
7791
7792 #[doc = "Pull-up Control"]
7793 #[inline(always)]
7794 pub fn pcr(
7795 self,
7796 ) -> crate::common::RegisterField<
7797 4,
7798 0x1,
7799 1,
7800 0,
7801 p200pfs::Pcr,
7802 p200pfs::Pcr,
7803 P200Pfs_SPEC,
7804 crate::common::RW,
7805 > {
7806 crate::common::RegisterField::<
7807 4,
7808 0x1,
7809 1,
7810 0,
7811 p200pfs::Pcr,
7812 p200pfs::Pcr,
7813 P200Pfs_SPEC,
7814 crate::common::RW,
7815 >::from_register(self, 0)
7816 }
7817
7818 #[doc = "N-Channel Open-Drain Control"]
7819 #[inline(always)]
7820 pub fn ncodr(
7821 self,
7822 ) -> crate::common::RegisterField<
7823 6,
7824 0x1,
7825 1,
7826 0,
7827 p200pfs::Ncodr,
7828 p200pfs::Ncodr,
7829 P200Pfs_SPEC,
7830 crate::common::RW,
7831 > {
7832 crate::common::RegisterField::<
7833 6,
7834 0x1,
7835 1,
7836 0,
7837 p200pfs::Ncodr,
7838 p200pfs::Ncodr,
7839 P200Pfs_SPEC,
7840 crate::common::RW,
7841 >::from_register(self, 0)
7842 }
7843
7844 #[doc = "Event on Falling/Event on Rising"]
7845 #[inline(always)]
7846 pub fn eofr(
7847 self,
7848 ) -> crate::common::RegisterField<
7849 12,
7850 0x3,
7851 1,
7852 0,
7853 p200pfs::Eofr,
7854 p200pfs::Eofr,
7855 P200Pfs_SPEC,
7856 crate::common::RW,
7857 > {
7858 crate::common::RegisterField::<
7859 12,
7860 0x3,
7861 1,
7862 0,
7863 p200pfs::Eofr,
7864 p200pfs::Eofr,
7865 P200Pfs_SPEC,
7866 crate::common::RW,
7867 >::from_register(self, 0)
7868 }
7869
7870 #[doc = "IRQ Input Enable"]
7871 #[inline(always)]
7872 pub fn isel(
7873 self,
7874 ) -> crate::common::RegisterField<
7875 14,
7876 0x1,
7877 1,
7878 0,
7879 p200pfs::Isel,
7880 p200pfs::Isel,
7881 P200Pfs_SPEC,
7882 crate::common::RW,
7883 > {
7884 crate::common::RegisterField::<
7885 14,
7886 0x1,
7887 1,
7888 0,
7889 p200pfs::Isel,
7890 p200pfs::Isel,
7891 P200Pfs_SPEC,
7892 crate::common::RW,
7893 >::from_register(self, 0)
7894 }
7895
7896 #[doc = "Analog Input Enable"]
7897 #[inline(always)]
7898 pub fn asel(
7899 self,
7900 ) -> crate::common::RegisterField<
7901 15,
7902 0x1,
7903 1,
7904 0,
7905 p200pfs::Asel,
7906 p200pfs::Asel,
7907 P200Pfs_SPEC,
7908 crate::common::RW,
7909 > {
7910 crate::common::RegisterField::<
7911 15,
7912 0x1,
7913 1,
7914 0,
7915 p200pfs::Asel,
7916 p200pfs::Asel,
7917 P200Pfs_SPEC,
7918 crate::common::RW,
7919 >::from_register(self, 0)
7920 }
7921
7922 #[doc = "Port Mode Control"]
7923 #[inline(always)]
7924 pub fn pmr(
7925 self,
7926 ) -> crate::common::RegisterField<
7927 16,
7928 0x1,
7929 1,
7930 0,
7931 p200pfs::Pmr,
7932 p200pfs::Pmr,
7933 P200Pfs_SPEC,
7934 crate::common::RW,
7935 > {
7936 crate::common::RegisterField::<
7937 16,
7938 0x1,
7939 1,
7940 0,
7941 p200pfs::Pmr,
7942 p200pfs::Pmr,
7943 P200Pfs_SPEC,
7944 crate::common::RW,
7945 >::from_register(self, 0)
7946 }
7947
7948 #[doc = "Peripheral Select"]
7949 #[inline(always)]
7950 pub fn psel(
7951 self,
7952 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P200Pfs_SPEC, crate::common::RW> {
7953 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P200Pfs_SPEC,crate::common::RW>::from_register(self,0)
7954 }
7955}
7956impl ::core::default::Default for P200Pfs {
7957 #[inline(always)]
7958 fn default() -> P200Pfs {
7959 <crate::RegValueT<P200Pfs_SPEC> as RegisterValue<_>>::new(0)
7960 }
7961}
7962pub mod p200pfs {
7963
7964 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7965 pub struct Podr_SPEC;
7966 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7967 impl Podr {
7968 #[doc = "Output low"]
7969 pub const _0: Self = Self::new(0);
7970
7971 #[doc = "Output high"]
7972 pub const _1: Self = Self::new(1);
7973 }
7974 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7975 pub struct Pidr_SPEC;
7976 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7977 impl Pidr {
7978 #[doc = "Low level"]
7979 pub const _0: Self = Self::new(0);
7980
7981 #[doc = "High level"]
7982 pub const _1: Self = Self::new(1);
7983 }
7984 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7985 pub struct Pdr_SPEC;
7986 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7987 impl Pdr {
7988 #[doc = "Input (functions as an input pin)"]
7989 pub const _0: Self = Self::new(0);
7990
7991 #[doc = "Output (functions as an output pin)"]
7992 pub const _1: Self = Self::new(1);
7993 }
7994 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7995 pub struct Pcr_SPEC;
7996 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7997 impl Pcr {
7998 #[doc = "Disable input pull-up"]
7999 pub const _0: Self = Self::new(0);
8000
8001 #[doc = "Enable input pull-up"]
8002 pub const _1: Self = Self::new(1);
8003 }
8004 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8005 pub struct Ncodr_SPEC;
8006 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8007 impl Ncodr {
8008 #[doc = "Output CMOS"]
8009 pub const _0: Self = Self::new(0);
8010
8011 #[doc = "Output NMOS open-drain"]
8012 pub const _1: Self = Self::new(1);
8013 }
8014 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8015 pub struct Eofr_SPEC;
8016 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8017 impl Eofr {
8018 #[doc = "Don\'t care"]
8019 pub const _00: Self = Self::new(0);
8020
8021 #[doc = "Detect rising edge"]
8022 pub const _01: Self = Self::new(1);
8023
8024 #[doc = "Detect falling edge"]
8025 pub const _10: Self = Self::new(2);
8026
8027 #[doc = "Detect both edges"]
8028 pub const _11: Self = Self::new(3);
8029 }
8030 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8031 pub struct Isel_SPEC;
8032 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8033 impl Isel {
8034 #[doc = "Do not use as IRQn input pin"]
8035 pub const _0: Self = Self::new(0);
8036
8037 #[doc = "Use as IRQn input pin"]
8038 pub const _1: Self = Self::new(1);
8039 }
8040 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8041 pub struct Asel_SPEC;
8042 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8043 impl Asel {
8044 #[doc = "Do not use as analog pin"]
8045 pub const _0: Self = Self::new(0);
8046
8047 #[doc = "Use as analog pin"]
8048 pub const _1: Self = Self::new(1);
8049 }
8050 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8051 pub struct Pmr_SPEC;
8052 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
8053 impl Pmr {
8054 #[doc = "Use as general I/O pin"]
8055 pub const _0: Self = Self::new(0);
8056
8057 #[doc = "Use as I/O port for peripheral functions"]
8058 pub const _1: Self = Self::new(1);
8059 }
8060}
8061#[doc(hidden)]
8062#[derive(Copy, Clone, Eq, PartialEq)]
8063pub struct P200PfsHa_SPEC;
8064impl crate::sealed::RegSpec for P200PfsHa_SPEC {
8065 type DataType = u16;
8066}
8067
8068#[doc = "Port 200 Pin Function Select Register"]
8069pub type P200PfsHa = crate::RegValueT<P200PfsHa_SPEC>;
8070
8071impl P200PfsHa {
8072 #[doc = "Port Output Data"]
8073 #[inline(always)]
8074 pub fn podr(
8075 self,
8076 ) -> crate::common::RegisterField<
8077 0,
8078 0x1,
8079 1,
8080 0,
8081 p200pfs_ha::Podr,
8082 p200pfs_ha::Podr,
8083 P200PfsHa_SPEC,
8084 crate::common::RW,
8085 > {
8086 crate::common::RegisterField::<
8087 0,
8088 0x1,
8089 1,
8090 0,
8091 p200pfs_ha::Podr,
8092 p200pfs_ha::Podr,
8093 P200PfsHa_SPEC,
8094 crate::common::RW,
8095 >::from_register(self, 0)
8096 }
8097
8098 #[doc = "Port State"]
8099 #[inline(always)]
8100 pub fn pidr(
8101 self,
8102 ) -> crate::common::RegisterField<
8103 1,
8104 0x1,
8105 1,
8106 0,
8107 p200pfs_ha::Pidr,
8108 p200pfs_ha::Pidr,
8109 P200PfsHa_SPEC,
8110 crate::common::R,
8111 > {
8112 crate::common::RegisterField::<
8113 1,
8114 0x1,
8115 1,
8116 0,
8117 p200pfs_ha::Pidr,
8118 p200pfs_ha::Pidr,
8119 P200PfsHa_SPEC,
8120 crate::common::R,
8121 >::from_register(self, 0)
8122 }
8123
8124 #[doc = "Port Direction"]
8125 #[inline(always)]
8126 pub fn pdr(
8127 self,
8128 ) -> crate::common::RegisterField<
8129 2,
8130 0x1,
8131 1,
8132 0,
8133 p200pfs_ha::Pdr,
8134 p200pfs_ha::Pdr,
8135 P200PfsHa_SPEC,
8136 crate::common::RW,
8137 > {
8138 crate::common::RegisterField::<
8139 2,
8140 0x1,
8141 1,
8142 0,
8143 p200pfs_ha::Pdr,
8144 p200pfs_ha::Pdr,
8145 P200PfsHa_SPEC,
8146 crate::common::RW,
8147 >::from_register(self, 0)
8148 }
8149
8150 #[doc = "Pull-up Control"]
8151 #[inline(always)]
8152 pub fn pcr(
8153 self,
8154 ) -> crate::common::RegisterField<
8155 4,
8156 0x1,
8157 1,
8158 0,
8159 p200pfs_ha::Pcr,
8160 p200pfs_ha::Pcr,
8161 P200PfsHa_SPEC,
8162 crate::common::RW,
8163 > {
8164 crate::common::RegisterField::<
8165 4,
8166 0x1,
8167 1,
8168 0,
8169 p200pfs_ha::Pcr,
8170 p200pfs_ha::Pcr,
8171 P200PfsHa_SPEC,
8172 crate::common::RW,
8173 >::from_register(self, 0)
8174 }
8175
8176 #[doc = "N-Channel Open-Drain Control"]
8177 #[inline(always)]
8178 pub fn ncodr(
8179 self,
8180 ) -> crate::common::RegisterField<
8181 6,
8182 0x1,
8183 1,
8184 0,
8185 p200pfs_ha::Ncodr,
8186 p200pfs_ha::Ncodr,
8187 P200PfsHa_SPEC,
8188 crate::common::RW,
8189 > {
8190 crate::common::RegisterField::<
8191 6,
8192 0x1,
8193 1,
8194 0,
8195 p200pfs_ha::Ncodr,
8196 p200pfs_ha::Ncodr,
8197 P200PfsHa_SPEC,
8198 crate::common::RW,
8199 >::from_register(self, 0)
8200 }
8201
8202 #[doc = "Event on Falling/Event on Rising"]
8203 #[inline(always)]
8204 pub fn eofr(
8205 self,
8206 ) -> crate::common::RegisterField<
8207 12,
8208 0x3,
8209 1,
8210 0,
8211 p200pfs_ha::Eofr,
8212 p200pfs_ha::Eofr,
8213 P200PfsHa_SPEC,
8214 crate::common::RW,
8215 > {
8216 crate::common::RegisterField::<
8217 12,
8218 0x3,
8219 1,
8220 0,
8221 p200pfs_ha::Eofr,
8222 p200pfs_ha::Eofr,
8223 P200PfsHa_SPEC,
8224 crate::common::RW,
8225 >::from_register(self, 0)
8226 }
8227
8228 #[doc = "IRQ Input Enable"]
8229 #[inline(always)]
8230 pub fn isel(
8231 self,
8232 ) -> crate::common::RegisterField<
8233 14,
8234 0x1,
8235 1,
8236 0,
8237 p200pfs_ha::Isel,
8238 p200pfs_ha::Isel,
8239 P200PfsHa_SPEC,
8240 crate::common::RW,
8241 > {
8242 crate::common::RegisterField::<
8243 14,
8244 0x1,
8245 1,
8246 0,
8247 p200pfs_ha::Isel,
8248 p200pfs_ha::Isel,
8249 P200PfsHa_SPEC,
8250 crate::common::RW,
8251 >::from_register(self, 0)
8252 }
8253
8254 #[doc = "Analog Input Enable"]
8255 #[inline(always)]
8256 pub fn asel(
8257 self,
8258 ) -> crate::common::RegisterField<
8259 15,
8260 0x1,
8261 1,
8262 0,
8263 p200pfs_ha::Asel,
8264 p200pfs_ha::Asel,
8265 P200PfsHa_SPEC,
8266 crate::common::RW,
8267 > {
8268 crate::common::RegisterField::<
8269 15,
8270 0x1,
8271 1,
8272 0,
8273 p200pfs_ha::Asel,
8274 p200pfs_ha::Asel,
8275 P200PfsHa_SPEC,
8276 crate::common::RW,
8277 >::from_register(self, 0)
8278 }
8279}
8280impl ::core::default::Default for P200PfsHa {
8281 #[inline(always)]
8282 fn default() -> P200PfsHa {
8283 <crate::RegValueT<P200PfsHa_SPEC> as RegisterValue<_>>::new(0)
8284 }
8285}
8286pub mod p200pfs_ha {
8287
8288 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8289 pub struct Podr_SPEC;
8290 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8291 impl Podr {
8292 #[doc = "Output low"]
8293 pub const _0: Self = Self::new(0);
8294
8295 #[doc = "Output high"]
8296 pub const _1: Self = Self::new(1);
8297 }
8298 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8299 pub struct Pidr_SPEC;
8300 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8301 impl Pidr {
8302 #[doc = "Low level"]
8303 pub const _0: Self = Self::new(0);
8304
8305 #[doc = "High level"]
8306 pub const _1: Self = Self::new(1);
8307 }
8308 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8309 pub struct Pdr_SPEC;
8310 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8311 impl Pdr {
8312 #[doc = "Input (functions as an input pin)"]
8313 pub const _0: Self = Self::new(0);
8314
8315 #[doc = "Output (functions as an output pin)"]
8316 pub const _1: Self = Self::new(1);
8317 }
8318 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8319 pub struct Pcr_SPEC;
8320 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8321 impl Pcr {
8322 #[doc = "Disable input pull-up"]
8323 pub const _0: Self = Self::new(0);
8324
8325 #[doc = "Enable input pull-up"]
8326 pub const _1: Self = Self::new(1);
8327 }
8328 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8329 pub struct Ncodr_SPEC;
8330 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8331 impl Ncodr {
8332 #[doc = "Output CMOS"]
8333 pub const _0: Self = Self::new(0);
8334
8335 #[doc = "Output NMOS open-drain"]
8336 pub const _1: Self = Self::new(1);
8337 }
8338 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8339 pub struct Eofr_SPEC;
8340 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8341 impl Eofr {
8342 #[doc = "Don\'t care"]
8343 pub const _00: Self = Self::new(0);
8344
8345 #[doc = "Detect rising edge"]
8346 pub const _01: Self = Self::new(1);
8347
8348 #[doc = "Detect falling edge"]
8349 pub const _10: Self = Self::new(2);
8350
8351 #[doc = "Detect both edges"]
8352 pub const _11: Self = Self::new(3);
8353 }
8354 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8355 pub struct Isel_SPEC;
8356 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8357 impl Isel {
8358 #[doc = "Do not use as IRQn input pin"]
8359 pub const _0: Self = Self::new(0);
8360
8361 #[doc = "Use as IRQn input pin"]
8362 pub const _1: Self = Self::new(1);
8363 }
8364 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8365 pub struct Asel_SPEC;
8366 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8367 impl Asel {
8368 #[doc = "Do not use as analog pin"]
8369 pub const _0: Self = Self::new(0);
8370
8371 #[doc = "Use as analog pin"]
8372 pub const _1: Self = Self::new(1);
8373 }
8374}
8375#[doc(hidden)]
8376#[derive(Copy, Clone, Eq, PartialEq)]
8377pub struct P200PfsBy_SPEC;
8378impl crate::sealed::RegSpec for P200PfsBy_SPEC {
8379 type DataType = u8;
8380}
8381
8382#[doc = "Port 200 Pin Function Select Register"]
8383pub type P200PfsBy = crate::RegValueT<P200PfsBy_SPEC>;
8384
8385impl P200PfsBy {
8386 #[doc = "Port Output Data"]
8387 #[inline(always)]
8388 pub fn podr(
8389 self,
8390 ) -> crate::common::RegisterField<
8391 0,
8392 0x1,
8393 1,
8394 0,
8395 p200pfs_by::Podr,
8396 p200pfs_by::Podr,
8397 P200PfsBy_SPEC,
8398 crate::common::RW,
8399 > {
8400 crate::common::RegisterField::<
8401 0,
8402 0x1,
8403 1,
8404 0,
8405 p200pfs_by::Podr,
8406 p200pfs_by::Podr,
8407 P200PfsBy_SPEC,
8408 crate::common::RW,
8409 >::from_register(self, 0)
8410 }
8411
8412 #[doc = "Port State"]
8413 #[inline(always)]
8414 pub fn pidr(
8415 self,
8416 ) -> crate::common::RegisterField<
8417 1,
8418 0x1,
8419 1,
8420 0,
8421 p200pfs_by::Pidr,
8422 p200pfs_by::Pidr,
8423 P200PfsBy_SPEC,
8424 crate::common::R,
8425 > {
8426 crate::common::RegisterField::<
8427 1,
8428 0x1,
8429 1,
8430 0,
8431 p200pfs_by::Pidr,
8432 p200pfs_by::Pidr,
8433 P200PfsBy_SPEC,
8434 crate::common::R,
8435 >::from_register(self, 0)
8436 }
8437
8438 #[doc = "Port Direction"]
8439 #[inline(always)]
8440 pub fn pdr(
8441 self,
8442 ) -> crate::common::RegisterField<
8443 2,
8444 0x1,
8445 1,
8446 0,
8447 p200pfs_by::Pdr,
8448 p200pfs_by::Pdr,
8449 P200PfsBy_SPEC,
8450 crate::common::RW,
8451 > {
8452 crate::common::RegisterField::<
8453 2,
8454 0x1,
8455 1,
8456 0,
8457 p200pfs_by::Pdr,
8458 p200pfs_by::Pdr,
8459 P200PfsBy_SPEC,
8460 crate::common::RW,
8461 >::from_register(self, 0)
8462 }
8463
8464 #[doc = "Pull-up Control"]
8465 #[inline(always)]
8466 pub fn pcr(
8467 self,
8468 ) -> crate::common::RegisterField<
8469 4,
8470 0x1,
8471 1,
8472 0,
8473 p200pfs_by::Pcr,
8474 p200pfs_by::Pcr,
8475 P200PfsBy_SPEC,
8476 crate::common::RW,
8477 > {
8478 crate::common::RegisterField::<
8479 4,
8480 0x1,
8481 1,
8482 0,
8483 p200pfs_by::Pcr,
8484 p200pfs_by::Pcr,
8485 P200PfsBy_SPEC,
8486 crate::common::RW,
8487 >::from_register(self, 0)
8488 }
8489
8490 #[doc = "N-Channel Open-Drain Control"]
8491 #[inline(always)]
8492 pub fn ncodr(
8493 self,
8494 ) -> crate::common::RegisterField<
8495 6,
8496 0x1,
8497 1,
8498 0,
8499 p200pfs_by::Ncodr,
8500 p200pfs_by::Ncodr,
8501 P200PfsBy_SPEC,
8502 crate::common::RW,
8503 > {
8504 crate::common::RegisterField::<
8505 6,
8506 0x1,
8507 1,
8508 0,
8509 p200pfs_by::Ncodr,
8510 p200pfs_by::Ncodr,
8511 P200PfsBy_SPEC,
8512 crate::common::RW,
8513 >::from_register(self, 0)
8514 }
8515}
8516impl ::core::default::Default for P200PfsBy {
8517 #[inline(always)]
8518 fn default() -> P200PfsBy {
8519 <crate::RegValueT<P200PfsBy_SPEC> as RegisterValue<_>>::new(0)
8520 }
8521}
8522pub mod p200pfs_by {
8523
8524 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8525 pub struct Podr_SPEC;
8526 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8527 impl Podr {
8528 #[doc = "Output low"]
8529 pub const _0: Self = Self::new(0);
8530
8531 #[doc = "Output high"]
8532 pub const _1: Self = Self::new(1);
8533 }
8534 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8535 pub struct Pidr_SPEC;
8536 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8537 impl Pidr {
8538 #[doc = "Low level"]
8539 pub const _0: Self = Self::new(0);
8540
8541 #[doc = "High level"]
8542 pub const _1: Self = Self::new(1);
8543 }
8544 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8545 pub struct Pdr_SPEC;
8546 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8547 impl Pdr {
8548 #[doc = "Input (functions as an input pin)"]
8549 pub const _0: Self = Self::new(0);
8550
8551 #[doc = "Output (functions as an output pin)"]
8552 pub const _1: Self = Self::new(1);
8553 }
8554 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8555 pub struct Pcr_SPEC;
8556 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8557 impl Pcr {
8558 #[doc = "Disable input pull-up"]
8559 pub const _0: Self = Self::new(0);
8560
8561 #[doc = "Enable input pull-up"]
8562 pub const _1: Self = Self::new(1);
8563 }
8564 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8565 pub struct Ncodr_SPEC;
8566 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8567 impl Ncodr {
8568 #[doc = "Output CMOS"]
8569 pub const _0: Self = Self::new(0);
8570
8571 #[doc = "Output NMOS open-drain"]
8572 pub const _1: Self = Self::new(1);
8573 }
8574}
8575#[doc(hidden)]
8576#[derive(Copy, Clone, Eq, PartialEq)]
8577pub struct P201Pfs_SPEC;
8578impl crate::sealed::RegSpec for P201Pfs_SPEC {
8579 type DataType = u32;
8580}
8581
8582#[doc = "Port 201 Pin Function Select Register"]
8583pub type P201Pfs = crate::RegValueT<P201Pfs_SPEC>;
8584
8585impl P201Pfs {
8586 #[doc = "Port Output Data"]
8587 #[inline(always)]
8588 pub fn podr(
8589 self,
8590 ) -> crate::common::RegisterField<
8591 0,
8592 0x1,
8593 1,
8594 0,
8595 p201pfs::Podr,
8596 p201pfs::Podr,
8597 P201Pfs_SPEC,
8598 crate::common::RW,
8599 > {
8600 crate::common::RegisterField::<
8601 0,
8602 0x1,
8603 1,
8604 0,
8605 p201pfs::Podr,
8606 p201pfs::Podr,
8607 P201Pfs_SPEC,
8608 crate::common::RW,
8609 >::from_register(self, 0)
8610 }
8611
8612 #[doc = "Port State"]
8613 #[inline(always)]
8614 pub fn pidr(
8615 self,
8616 ) -> crate::common::RegisterField<
8617 1,
8618 0x1,
8619 1,
8620 0,
8621 p201pfs::Pidr,
8622 p201pfs::Pidr,
8623 P201Pfs_SPEC,
8624 crate::common::R,
8625 > {
8626 crate::common::RegisterField::<
8627 1,
8628 0x1,
8629 1,
8630 0,
8631 p201pfs::Pidr,
8632 p201pfs::Pidr,
8633 P201Pfs_SPEC,
8634 crate::common::R,
8635 >::from_register(self, 0)
8636 }
8637
8638 #[doc = "Port Direction"]
8639 #[inline(always)]
8640 pub fn pdr(
8641 self,
8642 ) -> crate::common::RegisterField<
8643 2,
8644 0x1,
8645 1,
8646 0,
8647 p201pfs::Pdr,
8648 p201pfs::Pdr,
8649 P201Pfs_SPEC,
8650 crate::common::RW,
8651 > {
8652 crate::common::RegisterField::<
8653 2,
8654 0x1,
8655 1,
8656 0,
8657 p201pfs::Pdr,
8658 p201pfs::Pdr,
8659 P201Pfs_SPEC,
8660 crate::common::RW,
8661 >::from_register(self, 0)
8662 }
8663
8664 #[doc = "Pull-up Control"]
8665 #[inline(always)]
8666 pub fn pcr(
8667 self,
8668 ) -> crate::common::RegisterField<
8669 4,
8670 0x1,
8671 1,
8672 0,
8673 p201pfs::Pcr,
8674 p201pfs::Pcr,
8675 P201Pfs_SPEC,
8676 crate::common::RW,
8677 > {
8678 crate::common::RegisterField::<
8679 4,
8680 0x1,
8681 1,
8682 0,
8683 p201pfs::Pcr,
8684 p201pfs::Pcr,
8685 P201Pfs_SPEC,
8686 crate::common::RW,
8687 >::from_register(self, 0)
8688 }
8689
8690 #[doc = "N-Channel Open-Drain Control"]
8691 #[inline(always)]
8692 pub fn ncodr(
8693 self,
8694 ) -> crate::common::RegisterField<
8695 6,
8696 0x1,
8697 1,
8698 0,
8699 p201pfs::Ncodr,
8700 p201pfs::Ncodr,
8701 P201Pfs_SPEC,
8702 crate::common::RW,
8703 > {
8704 crate::common::RegisterField::<
8705 6,
8706 0x1,
8707 1,
8708 0,
8709 p201pfs::Ncodr,
8710 p201pfs::Ncodr,
8711 P201Pfs_SPEC,
8712 crate::common::RW,
8713 >::from_register(self, 0)
8714 }
8715
8716 #[doc = "Event on Falling/Event on Rising"]
8717 #[inline(always)]
8718 pub fn eofr(
8719 self,
8720 ) -> crate::common::RegisterField<
8721 12,
8722 0x3,
8723 1,
8724 0,
8725 p201pfs::Eofr,
8726 p201pfs::Eofr,
8727 P201Pfs_SPEC,
8728 crate::common::RW,
8729 > {
8730 crate::common::RegisterField::<
8731 12,
8732 0x3,
8733 1,
8734 0,
8735 p201pfs::Eofr,
8736 p201pfs::Eofr,
8737 P201Pfs_SPEC,
8738 crate::common::RW,
8739 >::from_register(self, 0)
8740 }
8741
8742 #[doc = "IRQ Input Enable"]
8743 #[inline(always)]
8744 pub fn isel(
8745 self,
8746 ) -> crate::common::RegisterField<
8747 14,
8748 0x1,
8749 1,
8750 0,
8751 p201pfs::Isel,
8752 p201pfs::Isel,
8753 P201Pfs_SPEC,
8754 crate::common::RW,
8755 > {
8756 crate::common::RegisterField::<
8757 14,
8758 0x1,
8759 1,
8760 0,
8761 p201pfs::Isel,
8762 p201pfs::Isel,
8763 P201Pfs_SPEC,
8764 crate::common::RW,
8765 >::from_register(self, 0)
8766 }
8767
8768 #[doc = "Analog Input Enable"]
8769 #[inline(always)]
8770 pub fn asel(
8771 self,
8772 ) -> crate::common::RegisterField<
8773 15,
8774 0x1,
8775 1,
8776 0,
8777 p201pfs::Asel,
8778 p201pfs::Asel,
8779 P201Pfs_SPEC,
8780 crate::common::RW,
8781 > {
8782 crate::common::RegisterField::<
8783 15,
8784 0x1,
8785 1,
8786 0,
8787 p201pfs::Asel,
8788 p201pfs::Asel,
8789 P201Pfs_SPEC,
8790 crate::common::RW,
8791 >::from_register(self, 0)
8792 }
8793
8794 #[doc = "Port Mode Control"]
8795 #[inline(always)]
8796 pub fn pmr(
8797 self,
8798 ) -> crate::common::RegisterField<
8799 16,
8800 0x1,
8801 1,
8802 0,
8803 p201pfs::Pmr,
8804 p201pfs::Pmr,
8805 P201Pfs_SPEC,
8806 crate::common::RW,
8807 > {
8808 crate::common::RegisterField::<
8809 16,
8810 0x1,
8811 1,
8812 0,
8813 p201pfs::Pmr,
8814 p201pfs::Pmr,
8815 P201Pfs_SPEC,
8816 crate::common::RW,
8817 >::from_register(self, 0)
8818 }
8819
8820 #[doc = "Peripheral Select"]
8821 #[inline(always)]
8822 pub fn psel(
8823 self,
8824 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P201Pfs_SPEC, crate::common::RW> {
8825 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P201Pfs_SPEC,crate::common::RW>::from_register(self,0)
8826 }
8827}
8828impl ::core::default::Default for P201Pfs {
8829 #[inline(always)]
8830 fn default() -> P201Pfs {
8831 <crate::RegValueT<P201Pfs_SPEC> as RegisterValue<_>>::new(16)
8832 }
8833}
8834pub mod p201pfs {
8835
8836 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8837 pub struct Podr_SPEC;
8838 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8839 impl Podr {
8840 #[doc = "Output low"]
8841 pub const _0: Self = Self::new(0);
8842
8843 #[doc = "Output high"]
8844 pub const _1: Self = Self::new(1);
8845 }
8846 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8847 pub struct Pidr_SPEC;
8848 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8849 impl Pidr {
8850 #[doc = "Low level"]
8851 pub const _0: Self = Self::new(0);
8852
8853 #[doc = "High level"]
8854 pub const _1: Self = Self::new(1);
8855 }
8856 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8857 pub struct Pdr_SPEC;
8858 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8859 impl Pdr {
8860 #[doc = "Input (functions as an input pin)"]
8861 pub const _0: Self = Self::new(0);
8862
8863 #[doc = "Output (functions as an output pin)"]
8864 pub const _1: Self = Self::new(1);
8865 }
8866 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8867 pub struct Pcr_SPEC;
8868 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8869 impl Pcr {
8870 #[doc = "Disable input pull-up"]
8871 pub const _0: Self = Self::new(0);
8872
8873 #[doc = "Enable input pull-up"]
8874 pub const _1: Self = Self::new(1);
8875 }
8876 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8877 pub struct Ncodr_SPEC;
8878 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8879 impl Ncodr {
8880 #[doc = "Output CMOS"]
8881 pub const _0: Self = Self::new(0);
8882
8883 #[doc = "Output NMOS open-drain"]
8884 pub const _1: Self = Self::new(1);
8885 }
8886 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8887 pub struct Eofr_SPEC;
8888 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8889 impl Eofr {
8890 #[doc = "Don\'t care"]
8891 pub const _00: Self = Self::new(0);
8892
8893 #[doc = "Detect rising edge"]
8894 pub const _01: Self = Self::new(1);
8895
8896 #[doc = "Detect falling edge"]
8897 pub const _10: Self = Self::new(2);
8898
8899 #[doc = "Detect both edges"]
8900 pub const _11: Self = Self::new(3);
8901 }
8902 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8903 pub struct Isel_SPEC;
8904 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8905 impl Isel {
8906 #[doc = "Do not use as IRQn input pin"]
8907 pub const _0: Self = Self::new(0);
8908
8909 #[doc = "Use as IRQn input pin"]
8910 pub const _1: Self = Self::new(1);
8911 }
8912 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8913 pub struct Asel_SPEC;
8914 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8915 impl Asel {
8916 #[doc = "Do not use as analog pin"]
8917 pub const _0: Self = Self::new(0);
8918
8919 #[doc = "Use as analog pin"]
8920 pub const _1: Self = Self::new(1);
8921 }
8922 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8923 pub struct Pmr_SPEC;
8924 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
8925 impl Pmr {
8926 #[doc = "Use as general I/O pin"]
8927 pub const _0: Self = Self::new(0);
8928
8929 #[doc = "Use as I/O port for peripheral functions"]
8930 pub const _1: Self = Self::new(1);
8931 }
8932}
8933#[doc(hidden)]
8934#[derive(Copy, Clone, Eq, PartialEq)]
8935pub struct P201PfsHa_SPEC;
8936impl crate::sealed::RegSpec for P201PfsHa_SPEC {
8937 type DataType = u16;
8938}
8939
8940#[doc = "Port 201 Pin Function Select Register"]
8941pub type P201PfsHa = crate::RegValueT<P201PfsHa_SPEC>;
8942
8943impl P201PfsHa {
8944 #[doc = "Port Output Data"]
8945 #[inline(always)]
8946 pub fn podr(
8947 self,
8948 ) -> crate::common::RegisterField<
8949 0,
8950 0x1,
8951 1,
8952 0,
8953 p201pfs_ha::Podr,
8954 p201pfs_ha::Podr,
8955 P201PfsHa_SPEC,
8956 crate::common::RW,
8957 > {
8958 crate::common::RegisterField::<
8959 0,
8960 0x1,
8961 1,
8962 0,
8963 p201pfs_ha::Podr,
8964 p201pfs_ha::Podr,
8965 P201PfsHa_SPEC,
8966 crate::common::RW,
8967 >::from_register(self, 0)
8968 }
8969
8970 #[doc = "Port State"]
8971 #[inline(always)]
8972 pub fn pidr(
8973 self,
8974 ) -> crate::common::RegisterField<
8975 1,
8976 0x1,
8977 1,
8978 0,
8979 p201pfs_ha::Pidr,
8980 p201pfs_ha::Pidr,
8981 P201PfsHa_SPEC,
8982 crate::common::R,
8983 > {
8984 crate::common::RegisterField::<
8985 1,
8986 0x1,
8987 1,
8988 0,
8989 p201pfs_ha::Pidr,
8990 p201pfs_ha::Pidr,
8991 P201PfsHa_SPEC,
8992 crate::common::R,
8993 >::from_register(self, 0)
8994 }
8995
8996 #[doc = "Port Direction"]
8997 #[inline(always)]
8998 pub fn pdr(
8999 self,
9000 ) -> crate::common::RegisterField<
9001 2,
9002 0x1,
9003 1,
9004 0,
9005 p201pfs_ha::Pdr,
9006 p201pfs_ha::Pdr,
9007 P201PfsHa_SPEC,
9008 crate::common::RW,
9009 > {
9010 crate::common::RegisterField::<
9011 2,
9012 0x1,
9013 1,
9014 0,
9015 p201pfs_ha::Pdr,
9016 p201pfs_ha::Pdr,
9017 P201PfsHa_SPEC,
9018 crate::common::RW,
9019 >::from_register(self, 0)
9020 }
9021
9022 #[doc = "Pull-up Control"]
9023 #[inline(always)]
9024 pub fn pcr(
9025 self,
9026 ) -> crate::common::RegisterField<
9027 4,
9028 0x1,
9029 1,
9030 0,
9031 p201pfs_ha::Pcr,
9032 p201pfs_ha::Pcr,
9033 P201PfsHa_SPEC,
9034 crate::common::RW,
9035 > {
9036 crate::common::RegisterField::<
9037 4,
9038 0x1,
9039 1,
9040 0,
9041 p201pfs_ha::Pcr,
9042 p201pfs_ha::Pcr,
9043 P201PfsHa_SPEC,
9044 crate::common::RW,
9045 >::from_register(self, 0)
9046 }
9047
9048 #[doc = "N-Channel Open-Drain Control"]
9049 #[inline(always)]
9050 pub fn ncodr(
9051 self,
9052 ) -> crate::common::RegisterField<
9053 6,
9054 0x1,
9055 1,
9056 0,
9057 p201pfs_ha::Ncodr,
9058 p201pfs_ha::Ncodr,
9059 P201PfsHa_SPEC,
9060 crate::common::RW,
9061 > {
9062 crate::common::RegisterField::<
9063 6,
9064 0x1,
9065 1,
9066 0,
9067 p201pfs_ha::Ncodr,
9068 p201pfs_ha::Ncodr,
9069 P201PfsHa_SPEC,
9070 crate::common::RW,
9071 >::from_register(self, 0)
9072 }
9073
9074 #[doc = "Event on Falling/Event on Rising"]
9075 #[inline(always)]
9076 pub fn eofr(
9077 self,
9078 ) -> crate::common::RegisterField<
9079 12,
9080 0x3,
9081 1,
9082 0,
9083 p201pfs_ha::Eofr,
9084 p201pfs_ha::Eofr,
9085 P201PfsHa_SPEC,
9086 crate::common::RW,
9087 > {
9088 crate::common::RegisterField::<
9089 12,
9090 0x3,
9091 1,
9092 0,
9093 p201pfs_ha::Eofr,
9094 p201pfs_ha::Eofr,
9095 P201PfsHa_SPEC,
9096 crate::common::RW,
9097 >::from_register(self, 0)
9098 }
9099
9100 #[doc = "IRQ Input Enable"]
9101 #[inline(always)]
9102 pub fn isel(
9103 self,
9104 ) -> crate::common::RegisterField<
9105 14,
9106 0x1,
9107 1,
9108 0,
9109 p201pfs_ha::Isel,
9110 p201pfs_ha::Isel,
9111 P201PfsHa_SPEC,
9112 crate::common::RW,
9113 > {
9114 crate::common::RegisterField::<
9115 14,
9116 0x1,
9117 1,
9118 0,
9119 p201pfs_ha::Isel,
9120 p201pfs_ha::Isel,
9121 P201PfsHa_SPEC,
9122 crate::common::RW,
9123 >::from_register(self, 0)
9124 }
9125
9126 #[doc = "Analog Input Enable"]
9127 #[inline(always)]
9128 pub fn asel(
9129 self,
9130 ) -> crate::common::RegisterField<
9131 15,
9132 0x1,
9133 1,
9134 0,
9135 p201pfs_ha::Asel,
9136 p201pfs_ha::Asel,
9137 P201PfsHa_SPEC,
9138 crate::common::RW,
9139 > {
9140 crate::common::RegisterField::<
9141 15,
9142 0x1,
9143 1,
9144 0,
9145 p201pfs_ha::Asel,
9146 p201pfs_ha::Asel,
9147 P201PfsHa_SPEC,
9148 crate::common::RW,
9149 >::from_register(self, 0)
9150 }
9151}
9152impl ::core::default::Default for P201PfsHa {
9153 #[inline(always)]
9154 fn default() -> P201PfsHa {
9155 <crate::RegValueT<P201PfsHa_SPEC> as RegisterValue<_>>::new(16)
9156 }
9157}
9158pub mod p201pfs_ha {
9159
9160 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9161 pub struct Podr_SPEC;
9162 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9163 impl Podr {
9164 #[doc = "Output low"]
9165 pub const _0: Self = Self::new(0);
9166
9167 #[doc = "Output high"]
9168 pub const _1: Self = Self::new(1);
9169 }
9170 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9171 pub struct Pidr_SPEC;
9172 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9173 impl Pidr {
9174 #[doc = "Low level"]
9175 pub const _0: Self = Self::new(0);
9176
9177 #[doc = "High level"]
9178 pub const _1: Self = Self::new(1);
9179 }
9180 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9181 pub struct Pdr_SPEC;
9182 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9183 impl Pdr {
9184 #[doc = "Input (functions as an input pin)"]
9185 pub const _0: Self = Self::new(0);
9186
9187 #[doc = "Output (functions as an output pin)"]
9188 pub const _1: Self = Self::new(1);
9189 }
9190 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9191 pub struct Pcr_SPEC;
9192 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9193 impl Pcr {
9194 #[doc = "Disable input pull-up"]
9195 pub const _0: Self = Self::new(0);
9196
9197 #[doc = "Enable input pull-up"]
9198 pub const _1: Self = Self::new(1);
9199 }
9200 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9201 pub struct Ncodr_SPEC;
9202 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9203 impl Ncodr {
9204 #[doc = "Output CMOS"]
9205 pub const _0: Self = Self::new(0);
9206
9207 #[doc = "Output NMOS open-drain"]
9208 pub const _1: Self = Self::new(1);
9209 }
9210 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9211 pub struct Eofr_SPEC;
9212 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9213 impl Eofr {
9214 #[doc = "Don\'t care"]
9215 pub const _00: Self = Self::new(0);
9216
9217 #[doc = "Detect rising edge"]
9218 pub const _01: Self = Self::new(1);
9219
9220 #[doc = "Detect falling edge"]
9221 pub const _10: Self = Self::new(2);
9222
9223 #[doc = "Detect both edges"]
9224 pub const _11: Self = Self::new(3);
9225 }
9226 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9227 pub struct Isel_SPEC;
9228 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9229 impl Isel {
9230 #[doc = "Do not use as IRQn input pin"]
9231 pub const _0: Self = Self::new(0);
9232
9233 #[doc = "Use as IRQn input pin"]
9234 pub const _1: Self = Self::new(1);
9235 }
9236 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9237 pub struct Asel_SPEC;
9238 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9239 impl Asel {
9240 #[doc = "Do not use as analog pin"]
9241 pub const _0: Self = Self::new(0);
9242
9243 #[doc = "Use as analog pin"]
9244 pub const _1: Self = Self::new(1);
9245 }
9246}
9247#[doc(hidden)]
9248#[derive(Copy, Clone, Eq, PartialEq)]
9249pub struct P201PfsBy_SPEC;
9250impl crate::sealed::RegSpec for P201PfsBy_SPEC {
9251 type DataType = u8;
9252}
9253
9254#[doc = "Port 201 Pin Function Select Register"]
9255pub type P201PfsBy = crate::RegValueT<P201PfsBy_SPEC>;
9256
9257impl P201PfsBy {
9258 #[doc = "Port Output Data"]
9259 #[inline(always)]
9260 pub fn podr(
9261 self,
9262 ) -> crate::common::RegisterField<
9263 0,
9264 0x1,
9265 1,
9266 0,
9267 p201pfs_by::Podr,
9268 p201pfs_by::Podr,
9269 P201PfsBy_SPEC,
9270 crate::common::RW,
9271 > {
9272 crate::common::RegisterField::<
9273 0,
9274 0x1,
9275 1,
9276 0,
9277 p201pfs_by::Podr,
9278 p201pfs_by::Podr,
9279 P201PfsBy_SPEC,
9280 crate::common::RW,
9281 >::from_register(self, 0)
9282 }
9283
9284 #[doc = "Port State"]
9285 #[inline(always)]
9286 pub fn pidr(
9287 self,
9288 ) -> crate::common::RegisterField<
9289 1,
9290 0x1,
9291 1,
9292 0,
9293 p201pfs_by::Pidr,
9294 p201pfs_by::Pidr,
9295 P201PfsBy_SPEC,
9296 crate::common::R,
9297 > {
9298 crate::common::RegisterField::<
9299 1,
9300 0x1,
9301 1,
9302 0,
9303 p201pfs_by::Pidr,
9304 p201pfs_by::Pidr,
9305 P201PfsBy_SPEC,
9306 crate::common::R,
9307 >::from_register(self, 0)
9308 }
9309
9310 #[doc = "Port Direction"]
9311 #[inline(always)]
9312 pub fn pdr(
9313 self,
9314 ) -> crate::common::RegisterField<
9315 2,
9316 0x1,
9317 1,
9318 0,
9319 p201pfs_by::Pdr,
9320 p201pfs_by::Pdr,
9321 P201PfsBy_SPEC,
9322 crate::common::RW,
9323 > {
9324 crate::common::RegisterField::<
9325 2,
9326 0x1,
9327 1,
9328 0,
9329 p201pfs_by::Pdr,
9330 p201pfs_by::Pdr,
9331 P201PfsBy_SPEC,
9332 crate::common::RW,
9333 >::from_register(self, 0)
9334 }
9335
9336 #[doc = "Pull-up Control"]
9337 #[inline(always)]
9338 pub fn pcr(
9339 self,
9340 ) -> crate::common::RegisterField<
9341 4,
9342 0x1,
9343 1,
9344 0,
9345 p201pfs_by::Pcr,
9346 p201pfs_by::Pcr,
9347 P201PfsBy_SPEC,
9348 crate::common::RW,
9349 > {
9350 crate::common::RegisterField::<
9351 4,
9352 0x1,
9353 1,
9354 0,
9355 p201pfs_by::Pcr,
9356 p201pfs_by::Pcr,
9357 P201PfsBy_SPEC,
9358 crate::common::RW,
9359 >::from_register(self, 0)
9360 }
9361
9362 #[doc = "N-Channel Open-Drain Control"]
9363 #[inline(always)]
9364 pub fn ncodr(
9365 self,
9366 ) -> crate::common::RegisterField<
9367 6,
9368 0x1,
9369 1,
9370 0,
9371 p201pfs_by::Ncodr,
9372 p201pfs_by::Ncodr,
9373 P201PfsBy_SPEC,
9374 crate::common::RW,
9375 > {
9376 crate::common::RegisterField::<
9377 6,
9378 0x1,
9379 1,
9380 0,
9381 p201pfs_by::Ncodr,
9382 p201pfs_by::Ncodr,
9383 P201PfsBy_SPEC,
9384 crate::common::RW,
9385 >::from_register(self, 0)
9386 }
9387}
9388impl ::core::default::Default for P201PfsBy {
9389 #[inline(always)]
9390 fn default() -> P201PfsBy {
9391 <crate::RegValueT<P201PfsBy_SPEC> as RegisterValue<_>>::new(16)
9392 }
9393}
9394pub mod p201pfs_by {
9395
9396 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9397 pub struct Podr_SPEC;
9398 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9399 impl Podr {
9400 #[doc = "Output low"]
9401 pub const _0: Self = Self::new(0);
9402
9403 #[doc = "Output high"]
9404 pub const _1: Self = Self::new(1);
9405 }
9406 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9407 pub struct Pidr_SPEC;
9408 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9409 impl Pidr {
9410 #[doc = "Low level"]
9411 pub const _0: Self = Self::new(0);
9412
9413 #[doc = "High level"]
9414 pub const _1: Self = Self::new(1);
9415 }
9416 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9417 pub struct Pdr_SPEC;
9418 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9419 impl Pdr {
9420 #[doc = "Input (functions as an input pin)"]
9421 pub const _0: Self = Self::new(0);
9422
9423 #[doc = "Output (functions as an output pin)"]
9424 pub const _1: Self = Self::new(1);
9425 }
9426 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9427 pub struct Pcr_SPEC;
9428 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9429 impl Pcr {
9430 #[doc = "Disable input pull-up"]
9431 pub const _0: Self = Self::new(0);
9432
9433 #[doc = "Enable input pull-up"]
9434 pub const _1: Self = Self::new(1);
9435 }
9436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9437 pub struct Ncodr_SPEC;
9438 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9439 impl Ncodr {
9440 #[doc = "Output CMOS"]
9441 pub const _0: Self = Self::new(0);
9442
9443 #[doc = "Output NMOS open-drain"]
9444 pub const _1: Self = Self::new(1);
9445 }
9446}
9447#[doc(hidden)]
9448#[derive(Copy, Clone, Eq, PartialEq)]
9449pub struct P20Pfs_SPEC;
9450impl crate::sealed::RegSpec for P20Pfs_SPEC {
9451 type DataType = u32;
9452}
9453
9454#[doc = "Port 20%s Pin Function Select Register"]
9455pub type P20Pfs = crate::RegValueT<P20Pfs_SPEC>;
9456
9457impl P20Pfs {
9458 #[doc = "Port Output Data"]
9459 #[inline(always)]
9460 pub fn podr(
9461 self,
9462 ) -> crate::common::RegisterField<
9463 0,
9464 0x1,
9465 1,
9466 0,
9467 p20pfs::Podr,
9468 p20pfs::Podr,
9469 P20Pfs_SPEC,
9470 crate::common::RW,
9471 > {
9472 crate::common::RegisterField::<
9473 0,
9474 0x1,
9475 1,
9476 0,
9477 p20pfs::Podr,
9478 p20pfs::Podr,
9479 P20Pfs_SPEC,
9480 crate::common::RW,
9481 >::from_register(self, 0)
9482 }
9483
9484 #[doc = "Port State"]
9485 #[inline(always)]
9486 pub fn pidr(
9487 self,
9488 ) -> crate::common::RegisterField<
9489 1,
9490 0x1,
9491 1,
9492 0,
9493 p20pfs::Pidr,
9494 p20pfs::Pidr,
9495 P20Pfs_SPEC,
9496 crate::common::R,
9497 > {
9498 crate::common::RegisterField::<
9499 1,
9500 0x1,
9501 1,
9502 0,
9503 p20pfs::Pidr,
9504 p20pfs::Pidr,
9505 P20Pfs_SPEC,
9506 crate::common::R,
9507 >::from_register(self, 0)
9508 }
9509
9510 #[doc = "Port Direction"]
9511 #[inline(always)]
9512 pub fn pdr(
9513 self,
9514 ) -> crate::common::RegisterField<
9515 2,
9516 0x1,
9517 1,
9518 0,
9519 p20pfs::Pdr,
9520 p20pfs::Pdr,
9521 P20Pfs_SPEC,
9522 crate::common::RW,
9523 > {
9524 crate::common::RegisterField::<
9525 2,
9526 0x1,
9527 1,
9528 0,
9529 p20pfs::Pdr,
9530 p20pfs::Pdr,
9531 P20Pfs_SPEC,
9532 crate::common::RW,
9533 >::from_register(self, 0)
9534 }
9535
9536 #[doc = "Pull-up Control"]
9537 #[inline(always)]
9538 pub fn pcr(
9539 self,
9540 ) -> crate::common::RegisterField<
9541 4,
9542 0x1,
9543 1,
9544 0,
9545 p20pfs::Pcr,
9546 p20pfs::Pcr,
9547 P20Pfs_SPEC,
9548 crate::common::RW,
9549 > {
9550 crate::common::RegisterField::<
9551 4,
9552 0x1,
9553 1,
9554 0,
9555 p20pfs::Pcr,
9556 p20pfs::Pcr,
9557 P20Pfs_SPEC,
9558 crate::common::RW,
9559 >::from_register(self, 0)
9560 }
9561
9562 #[doc = "N-Channel Open-Drain Control"]
9563 #[inline(always)]
9564 pub fn ncodr(
9565 self,
9566 ) -> crate::common::RegisterField<
9567 6,
9568 0x1,
9569 1,
9570 0,
9571 p20pfs::Ncodr,
9572 p20pfs::Ncodr,
9573 P20Pfs_SPEC,
9574 crate::common::RW,
9575 > {
9576 crate::common::RegisterField::<
9577 6,
9578 0x1,
9579 1,
9580 0,
9581 p20pfs::Ncodr,
9582 p20pfs::Ncodr,
9583 P20Pfs_SPEC,
9584 crate::common::RW,
9585 >::from_register(self, 0)
9586 }
9587
9588 #[doc = "Event on Falling/Event on Rising"]
9589 #[inline(always)]
9590 pub fn eofr(
9591 self,
9592 ) -> crate::common::RegisterField<
9593 12,
9594 0x3,
9595 1,
9596 0,
9597 p20pfs::Eofr,
9598 p20pfs::Eofr,
9599 P20Pfs_SPEC,
9600 crate::common::RW,
9601 > {
9602 crate::common::RegisterField::<
9603 12,
9604 0x3,
9605 1,
9606 0,
9607 p20pfs::Eofr,
9608 p20pfs::Eofr,
9609 P20Pfs_SPEC,
9610 crate::common::RW,
9611 >::from_register(self, 0)
9612 }
9613
9614 #[doc = "IRQ Input Enable"]
9615 #[inline(always)]
9616 pub fn isel(
9617 self,
9618 ) -> crate::common::RegisterField<
9619 14,
9620 0x1,
9621 1,
9622 0,
9623 p20pfs::Isel,
9624 p20pfs::Isel,
9625 P20Pfs_SPEC,
9626 crate::common::RW,
9627 > {
9628 crate::common::RegisterField::<
9629 14,
9630 0x1,
9631 1,
9632 0,
9633 p20pfs::Isel,
9634 p20pfs::Isel,
9635 P20Pfs_SPEC,
9636 crate::common::RW,
9637 >::from_register(self, 0)
9638 }
9639
9640 #[doc = "Analog Input Enable"]
9641 #[inline(always)]
9642 pub fn asel(
9643 self,
9644 ) -> crate::common::RegisterField<
9645 15,
9646 0x1,
9647 1,
9648 0,
9649 p20pfs::Asel,
9650 p20pfs::Asel,
9651 P20Pfs_SPEC,
9652 crate::common::RW,
9653 > {
9654 crate::common::RegisterField::<
9655 15,
9656 0x1,
9657 1,
9658 0,
9659 p20pfs::Asel,
9660 p20pfs::Asel,
9661 P20Pfs_SPEC,
9662 crate::common::RW,
9663 >::from_register(self, 0)
9664 }
9665
9666 #[doc = "Port Mode Control"]
9667 #[inline(always)]
9668 pub fn pmr(
9669 self,
9670 ) -> crate::common::RegisterField<
9671 16,
9672 0x1,
9673 1,
9674 0,
9675 p20pfs::Pmr,
9676 p20pfs::Pmr,
9677 P20Pfs_SPEC,
9678 crate::common::RW,
9679 > {
9680 crate::common::RegisterField::<
9681 16,
9682 0x1,
9683 1,
9684 0,
9685 p20pfs::Pmr,
9686 p20pfs::Pmr,
9687 P20Pfs_SPEC,
9688 crate::common::RW,
9689 >::from_register(self, 0)
9690 }
9691
9692 #[doc = "Peripheral Select"]
9693 #[inline(always)]
9694 pub fn psel(
9695 self,
9696 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P20Pfs_SPEC, crate::common::RW> {
9697 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P20Pfs_SPEC,crate::common::RW>::from_register(self,0)
9698 }
9699}
9700impl ::core::default::Default for P20Pfs {
9701 #[inline(always)]
9702 fn default() -> P20Pfs {
9703 <crate::RegValueT<P20Pfs_SPEC> as RegisterValue<_>>::new(0)
9704 }
9705}
9706pub mod p20pfs {
9707
9708 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9709 pub struct Podr_SPEC;
9710 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9711 impl Podr {
9712 #[doc = "Output low"]
9713 pub const _0: Self = Self::new(0);
9714
9715 #[doc = "Output high"]
9716 pub const _1: Self = Self::new(1);
9717 }
9718 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9719 pub struct Pidr_SPEC;
9720 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9721 impl Pidr {
9722 #[doc = "Low level"]
9723 pub const _0: Self = Self::new(0);
9724
9725 #[doc = "High level"]
9726 pub const _1: Self = Self::new(1);
9727 }
9728 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9729 pub struct Pdr_SPEC;
9730 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9731 impl Pdr {
9732 #[doc = "Input (functions as an input pin)"]
9733 pub const _0: Self = Self::new(0);
9734
9735 #[doc = "Output (functions as an output pin)"]
9736 pub const _1: Self = Self::new(1);
9737 }
9738 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9739 pub struct Pcr_SPEC;
9740 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9741 impl Pcr {
9742 #[doc = "Disable input pull-up"]
9743 pub const _0: Self = Self::new(0);
9744
9745 #[doc = "Enable input pull-up"]
9746 pub const _1: Self = Self::new(1);
9747 }
9748 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9749 pub struct Ncodr_SPEC;
9750 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9751 impl Ncodr {
9752 #[doc = "Output CMOS"]
9753 pub const _0: Self = Self::new(0);
9754
9755 #[doc = "Output NMOS open-drain"]
9756 pub const _1: Self = Self::new(1);
9757 }
9758 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9759 pub struct Eofr_SPEC;
9760 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9761 impl Eofr {
9762 #[doc = "Don\'t care"]
9763 pub const _00: Self = Self::new(0);
9764
9765 #[doc = "Detect rising edge"]
9766 pub const _01: Self = Self::new(1);
9767
9768 #[doc = "Detect falling edge"]
9769 pub const _10: Self = Self::new(2);
9770
9771 #[doc = "Detect both edges"]
9772 pub const _11: Self = Self::new(3);
9773 }
9774 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9775 pub struct Isel_SPEC;
9776 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9777 impl Isel {
9778 #[doc = "Do not use as IRQn input pin"]
9779 pub const _0: Self = Self::new(0);
9780
9781 #[doc = "Use as IRQn input pin"]
9782 pub const _1: Self = Self::new(1);
9783 }
9784 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9785 pub struct Asel_SPEC;
9786 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9787 impl Asel {
9788 #[doc = "Do not use as analog pin"]
9789 pub const _0: Self = Self::new(0);
9790
9791 #[doc = "Use as analog pin"]
9792 pub const _1: Self = Self::new(1);
9793 }
9794 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9795 pub struct Pmr_SPEC;
9796 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
9797 impl Pmr {
9798 #[doc = "Use as general I/O pin"]
9799 pub const _0: Self = Self::new(0);
9800
9801 #[doc = "Use as I/O port for peripheral functions"]
9802 pub const _1: Self = Self::new(1);
9803 }
9804}
9805#[doc(hidden)]
9806#[derive(Copy, Clone, Eq, PartialEq)]
9807pub struct P20PfsHa_SPEC;
9808impl crate::sealed::RegSpec for P20PfsHa_SPEC {
9809 type DataType = u16;
9810}
9811
9812#[doc = "Port 20%s Pin Function Select Register"]
9813pub type P20PfsHa = crate::RegValueT<P20PfsHa_SPEC>;
9814
9815impl P20PfsHa {
9816 #[doc = "Port Output Data"]
9817 #[inline(always)]
9818 pub fn podr(
9819 self,
9820 ) -> crate::common::RegisterField<
9821 0,
9822 0x1,
9823 1,
9824 0,
9825 p20pfs_ha::Podr,
9826 p20pfs_ha::Podr,
9827 P20PfsHa_SPEC,
9828 crate::common::RW,
9829 > {
9830 crate::common::RegisterField::<
9831 0,
9832 0x1,
9833 1,
9834 0,
9835 p20pfs_ha::Podr,
9836 p20pfs_ha::Podr,
9837 P20PfsHa_SPEC,
9838 crate::common::RW,
9839 >::from_register(self, 0)
9840 }
9841
9842 #[doc = "Port State"]
9843 #[inline(always)]
9844 pub fn pidr(
9845 self,
9846 ) -> crate::common::RegisterField<
9847 1,
9848 0x1,
9849 1,
9850 0,
9851 p20pfs_ha::Pidr,
9852 p20pfs_ha::Pidr,
9853 P20PfsHa_SPEC,
9854 crate::common::R,
9855 > {
9856 crate::common::RegisterField::<
9857 1,
9858 0x1,
9859 1,
9860 0,
9861 p20pfs_ha::Pidr,
9862 p20pfs_ha::Pidr,
9863 P20PfsHa_SPEC,
9864 crate::common::R,
9865 >::from_register(self, 0)
9866 }
9867
9868 #[doc = "Port Direction"]
9869 #[inline(always)]
9870 pub fn pdr(
9871 self,
9872 ) -> crate::common::RegisterField<
9873 2,
9874 0x1,
9875 1,
9876 0,
9877 p20pfs_ha::Pdr,
9878 p20pfs_ha::Pdr,
9879 P20PfsHa_SPEC,
9880 crate::common::RW,
9881 > {
9882 crate::common::RegisterField::<
9883 2,
9884 0x1,
9885 1,
9886 0,
9887 p20pfs_ha::Pdr,
9888 p20pfs_ha::Pdr,
9889 P20PfsHa_SPEC,
9890 crate::common::RW,
9891 >::from_register(self, 0)
9892 }
9893
9894 #[doc = "Pull-up Control"]
9895 #[inline(always)]
9896 pub fn pcr(
9897 self,
9898 ) -> crate::common::RegisterField<
9899 4,
9900 0x1,
9901 1,
9902 0,
9903 p20pfs_ha::Pcr,
9904 p20pfs_ha::Pcr,
9905 P20PfsHa_SPEC,
9906 crate::common::RW,
9907 > {
9908 crate::common::RegisterField::<
9909 4,
9910 0x1,
9911 1,
9912 0,
9913 p20pfs_ha::Pcr,
9914 p20pfs_ha::Pcr,
9915 P20PfsHa_SPEC,
9916 crate::common::RW,
9917 >::from_register(self, 0)
9918 }
9919
9920 #[doc = "N-Channel Open-Drain Control"]
9921 #[inline(always)]
9922 pub fn ncodr(
9923 self,
9924 ) -> crate::common::RegisterField<
9925 6,
9926 0x1,
9927 1,
9928 0,
9929 p20pfs_ha::Ncodr,
9930 p20pfs_ha::Ncodr,
9931 P20PfsHa_SPEC,
9932 crate::common::RW,
9933 > {
9934 crate::common::RegisterField::<
9935 6,
9936 0x1,
9937 1,
9938 0,
9939 p20pfs_ha::Ncodr,
9940 p20pfs_ha::Ncodr,
9941 P20PfsHa_SPEC,
9942 crate::common::RW,
9943 >::from_register(self, 0)
9944 }
9945
9946 #[doc = "Event on Falling/Event on Rising"]
9947 #[inline(always)]
9948 pub fn eofr(
9949 self,
9950 ) -> crate::common::RegisterField<
9951 12,
9952 0x3,
9953 1,
9954 0,
9955 p20pfs_ha::Eofr,
9956 p20pfs_ha::Eofr,
9957 P20PfsHa_SPEC,
9958 crate::common::RW,
9959 > {
9960 crate::common::RegisterField::<
9961 12,
9962 0x3,
9963 1,
9964 0,
9965 p20pfs_ha::Eofr,
9966 p20pfs_ha::Eofr,
9967 P20PfsHa_SPEC,
9968 crate::common::RW,
9969 >::from_register(self, 0)
9970 }
9971
9972 #[doc = "IRQ Input Enable"]
9973 #[inline(always)]
9974 pub fn isel(
9975 self,
9976 ) -> crate::common::RegisterField<
9977 14,
9978 0x1,
9979 1,
9980 0,
9981 p20pfs_ha::Isel,
9982 p20pfs_ha::Isel,
9983 P20PfsHa_SPEC,
9984 crate::common::RW,
9985 > {
9986 crate::common::RegisterField::<
9987 14,
9988 0x1,
9989 1,
9990 0,
9991 p20pfs_ha::Isel,
9992 p20pfs_ha::Isel,
9993 P20PfsHa_SPEC,
9994 crate::common::RW,
9995 >::from_register(self, 0)
9996 }
9997
9998 #[doc = "Analog Input Enable"]
9999 #[inline(always)]
10000 pub fn asel(
10001 self,
10002 ) -> crate::common::RegisterField<
10003 15,
10004 0x1,
10005 1,
10006 0,
10007 p20pfs_ha::Asel,
10008 p20pfs_ha::Asel,
10009 P20PfsHa_SPEC,
10010 crate::common::RW,
10011 > {
10012 crate::common::RegisterField::<
10013 15,
10014 0x1,
10015 1,
10016 0,
10017 p20pfs_ha::Asel,
10018 p20pfs_ha::Asel,
10019 P20PfsHa_SPEC,
10020 crate::common::RW,
10021 >::from_register(self, 0)
10022 }
10023}
10024impl ::core::default::Default for P20PfsHa {
10025 #[inline(always)]
10026 fn default() -> P20PfsHa {
10027 <crate::RegValueT<P20PfsHa_SPEC> as RegisterValue<_>>::new(0)
10028 }
10029}
10030pub mod p20pfs_ha {
10031
10032 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10033 pub struct Podr_SPEC;
10034 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10035 impl Podr {
10036 #[doc = "Output low"]
10037 pub const _0: Self = Self::new(0);
10038
10039 #[doc = "Output high"]
10040 pub const _1: Self = Self::new(1);
10041 }
10042 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10043 pub struct Pidr_SPEC;
10044 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10045 impl Pidr {
10046 #[doc = "Low level"]
10047 pub const _0: Self = Self::new(0);
10048
10049 #[doc = "High level"]
10050 pub const _1: Self = Self::new(1);
10051 }
10052 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10053 pub struct Pdr_SPEC;
10054 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10055 impl Pdr {
10056 #[doc = "Input (functions as an input pin)"]
10057 pub const _0: Self = Self::new(0);
10058
10059 #[doc = "Output (functions as an output pin)"]
10060 pub const _1: Self = Self::new(1);
10061 }
10062 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10063 pub struct Pcr_SPEC;
10064 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10065 impl Pcr {
10066 #[doc = "Disable input pull-up"]
10067 pub const _0: Self = Self::new(0);
10068
10069 #[doc = "Enable input pull-up"]
10070 pub const _1: Self = Self::new(1);
10071 }
10072 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10073 pub struct Ncodr_SPEC;
10074 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10075 impl Ncodr {
10076 #[doc = "Output CMOS"]
10077 pub const _0: Self = Self::new(0);
10078
10079 #[doc = "Output NMOS open-drain"]
10080 pub const _1: Self = Self::new(1);
10081 }
10082 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10083 pub struct Eofr_SPEC;
10084 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10085 impl Eofr {
10086 #[doc = "Don\'t care"]
10087 pub const _00: Self = Self::new(0);
10088
10089 #[doc = "Detect rising edge"]
10090 pub const _01: Self = Self::new(1);
10091
10092 #[doc = "Detect falling edge"]
10093 pub const _10: Self = Self::new(2);
10094
10095 #[doc = "Detect both edges"]
10096 pub const _11: Self = Self::new(3);
10097 }
10098 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10099 pub struct Isel_SPEC;
10100 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10101 impl Isel {
10102 #[doc = "Do not use as IRQn input pin"]
10103 pub const _0: Self = Self::new(0);
10104
10105 #[doc = "Use as IRQn input pin"]
10106 pub const _1: Self = Self::new(1);
10107 }
10108 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10109 pub struct Asel_SPEC;
10110 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10111 impl Asel {
10112 #[doc = "Do not use as analog pin"]
10113 pub const _0: Self = Self::new(0);
10114
10115 #[doc = "Use as analog pin"]
10116 pub const _1: Self = Self::new(1);
10117 }
10118}
10119#[doc(hidden)]
10120#[derive(Copy, Clone, Eq, PartialEq)]
10121pub struct P20PfsBy_SPEC;
10122impl crate::sealed::RegSpec for P20PfsBy_SPEC {
10123 type DataType = u8;
10124}
10125
10126#[doc = "Port 20%s Pin Function Select Register"]
10127pub type P20PfsBy = crate::RegValueT<P20PfsBy_SPEC>;
10128
10129impl P20PfsBy {
10130 #[doc = "Port Output Data"]
10131 #[inline(always)]
10132 pub fn podr(
10133 self,
10134 ) -> crate::common::RegisterField<
10135 0,
10136 0x1,
10137 1,
10138 0,
10139 p20pfs_by::Podr,
10140 p20pfs_by::Podr,
10141 P20PfsBy_SPEC,
10142 crate::common::RW,
10143 > {
10144 crate::common::RegisterField::<
10145 0,
10146 0x1,
10147 1,
10148 0,
10149 p20pfs_by::Podr,
10150 p20pfs_by::Podr,
10151 P20PfsBy_SPEC,
10152 crate::common::RW,
10153 >::from_register(self, 0)
10154 }
10155
10156 #[doc = "Port State"]
10157 #[inline(always)]
10158 pub fn pidr(
10159 self,
10160 ) -> crate::common::RegisterField<
10161 1,
10162 0x1,
10163 1,
10164 0,
10165 p20pfs_by::Pidr,
10166 p20pfs_by::Pidr,
10167 P20PfsBy_SPEC,
10168 crate::common::R,
10169 > {
10170 crate::common::RegisterField::<
10171 1,
10172 0x1,
10173 1,
10174 0,
10175 p20pfs_by::Pidr,
10176 p20pfs_by::Pidr,
10177 P20PfsBy_SPEC,
10178 crate::common::R,
10179 >::from_register(self, 0)
10180 }
10181
10182 #[doc = "Port Direction"]
10183 #[inline(always)]
10184 pub fn pdr(
10185 self,
10186 ) -> crate::common::RegisterField<
10187 2,
10188 0x1,
10189 1,
10190 0,
10191 p20pfs_by::Pdr,
10192 p20pfs_by::Pdr,
10193 P20PfsBy_SPEC,
10194 crate::common::RW,
10195 > {
10196 crate::common::RegisterField::<
10197 2,
10198 0x1,
10199 1,
10200 0,
10201 p20pfs_by::Pdr,
10202 p20pfs_by::Pdr,
10203 P20PfsBy_SPEC,
10204 crate::common::RW,
10205 >::from_register(self, 0)
10206 }
10207
10208 #[doc = "Pull-up Control"]
10209 #[inline(always)]
10210 pub fn pcr(
10211 self,
10212 ) -> crate::common::RegisterField<
10213 4,
10214 0x1,
10215 1,
10216 0,
10217 p20pfs_by::Pcr,
10218 p20pfs_by::Pcr,
10219 P20PfsBy_SPEC,
10220 crate::common::RW,
10221 > {
10222 crate::common::RegisterField::<
10223 4,
10224 0x1,
10225 1,
10226 0,
10227 p20pfs_by::Pcr,
10228 p20pfs_by::Pcr,
10229 P20PfsBy_SPEC,
10230 crate::common::RW,
10231 >::from_register(self, 0)
10232 }
10233
10234 #[doc = "N-Channel Open-Drain Control"]
10235 #[inline(always)]
10236 pub fn ncodr(
10237 self,
10238 ) -> crate::common::RegisterField<
10239 6,
10240 0x1,
10241 1,
10242 0,
10243 p20pfs_by::Ncodr,
10244 p20pfs_by::Ncodr,
10245 P20PfsBy_SPEC,
10246 crate::common::RW,
10247 > {
10248 crate::common::RegisterField::<
10249 6,
10250 0x1,
10251 1,
10252 0,
10253 p20pfs_by::Ncodr,
10254 p20pfs_by::Ncodr,
10255 P20PfsBy_SPEC,
10256 crate::common::RW,
10257 >::from_register(self, 0)
10258 }
10259}
10260impl ::core::default::Default for P20PfsBy {
10261 #[inline(always)]
10262 fn default() -> P20PfsBy {
10263 <crate::RegValueT<P20PfsBy_SPEC> as RegisterValue<_>>::new(0)
10264 }
10265}
10266pub mod p20pfs_by {
10267
10268 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10269 pub struct Podr_SPEC;
10270 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10271 impl Podr {
10272 #[doc = "Output low"]
10273 pub const _0: Self = Self::new(0);
10274
10275 #[doc = "Output high"]
10276 pub const _1: Self = Self::new(1);
10277 }
10278 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10279 pub struct Pidr_SPEC;
10280 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10281 impl Pidr {
10282 #[doc = "Low level"]
10283 pub const _0: Self = Self::new(0);
10284
10285 #[doc = "High level"]
10286 pub const _1: Self = Self::new(1);
10287 }
10288 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10289 pub struct Pdr_SPEC;
10290 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10291 impl Pdr {
10292 #[doc = "Input (functions as an input pin)"]
10293 pub const _0: Self = Self::new(0);
10294
10295 #[doc = "Output (functions as an output pin)"]
10296 pub const _1: Self = Self::new(1);
10297 }
10298 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10299 pub struct Pcr_SPEC;
10300 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10301 impl Pcr {
10302 #[doc = "Disable input pull-up"]
10303 pub const _0: Self = Self::new(0);
10304
10305 #[doc = "Enable input pull-up"]
10306 pub const _1: Self = Self::new(1);
10307 }
10308 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10309 pub struct Ncodr_SPEC;
10310 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10311 impl Ncodr {
10312 #[doc = "Output CMOS"]
10313 pub const _0: Self = Self::new(0);
10314
10315 #[doc = "Output NMOS open-drain"]
10316 pub const _1: Self = Self::new(1);
10317 }
10318}
10319#[doc(hidden)]
10320#[derive(Copy, Clone, Eq, PartialEq)]
10321pub struct P2Pfs_SPEC;
10322impl crate::sealed::RegSpec for P2Pfs_SPEC {
10323 type DataType = u32;
10324}
10325
10326#[doc = "Port 2%s Pin Function Select Register"]
10327pub type P2Pfs = crate::RegValueT<P2Pfs_SPEC>;
10328
10329impl P2Pfs {
10330 #[doc = "Port Output Data"]
10331 #[inline(always)]
10332 pub fn podr(
10333 self,
10334 ) -> crate::common::RegisterField<
10335 0,
10336 0x1,
10337 1,
10338 0,
10339 p2pfs::Podr,
10340 p2pfs::Podr,
10341 P2Pfs_SPEC,
10342 crate::common::RW,
10343 > {
10344 crate::common::RegisterField::<
10345 0,
10346 0x1,
10347 1,
10348 0,
10349 p2pfs::Podr,
10350 p2pfs::Podr,
10351 P2Pfs_SPEC,
10352 crate::common::RW,
10353 >::from_register(self, 0)
10354 }
10355
10356 #[doc = "Port State"]
10357 #[inline(always)]
10358 pub fn pidr(
10359 self,
10360 ) -> crate::common::RegisterField<
10361 1,
10362 0x1,
10363 1,
10364 0,
10365 p2pfs::Pidr,
10366 p2pfs::Pidr,
10367 P2Pfs_SPEC,
10368 crate::common::R,
10369 > {
10370 crate::common::RegisterField::<
10371 1,
10372 0x1,
10373 1,
10374 0,
10375 p2pfs::Pidr,
10376 p2pfs::Pidr,
10377 P2Pfs_SPEC,
10378 crate::common::R,
10379 >::from_register(self, 0)
10380 }
10381
10382 #[doc = "Port Direction"]
10383 #[inline(always)]
10384 pub fn pdr(
10385 self,
10386 ) -> crate::common::RegisterField<
10387 2,
10388 0x1,
10389 1,
10390 0,
10391 p2pfs::Pdr,
10392 p2pfs::Pdr,
10393 P2Pfs_SPEC,
10394 crate::common::RW,
10395 > {
10396 crate::common::RegisterField::<
10397 2,
10398 0x1,
10399 1,
10400 0,
10401 p2pfs::Pdr,
10402 p2pfs::Pdr,
10403 P2Pfs_SPEC,
10404 crate::common::RW,
10405 >::from_register(self, 0)
10406 }
10407
10408 #[doc = "Pull-up Control"]
10409 #[inline(always)]
10410 pub fn pcr(
10411 self,
10412 ) -> crate::common::RegisterField<
10413 4,
10414 0x1,
10415 1,
10416 0,
10417 p2pfs::Pcr,
10418 p2pfs::Pcr,
10419 P2Pfs_SPEC,
10420 crate::common::RW,
10421 > {
10422 crate::common::RegisterField::<
10423 4,
10424 0x1,
10425 1,
10426 0,
10427 p2pfs::Pcr,
10428 p2pfs::Pcr,
10429 P2Pfs_SPEC,
10430 crate::common::RW,
10431 >::from_register(self, 0)
10432 }
10433
10434 #[doc = "N-Channel Open-Drain Control"]
10435 #[inline(always)]
10436 pub fn ncodr(
10437 self,
10438 ) -> crate::common::RegisterField<
10439 6,
10440 0x1,
10441 1,
10442 0,
10443 p2pfs::Ncodr,
10444 p2pfs::Ncodr,
10445 P2Pfs_SPEC,
10446 crate::common::RW,
10447 > {
10448 crate::common::RegisterField::<
10449 6,
10450 0x1,
10451 1,
10452 0,
10453 p2pfs::Ncodr,
10454 p2pfs::Ncodr,
10455 P2Pfs_SPEC,
10456 crate::common::RW,
10457 >::from_register(self, 0)
10458 }
10459
10460 #[doc = "Event on Falling/Event on Rising"]
10461 #[inline(always)]
10462 pub fn eofr(
10463 self,
10464 ) -> crate::common::RegisterField<
10465 12,
10466 0x3,
10467 1,
10468 0,
10469 p2pfs::Eofr,
10470 p2pfs::Eofr,
10471 P2Pfs_SPEC,
10472 crate::common::RW,
10473 > {
10474 crate::common::RegisterField::<
10475 12,
10476 0x3,
10477 1,
10478 0,
10479 p2pfs::Eofr,
10480 p2pfs::Eofr,
10481 P2Pfs_SPEC,
10482 crate::common::RW,
10483 >::from_register(self, 0)
10484 }
10485
10486 #[doc = "IRQ Input Enable"]
10487 #[inline(always)]
10488 pub fn isel(
10489 self,
10490 ) -> crate::common::RegisterField<
10491 14,
10492 0x1,
10493 1,
10494 0,
10495 p2pfs::Isel,
10496 p2pfs::Isel,
10497 P2Pfs_SPEC,
10498 crate::common::RW,
10499 > {
10500 crate::common::RegisterField::<
10501 14,
10502 0x1,
10503 1,
10504 0,
10505 p2pfs::Isel,
10506 p2pfs::Isel,
10507 P2Pfs_SPEC,
10508 crate::common::RW,
10509 >::from_register(self, 0)
10510 }
10511
10512 #[doc = "Analog Input Enable"]
10513 #[inline(always)]
10514 pub fn asel(
10515 self,
10516 ) -> crate::common::RegisterField<
10517 15,
10518 0x1,
10519 1,
10520 0,
10521 p2pfs::Asel,
10522 p2pfs::Asel,
10523 P2Pfs_SPEC,
10524 crate::common::RW,
10525 > {
10526 crate::common::RegisterField::<
10527 15,
10528 0x1,
10529 1,
10530 0,
10531 p2pfs::Asel,
10532 p2pfs::Asel,
10533 P2Pfs_SPEC,
10534 crate::common::RW,
10535 >::from_register(self, 0)
10536 }
10537
10538 #[doc = "Port Mode Control"]
10539 #[inline(always)]
10540 pub fn pmr(
10541 self,
10542 ) -> crate::common::RegisterField<
10543 16,
10544 0x1,
10545 1,
10546 0,
10547 p2pfs::Pmr,
10548 p2pfs::Pmr,
10549 P2Pfs_SPEC,
10550 crate::common::RW,
10551 > {
10552 crate::common::RegisterField::<
10553 16,
10554 0x1,
10555 1,
10556 0,
10557 p2pfs::Pmr,
10558 p2pfs::Pmr,
10559 P2Pfs_SPEC,
10560 crate::common::RW,
10561 >::from_register(self, 0)
10562 }
10563
10564 #[doc = "Peripheral Select"]
10565 #[inline(always)]
10566 pub fn psel(
10567 self,
10568 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P2Pfs_SPEC, crate::common::RW> {
10569 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P2Pfs_SPEC,crate::common::RW>::from_register(self,0)
10570 }
10571}
10572impl ::core::default::Default for P2Pfs {
10573 #[inline(always)]
10574 fn default() -> P2Pfs {
10575 <crate::RegValueT<P2Pfs_SPEC> as RegisterValue<_>>::new(0)
10576 }
10577}
10578pub mod p2pfs {
10579
10580 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10581 pub struct Podr_SPEC;
10582 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10583 impl Podr {
10584 #[doc = "Output low"]
10585 pub const _0: Self = Self::new(0);
10586
10587 #[doc = "Output high"]
10588 pub const _1: Self = Self::new(1);
10589 }
10590 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10591 pub struct Pidr_SPEC;
10592 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10593 impl Pidr {
10594 #[doc = "Low level"]
10595 pub const _0: Self = Self::new(0);
10596
10597 #[doc = "High level"]
10598 pub const _1: Self = Self::new(1);
10599 }
10600 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10601 pub struct Pdr_SPEC;
10602 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10603 impl Pdr {
10604 #[doc = "Input (functions as an input pin)"]
10605 pub const _0: Self = Self::new(0);
10606
10607 #[doc = "Output (functions as an output pin)"]
10608 pub const _1: Self = Self::new(1);
10609 }
10610 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10611 pub struct Pcr_SPEC;
10612 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10613 impl Pcr {
10614 #[doc = "Disable input pull-up"]
10615 pub const _0: Self = Self::new(0);
10616
10617 #[doc = "Enable input pull-up"]
10618 pub const _1: Self = Self::new(1);
10619 }
10620 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10621 pub struct Ncodr_SPEC;
10622 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10623 impl Ncodr {
10624 #[doc = "Output CMOS"]
10625 pub const _0: Self = Self::new(0);
10626
10627 #[doc = "Output NMOS open-drain"]
10628 pub const _1: Self = Self::new(1);
10629 }
10630 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10631 pub struct Eofr_SPEC;
10632 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10633 impl Eofr {
10634 #[doc = "Don\'t care"]
10635 pub const _00: Self = Self::new(0);
10636
10637 #[doc = "Detect rising edge"]
10638 pub const _01: Self = Self::new(1);
10639
10640 #[doc = "Detect falling edge"]
10641 pub const _10: Self = Self::new(2);
10642
10643 #[doc = "Detect both edges"]
10644 pub const _11: Self = Self::new(3);
10645 }
10646 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10647 pub struct Isel_SPEC;
10648 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10649 impl Isel {
10650 #[doc = "Do not use as IRQn input pin"]
10651 pub const _0: Self = Self::new(0);
10652
10653 #[doc = "Use as IRQn input pin"]
10654 pub const _1: Self = Self::new(1);
10655 }
10656 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10657 pub struct Asel_SPEC;
10658 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10659 impl Asel {
10660 #[doc = "Do not use as analog pin"]
10661 pub const _0: Self = Self::new(0);
10662
10663 #[doc = "Use as analog pin"]
10664 pub const _1: Self = Self::new(1);
10665 }
10666 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10667 pub struct Pmr_SPEC;
10668 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
10669 impl Pmr {
10670 #[doc = "Use as general I/O pin"]
10671 pub const _0: Self = Self::new(0);
10672
10673 #[doc = "Use as I/O port for peripheral functions"]
10674 pub const _1: Self = Self::new(1);
10675 }
10676}
10677#[doc(hidden)]
10678#[derive(Copy, Clone, Eq, PartialEq)]
10679pub struct P2PfsHa_SPEC;
10680impl crate::sealed::RegSpec for P2PfsHa_SPEC {
10681 type DataType = u16;
10682}
10683
10684#[doc = "Port 2%s Pin Function Select Register"]
10685pub type P2PfsHa = crate::RegValueT<P2PfsHa_SPEC>;
10686
10687impl P2PfsHa {
10688 #[doc = "Port Output Data"]
10689 #[inline(always)]
10690 pub fn podr(
10691 self,
10692 ) -> crate::common::RegisterField<
10693 0,
10694 0x1,
10695 1,
10696 0,
10697 p2pfs_ha::Podr,
10698 p2pfs_ha::Podr,
10699 P2PfsHa_SPEC,
10700 crate::common::RW,
10701 > {
10702 crate::common::RegisterField::<
10703 0,
10704 0x1,
10705 1,
10706 0,
10707 p2pfs_ha::Podr,
10708 p2pfs_ha::Podr,
10709 P2PfsHa_SPEC,
10710 crate::common::RW,
10711 >::from_register(self, 0)
10712 }
10713
10714 #[doc = "Port State"]
10715 #[inline(always)]
10716 pub fn pidr(
10717 self,
10718 ) -> crate::common::RegisterField<
10719 1,
10720 0x1,
10721 1,
10722 0,
10723 p2pfs_ha::Pidr,
10724 p2pfs_ha::Pidr,
10725 P2PfsHa_SPEC,
10726 crate::common::R,
10727 > {
10728 crate::common::RegisterField::<
10729 1,
10730 0x1,
10731 1,
10732 0,
10733 p2pfs_ha::Pidr,
10734 p2pfs_ha::Pidr,
10735 P2PfsHa_SPEC,
10736 crate::common::R,
10737 >::from_register(self, 0)
10738 }
10739
10740 #[doc = "Port Direction"]
10741 #[inline(always)]
10742 pub fn pdr(
10743 self,
10744 ) -> crate::common::RegisterField<
10745 2,
10746 0x1,
10747 1,
10748 0,
10749 p2pfs_ha::Pdr,
10750 p2pfs_ha::Pdr,
10751 P2PfsHa_SPEC,
10752 crate::common::RW,
10753 > {
10754 crate::common::RegisterField::<
10755 2,
10756 0x1,
10757 1,
10758 0,
10759 p2pfs_ha::Pdr,
10760 p2pfs_ha::Pdr,
10761 P2PfsHa_SPEC,
10762 crate::common::RW,
10763 >::from_register(self, 0)
10764 }
10765
10766 #[doc = "Pull-up Control"]
10767 #[inline(always)]
10768 pub fn pcr(
10769 self,
10770 ) -> crate::common::RegisterField<
10771 4,
10772 0x1,
10773 1,
10774 0,
10775 p2pfs_ha::Pcr,
10776 p2pfs_ha::Pcr,
10777 P2PfsHa_SPEC,
10778 crate::common::RW,
10779 > {
10780 crate::common::RegisterField::<
10781 4,
10782 0x1,
10783 1,
10784 0,
10785 p2pfs_ha::Pcr,
10786 p2pfs_ha::Pcr,
10787 P2PfsHa_SPEC,
10788 crate::common::RW,
10789 >::from_register(self, 0)
10790 }
10791
10792 #[doc = "N-Channel Open-Drain Control"]
10793 #[inline(always)]
10794 pub fn ncodr(
10795 self,
10796 ) -> crate::common::RegisterField<
10797 6,
10798 0x1,
10799 1,
10800 0,
10801 p2pfs_ha::Ncodr,
10802 p2pfs_ha::Ncodr,
10803 P2PfsHa_SPEC,
10804 crate::common::RW,
10805 > {
10806 crate::common::RegisterField::<
10807 6,
10808 0x1,
10809 1,
10810 0,
10811 p2pfs_ha::Ncodr,
10812 p2pfs_ha::Ncodr,
10813 P2PfsHa_SPEC,
10814 crate::common::RW,
10815 >::from_register(self, 0)
10816 }
10817
10818 #[doc = "Event on Falling/Event on Rising"]
10819 #[inline(always)]
10820 pub fn eofr(
10821 self,
10822 ) -> crate::common::RegisterField<
10823 12,
10824 0x3,
10825 1,
10826 0,
10827 p2pfs_ha::Eofr,
10828 p2pfs_ha::Eofr,
10829 P2PfsHa_SPEC,
10830 crate::common::RW,
10831 > {
10832 crate::common::RegisterField::<
10833 12,
10834 0x3,
10835 1,
10836 0,
10837 p2pfs_ha::Eofr,
10838 p2pfs_ha::Eofr,
10839 P2PfsHa_SPEC,
10840 crate::common::RW,
10841 >::from_register(self, 0)
10842 }
10843
10844 #[doc = "IRQ Input Enable"]
10845 #[inline(always)]
10846 pub fn isel(
10847 self,
10848 ) -> crate::common::RegisterField<
10849 14,
10850 0x1,
10851 1,
10852 0,
10853 p2pfs_ha::Isel,
10854 p2pfs_ha::Isel,
10855 P2PfsHa_SPEC,
10856 crate::common::RW,
10857 > {
10858 crate::common::RegisterField::<
10859 14,
10860 0x1,
10861 1,
10862 0,
10863 p2pfs_ha::Isel,
10864 p2pfs_ha::Isel,
10865 P2PfsHa_SPEC,
10866 crate::common::RW,
10867 >::from_register(self, 0)
10868 }
10869
10870 #[doc = "Analog Input Enable"]
10871 #[inline(always)]
10872 pub fn asel(
10873 self,
10874 ) -> crate::common::RegisterField<
10875 15,
10876 0x1,
10877 1,
10878 0,
10879 p2pfs_ha::Asel,
10880 p2pfs_ha::Asel,
10881 P2PfsHa_SPEC,
10882 crate::common::RW,
10883 > {
10884 crate::common::RegisterField::<
10885 15,
10886 0x1,
10887 1,
10888 0,
10889 p2pfs_ha::Asel,
10890 p2pfs_ha::Asel,
10891 P2PfsHa_SPEC,
10892 crate::common::RW,
10893 >::from_register(self, 0)
10894 }
10895}
10896impl ::core::default::Default for P2PfsHa {
10897 #[inline(always)]
10898 fn default() -> P2PfsHa {
10899 <crate::RegValueT<P2PfsHa_SPEC> as RegisterValue<_>>::new(0)
10900 }
10901}
10902pub mod p2pfs_ha {
10903
10904 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10905 pub struct Podr_SPEC;
10906 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10907 impl Podr {
10908 #[doc = "Output low"]
10909 pub const _0: Self = Self::new(0);
10910
10911 #[doc = "Output high"]
10912 pub const _1: Self = Self::new(1);
10913 }
10914 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10915 pub struct Pidr_SPEC;
10916 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10917 impl Pidr {
10918 #[doc = "Low level"]
10919 pub const _0: Self = Self::new(0);
10920
10921 #[doc = "High level"]
10922 pub const _1: Self = Self::new(1);
10923 }
10924 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10925 pub struct Pdr_SPEC;
10926 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10927 impl Pdr {
10928 #[doc = "Input (functions as an input pin)"]
10929 pub const _0: Self = Self::new(0);
10930
10931 #[doc = "Output (functions as an output pin)"]
10932 pub const _1: Self = Self::new(1);
10933 }
10934 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10935 pub struct Pcr_SPEC;
10936 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10937 impl Pcr {
10938 #[doc = "Disable input pull-up"]
10939 pub const _0: Self = Self::new(0);
10940
10941 #[doc = "Enable input pull-up"]
10942 pub const _1: Self = Self::new(1);
10943 }
10944 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10945 pub struct Ncodr_SPEC;
10946 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10947 impl Ncodr {
10948 #[doc = "Output CMOS"]
10949 pub const _0: Self = Self::new(0);
10950
10951 #[doc = "Output NMOS open-drain"]
10952 pub const _1: Self = Self::new(1);
10953 }
10954 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10955 pub struct Eofr_SPEC;
10956 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10957 impl Eofr {
10958 #[doc = "Don\'t care"]
10959 pub const _00: Self = Self::new(0);
10960
10961 #[doc = "Detect rising edge"]
10962 pub const _01: Self = Self::new(1);
10963
10964 #[doc = "Detect falling edge"]
10965 pub const _10: Self = Self::new(2);
10966
10967 #[doc = "Detect both edges"]
10968 pub const _11: Self = Self::new(3);
10969 }
10970 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10971 pub struct Isel_SPEC;
10972 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10973 impl Isel {
10974 #[doc = "Do not use as IRQn input pin"]
10975 pub const _0: Self = Self::new(0);
10976
10977 #[doc = "Use as IRQn input pin"]
10978 pub const _1: Self = Self::new(1);
10979 }
10980 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10981 pub struct Asel_SPEC;
10982 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10983 impl Asel {
10984 #[doc = "Do not use as analog pin"]
10985 pub const _0: Self = Self::new(0);
10986
10987 #[doc = "Use as analog pin"]
10988 pub const _1: Self = Self::new(1);
10989 }
10990}
10991#[doc(hidden)]
10992#[derive(Copy, Clone, Eq, PartialEq)]
10993pub struct P2PfsBy_SPEC;
10994impl crate::sealed::RegSpec for P2PfsBy_SPEC {
10995 type DataType = u8;
10996}
10997
10998#[doc = "Port 2%s Pin Function Select Register"]
10999pub type P2PfsBy = crate::RegValueT<P2PfsBy_SPEC>;
11000
11001impl P2PfsBy {
11002 #[doc = "Port Output Data"]
11003 #[inline(always)]
11004 pub fn podr(
11005 self,
11006 ) -> crate::common::RegisterField<
11007 0,
11008 0x1,
11009 1,
11010 0,
11011 p2pfs_by::Podr,
11012 p2pfs_by::Podr,
11013 P2PfsBy_SPEC,
11014 crate::common::RW,
11015 > {
11016 crate::common::RegisterField::<
11017 0,
11018 0x1,
11019 1,
11020 0,
11021 p2pfs_by::Podr,
11022 p2pfs_by::Podr,
11023 P2PfsBy_SPEC,
11024 crate::common::RW,
11025 >::from_register(self, 0)
11026 }
11027
11028 #[doc = "Port State"]
11029 #[inline(always)]
11030 pub fn pidr(
11031 self,
11032 ) -> crate::common::RegisterField<
11033 1,
11034 0x1,
11035 1,
11036 0,
11037 p2pfs_by::Pidr,
11038 p2pfs_by::Pidr,
11039 P2PfsBy_SPEC,
11040 crate::common::R,
11041 > {
11042 crate::common::RegisterField::<
11043 1,
11044 0x1,
11045 1,
11046 0,
11047 p2pfs_by::Pidr,
11048 p2pfs_by::Pidr,
11049 P2PfsBy_SPEC,
11050 crate::common::R,
11051 >::from_register(self, 0)
11052 }
11053
11054 #[doc = "Port Direction"]
11055 #[inline(always)]
11056 pub fn pdr(
11057 self,
11058 ) -> crate::common::RegisterField<
11059 2,
11060 0x1,
11061 1,
11062 0,
11063 p2pfs_by::Pdr,
11064 p2pfs_by::Pdr,
11065 P2PfsBy_SPEC,
11066 crate::common::RW,
11067 > {
11068 crate::common::RegisterField::<
11069 2,
11070 0x1,
11071 1,
11072 0,
11073 p2pfs_by::Pdr,
11074 p2pfs_by::Pdr,
11075 P2PfsBy_SPEC,
11076 crate::common::RW,
11077 >::from_register(self, 0)
11078 }
11079
11080 #[doc = "Pull-up Control"]
11081 #[inline(always)]
11082 pub fn pcr(
11083 self,
11084 ) -> crate::common::RegisterField<
11085 4,
11086 0x1,
11087 1,
11088 0,
11089 p2pfs_by::Pcr,
11090 p2pfs_by::Pcr,
11091 P2PfsBy_SPEC,
11092 crate::common::RW,
11093 > {
11094 crate::common::RegisterField::<
11095 4,
11096 0x1,
11097 1,
11098 0,
11099 p2pfs_by::Pcr,
11100 p2pfs_by::Pcr,
11101 P2PfsBy_SPEC,
11102 crate::common::RW,
11103 >::from_register(self, 0)
11104 }
11105
11106 #[doc = "N-Channel Open-Drain Control"]
11107 #[inline(always)]
11108 pub fn ncodr(
11109 self,
11110 ) -> crate::common::RegisterField<
11111 6,
11112 0x1,
11113 1,
11114 0,
11115 p2pfs_by::Ncodr,
11116 p2pfs_by::Ncodr,
11117 P2PfsBy_SPEC,
11118 crate::common::RW,
11119 > {
11120 crate::common::RegisterField::<
11121 6,
11122 0x1,
11123 1,
11124 0,
11125 p2pfs_by::Ncodr,
11126 p2pfs_by::Ncodr,
11127 P2PfsBy_SPEC,
11128 crate::common::RW,
11129 >::from_register(self, 0)
11130 }
11131}
11132impl ::core::default::Default for P2PfsBy {
11133 #[inline(always)]
11134 fn default() -> P2PfsBy {
11135 <crate::RegValueT<P2PfsBy_SPEC> as RegisterValue<_>>::new(0)
11136 }
11137}
11138pub mod p2pfs_by {
11139
11140 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11141 pub struct Podr_SPEC;
11142 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11143 impl Podr {
11144 #[doc = "Output low"]
11145 pub const _0: Self = Self::new(0);
11146
11147 #[doc = "Output high"]
11148 pub const _1: Self = Self::new(1);
11149 }
11150 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11151 pub struct Pidr_SPEC;
11152 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11153 impl Pidr {
11154 #[doc = "Low level"]
11155 pub const _0: Self = Self::new(0);
11156
11157 #[doc = "High level"]
11158 pub const _1: Self = Self::new(1);
11159 }
11160 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11161 pub struct Pdr_SPEC;
11162 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11163 impl Pdr {
11164 #[doc = "Input (functions as an input pin)"]
11165 pub const _0: Self = Self::new(0);
11166
11167 #[doc = "Output (functions as an output pin)"]
11168 pub const _1: Self = Self::new(1);
11169 }
11170 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11171 pub struct Pcr_SPEC;
11172 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11173 impl Pcr {
11174 #[doc = "Disable input pull-up"]
11175 pub const _0: Self = Self::new(0);
11176
11177 #[doc = "Enable input pull-up"]
11178 pub const _1: Self = Self::new(1);
11179 }
11180 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11181 pub struct Ncodr_SPEC;
11182 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11183 impl Ncodr {
11184 #[doc = "Output CMOS"]
11185 pub const _0: Self = Self::new(0);
11186
11187 #[doc = "Output NMOS open-drain"]
11188 pub const _1: Self = Self::new(1);
11189 }
11190}
11191#[doc(hidden)]
11192#[derive(Copy, Clone, Eq, PartialEq)]
11193pub struct P300Pfs_SPEC;
11194impl crate::sealed::RegSpec for P300Pfs_SPEC {
11195 type DataType = u32;
11196}
11197
11198#[doc = "Port 300 Pin Function Select Register"]
11199pub type P300Pfs = crate::RegValueT<P300Pfs_SPEC>;
11200
11201impl P300Pfs {
11202 #[doc = "Port Output Data"]
11203 #[inline(always)]
11204 pub fn podr(
11205 self,
11206 ) -> crate::common::RegisterField<
11207 0,
11208 0x1,
11209 1,
11210 0,
11211 p300pfs::Podr,
11212 p300pfs::Podr,
11213 P300Pfs_SPEC,
11214 crate::common::RW,
11215 > {
11216 crate::common::RegisterField::<
11217 0,
11218 0x1,
11219 1,
11220 0,
11221 p300pfs::Podr,
11222 p300pfs::Podr,
11223 P300Pfs_SPEC,
11224 crate::common::RW,
11225 >::from_register(self, 0)
11226 }
11227
11228 #[doc = "Port State"]
11229 #[inline(always)]
11230 pub fn pidr(
11231 self,
11232 ) -> crate::common::RegisterField<
11233 1,
11234 0x1,
11235 1,
11236 0,
11237 p300pfs::Pidr,
11238 p300pfs::Pidr,
11239 P300Pfs_SPEC,
11240 crate::common::R,
11241 > {
11242 crate::common::RegisterField::<
11243 1,
11244 0x1,
11245 1,
11246 0,
11247 p300pfs::Pidr,
11248 p300pfs::Pidr,
11249 P300Pfs_SPEC,
11250 crate::common::R,
11251 >::from_register(self, 0)
11252 }
11253
11254 #[doc = "Port Direction"]
11255 #[inline(always)]
11256 pub fn pdr(
11257 self,
11258 ) -> crate::common::RegisterField<
11259 2,
11260 0x1,
11261 1,
11262 0,
11263 p300pfs::Pdr,
11264 p300pfs::Pdr,
11265 P300Pfs_SPEC,
11266 crate::common::RW,
11267 > {
11268 crate::common::RegisterField::<
11269 2,
11270 0x1,
11271 1,
11272 0,
11273 p300pfs::Pdr,
11274 p300pfs::Pdr,
11275 P300Pfs_SPEC,
11276 crate::common::RW,
11277 >::from_register(self, 0)
11278 }
11279
11280 #[doc = "Pull-up Control"]
11281 #[inline(always)]
11282 pub fn pcr(
11283 self,
11284 ) -> crate::common::RegisterField<
11285 4,
11286 0x1,
11287 1,
11288 0,
11289 p300pfs::Pcr,
11290 p300pfs::Pcr,
11291 P300Pfs_SPEC,
11292 crate::common::RW,
11293 > {
11294 crate::common::RegisterField::<
11295 4,
11296 0x1,
11297 1,
11298 0,
11299 p300pfs::Pcr,
11300 p300pfs::Pcr,
11301 P300Pfs_SPEC,
11302 crate::common::RW,
11303 >::from_register(self, 0)
11304 }
11305
11306 #[doc = "N-Channel Open-Drain Control"]
11307 #[inline(always)]
11308 pub fn ncodr(
11309 self,
11310 ) -> crate::common::RegisterField<
11311 6,
11312 0x1,
11313 1,
11314 0,
11315 p300pfs::Ncodr,
11316 p300pfs::Ncodr,
11317 P300Pfs_SPEC,
11318 crate::common::RW,
11319 > {
11320 crate::common::RegisterField::<
11321 6,
11322 0x1,
11323 1,
11324 0,
11325 p300pfs::Ncodr,
11326 p300pfs::Ncodr,
11327 P300Pfs_SPEC,
11328 crate::common::RW,
11329 >::from_register(self, 0)
11330 }
11331
11332 #[doc = "IRQ Input Enable"]
11333 #[inline(always)]
11334 pub fn isel(
11335 self,
11336 ) -> crate::common::RegisterField<
11337 14,
11338 0x1,
11339 1,
11340 0,
11341 p300pfs::Isel,
11342 p300pfs::Isel,
11343 P300Pfs_SPEC,
11344 crate::common::RW,
11345 > {
11346 crate::common::RegisterField::<
11347 14,
11348 0x1,
11349 1,
11350 0,
11351 p300pfs::Isel,
11352 p300pfs::Isel,
11353 P300Pfs_SPEC,
11354 crate::common::RW,
11355 >::from_register(self, 0)
11356 }
11357
11358 #[doc = "Analog Input Enable"]
11359 #[inline(always)]
11360 pub fn asel(
11361 self,
11362 ) -> crate::common::RegisterField<
11363 15,
11364 0x1,
11365 1,
11366 0,
11367 p300pfs::Asel,
11368 p300pfs::Asel,
11369 P300Pfs_SPEC,
11370 crate::common::RW,
11371 > {
11372 crate::common::RegisterField::<
11373 15,
11374 0x1,
11375 1,
11376 0,
11377 p300pfs::Asel,
11378 p300pfs::Asel,
11379 P300Pfs_SPEC,
11380 crate::common::RW,
11381 >::from_register(self, 0)
11382 }
11383
11384 #[doc = "Port Mode Control"]
11385 #[inline(always)]
11386 pub fn pmr(
11387 self,
11388 ) -> crate::common::RegisterField<
11389 16,
11390 0x1,
11391 1,
11392 0,
11393 p300pfs::Pmr,
11394 p300pfs::Pmr,
11395 P300Pfs_SPEC,
11396 crate::common::RW,
11397 > {
11398 crate::common::RegisterField::<
11399 16,
11400 0x1,
11401 1,
11402 0,
11403 p300pfs::Pmr,
11404 p300pfs::Pmr,
11405 P300Pfs_SPEC,
11406 crate::common::RW,
11407 >::from_register(self, 0)
11408 }
11409
11410 #[doc = "Peripheral Select"]
11411 #[inline(always)]
11412 pub fn psel(
11413 self,
11414 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P300Pfs_SPEC, crate::common::RW> {
11415 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P300Pfs_SPEC,crate::common::RW>::from_register(self,0)
11416 }
11417}
11418impl ::core::default::Default for P300Pfs {
11419 #[inline(always)]
11420 fn default() -> P300Pfs {
11421 <crate::RegValueT<P300Pfs_SPEC> as RegisterValue<_>>::new(65536)
11422 }
11423}
11424pub mod p300pfs {
11425
11426 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11427 pub struct Podr_SPEC;
11428 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11429 impl Podr {
11430 #[doc = "Output low"]
11431 pub const _0: Self = Self::new(0);
11432
11433 #[doc = "Output high"]
11434 pub const _1: Self = Self::new(1);
11435 }
11436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11437 pub struct Pidr_SPEC;
11438 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11439 impl Pidr {
11440 #[doc = "Low level"]
11441 pub const _0: Self = Self::new(0);
11442
11443 #[doc = "High level"]
11444 pub const _1: Self = Self::new(1);
11445 }
11446 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11447 pub struct Pdr_SPEC;
11448 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11449 impl Pdr {
11450 #[doc = "Input (functions as an input pin)"]
11451 pub const _0: Self = Self::new(0);
11452
11453 #[doc = "Output (functions as an output pin)"]
11454 pub const _1: Self = Self::new(1);
11455 }
11456 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11457 pub struct Pcr_SPEC;
11458 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11459 impl Pcr {
11460 #[doc = "Disable input pull-up"]
11461 pub const _0: Self = Self::new(0);
11462
11463 #[doc = "Enable input pull-up"]
11464 pub const _1: Self = Self::new(1);
11465 }
11466 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11467 pub struct Ncodr_SPEC;
11468 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11469 impl Ncodr {
11470 #[doc = "Output CMOS"]
11471 pub const _0: Self = Self::new(0);
11472
11473 #[doc = "Output NMOS open-drain"]
11474 pub const _1: Self = Self::new(1);
11475 }
11476 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11477 pub struct Isel_SPEC;
11478 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11479 impl Isel {
11480 #[doc = "Do not use as IRQn input pin"]
11481 pub const _0: Self = Self::new(0);
11482
11483 #[doc = "Use as IRQn input pin"]
11484 pub const _1: Self = Self::new(1);
11485 }
11486 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11487 pub struct Asel_SPEC;
11488 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11489 impl Asel {
11490 #[doc = "Do not use as analog pin"]
11491 pub const _0: Self = Self::new(0);
11492
11493 #[doc = "Use as analog pin"]
11494 pub const _1: Self = Self::new(1);
11495 }
11496 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11497 pub struct Pmr_SPEC;
11498 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
11499 impl Pmr {
11500 #[doc = "Use as general I/O pin"]
11501 pub const _0: Self = Self::new(0);
11502
11503 #[doc = "Use as I/O port for peripheral functions"]
11504 pub const _1: Self = Self::new(1);
11505 }
11506}
11507#[doc(hidden)]
11508#[derive(Copy, Clone, Eq, PartialEq)]
11509pub struct P300PfsHa_SPEC;
11510impl crate::sealed::RegSpec for P300PfsHa_SPEC {
11511 type DataType = u16;
11512}
11513
11514#[doc = "Port 300 Pin Function Select Register"]
11515pub type P300PfsHa = crate::RegValueT<P300PfsHa_SPEC>;
11516
11517impl P300PfsHa {
11518 #[doc = "Port Output Data"]
11519 #[inline(always)]
11520 pub fn podr(
11521 self,
11522 ) -> crate::common::RegisterField<
11523 0,
11524 0x1,
11525 1,
11526 0,
11527 p300pfs_ha::Podr,
11528 p300pfs_ha::Podr,
11529 P300PfsHa_SPEC,
11530 crate::common::RW,
11531 > {
11532 crate::common::RegisterField::<
11533 0,
11534 0x1,
11535 1,
11536 0,
11537 p300pfs_ha::Podr,
11538 p300pfs_ha::Podr,
11539 P300PfsHa_SPEC,
11540 crate::common::RW,
11541 >::from_register(self, 0)
11542 }
11543
11544 #[doc = "Port State"]
11545 #[inline(always)]
11546 pub fn pidr(
11547 self,
11548 ) -> crate::common::RegisterField<
11549 1,
11550 0x1,
11551 1,
11552 0,
11553 p300pfs_ha::Pidr,
11554 p300pfs_ha::Pidr,
11555 P300PfsHa_SPEC,
11556 crate::common::R,
11557 > {
11558 crate::common::RegisterField::<
11559 1,
11560 0x1,
11561 1,
11562 0,
11563 p300pfs_ha::Pidr,
11564 p300pfs_ha::Pidr,
11565 P300PfsHa_SPEC,
11566 crate::common::R,
11567 >::from_register(self, 0)
11568 }
11569
11570 #[doc = "Port Direction"]
11571 #[inline(always)]
11572 pub fn pdr(
11573 self,
11574 ) -> crate::common::RegisterField<
11575 2,
11576 0x1,
11577 1,
11578 0,
11579 p300pfs_ha::Pdr,
11580 p300pfs_ha::Pdr,
11581 P300PfsHa_SPEC,
11582 crate::common::RW,
11583 > {
11584 crate::common::RegisterField::<
11585 2,
11586 0x1,
11587 1,
11588 0,
11589 p300pfs_ha::Pdr,
11590 p300pfs_ha::Pdr,
11591 P300PfsHa_SPEC,
11592 crate::common::RW,
11593 >::from_register(self, 0)
11594 }
11595
11596 #[doc = "Pull-up Control"]
11597 #[inline(always)]
11598 pub fn pcr(
11599 self,
11600 ) -> crate::common::RegisterField<
11601 4,
11602 0x1,
11603 1,
11604 0,
11605 p300pfs_ha::Pcr,
11606 p300pfs_ha::Pcr,
11607 P300PfsHa_SPEC,
11608 crate::common::RW,
11609 > {
11610 crate::common::RegisterField::<
11611 4,
11612 0x1,
11613 1,
11614 0,
11615 p300pfs_ha::Pcr,
11616 p300pfs_ha::Pcr,
11617 P300PfsHa_SPEC,
11618 crate::common::RW,
11619 >::from_register(self, 0)
11620 }
11621
11622 #[doc = "N-Channel Open-Drain Control"]
11623 #[inline(always)]
11624 pub fn ncodr(
11625 self,
11626 ) -> crate::common::RegisterField<
11627 6,
11628 0x1,
11629 1,
11630 0,
11631 p300pfs_ha::Ncodr,
11632 p300pfs_ha::Ncodr,
11633 P300PfsHa_SPEC,
11634 crate::common::RW,
11635 > {
11636 crate::common::RegisterField::<
11637 6,
11638 0x1,
11639 1,
11640 0,
11641 p300pfs_ha::Ncodr,
11642 p300pfs_ha::Ncodr,
11643 P300PfsHa_SPEC,
11644 crate::common::RW,
11645 >::from_register(self, 0)
11646 }
11647
11648 #[doc = "IRQ Input Enable"]
11649 #[inline(always)]
11650 pub fn isel(
11651 self,
11652 ) -> crate::common::RegisterField<
11653 14,
11654 0x1,
11655 1,
11656 0,
11657 p300pfs_ha::Isel,
11658 p300pfs_ha::Isel,
11659 P300PfsHa_SPEC,
11660 crate::common::RW,
11661 > {
11662 crate::common::RegisterField::<
11663 14,
11664 0x1,
11665 1,
11666 0,
11667 p300pfs_ha::Isel,
11668 p300pfs_ha::Isel,
11669 P300PfsHa_SPEC,
11670 crate::common::RW,
11671 >::from_register(self, 0)
11672 }
11673
11674 #[doc = "Analog Input Enable"]
11675 #[inline(always)]
11676 pub fn asel(
11677 self,
11678 ) -> crate::common::RegisterField<
11679 15,
11680 0x1,
11681 1,
11682 0,
11683 p300pfs_ha::Asel,
11684 p300pfs_ha::Asel,
11685 P300PfsHa_SPEC,
11686 crate::common::RW,
11687 > {
11688 crate::common::RegisterField::<
11689 15,
11690 0x1,
11691 1,
11692 0,
11693 p300pfs_ha::Asel,
11694 p300pfs_ha::Asel,
11695 P300PfsHa_SPEC,
11696 crate::common::RW,
11697 >::from_register(self, 0)
11698 }
11699}
11700impl ::core::default::Default for P300PfsHa {
11701 #[inline(always)]
11702 fn default() -> P300PfsHa {
11703 <crate::RegValueT<P300PfsHa_SPEC> as RegisterValue<_>>::new(0)
11704 }
11705}
11706pub mod p300pfs_ha {
11707
11708 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11709 pub struct Podr_SPEC;
11710 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11711 impl Podr {
11712 #[doc = "Output low"]
11713 pub const _0: Self = Self::new(0);
11714
11715 #[doc = "Output high"]
11716 pub const _1: Self = Self::new(1);
11717 }
11718 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11719 pub struct Pidr_SPEC;
11720 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11721 impl Pidr {
11722 #[doc = "Low level"]
11723 pub const _0: Self = Self::new(0);
11724
11725 #[doc = "High level"]
11726 pub const _1: Self = Self::new(1);
11727 }
11728 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11729 pub struct Pdr_SPEC;
11730 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11731 impl Pdr {
11732 #[doc = "Input (functions as an input pin)"]
11733 pub const _0: Self = Self::new(0);
11734
11735 #[doc = "Output (functions as an output pin)"]
11736 pub const _1: Self = Self::new(1);
11737 }
11738 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11739 pub struct Pcr_SPEC;
11740 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11741 impl Pcr {
11742 #[doc = "Disable input pull-up"]
11743 pub const _0: Self = Self::new(0);
11744
11745 #[doc = "Enable input pull-up"]
11746 pub const _1: Self = Self::new(1);
11747 }
11748 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11749 pub struct Ncodr_SPEC;
11750 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11751 impl Ncodr {
11752 #[doc = "Output CMOS"]
11753 pub const _0: Self = Self::new(0);
11754
11755 #[doc = "Output NMOS open-drain"]
11756 pub const _1: Self = Self::new(1);
11757 }
11758 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11759 pub struct Isel_SPEC;
11760 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11761 impl Isel {
11762 #[doc = "Do not use as IRQn input pin"]
11763 pub const _0: Self = Self::new(0);
11764
11765 #[doc = "Use as IRQn input pin"]
11766 pub const _1: Self = Self::new(1);
11767 }
11768 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11769 pub struct Asel_SPEC;
11770 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11771 impl Asel {
11772 #[doc = "Do not use as analog pin"]
11773 pub const _0: Self = Self::new(0);
11774
11775 #[doc = "Use as analog pin"]
11776 pub const _1: Self = Self::new(1);
11777 }
11778}
11779#[doc(hidden)]
11780#[derive(Copy, Clone, Eq, PartialEq)]
11781pub struct P300PfsBy_SPEC;
11782impl crate::sealed::RegSpec for P300PfsBy_SPEC {
11783 type DataType = u8;
11784}
11785
11786#[doc = "Port 300 Pin Function Select Register"]
11787pub type P300PfsBy = crate::RegValueT<P300PfsBy_SPEC>;
11788
11789impl P300PfsBy {
11790 #[doc = "Port Output Data"]
11791 #[inline(always)]
11792 pub fn podr(
11793 self,
11794 ) -> crate::common::RegisterField<
11795 0,
11796 0x1,
11797 1,
11798 0,
11799 p300pfs_by::Podr,
11800 p300pfs_by::Podr,
11801 P300PfsBy_SPEC,
11802 crate::common::RW,
11803 > {
11804 crate::common::RegisterField::<
11805 0,
11806 0x1,
11807 1,
11808 0,
11809 p300pfs_by::Podr,
11810 p300pfs_by::Podr,
11811 P300PfsBy_SPEC,
11812 crate::common::RW,
11813 >::from_register(self, 0)
11814 }
11815
11816 #[doc = "Port State"]
11817 #[inline(always)]
11818 pub fn pidr(
11819 self,
11820 ) -> crate::common::RegisterField<
11821 1,
11822 0x1,
11823 1,
11824 0,
11825 p300pfs_by::Pidr,
11826 p300pfs_by::Pidr,
11827 P300PfsBy_SPEC,
11828 crate::common::R,
11829 > {
11830 crate::common::RegisterField::<
11831 1,
11832 0x1,
11833 1,
11834 0,
11835 p300pfs_by::Pidr,
11836 p300pfs_by::Pidr,
11837 P300PfsBy_SPEC,
11838 crate::common::R,
11839 >::from_register(self, 0)
11840 }
11841
11842 #[doc = "Port Direction"]
11843 #[inline(always)]
11844 pub fn pdr(
11845 self,
11846 ) -> crate::common::RegisterField<
11847 2,
11848 0x1,
11849 1,
11850 0,
11851 p300pfs_by::Pdr,
11852 p300pfs_by::Pdr,
11853 P300PfsBy_SPEC,
11854 crate::common::RW,
11855 > {
11856 crate::common::RegisterField::<
11857 2,
11858 0x1,
11859 1,
11860 0,
11861 p300pfs_by::Pdr,
11862 p300pfs_by::Pdr,
11863 P300PfsBy_SPEC,
11864 crate::common::RW,
11865 >::from_register(self, 0)
11866 }
11867
11868 #[doc = "Pull-up Control"]
11869 #[inline(always)]
11870 pub fn pcr(
11871 self,
11872 ) -> crate::common::RegisterField<
11873 4,
11874 0x1,
11875 1,
11876 0,
11877 p300pfs_by::Pcr,
11878 p300pfs_by::Pcr,
11879 P300PfsBy_SPEC,
11880 crate::common::RW,
11881 > {
11882 crate::common::RegisterField::<
11883 4,
11884 0x1,
11885 1,
11886 0,
11887 p300pfs_by::Pcr,
11888 p300pfs_by::Pcr,
11889 P300PfsBy_SPEC,
11890 crate::common::RW,
11891 >::from_register(self, 0)
11892 }
11893
11894 #[doc = "N-Channel Open-Drain Control"]
11895 #[inline(always)]
11896 pub fn ncodr(
11897 self,
11898 ) -> crate::common::RegisterField<
11899 6,
11900 0x1,
11901 1,
11902 0,
11903 p300pfs_by::Ncodr,
11904 p300pfs_by::Ncodr,
11905 P300PfsBy_SPEC,
11906 crate::common::RW,
11907 > {
11908 crate::common::RegisterField::<
11909 6,
11910 0x1,
11911 1,
11912 0,
11913 p300pfs_by::Ncodr,
11914 p300pfs_by::Ncodr,
11915 P300PfsBy_SPEC,
11916 crate::common::RW,
11917 >::from_register(self, 0)
11918 }
11919}
11920impl ::core::default::Default for P300PfsBy {
11921 #[inline(always)]
11922 fn default() -> P300PfsBy {
11923 <crate::RegValueT<P300PfsBy_SPEC> as RegisterValue<_>>::new(0)
11924 }
11925}
11926pub mod p300pfs_by {
11927
11928 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11929 pub struct Podr_SPEC;
11930 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11931 impl Podr {
11932 #[doc = "Output low"]
11933 pub const _0: Self = Self::new(0);
11934
11935 #[doc = "Output high"]
11936 pub const _1: Self = Self::new(1);
11937 }
11938 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11939 pub struct Pidr_SPEC;
11940 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11941 impl Pidr {
11942 #[doc = "Low level"]
11943 pub const _0: Self = Self::new(0);
11944
11945 #[doc = "High level"]
11946 pub const _1: Self = Self::new(1);
11947 }
11948 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11949 pub struct Pdr_SPEC;
11950 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11951 impl Pdr {
11952 #[doc = "Input (functions as an input pin)"]
11953 pub const _0: Self = Self::new(0);
11954
11955 #[doc = "Output (functions as an output pin)"]
11956 pub const _1: Self = Self::new(1);
11957 }
11958 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11959 pub struct Pcr_SPEC;
11960 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11961 impl Pcr {
11962 #[doc = "Disable input pull-up"]
11963 pub const _0: Self = Self::new(0);
11964
11965 #[doc = "Enable input pull-up"]
11966 pub const _1: Self = Self::new(1);
11967 }
11968 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11969 pub struct Ncodr_SPEC;
11970 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11971 impl Ncodr {
11972 #[doc = "Output CMOS"]
11973 pub const _0: Self = Self::new(0);
11974
11975 #[doc = "Output NMOS open-drain"]
11976 pub const _1: Self = Self::new(1);
11977 }
11978}
11979#[doc(hidden)]
11980#[derive(Copy, Clone, Eq, PartialEq)]
11981pub struct P30Pfs_SPEC;
11982impl crate::sealed::RegSpec for P30Pfs_SPEC {
11983 type DataType = u32;
11984}
11985
11986#[doc = "Port 30%s Pin Function Select Register"]
11987pub type P30Pfs = crate::RegValueT<P30Pfs_SPEC>;
11988
11989impl P30Pfs {
11990 #[doc = "Port Output Data"]
11991 #[inline(always)]
11992 pub fn podr(
11993 self,
11994 ) -> crate::common::RegisterField<
11995 0,
11996 0x1,
11997 1,
11998 0,
11999 p30pfs::Podr,
12000 p30pfs::Podr,
12001 P30Pfs_SPEC,
12002 crate::common::RW,
12003 > {
12004 crate::common::RegisterField::<
12005 0,
12006 0x1,
12007 1,
12008 0,
12009 p30pfs::Podr,
12010 p30pfs::Podr,
12011 P30Pfs_SPEC,
12012 crate::common::RW,
12013 >::from_register(self, 0)
12014 }
12015
12016 #[doc = "Port State"]
12017 #[inline(always)]
12018 pub fn pidr(
12019 self,
12020 ) -> crate::common::RegisterField<
12021 1,
12022 0x1,
12023 1,
12024 0,
12025 p30pfs::Pidr,
12026 p30pfs::Pidr,
12027 P30Pfs_SPEC,
12028 crate::common::R,
12029 > {
12030 crate::common::RegisterField::<
12031 1,
12032 0x1,
12033 1,
12034 0,
12035 p30pfs::Pidr,
12036 p30pfs::Pidr,
12037 P30Pfs_SPEC,
12038 crate::common::R,
12039 >::from_register(self, 0)
12040 }
12041
12042 #[doc = "Port Direction"]
12043 #[inline(always)]
12044 pub fn pdr(
12045 self,
12046 ) -> crate::common::RegisterField<
12047 2,
12048 0x1,
12049 1,
12050 0,
12051 p30pfs::Pdr,
12052 p30pfs::Pdr,
12053 P30Pfs_SPEC,
12054 crate::common::RW,
12055 > {
12056 crate::common::RegisterField::<
12057 2,
12058 0x1,
12059 1,
12060 0,
12061 p30pfs::Pdr,
12062 p30pfs::Pdr,
12063 P30Pfs_SPEC,
12064 crate::common::RW,
12065 >::from_register(self, 0)
12066 }
12067
12068 #[doc = "Pull-up Control"]
12069 #[inline(always)]
12070 pub fn pcr(
12071 self,
12072 ) -> crate::common::RegisterField<
12073 4,
12074 0x1,
12075 1,
12076 0,
12077 p30pfs::Pcr,
12078 p30pfs::Pcr,
12079 P30Pfs_SPEC,
12080 crate::common::RW,
12081 > {
12082 crate::common::RegisterField::<
12083 4,
12084 0x1,
12085 1,
12086 0,
12087 p30pfs::Pcr,
12088 p30pfs::Pcr,
12089 P30Pfs_SPEC,
12090 crate::common::RW,
12091 >::from_register(self, 0)
12092 }
12093
12094 #[doc = "N-Channel Open-Drain Control"]
12095 #[inline(always)]
12096 pub fn ncodr(
12097 self,
12098 ) -> crate::common::RegisterField<
12099 6,
12100 0x1,
12101 1,
12102 0,
12103 p30pfs::Ncodr,
12104 p30pfs::Ncodr,
12105 P30Pfs_SPEC,
12106 crate::common::RW,
12107 > {
12108 crate::common::RegisterField::<
12109 6,
12110 0x1,
12111 1,
12112 0,
12113 p30pfs::Ncodr,
12114 p30pfs::Ncodr,
12115 P30Pfs_SPEC,
12116 crate::common::RW,
12117 >::from_register(self, 0)
12118 }
12119
12120 #[doc = "IRQ Input Enable"]
12121 #[inline(always)]
12122 pub fn isel(
12123 self,
12124 ) -> crate::common::RegisterField<
12125 14,
12126 0x1,
12127 1,
12128 0,
12129 p30pfs::Isel,
12130 p30pfs::Isel,
12131 P30Pfs_SPEC,
12132 crate::common::RW,
12133 > {
12134 crate::common::RegisterField::<
12135 14,
12136 0x1,
12137 1,
12138 0,
12139 p30pfs::Isel,
12140 p30pfs::Isel,
12141 P30Pfs_SPEC,
12142 crate::common::RW,
12143 >::from_register(self, 0)
12144 }
12145
12146 #[doc = "Analog Input Enable"]
12147 #[inline(always)]
12148 pub fn asel(
12149 self,
12150 ) -> crate::common::RegisterField<
12151 15,
12152 0x1,
12153 1,
12154 0,
12155 p30pfs::Asel,
12156 p30pfs::Asel,
12157 P30Pfs_SPEC,
12158 crate::common::RW,
12159 > {
12160 crate::common::RegisterField::<
12161 15,
12162 0x1,
12163 1,
12164 0,
12165 p30pfs::Asel,
12166 p30pfs::Asel,
12167 P30Pfs_SPEC,
12168 crate::common::RW,
12169 >::from_register(self, 0)
12170 }
12171
12172 #[doc = "Port Mode Control"]
12173 #[inline(always)]
12174 pub fn pmr(
12175 self,
12176 ) -> crate::common::RegisterField<
12177 16,
12178 0x1,
12179 1,
12180 0,
12181 p30pfs::Pmr,
12182 p30pfs::Pmr,
12183 P30Pfs_SPEC,
12184 crate::common::RW,
12185 > {
12186 crate::common::RegisterField::<
12187 16,
12188 0x1,
12189 1,
12190 0,
12191 p30pfs::Pmr,
12192 p30pfs::Pmr,
12193 P30Pfs_SPEC,
12194 crate::common::RW,
12195 >::from_register(self, 0)
12196 }
12197
12198 #[doc = "Peripheral Select"]
12199 #[inline(always)]
12200 pub fn psel(
12201 self,
12202 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P30Pfs_SPEC, crate::common::RW> {
12203 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P30Pfs_SPEC,crate::common::RW>::from_register(self,0)
12204 }
12205}
12206impl ::core::default::Default for P30Pfs {
12207 #[inline(always)]
12208 fn default() -> P30Pfs {
12209 <crate::RegValueT<P30Pfs_SPEC> as RegisterValue<_>>::new(0)
12210 }
12211}
12212pub mod p30pfs {
12213
12214 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12215 pub struct Podr_SPEC;
12216 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12217 impl Podr {
12218 #[doc = "Output low"]
12219 pub const _0: Self = Self::new(0);
12220
12221 #[doc = "Output high"]
12222 pub const _1: Self = Self::new(1);
12223 }
12224 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12225 pub struct Pidr_SPEC;
12226 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12227 impl Pidr {
12228 #[doc = "Low level"]
12229 pub const _0: Self = Self::new(0);
12230
12231 #[doc = "High level"]
12232 pub const _1: Self = Self::new(1);
12233 }
12234 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12235 pub struct Pdr_SPEC;
12236 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12237 impl Pdr {
12238 #[doc = "Input (functions as an input pin)"]
12239 pub const _0: Self = Self::new(0);
12240
12241 #[doc = "Output (functions as an output pin)"]
12242 pub const _1: Self = Self::new(1);
12243 }
12244 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12245 pub struct Pcr_SPEC;
12246 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12247 impl Pcr {
12248 #[doc = "Disable input pull-up"]
12249 pub const _0: Self = Self::new(0);
12250
12251 #[doc = "Enable input pull-up"]
12252 pub const _1: Self = Self::new(1);
12253 }
12254 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12255 pub struct Ncodr_SPEC;
12256 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12257 impl Ncodr {
12258 #[doc = "Output CMOS"]
12259 pub const _0: Self = Self::new(0);
12260
12261 #[doc = "Output NMOS open-drain"]
12262 pub const _1: Self = Self::new(1);
12263 }
12264 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12265 pub struct Isel_SPEC;
12266 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12267 impl Isel {
12268 #[doc = "Do not use as IRQn input pin"]
12269 pub const _0: Self = Self::new(0);
12270
12271 #[doc = "Use as IRQn input pin"]
12272 pub const _1: Self = Self::new(1);
12273 }
12274 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12275 pub struct Asel_SPEC;
12276 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12277 impl Asel {
12278 #[doc = "Do not use as analog pin"]
12279 pub const _0: Self = Self::new(0);
12280
12281 #[doc = "Use as analog pin"]
12282 pub const _1: Self = Self::new(1);
12283 }
12284 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12285 pub struct Pmr_SPEC;
12286 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
12287 impl Pmr {
12288 #[doc = "Use as general I/O pin"]
12289 pub const _0: Self = Self::new(0);
12290
12291 #[doc = "Use as I/O port for peripheral functions"]
12292 pub const _1: Self = Self::new(1);
12293 }
12294}
12295#[doc(hidden)]
12296#[derive(Copy, Clone, Eq, PartialEq)]
12297pub struct P30PfsHa_SPEC;
12298impl crate::sealed::RegSpec for P30PfsHa_SPEC {
12299 type DataType = u16;
12300}
12301
12302#[doc = "Port 30%s Pin Function Select Register"]
12303pub type P30PfsHa = crate::RegValueT<P30PfsHa_SPEC>;
12304
12305impl P30PfsHa {
12306 #[doc = "Port Output Data"]
12307 #[inline(always)]
12308 pub fn podr(
12309 self,
12310 ) -> crate::common::RegisterField<
12311 0,
12312 0x1,
12313 1,
12314 0,
12315 p30pfs_ha::Podr,
12316 p30pfs_ha::Podr,
12317 P30PfsHa_SPEC,
12318 crate::common::RW,
12319 > {
12320 crate::common::RegisterField::<
12321 0,
12322 0x1,
12323 1,
12324 0,
12325 p30pfs_ha::Podr,
12326 p30pfs_ha::Podr,
12327 P30PfsHa_SPEC,
12328 crate::common::RW,
12329 >::from_register(self, 0)
12330 }
12331
12332 #[doc = "Port State"]
12333 #[inline(always)]
12334 pub fn pidr(
12335 self,
12336 ) -> crate::common::RegisterField<
12337 1,
12338 0x1,
12339 1,
12340 0,
12341 p30pfs_ha::Pidr,
12342 p30pfs_ha::Pidr,
12343 P30PfsHa_SPEC,
12344 crate::common::R,
12345 > {
12346 crate::common::RegisterField::<
12347 1,
12348 0x1,
12349 1,
12350 0,
12351 p30pfs_ha::Pidr,
12352 p30pfs_ha::Pidr,
12353 P30PfsHa_SPEC,
12354 crate::common::R,
12355 >::from_register(self, 0)
12356 }
12357
12358 #[doc = "Port Direction"]
12359 #[inline(always)]
12360 pub fn pdr(
12361 self,
12362 ) -> crate::common::RegisterField<
12363 2,
12364 0x1,
12365 1,
12366 0,
12367 p30pfs_ha::Pdr,
12368 p30pfs_ha::Pdr,
12369 P30PfsHa_SPEC,
12370 crate::common::RW,
12371 > {
12372 crate::common::RegisterField::<
12373 2,
12374 0x1,
12375 1,
12376 0,
12377 p30pfs_ha::Pdr,
12378 p30pfs_ha::Pdr,
12379 P30PfsHa_SPEC,
12380 crate::common::RW,
12381 >::from_register(self, 0)
12382 }
12383
12384 #[doc = "Pull-up Control"]
12385 #[inline(always)]
12386 pub fn pcr(
12387 self,
12388 ) -> crate::common::RegisterField<
12389 4,
12390 0x1,
12391 1,
12392 0,
12393 p30pfs_ha::Pcr,
12394 p30pfs_ha::Pcr,
12395 P30PfsHa_SPEC,
12396 crate::common::RW,
12397 > {
12398 crate::common::RegisterField::<
12399 4,
12400 0x1,
12401 1,
12402 0,
12403 p30pfs_ha::Pcr,
12404 p30pfs_ha::Pcr,
12405 P30PfsHa_SPEC,
12406 crate::common::RW,
12407 >::from_register(self, 0)
12408 }
12409
12410 #[doc = "N-Channel Open-Drain Control"]
12411 #[inline(always)]
12412 pub fn ncodr(
12413 self,
12414 ) -> crate::common::RegisterField<
12415 6,
12416 0x1,
12417 1,
12418 0,
12419 p30pfs_ha::Ncodr,
12420 p30pfs_ha::Ncodr,
12421 P30PfsHa_SPEC,
12422 crate::common::RW,
12423 > {
12424 crate::common::RegisterField::<
12425 6,
12426 0x1,
12427 1,
12428 0,
12429 p30pfs_ha::Ncodr,
12430 p30pfs_ha::Ncodr,
12431 P30PfsHa_SPEC,
12432 crate::common::RW,
12433 >::from_register(self, 0)
12434 }
12435
12436 #[doc = "IRQ Input Enable"]
12437 #[inline(always)]
12438 pub fn isel(
12439 self,
12440 ) -> crate::common::RegisterField<
12441 14,
12442 0x1,
12443 1,
12444 0,
12445 p30pfs_ha::Isel,
12446 p30pfs_ha::Isel,
12447 P30PfsHa_SPEC,
12448 crate::common::RW,
12449 > {
12450 crate::common::RegisterField::<
12451 14,
12452 0x1,
12453 1,
12454 0,
12455 p30pfs_ha::Isel,
12456 p30pfs_ha::Isel,
12457 P30PfsHa_SPEC,
12458 crate::common::RW,
12459 >::from_register(self, 0)
12460 }
12461
12462 #[doc = "Analog Input Enable"]
12463 #[inline(always)]
12464 pub fn asel(
12465 self,
12466 ) -> crate::common::RegisterField<
12467 15,
12468 0x1,
12469 1,
12470 0,
12471 p30pfs_ha::Asel,
12472 p30pfs_ha::Asel,
12473 P30PfsHa_SPEC,
12474 crate::common::RW,
12475 > {
12476 crate::common::RegisterField::<
12477 15,
12478 0x1,
12479 1,
12480 0,
12481 p30pfs_ha::Asel,
12482 p30pfs_ha::Asel,
12483 P30PfsHa_SPEC,
12484 crate::common::RW,
12485 >::from_register(self, 0)
12486 }
12487}
12488impl ::core::default::Default for P30PfsHa {
12489 #[inline(always)]
12490 fn default() -> P30PfsHa {
12491 <crate::RegValueT<P30PfsHa_SPEC> as RegisterValue<_>>::new(0)
12492 }
12493}
12494pub mod p30pfs_ha {
12495
12496 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12497 pub struct Podr_SPEC;
12498 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12499 impl Podr {
12500 #[doc = "Output low"]
12501 pub const _0: Self = Self::new(0);
12502
12503 #[doc = "Output high"]
12504 pub const _1: Self = Self::new(1);
12505 }
12506 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12507 pub struct Pidr_SPEC;
12508 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12509 impl Pidr {
12510 #[doc = "Low level"]
12511 pub const _0: Self = Self::new(0);
12512
12513 #[doc = "High level"]
12514 pub const _1: Self = Self::new(1);
12515 }
12516 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12517 pub struct Pdr_SPEC;
12518 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12519 impl Pdr {
12520 #[doc = "Input (functions as an input pin)"]
12521 pub const _0: Self = Self::new(0);
12522
12523 #[doc = "Output (functions as an output pin)"]
12524 pub const _1: Self = Self::new(1);
12525 }
12526 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12527 pub struct Pcr_SPEC;
12528 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12529 impl Pcr {
12530 #[doc = "Disable input pull-up"]
12531 pub const _0: Self = Self::new(0);
12532
12533 #[doc = "Enable input pull-up"]
12534 pub const _1: Self = Self::new(1);
12535 }
12536 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12537 pub struct Ncodr_SPEC;
12538 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12539 impl Ncodr {
12540 #[doc = "Output CMOS"]
12541 pub const _0: Self = Self::new(0);
12542
12543 #[doc = "Output NMOS open-drain"]
12544 pub const _1: Self = Self::new(1);
12545 }
12546 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12547 pub struct Isel_SPEC;
12548 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12549 impl Isel {
12550 #[doc = "Do not use as IRQn input pin"]
12551 pub const _0: Self = Self::new(0);
12552
12553 #[doc = "Use as IRQn input pin"]
12554 pub const _1: Self = Self::new(1);
12555 }
12556 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12557 pub struct Asel_SPEC;
12558 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12559 impl Asel {
12560 #[doc = "Do not use as analog pin"]
12561 pub const _0: Self = Self::new(0);
12562
12563 #[doc = "Use as analog pin"]
12564 pub const _1: Self = Self::new(1);
12565 }
12566}
12567#[doc(hidden)]
12568#[derive(Copy, Clone, Eq, PartialEq)]
12569pub struct P30PfsBy_SPEC;
12570impl crate::sealed::RegSpec for P30PfsBy_SPEC {
12571 type DataType = u8;
12572}
12573
12574#[doc = "Port 30%s Pin Function Select Register"]
12575pub type P30PfsBy = crate::RegValueT<P30PfsBy_SPEC>;
12576
12577impl P30PfsBy {
12578 #[doc = "Port Output Data"]
12579 #[inline(always)]
12580 pub fn podr(
12581 self,
12582 ) -> crate::common::RegisterField<
12583 0,
12584 0x1,
12585 1,
12586 0,
12587 p30pfs_by::Podr,
12588 p30pfs_by::Podr,
12589 P30PfsBy_SPEC,
12590 crate::common::RW,
12591 > {
12592 crate::common::RegisterField::<
12593 0,
12594 0x1,
12595 1,
12596 0,
12597 p30pfs_by::Podr,
12598 p30pfs_by::Podr,
12599 P30PfsBy_SPEC,
12600 crate::common::RW,
12601 >::from_register(self, 0)
12602 }
12603
12604 #[doc = "Port State"]
12605 #[inline(always)]
12606 pub fn pidr(
12607 self,
12608 ) -> crate::common::RegisterField<
12609 1,
12610 0x1,
12611 1,
12612 0,
12613 p30pfs_by::Pidr,
12614 p30pfs_by::Pidr,
12615 P30PfsBy_SPEC,
12616 crate::common::R,
12617 > {
12618 crate::common::RegisterField::<
12619 1,
12620 0x1,
12621 1,
12622 0,
12623 p30pfs_by::Pidr,
12624 p30pfs_by::Pidr,
12625 P30PfsBy_SPEC,
12626 crate::common::R,
12627 >::from_register(self, 0)
12628 }
12629
12630 #[doc = "Port Direction"]
12631 #[inline(always)]
12632 pub fn pdr(
12633 self,
12634 ) -> crate::common::RegisterField<
12635 2,
12636 0x1,
12637 1,
12638 0,
12639 p30pfs_by::Pdr,
12640 p30pfs_by::Pdr,
12641 P30PfsBy_SPEC,
12642 crate::common::RW,
12643 > {
12644 crate::common::RegisterField::<
12645 2,
12646 0x1,
12647 1,
12648 0,
12649 p30pfs_by::Pdr,
12650 p30pfs_by::Pdr,
12651 P30PfsBy_SPEC,
12652 crate::common::RW,
12653 >::from_register(self, 0)
12654 }
12655
12656 #[doc = "Pull-up Control"]
12657 #[inline(always)]
12658 pub fn pcr(
12659 self,
12660 ) -> crate::common::RegisterField<
12661 4,
12662 0x1,
12663 1,
12664 0,
12665 p30pfs_by::Pcr,
12666 p30pfs_by::Pcr,
12667 P30PfsBy_SPEC,
12668 crate::common::RW,
12669 > {
12670 crate::common::RegisterField::<
12671 4,
12672 0x1,
12673 1,
12674 0,
12675 p30pfs_by::Pcr,
12676 p30pfs_by::Pcr,
12677 P30PfsBy_SPEC,
12678 crate::common::RW,
12679 >::from_register(self, 0)
12680 }
12681
12682 #[doc = "N-Channel Open-Drain Control"]
12683 #[inline(always)]
12684 pub fn ncodr(
12685 self,
12686 ) -> crate::common::RegisterField<
12687 6,
12688 0x1,
12689 1,
12690 0,
12691 p30pfs_by::Ncodr,
12692 p30pfs_by::Ncodr,
12693 P30PfsBy_SPEC,
12694 crate::common::RW,
12695 > {
12696 crate::common::RegisterField::<
12697 6,
12698 0x1,
12699 1,
12700 0,
12701 p30pfs_by::Ncodr,
12702 p30pfs_by::Ncodr,
12703 P30PfsBy_SPEC,
12704 crate::common::RW,
12705 >::from_register(self, 0)
12706 }
12707}
12708impl ::core::default::Default for P30PfsBy {
12709 #[inline(always)]
12710 fn default() -> P30PfsBy {
12711 <crate::RegValueT<P30PfsBy_SPEC> as RegisterValue<_>>::new(0)
12712 }
12713}
12714pub mod p30pfs_by {
12715
12716 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12717 pub struct Podr_SPEC;
12718 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12719 impl Podr {
12720 #[doc = "Output low"]
12721 pub const _0: Self = Self::new(0);
12722
12723 #[doc = "Output high"]
12724 pub const _1: Self = Self::new(1);
12725 }
12726 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12727 pub struct Pidr_SPEC;
12728 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12729 impl Pidr {
12730 #[doc = "Low level"]
12731 pub const _0: Self = Self::new(0);
12732
12733 #[doc = "High level"]
12734 pub const _1: Self = Self::new(1);
12735 }
12736 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12737 pub struct Pdr_SPEC;
12738 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12739 impl Pdr {
12740 #[doc = "Input (functions as an input pin)"]
12741 pub const _0: Self = Self::new(0);
12742
12743 #[doc = "Output (functions as an output pin)"]
12744 pub const _1: Self = Self::new(1);
12745 }
12746 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12747 pub struct Pcr_SPEC;
12748 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12749 impl Pcr {
12750 #[doc = "Disable input pull-up"]
12751 pub const _0: Self = Self::new(0);
12752
12753 #[doc = "Enable input pull-up"]
12754 pub const _1: Self = Self::new(1);
12755 }
12756 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12757 pub struct Ncodr_SPEC;
12758 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12759 impl Ncodr {
12760 #[doc = "Output CMOS"]
12761 pub const _0: Self = Self::new(0);
12762
12763 #[doc = "Output NMOS open-drain"]
12764 pub const _1: Self = Self::new(1);
12765 }
12766}
12767#[doc(hidden)]
12768#[derive(Copy, Clone, Eq, PartialEq)]
12769pub struct P3Pfs_SPEC;
12770impl crate::sealed::RegSpec for P3Pfs_SPEC {
12771 type DataType = u32;
12772}
12773
12774#[doc = "Port 3%s Pin Function Select Register"]
12775pub type P3Pfs = crate::RegValueT<P3Pfs_SPEC>;
12776
12777impl P3Pfs {
12778 #[doc = "Port Output Data"]
12779 #[inline(always)]
12780 pub fn podr(
12781 self,
12782 ) -> crate::common::RegisterField<
12783 0,
12784 0x1,
12785 1,
12786 0,
12787 p3pfs::Podr,
12788 p3pfs::Podr,
12789 P3Pfs_SPEC,
12790 crate::common::RW,
12791 > {
12792 crate::common::RegisterField::<
12793 0,
12794 0x1,
12795 1,
12796 0,
12797 p3pfs::Podr,
12798 p3pfs::Podr,
12799 P3Pfs_SPEC,
12800 crate::common::RW,
12801 >::from_register(self, 0)
12802 }
12803
12804 #[doc = "Port State"]
12805 #[inline(always)]
12806 pub fn pidr(
12807 self,
12808 ) -> crate::common::RegisterField<
12809 1,
12810 0x1,
12811 1,
12812 0,
12813 p3pfs::Pidr,
12814 p3pfs::Pidr,
12815 P3Pfs_SPEC,
12816 crate::common::R,
12817 > {
12818 crate::common::RegisterField::<
12819 1,
12820 0x1,
12821 1,
12822 0,
12823 p3pfs::Pidr,
12824 p3pfs::Pidr,
12825 P3Pfs_SPEC,
12826 crate::common::R,
12827 >::from_register(self, 0)
12828 }
12829
12830 #[doc = "Port Direction"]
12831 #[inline(always)]
12832 pub fn pdr(
12833 self,
12834 ) -> crate::common::RegisterField<
12835 2,
12836 0x1,
12837 1,
12838 0,
12839 p3pfs::Pdr,
12840 p3pfs::Pdr,
12841 P3Pfs_SPEC,
12842 crate::common::RW,
12843 > {
12844 crate::common::RegisterField::<
12845 2,
12846 0x1,
12847 1,
12848 0,
12849 p3pfs::Pdr,
12850 p3pfs::Pdr,
12851 P3Pfs_SPEC,
12852 crate::common::RW,
12853 >::from_register(self, 0)
12854 }
12855
12856 #[doc = "Pull-up Control"]
12857 #[inline(always)]
12858 pub fn pcr(
12859 self,
12860 ) -> crate::common::RegisterField<
12861 4,
12862 0x1,
12863 1,
12864 0,
12865 p3pfs::Pcr,
12866 p3pfs::Pcr,
12867 P3Pfs_SPEC,
12868 crate::common::RW,
12869 > {
12870 crate::common::RegisterField::<
12871 4,
12872 0x1,
12873 1,
12874 0,
12875 p3pfs::Pcr,
12876 p3pfs::Pcr,
12877 P3Pfs_SPEC,
12878 crate::common::RW,
12879 >::from_register(self, 0)
12880 }
12881
12882 #[doc = "N-Channel Open-Drain Control"]
12883 #[inline(always)]
12884 pub fn ncodr(
12885 self,
12886 ) -> crate::common::RegisterField<
12887 6,
12888 0x1,
12889 1,
12890 0,
12891 p3pfs::Ncodr,
12892 p3pfs::Ncodr,
12893 P3Pfs_SPEC,
12894 crate::common::RW,
12895 > {
12896 crate::common::RegisterField::<
12897 6,
12898 0x1,
12899 1,
12900 0,
12901 p3pfs::Ncodr,
12902 p3pfs::Ncodr,
12903 P3Pfs_SPEC,
12904 crate::common::RW,
12905 >::from_register(self, 0)
12906 }
12907
12908 #[doc = "IRQ Input Enable"]
12909 #[inline(always)]
12910 pub fn isel(
12911 self,
12912 ) -> crate::common::RegisterField<
12913 14,
12914 0x1,
12915 1,
12916 0,
12917 p3pfs::Isel,
12918 p3pfs::Isel,
12919 P3Pfs_SPEC,
12920 crate::common::RW,
12921 > {
12922 crate::common::RegisterField::<
12923 14,
12924 0x1,
12925 1,
12926 0,
12927 p3pfs::Isel,
12928 p3pfs::Isel,
12929 P3Pfs_SPEC,
12930 crate::common::RW,
12931 >::from_register(self, 0)
12932 }
12933
12934 #[doc = "Analog Input Enable"]
12935 #[inline(always)]
12936 pub fn asel(
12937 self,
12938 ) -> crate::common::RegisterField<
12939 15,
12940 0x1,
12941 1,
12942 0,
12943 p3pfs::Asel,
12944 p3pfs::Asel,
12945 P3Pfs_SPEC,
12946 crate::common::RW,
12947 > {
12948 crate::common::RegisterField::<
12949 15,
12950 0x1,
12951 1,
12952 0,
12953 p3pfs::Asel,
12954 p3pfs::Asel,
12955 P3Pfs_SPEC,
12956 crate::common::RW,
12957 >::from_register(self, 0)
12958 }
12959
12960 #[doc = "Port Mode Control"]
12961 #[inline(always)]
12962 pub fn pmr(
12963 self,
12964 ) -> crate::common::RegisterField<
12965 16,
12966 0x1,
12967 1,
12968 0,
12969 p3pfs::Pmr,
12970 p3pfs::Pmr,
12971 P3Pfs_SPEC,
12972 crate::common::RW,
12973 > {
12974 crate::common::RegisterField::<
12975 16,
12976 0x1,
12977 1,
12978 0,
12979 p3pfs::Pmr,
12980 p3pfs::Pmr,
12981 P3Pfs_SPEC,
12982 crate::common::RW,
12983 >::from_register(self, 0)
12984 }
12985
12986 #[doc = "Peripheral Select"]
12987 #[inline(always)]
12988 pub fn psel(
12989 self,
12990 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P3Pfs_SPEC, crate::common::RW> {
12991 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P3Pfs_SPEC,crate::common::RW>::from_register(self,0)
12992 }
12993}
12994impl ::core::default::Default for P3Pfs {
12995 #[inline(always)]
12996 fn default() -> P3Pfs {
12997 <crate::RegValueT<P3Pfs_SPEC> as RegisterValue<_>>::new(0)
12998 }
12999}
13000pub mod p3pfs {
13001
13002 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13003 pub struct Podr_SPEC;
13004 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13005 impl Podr {
13006 #[doc = "Output low"]
13007 pub const _0: Self = Self::new(0);
13008
13009 #[doc = "Output high"]
13010 pub const _1: Self = Self::new(1);
13011 }
13012 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13013 pub struct Pidr_SPEC;
13014 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13015 impl Pidr {
13016 #[doc = "Low level"]
13017 pub const _0: Self = Self::new(0);
13018
13019 #[doc = "High level"]
13020 pub const _1: Self = Self::new(1);
13021 }
13022 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13023 pub struct Pdr_SPEC;
13024 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13025 impl Pdr {
13026 #[doc = "Input (functions as an input pin)"]
13027 pub const _0: Self = Self::new(0);
13028
13029 #[doc = "Output (functions as an output pin)"]
13030 pub const _1: Self = Self::new(1);
13031 }
13032 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13033 pub struct Pcr_SPEC;
13034 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13035 impl Pcr {
13036 #[doc = "Disable input pull-up"]
13037 pub const _0: Self = Self::new(0);
13038
13039 #[doc = "Enable input pull-up"]
13040 pub const _1: Self = Self::new(1);
13041 }
13042 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13043 pub struct Ncodr_SPEC;
13044 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13045 impl Ncodr {
13046 #[doc = "Output CMOS"]
13047 pub const _0: Self = Self::new(0);
13048
13049 #[doc = "Output NMOS open-drain"]
13050 pub const _1: Self = Self::new(1);
13051 }
13052 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13053 pub struct Isel_SPEC;
13054 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13055 impl Isel {
13056 #[doc = "Do not use as IRQn input pin"]
13057 pub const _0: Self = Self::new(0);
13058
13059 #[doc = "Use as IRQn input pin"]
13060 pub const _1: Self = Self::new(1);
13061 }
13062 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13063 pub struct Asel_SPEC;
13064 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13065 impl Asel {
13066 #[doc = "Do not use as analog pin"]
13067 pub const _0: Self = Self::new(0);
13068
13069 #[doc = "Use as analog pin"]
13070 pub const _1: Self = Self::new(1);
13071 }
13072 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13073 pub struct Pmr_SPEC;
13074 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
13075 impl Pmr {
13076 #[doc = "Use as general I/O pin"]
13077 pub const _0: Self = Self::new(0);
13078
13079 #[doc = "Use as I/O port for peripheral functions"]
13080 pub const _1: Self = Self::new(1);
13081 }
13082}
13083#[doc(hidden)]
13084#[derive(Copy, Clone, Eq, PartialEq)]
13085pub struct P3PfsHa_SPEC;
13086impl crate::sealed::RegSpec for P3PfsHa_SPEC {
13087 type DataType = u16;
13088}
13089
13090#[doc = "Port 3%s Pin Function Select Register"]
13091pub type P3PfsHa = crate::RegValueT<P3PfsHa_SPEC>;
13092
13093impl P3PfsHa {
13094 #[doc = "Port Output Data"]
13095 #[inline(always)]
13096 pub fn podr(
13097 self,
13098 ) -> crate::common::RegisterField<
13099 0,
13100 0x1,
13101 1,
13102 0,
13103 p3pfs_ha::Podr,
13104 p3pfs_ha::Podr,
13105 P3PfsHa_SPEC,
13106 crate::common::RW,
13107 > {
13108 crate::common::RegisterField::<
13109 0,
13110 0x1,
13111 1,
13112 0,
13113 p3pfs_ha::Podr,
13114 p3pfs_ha::Podr,
13115 P3PfsHa_SPEC,
13116 crate::common::RW,
13117 >::from_register(self, 0)
13118 }
13119
13120 #[doc = "Port State"]
13121 #[inline(always)]
13122 pub fn pidr(
13123 self,
13124 ) -> crate::common::RegisterField<
13125 1,
13126 0x1,
13127 1,
13128 0,
13129 p3pfs_ha::Pidr,
13130 p3pfs_ha::Pidr,
13131 P3PfsHa_SPEC,
13132 crate::common::R,
13133 > {
13134 crate::common::RegisterField::<
13135 1,
13136 0x1,
13137 1,
13138 0,
13139 p3pfs_ha::Pidr,
13140 p3pfs_ha::Pidr,
13141 P3PfsHa_SPEC,
13142 crate::common::R,
13143 >::from_register(self, 0)
13144 }
13145
13146 #[doc = "Port Direction"]
13147 #[inline(always)]
13148 pub fn pdr(
13149 self,
13150 ) -> crate::common::RegisterField<
13151 2,
13152 0x1,
13153 1,
13154 0,
13155 p3pfs_ha::Pdr,
13156 p3pfs_ha::Pdr,
13157 P3PfsHa_SPEC,
13158 crate::common::RW,
13159 > {
13160 crate::common::RegisterField::<
13161 2,
13162 0x1,
13163 1,
13164 0,
13165 p3pfs_ha::Pdr,
13166 p3pfs_ha::Pdr,
13167 P3PfsHa_SPEC,
13168 crate::common::RW,
13169 >::from_register(self, 0)
13170 }
13171
13172 #[doc = "Pull-up Control"]
13173 #[inline(always)]
13174 pub fn pcr(
13175 self,
13176 ) -> crate::common::RegisterField<
13177 4,
13178 0x1,
13179 1,
13180 0,
13181 p3pfs_ha::Pcr,
13182 p3pfs_ha::Pcr,
13183 P3PfsHa_SPEC,
13184 crate::common::RW,
13185 > {
13186 crate::common::RegisterField::<
13187 4,
13188 0x1,
13189 1,
13190 0,
13191 p3pfs_ha::Pcr,
13192 p3pfs_ha::Pcr,
13193 P3PfsHa_SPEC,
13194 crate::common::RW,
13195 >::from_register(self, 0)
13196 }
13197
13198 #[doc = "N-Channel Open-Drain Control"]
13199 #[inline(always)]
13200 pub fn ncodr(
13201 self,
13202 ) -> crate::common::RegisterField<
13203 6,
13204 0x1,
13205 1,
13206 0,
13207 p3pfs_ha::Ncodr,
13208 p3pfs_ha::Ncodr,
13209 P3PfsHa_SPEC,
13210 crate::common::RW,
13211 > {
13212 crate::common::RegisterField::<
13213 6,
13214 0x1,
13215 1,
13216 0,
13217 p3pfs_ha::Ncodr,
13218 p3pfs_ha::Ncodr,
13219 P3PfsHa_SPEC,
13220 crate::common::RW,
13221 >::from_register(self, 0)
13222 }
13223
13224 #[doc = "IRQ Input Enable"]
13225 #[inline(always)]
13226 pub fn isel(
13227 self,
13228 ) -> crate::common::RegisterField<
13229 14,
13230 0x1,
13231 1,
13232 0,
13233 p3pfs_ha::Isel,
13234 p3pfs_ha::Isel,
13235 P3PfsHa_SPEC,
13236 crate::common::RW,
13237 > {
13238 crate::common::RegisterField::<
13239 14,
13240 0x1,
13241 1,
13242 0,
13243 p3pfs_ha::Isel,
13244 p3pfs_ha::Isel,
13245 P3PfsHa_SPEC,
13246 crate::common::RW,
13247 >::from_register(self, 0)
13248 }
13249
13250 #[doc = "Analog Input Enable"]
13251 #[inline(always)]
13252 pub fn asel(
13253 self,
13254 ) -> crate::common::RegisterField<
13255 15,
13256 0x1,
13257 1,
13258 0,
13259 p3pfs_ha::Asel,
13260 p3pfs_ha::Asel,
13261 P3PfsHa_SPEC,
13262 crate::common::RW,
13263 > {
13264 crate::common::RegisterField::<
13265 15,
13266 0x1,
13267 1,
13268 0,
13269 p3pfs_ha::Asel,
13270 p3pfs_ha::Asel,
13271 P3PfsHa_SPEC,
13272 crate::common::RW,
13273 >::from_register(self, 0)
13274 }
13275}
13276impl ::core::default::Default for P3PfsHa {
13277 #[inline(always)]
13278 fn default() -> P3PfsHa {
13279 <crate::RegValueT<P3PfsHa_SPEC> as RegisterValue<_>>::new(0)
13280 }
13281}
13282pub mod p3pfs_ha {
13283
13284 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13285 pub struct Podr_SPEC;
13286 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13287 impl Podr {
13288 #[doc = "Output low"]
13289 pub const _0: Self = Self::new(0);
13290
13291 #[doc = "Output high"]
13292 pub const _1: Self = Self::new(1);
13293 }
13294 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13295 pub struct Pidr_SPEC;
13296 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13297 impl Pidr {
13298 #[doc = "Low level"]
13299 pub const _0: Self = Self::new(0);
13300
13301 #[doc = "High level"]
13302 pub const _1: Self = Self::new(1);
13303 }
13304 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13305 pub struct Pdr_SPEC;
13306 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13307 impl Pdr {
13308 #[doc = "Input (functions as an input pin)"]
13309 pub const _0: Self = Self::new(0);
13310
13311 #[doc = "Output (functions as an output pin)"]
13312 pub const _1: Self = Self::new(1);
13313 }
13314 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13315 pub struct Pcr_SPEC;
13316 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13317 impl Pcr {
13318 #[doc = "Disable input pull-up"]
13319 pub const _0: Self = Self::new(0);
13320
13321 #[doc = "Enable input pull-up"]
13322 pub const _1: Self = Self::new(1);
13323 }
13324 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13325 pub struct Ncodr_SPEC;
13326 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13327 impl Ncodr {
13328 #[doc = "Output CMOS"]
13329 pub const _0: Self = Self::new(0);
13330
13331 #[doc = "Output NMOS open-drain"]
13332 pub const _1: Self = Self::new(1);
13333 }
13334 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13335 pub struct Isel_SPEC;
13336 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13337 impl Isel {
13338 #[doc = "Do not use as IRQn input pin"]
13339 pub const _0: Self = Self::new(0);
13340
13341 #[doc = "Use as IRQn input pin"]
13342 pub const _1: Self = Self::new(1);
13343 }
13344 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13345 pub struct Asel_SPEC;
13346 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13347 impl Asel {
13348 #[doc = "Do not use as analog pin"]
13349 pub const _0: Self = Self::new(0);
13350
13351 #[doc = "Use as analog pin"]
13352 pub const _1: Self = Self::new(1);
13353 }
13354}
13355#[doc(hidden)]
13356#[derive(Copy, Clone, Eq, PartialEq)]
13357pub struct P3PfsBy_SPEC;
13358impl crate::sealed::RegSpec for P3PfsBy_SPEC {
13359 type DataType = u8;
13360}
13361
13362#[doc = "Port 3%s Pin Function Select Register"]
13363pub type P3PfsBy = crate::RegValueT<P3PfsBy_SPEC>;
13364
13365impl P3PfsBy {
13366 #[doc = "Port Output Data"]
13367 #[inline(always)]
13368 pub fn podr(
13369 self,
13370 ) -> crate::common::RegisterField<
13371 0,
13372 0x1,
13373 1,
13374 0,
13375 p3pfs_by::Podr,
13376 p3pfs_by::Podr,
13377 P3PfsBy_SPEC,
13378 crate::common::RW,
13379 > {
13380 crate::common::RegisterField::<
13381 0,
13382 0x1,
13383 1,
13384 0,
13385 p3pfs_by::Podr,
13386 p3pfs_by::Podr,
13387 P3PfsBy_SPEC,
13388 crate::common::RW,
13389 >::from_register(self, 0)
13390 }
13391
13392 #[doc = "Port State"]
13393 #[inline(always)]
13394 pub fn pidr(
13395 self,
13396 ) -> crate::common::RegisterField<
13397 1,
13398 0x1,
13399 1,
13400 0,
13401 p3pfs_by::Pidr,
13402 p3pfs_by::Pidr,
13403 P3PfsBy_SPEC,
13404 crate::common::R,
13405 > {
13406 crate::common::RegisterField::<
13407 1,
13408 0x1,
13409 1,
13410 0,
13411 p3pfs_by::Pidr,
13412 p3pfs_by::Pidr,
13413 P3PfsBy_SPEC,
13414 crate::common::R,
13415 >::from_register(self, 0)
13416 }
13417
13418 #[doc = "Port Direction"]
13419 #[inline(always)]
13420 pub fn pdr(
13421 self,
13422 ) -> crate::common::RegisterField<
13423 2,
13424 0x1,
13425 1,
13426 0,
13427 p3pfs_by::Pdr,
13428 p3pfs_by::Pdr,
13429 P3PfsBy_SPEC,
13430 crate::common::RW,
13431 > {
13432 crate::common::RegisterField::<
13433 2,
13434 0x1,
13435 1,
13436 0,
13437 p3pfs_by::Pdr,
13438 p3pfs_by::Pdr,
13439 P3PfsBy_SPEC,
13440 crate::common::RW,
13441 >::from_register(self, 0)
13442 }
13443
13444 #[doc = "Pull-up Control"]
13445 #[inline(always)]
13446 pub fn pcr(
13447 self,
13448 ) -> crate::common::RegisterField<
13449 4,
13450 0x1,
13451 1,
13452 0,
13453 p3pfs_by::Pcr,
13454 p3pfs_by::Pcr,
13455 P3PfsBy_SPEC,
13456 crate::common::RW,
13457 > {
13458 crate::common::RegisterField::<
13459 4,
13460 0x1,
13461 1,
13462 0,
13463 p3pfs_by::Pcr,
13464 p3pfs_by::Pcr,
13465 P3PfsBy_SPEC,
13466 crate::common::RW,
13467 >::from_register(self, 0)
13468 }
13469
13470 #[doc = "N-Channel Open-Drain Control"]
13471 #[inline(always)]
13472 pub fn ncodr(
13473 self,
13474 ) -> crate::common::RegisterField<
13475 6,
13476 0x1,
13477 1,
13478 0,
13479 p3pfs_by::Ncodr,
13480 p3pfs_by::Ncodr,
13481 P3PfsBy_SPEC,
13482 crate::common::RW,
13483 > {
13484 crate::common::RegisterField::<
13485 6,
13486 0x1,
13487 1,
13488 0,
13489 p3pfs_by::Ncodr,
13490 p3pfs_by::Ncodr,
13491 P3PfsBy_SPEC,
13492 crate::common::RW,
13493 >::from_register(self, 0)
13494 }
13495}
13496impl ::core::default::Default for P3PfsBy {
13497 #[inline(always)]
13498 fn default() -> P3PfsBy {
13499 <crate::RegValueT<P3PfsBy_SPEC> as RegisterValue<_>>::new(0)
13500 }
13501}
13502pub mod p3pfs_by {
13503
13504 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13505 pub struct Podr_SPEC;
13506 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13507 impl Podr {
13508 #[doc = "Output low"]
13509 pub const _0: Self = Self::new(0);
13510
13511 #[doc = "Output high"]
13512 pub const _1: Self = Self::new(1);
13513 }
13514 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13515 pub struct Pidr_SPEC;
13516 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13517 impl Pidr {
13518 #[doc = "Low level"]
13519 pub const _0: Self = Self::new(0);
13520
13521 #[doc = "High level"]
13522 pub const _1: Self = Self::new(1);
13523 }
13524 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13525 pub struct Pdr_SPEC;
13526 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13527 impl Pdr {
13528 #[doc = "Input (functions as an input pin)"]
13529 pub const _0: Self = Self::new(0);
13530
13531 #[doc = "Output (functions as an output pin)"]
13532 pub const _1: Self = Self::new(1);
13533 }
13534 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13535 pub struct Pcr_SPEC;
13536 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13537 impl Pcr {
13538 #[doc = "Disable input pull-up"]
13539 pub const _0: Self = Self::new(0);
13540
13541 #[doc = "Enable input pull-up"]
13542 pub const _1: Self = Self::new(1);
13543 }
13544 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13545 pub struct Ncodr_SPEC;
13546 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13547 impl Ncodr {
13548 #[doc = "Output CMOS"]
13549 pub const _0: Self = Self::new(0);
13550
13551 #[doc = "Output NMOS open-drain"]
13552 pub const _1: Self = Self::new(1);
13553 }
13554}
13555#[doc(hidden)]
13556#[derive(Copy, Clone, Eq, PartialEq)]
13557pub struct P40Pfs_SPEC;
13558impl crate::sealed::RegSpec for P40Pfs_SPEC {
13559 type DataType = u32;
13560}
13561
13562#[doc = "Port 40%s Pin Function Select Register"]
13563pub type P40Pfs = crate::RegValueT<P40Pfs_SPEC>;
13564
13565impl P40Pfs {
13566 #[doc = "Port Output Data"]
13567 #[inline(always)]
13568 pub fn podr(
13569 self,
13570 ) -> crate::common::RegisterField<
13571 0,
13572 0x1,
13573 1,
13574 0,
13575 p40pfs::Podr,
13576 p40pfs::Podr,
13577 P40Pfs_SPEC,
13578 crate::common::RW,
13579 > {
13580 crate::common::RegisterField::<
13581 0,
13582 0x1,
13583 1,
13584 0,
13585 p40pfs::Podr,
13586 p40pfs::Podr,
13587 P40Pfs_SPEC,
13588 crate::common::RW,
13589 >::from_register(self, 0)
13590 }
13591
13592 #[doc = "Port State"]
13593 #[inline(always)]
13594 pub fn pidr(
13595 self,
13596 ) -> crate::common::RegisterField<
13597 1,
13598 0x1,
13599 1,
13600 0,
13601 p40pfs::Pidr,
13602 p40pfs::Pidr,
13603 P40Pfs_SPEC,
13604 crate::common::R,
13605 > {
13606 crate::common::RegisterField::<
13607 1,
13608 0x1,
13609 1,
13610 0,
13611 p40pfs::Pidr,
13612 p40pfs::Pidr,
13613 P40Pfs_SPEC,
13614 crate::common::R,
13615 >::from_register(self, 0)
13616 }
13617
13618 #[doc = "Port Direction"]
13619 #[inline(always)]
13620 pub fn pdr(
13621 self,
13622 ) -> crate::common::RegisterField<
13623 2,
13624 0x1,
13625 1,
13626 0,
13627 p40pfs::Pdr,
13628 p40pfs::Pdr,
13629 P40Pfs_SPEC,
13630 crate::common::RW,
13631 > {
13632 crate::common::RegisterField::<
13633 2,
13634 0x1,
13635 1,
13636 0,
13637 p40pfs::Pdr,
13638 p40pfs::Pdr,
13639 P40Pfs_SPEC,
13640 crate::common::RW,
13641 >::from_register(self, 0)
13642 }
13643
13644 #[doc = "Pull-up Control"]
13645 #[inline(always)]
13646 pub fn pcr(
13647 self,
13648 ) -> crate::common::RegisterField<
13649 4,
13650 0x1,
13651 1,
13652 0,
13653 p40pfs::Pcr,
13654 p40pfs::Pcr,
13655 P40Pfs_SPEC,
13656 crate::common::RW,
13657 > {
13658 crate::common::RegisterField::<
13659 4,
13660 0x1,
13661 1,
13662 0,
13663 p40pfs::Pcr,
13664 p40pfs::Pcr,
13665 P40Pfs_SPEC,
13666 crate::common::RW,
13667 >::from_register(self, 0)
13668 }
13669
13670 #[doc = "N-Channel Open-Drain Control"]
13671 #[inline(always)]
13672 pub fn ncodr(
13673 self,
13674 ) -> crate::common::RegisterField<
13675 6,
13676 0x1,
13677 1,
13678 0,
13679 p40pfs::Ncodr,
13680 p40pfs::Ncodr,
13681 P40Pfs_SPEC,
13682 crate::common::RW,
13683 > {
13684 crate::common::RegisterField::<
13685 6,
13686 0x1,
13687 1,
13688 0,
13689 p40pfs::Ncodr,
13690 p40pfs::Ncodr,
13691 P40Pfs_SPEC,
13692 crate::common::RW,
13693 >::from_register(self, 0)
13694 }
13695
13696 #[doc = "IRQ Input Enable"]
13697 #[inline(always)]
13698 pub fn isel(
13699 self,
13700 ) -> crate::common::RegisterField<
13701 14,
13702 0x1,
13703 1,
13704 0,
13705 p40pfs::Isel,
13706 p40pfs::Isel,
13707 P40Pfs_SPEC,
13708 crate::common::RW,
13709 > {
13710 crate::common::RegisterField::<
13711 14,
13712 0x1,
13713 1,
13714 0,
13715 p40pfs::Isel,
13716 p40pfs::Isel,
13717 P40Pfs_SPEC,
13718 crate::common::RW,
13719 >::from_register(self, 0)
13720 }
13721
13722 #[doc = "Analog Input Enable"]
13723 #[inline(always)]
13724 pub fn asel(
13725 self,
13726 ) -> crate::common::RegisterField<
13727 15,
13728 0x1,
13729 1,
13730 0,
13731 p40pfs::Asel,
13732 p40pfs::Asel,
13733 P40Pfs_SPEC,
13734 crate::common::RW,
13735 > {
13736 crate::common::RegisterField::<
13737 15,
13738 0x1,
13739 1,
13740 0,
13741 p40pfs::Asel,
13742 p40pfs::Asel,
13743 P40Pfs_SPEC,
13744 crate::common::RW,
13745 >::from_register(self, 0)
13746 }
13747
13748 #[doc = "Port Mode Control"]
13749 #[inline(always)]
13750 pub fn pmr(
13751 self,
13752 ) -> crate::common::RegisterField<
13753 16,
13754 0x1,
13755 1,
13756 0,
13757 p40pfs::Pmr,
13758 p40pfs::Pmr,
13759 P40Pfs_SPEC,
13760 crate::common::RW,
13761 > {
13762 crate::common::RegisterField::<
13763 16,
13764 0x1,
13765 1,
13766 0,
13767 p40pfs::Pmr,
13768 p40pfs::Pmr,
13769 P40Pfs_SPEC,
13770 crate::common::RW,
13771 >::from_register(self, 0)
13772 }
13773
13774 #[doc = "Peripheral Select"]
13775 #[inline(always)]
13776 pub fn psel(
13777 self,
13778 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P40Pfs_SPEC, crate::common::RW> {
13779 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P40Pfs_SPEC,crate::common::RW>::from_register(self,0)
13780 }
13781}
13782impl ::core::default::Default for P40Pfs {
13783 #[inline(always)]
13784 fn default() -> P40Pfs {
13785 <crate::RegValueT<P40Pfs_SPEC> as RegisterValue<_>>::new(0)
13786 }
13787}
13788pub mod p40pfs {
13789
13790 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13791 pub struct Podr_SPEC;
13792 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13793 impl Podr {
13794 #[doc = "Output low"]
13795 pub const _0: Self = Self::new(0);
13796
13797 #[doc = "Output high"]
13798 pub const _1: Self = Self::new(1);
13799 }
13800 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13801 pub struct Pidr_SPEC;
13802 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13803 impl Pidr {
13804 #[doc = "Low level"]
13805 pub const _0: Self = Self::new(0);
13806
13807 #[doc = "High level"]
13808 pub const _1: Self = Self::new(1);
13809 }
13810 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13811 pub struct Pdr_SPEC;
13812 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13813 impl Pdr {
13814 #[doc = "Input (functions as an input pin)"]
13815 pub const _0: Self = Self::new(0);
13816
13817 #[doc = "Output (functions as an output pin)"]
13818 pub const _1: Self = Self::new(1);
13819 }
13820 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13821 pub struct Pcr_SPEC;
13822 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13823 impl Pcr {
13824 #[doc = "Disable input pull-up"]
13825 pub const _0: Self = Self::new(0);
13826
13827 #[doc = "Enable input pull-up"]
13828 pub const _1: Self = Self::new(1);
13829 }
13830 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13831 pub struct Ncodr_SPEC;
13832 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13833 impl Ncodr {
13834 #[doc = "Output CMOS"]
13835 pub const _0: Self = Self::new(0);
13836
13837 #[doc = "Output NMOS open-drain"]
13838 pub const _1: Self = Self::new(1);
13839 }
13840 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13841 pub struct Isel_SPEC;
13842 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13843 impl Isel {
13844 #[doc = "Do not use as IRQn input pin"]
13845 pub const _0: Self = Self::new(0);
13846
13847 #[doc = "Use as IRQn input pin"]
13848 pub const _1: Self = Self::new(1);
13849 }
13850 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13851 pub struct Asel_SPEC;
13852 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13853 impl Asel {
13854 #[doc = "Do not use as analog pin"]
13855 pub const _0: Self = Self::new(0);
13856
13857 #[doc = "Use as analog pin"]
13858 pub const _1: Self = Self::new(1);
13859 }
13860 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13861 pub struct Pmr_SPEC;
13862 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
13863 impl Pmr {
13864 #[doc = "Use as general I/O pin"]
13865 pub const _0: Self = Self::new(0);
13866
13867 #[doc = "Use as I/O port for peripheral functions"]
13868 pub const _1: Self = Self::new(1);
13869 }
13870}
13871#[doc(hidden)]
13872#[derive(Copy, Clone, Eq, PartialEq)]
13873pub struct P40PfsHa_SPEC;
13874impl crate::sealed::RegSpec for P40PfsHa_SPEC {
13875 type DataType = u16;
13876}
13877
13878#[doc = "Port 40%s Pin Function Select Register"]
13879pub type P40PfsHa = crate::RegValueT<P40PfsHa_SPEC>;
13880
13881impl P40PfsHa {
13882 #[doc = "Port Output Data"]
13883 #[inline(always)]
13884 pub fn podr(
13885 self,
13886 ) -> crate::common::RegisterField<
13887 0,
13888 0x1,
13889 1,
13890 0,
13891 p40pfs_ha::Podr,
13892 p40pfs_ha::Podr,
13893 P40PfsHa_SPEC,
13894 crate::common::RW,
13895 > {
13896 crate::common::RegisterField::<
13897 0,
13898 0x1,
13899 1,
13900 0,
13901 p40pfs_ha::Podr,
13902 p40pfs_ha::Podr,
13903 P40PfsHa_SPEC,
13904 crate::common::RW,
13905 >::from_register(self, 0)
13906 }
13907
13908 #[doc = "Port State"]
13909 #[inline(always)]
13910 pub fn pidr(
13911 self,
13912 ) -> crate::common::RegisterField<
13913 1,
13914 0x1,
13915 1,
13916 0,
13917 p40pfs_ha::Pidr,
13918 p40pfs_ha::Pidr,
13919 P40PfsHa_SPEC,
13920 crate::common::R,
13921 > {
13922 crate::common::RegisterField::<
13923 1,
13924 0x1,
13925 1,
13926 0,
13927 p40pfs_ha::Pidr,
13928 p40pfs_ha::Pidr,
13929 P40PfsHa_SPEC,
13930 crate::common::R,
13931 >::from_register(self, 0)
13932 }
13933
13934 #[doc = "Port Direction"]
13935 #[inline(always)]
13936 pub fn pdr(
13937 self,
13938 ) -> crate::common::RegisterField<
13939 2,
13940 0x1,
13941 1,
13942 0,
13943 p40pfs_ha::Pdr,
13944 p40pfs_ha::Pdr,
13945 P40PfsHa_SPEC,
13946 crate::common::RW,
13947 > {
13948 crate::common::RegisterField::<
13949 2,
13950 0x1,
13951 1,
13952 0,
13953 p40pfs_ha::Pdr,
13954 p40pfs_ha::Pdr,
13955 P40PfsHa_SPEC,
13956 crate::common::RW,
13957 >::from_register(self, 0)
13958 }
13959
13960 #[doc = "Pull-up Control"]
13961 #[inline(always)]
13962 pub fn pcr(
13963 self,
13964 ) -> crate::common::RegisterField<
13965 4,
13966 0x1,
13967 1,
13968 0,
13969 p40pfs_ha::Pcr,
13970 p40pfs_ha::Pcr,
13971 P40PfsHa_SPEC,
13972 crate::common::RW,
13973 > {
13974 crate::common::RegisterField::<
13975 4,
13976 0x1,
13977 1,
13978 0,
13979 p40pfs_ha::Pcr,
13980 p40pfs_ha::Pcr,
13981 P40PfsHa_SPEC,
13982 crate::common::RW,
13983 >::from_register(self, 0)
13984 }
13985
13986 #[doc = "N-Channel Open-Drain Control"]
13987 #[inline(always)]
13988 pub fn ncodr(
13989 self,
13990 ) -> crate::common::RegisterField<
13991 6,
13992 0x1,
13993 1,
13994 0,
13995 p40pfs_ha::Ncodr,
13996 p40pfs_ha::Ncodr,
13997 P40PfsHa_SPEC,
13998 crate::common::RW,
13999 > {
14000 crate::common::RegisterField::<
14001 6,
14002 0x1,
14003 1,
14004 0,
14005 p40pfs_ha::Ncodr,
14006 p40pfs_ha::Ncodr,
14007 P40PfsHa_SPEC,
14008 crate::common::RW,
14009 >::from_register(self, 0)
14010 }
14011
14012 #[doc = "IRQ Input Enable"]
14013 #[inline(always)]
14014 pub fn isel(
14015 self,
14016 ) -> crate::common::RegisterField<
14017 14,
14018 0x1,
14019 1,
14020 0,
14021 p40pfs_ha::Isel,
14022 p40pfs_ha::Isel,
14023 P40PfsHa_SPEC,
14024 crate::common::RW,
14025 > {
14026 crate::common::RegisterField::<
14027 14,
14028 0x1,
14029 1,
14030 0,
14031 p40pfs_ha::Isel,
14032 p40pfs_ha::Isel,
14033 P40PfsHa_SPEC,
14034 crate::common::RW,
14035 >::from_register(self, 0)
14036 }
14037
14038 #[doc = "Analog Input Enable"]
14039 #[inline(always)]
14040 pub fn asel(
14041 self,
14042 ) -> crate::common::RegisterField<
14043 15,
14044 0x1,
14045 1,
14046 0,
14047 p40pfs_ha::Asel,
14048 p40pfs_ha::Asel,
14049 P40PfsHa_SPEC,
14050 crate::common::RW,
14051 > {
14052 crate::common::RegisterField::<
14053 15,
14054 0x1,
14055 1,
14056 0,
14057 p40pfs_ha::Asel,
14058 p40pfs_ha::Asel,
14059 P40PfsHa_SPEC,
14060 crate::common::RW,
14061 >::from_register(self, 0)
14062 }
14063}
14064impl ::core::default::Default for P40PfsHa {
14065 #[inline(always)]
14066 fn default() -> P40PfsHa {
14067 <crate::RegValueT<P40PfsHa_SPEC> as RegisterValue<_>>::new(0)
14068 }
14069}
14070pub mod p40pfs_ha {
14071
14072 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14073 pub struct Podr_SPEC;
14074 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14075 impl Podr {
14076 #[doc = "Output low"]
14077 pub const _0: Self = Self::new(0);
14078
14079 #[doc = "Output high"]
14080 pub const _1: Self = Self::new(1);
14081 }
14082 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14083 pub struct Pidr_SPEC;
14084 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14085 impl Pidr {
14086 #[doc = "Low level"]
14087 pub const _0: Self = Self::new(0);
14088
14089 #[doc = "High level"]
14090 pub const _1: Self = Self::new(1);
14091 }
14092 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14093 pub struct Pdr_SPEC;
14094 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14095 impl Pdr {
14096 #[doc = "Input (functions as an input pin)"]
14097 pub const _0: Self = Self::new(0);
14098
14099 #[doc = "Output (functions as an output pin)"]
14100 pub const _1: Self = Self::new(1);
14101 }
14102 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14103 pub struct Pcr_SPEC;
14104 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14105 impl Pcr {
14106 #[doc = "Disable input pull-up"]
14107 pub const _0: Self = Self::new(0);
14108
14109 #[doc = "Enable input pull-up"]
14110 pub const _1: Self = Self::new(1);
14111 }
14112 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14113 pub struct Ncodr_SPEC;
14114 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14115 impl Ncodr {
14116 #[doc = "Output CMOS"]
14117 pub const _0: Self = Self::new(0);
14118
14119 #[doc = "Output NMOS open-drain"]
14120 pub const _1: Self = Self::new(1);
14121 }
14122 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14123 pub struct Isel_SPEC;
14124 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14125 impl Isel {
14126 #[doc = "Do not use as IRQn input pin"]
14127 pub const _0: Self = Self::new(0);
14128
14129 #[doc = "Use as IRQn input pin"]
14130 pub const _1: Self = Self::new(1);
14131 }
14132 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14133 pub struct Asel_SPEC;
14134 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14135 impl Asel {
14136 #[doc = "Do not use as analog pin"]
14137 pub const _0: Self = Self::new(0);
14138
14139 #[doc = "Use as analog pin"]
14140 pub const _1: Self = Self::new(1);
14141 }
14142}
14143#[doc(hidden)]
14144#[derive(Copy, Clone, Eq, PartialEq)]
14145pub struct P40PfsBy_SPEC;
14146impl crate::sealed::RegSpec for P40PfsBy_SPEC {
14147 type DataType = u8;
14148}
14149
14150#[doc = "Port 40%s Pin Function Select Register"]
14151pub type P40PfsBy = crate::RegValueT<P40PfsBy_SPEC>;
14152
14153impl P40PfsBy {
14154 #[doc = "Port Output Data"]
14155 #[inline(always)]
14156 pub fn podr(
14157 self,
14158 ) -> crate::common::RegisterField<
14159 0,
14160 0x1,
14161 1,
14162 0,
14163 p40pfs_by::Podr,
14164 p40pfs_by::Podr,
14165 P40PfsBy_SPEC,
14166 crate::common::RW,
14167 > {
14168 crate::common::RegisterField::<
14169 0,
14170 0x1,
14171 1,
14172 0,
14173 p40pfs_by::Podr,
14174 p40pfs_by::Podr,
14175 P40PfsBy_SPEC,
14176 crate::common::RW,
14177 >::from_register(self, 0)
14178 }
14179
14180 #[doc = "Port State"]
14181 #[inline(always)]
14182 pub fn pidr(
14183 self,
14184 ) -> crate::common::RegisterField<
14185 1,
14186 0x1,
14187 1,
14188 0,
14189 p40pfs_by::Pidr,
14190 p40pfs_by::Pidr,
14191 P40PfsBy_SPEC,
14192 crate::common::R,
14193 > {
14194 crate::common::RegisterField::<
14195 1,
14196 0x1,
14197 1,
14198 0,
14199 p40pfs_by::Pidr,
14200 p40pfs_by::Pidr,
14201 P40PfsBy_SPEC,
14202 crate::common::R,
14203 >::from_register(self, 0)
14204 }
14205
14206 #[doc = "Port Direction"]
14207 #[inline(always)]
14208 pub fn pdr(
14209 self,
14210 ) -> crate::common::RegisterField<
14211 2,
14212 0x1,
14213 1,
14214 0,
14215 p40pfs_by::Pdr,
14216 p40pfs_by::Pdr,
14217 P40PfsBy_SPEC,
14218 crate::common::RW,
14219 > {
14220 crate::common::RegisterField::<
14221 2,
14222 0x1,
14223 1,
14224 0,
14225 p40pfs_by::Pdr,
14226 p40pfs_by::Pdr,
14227 P40PfsBy_SPEC,
14228 crate::common::RW,
14229 >::from_register(self, 0)
14230 }
14231
14232 #[doc = "Pull-up Control"]
14233 #[inline(always)]
14234 pub fn pcr(
14235 self,
14236 ) -> crate::common::RegisterField<
14237 4,
14238 0x1,
14239 1,
14240 0,
14241 p40pfs_by::Pcr,
14242 p40pfs_by::Pcr,
14243 P40PfsBy_SPEC,
14244 crate::common::RW,
14245 > {
14246 crate::common::RegisterField::<
14247 4,
14248 0x1,
14249 1,
14250 0,
14251 p40pfs_by::Pcr,
14252 p40pfs_by::Pcr,
14253 P40PfsBy_SPEC,
14254 crate::common::RW,
14255 >::from_register(self, 0)
14256 }
14257
14258 #[doc = "N-Channel Open-Drain Control"]
14259 #[inline(always)]
14260 pub fn ncodr(
14261 self,
14262 ) -> crate::common::RegisterField<
14263 6,
14264 0x1,
14265 1,
14266 0,
14267 p40pfs_by::Ncodr,
14268 p40pfs_by::Ncodr,
14269 P40PfsBy_SPEC,
14270 crate::common::RW,
14271 > {
14272 crate::common::RegisterField::<
14273 6,
14274 0x1,
14275 1,
14276 0,
14277 p40pfs_by::Ncodr,
14278 p40pfs_by::Ncodr,
14279 P40PfsBy_SPEC,
14280 crate::common::RW,
14281 >::from_register(self, 0)
14282 }
14283}
14284impl ::core::default::Default for P40PfsBy {
14285 #[inline(always)]
14286 fn default() -> P40PfsBy {
14287 <crate::RegValueT<P40PfsBy_SPEC> as RegisterValue<_>>::new(0)
14288 }
14289}
14290pub mod p40pfs_by {
14291
14292 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14293 pub struct Podr_SPEC;
14294 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14295 impl Podr {
14296 #[doc = "Output low"]
14297 pub const _0: Self = Self::new(0);
14298
14299 #[doc = "Output high"]
14300 pub const _1: Self = Self::new(1);
14301 }
14302 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14303 pub struct Pidr_SPEC;
14304 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14305 impl Pidr {
14306 #[doc = "Low level"]
14307 pub const _0: Self = Self::new(0);
14308
14309 #[doc = "High level"]
14310 pub const _1: Self = Self::new(1);
14311 }
14312 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14313 pub struct Pdr_SPEC;
14314 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14315 impl Pdr {
14316 #[doc = "Input (functions as an input pin)"]
14317 pub const _0: Self = Self::new(0);
14318
14319 #[doc = "Output (functions as an output pin)"]
14320 pub const _1: Self = Self::new(1);
14321 }
14322 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14323 pub struct Pcr_SPEC;
14324 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14325 impl Pcr {
14326 #[doc = "Disable input pull-up"]
14327 pub const _0: Self = Self::new(0);
14328
14329 #[doc = "Enable input pull-up"]
14330 pub const _1: Self = Self::new(1);
14331 }
14332 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14333 pub struct Ncodr_SPEC;
14334 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14335 impl Ncodr {
14336 #[doc = "Output CMOS"]
14337 pub const _0: Self = Self::new(0);
14338
14339 #[doc = "Output NMOS open-drain"]
14340 pub const _1: Self = Self::new(1);
14341 }
14342}
14343#[doc(hidden)]
14344#[derive(Copy, Clone, Eq, PartialEq)]
14345pub struct P4Pfs_SPEC;
14346impl crate::sealed::RegSpec for P4Pfs_SPEC {
14347 type DataType = u32;
14348}
14349
14350#[doc = "Port 4%s Pin Function Select Register"]
14351pub type P4Pfs = crate::RegValueT<P4Pfs_SPEC>;
14352
14353impl P4Pfs {
14354 #[doc = "Port Output Data"]
14355 #[inline(always)]
14356 pub fn podr(
14357 self,
14358 ) -> crate::common::RegisterField<
14359 0,
14360 0x1,
14361 1,
14362 0,
14363 p4pfs::Podr,
14364 p4pfs::Podr,
14365 P4Pfs_SPEC,
14366 crate::common::RW,
14367 > {
14368 crate::common::RegisterField::<
14369 0,
14370 0x1,
14371 1,
14372 0,
14373 p4pfs::Podr,
14374 p4pfs::Podr,
14375 P4Pfs_SPEC,
14376 crate::common::RW,
14377 >::from_register(self, 0)
14378 }
14379
14380 #[doc = "Port State"]
14381 #[inline(always)]
14382 pub fn pidr(
14383 self,
14384 ) -> crate::common::RegisterField<
14385 1,
14386 0x1,
14387 1,
14388 0,
14389 p4pfs::Pidr,
14390 p4pfs::Pidr,
14391 P4Pfs_SPEC,
14392 crate::common::R,
14393 > {
14394 crate::common::RegisterField::<
14395 1,
14396 0x1,
14397 1,
14398 0,
14399 p4pfs::Pidr,
14400 p4pfs::Pidr,
14401 P4Pfs_SPEC,
14402 crate::common::R,
14403 >::from_register(self, 0)
14404 }
14405
14406 #[doc = "Port Direction"]
14407 #[inline(always)]
14408 pub fn pdr(
14409 self,
14410 ) -> crate::common::RegisterField<
14411 2,
14412 0x1,
14413 1,
14414 0,
14415 p4pfs::Pdr,
14416 p4pfs::Pdr,
14417 P4Pfs_SPEC,
14418 crate::common::RW,
14419 > {
14420 crate::common::RegisterField::<
14421 2,
14422 0x1,
14423 1,
14424 0,
14425 p4pfs::Pdr,
14426 p4pfs::Pdr,
14427 P4Pfs_SPEC,
14428 crate::common::RW,
14429 >::from_register(self, 0)
14430 }
14431
14432 #[doc = "Pull-up Control"]
14433 #[inline(always)]
14434 pub fn pcr(
14435 self,
14436 ) -> crate::common::RegisterField<
14437 4,
14438 0x1,
14439 1,
14440 0,
14441 p4pfs::Pcr,
14442 p4pfs::Pcr,
14443 P4Pfs_SPEC,
14444 crate::common::RW,
14445 > {
14446 crate::common::RegisterField::<
14447 4,
14448 0x1,
14449 1,
14450 0,
14451 p4pfs::Pcr,
14452 p4pfs::Pcr,
14453 P4Pfs_SPEC,
14454 crate::common::RW,
14455 >::from_register(self, 0)
14456 }
14457
14458 #[doc = "N-Channel Open-Drain Control"]
14459 #[inline(always)]
14460 pub fn ncodr(
14461 self,
14462 ) -> crate::common::RegisterField<
14463 6,
14464 0x1,
14465 1,
14466 0,
14467 p4pfs::Ncodr,
14468 p4pfs::Ncodr,
14469 P4Pfs_SPEC,
14470 crate::common::RW,
14471 > {
14472 crate::common::RegisterField::<
14473 6,
14474 0x1,
14475 1,
14476 0,
14477 p4pfs::Ncodr,
14478 p4pfs::Ncodr,
14479 P4Pfs_SPEC,
14480 crate::common::RW,
14481 >::from_register(self, 0)
14482 }
14483
14484 #[doc = "IRQ Input Enable"]
14485 #[inline(always)]
14486 pub fn isel(
14487 self,
14488 ) -> crate::common::RegisterField<
14489 14,
14490 0x1,
14491 1,
14492 0,
14493 p4pfs::Isel,
14494 p4pfs::Isel,
14495 P4Pfs_SPEC,
14496 crate::common::RW,
14497 > {
14498 crate::common::RegisterField::<
14499 14,
14500 0x1,
14501 1,
14502 0,
14503 p4pfs::Isel,
14504 p4pfs::Isel,
14505 P4Pfs_SPEC,
14506 crate::common::RW,
14507 >::from_register(self, 0)
14508 }
14509
14510 #[doc = "Analog Input Enable"]
14511 #[inline(always)]
14512 pub fn asel(
14513 self,
14514 ) -> crate::common::RegisterField<
14515 15,
14516 0x1,
14517 1,
14518 0,
14519 p4pfs::Asel,
14520 p4pfs::Asel,
14521 P4Pfs_SPEC,
14522 crate::common::RW,
14523 > {
14524 crate::common::RegisterField::<
14525 15,
14526 0x1,
14527 1,
14528 0,
14529 p4pfs::Asel,
14530 p4pfs::Asel,
14531 P4Pfs_SPEC,
14532 crate::common::RW,
14533 >::from_register(self, 0)
14534 }
14535
14536 #[doc = "Port Mode Control"]
14537 #[inline(always)]
14538 pub fn pmr(
14539 self,
14540 ) -> crate::common::RegisterField<
14541 16,
14542 0x1,
14543 1,
14544 0,
14545 p4pfs::Pmr,
14546 p4pfs::Pmr,
14547 P4Pfs_SPEC,
14548 crate::common::RW,
14549 > {
14550 crate::common::RegisterField::<
14551 16,
14552 0x1,
14553 1,
14554 0,
14555 p4pfs::Pmr,
14556 p4pfs::Pmr,
14557 P4Pfs_SPEC,
14558 crate::common::RW,
14559 >::from_register(self, 0)
14560 }
14561
14562 #[doc = "Peripheral Select"]
14563 #[inline(always)]
14564 pub fn psel(
14565 self,
14566 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P4Pfs_SPEC, crate::common::RW> {
14567 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P4Pfs_SPEC,crate::common::RW>::from_register(self,0)
14568 }
14569}
14570impl ::core::default::Default for P4Pfs {
14571 #[inline(always)]
14572 fn default() -> P4Pfs {
14573 <crate::RegValueT<P4Pfs_SPEC> as RegisterValue<_>>::new(0)
14574 }
14575}
14576pub mod p4pfs {
14577
14578 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14579 pub struct Podr_SPEC;
14580 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14581 impl Podr {
14582 #[doc = "Output low"]
14583 pub const _0: Self = Self::new(0);
14584
14585 #[doc = "Output high"]
14586 pub const _1: Self = Self::new(1);
14587 }
14588 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14589 pub struct Pidr_SPEC;
14590 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14591 impl Pidr {
14592 #[doc = "Low level"]
14593 pub const _0: Self = Self::new(0);
14594
14595 #[doc = "High level"]
14596 pub const _1: Self = Self::new(1);
14597 }
14598 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14599 pub struct Pdr_SPEC;
14600 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14601 impl Pdr {
14602 #[doc = "Input (functions as an input pin)"]
14603 pub const _0: Self = Self::new(0);
14604
14605 #[doc = "Output (functions as an output pin)"]
14606 pub const _1: Self = Self::new(1);
14607 }
14608 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14609 pub struct Pcr_SPEC;
14610 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14611 impl Pcr {
14612 #[doc = "Disable input pull-up"]
14613 pub const _0: Self = Self::new(0);
14614
14615 #[doc = "Enable input pull-up"]
14616 pub const _1: Self = Self::new(1);
14617 }
14618 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14619 pub struct Ncodr_SPEC;
14620 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14621 impl Ncodr {
14622 #[doc = "Output CMOS"]
14623 pub const _0: Self = Self::new(0);
14624
14625 #[doc = "Output NMOS open-drain"]
14626 pub const _1: Self = Self::new(1);
14627 }
14628 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14629 pub struct Isel_SPEC;
14630 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14631 impl Isel {
14632 #[doc = "Do not use as IRQn input pin"]
14633 pub const _0: Self = Self::new(0);
14634
14635 #[doc = "Use as IRQn input pin"]
14636 pub const _1: Self = Self::new(1);
14637 }
14638 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14639 pub struct Asel_SPEC;
14640 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14641 impl Asel {
14642 #[doc = "Do not use as analog pin"]
14643 pub const _0: Self = Self::new(0);
14644
14645 #[doc = "Use as analog pin"]
14646 pub const _1: Self = Self::new(1);
14647 }
14648 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14649 pub struct Pmr_SPEC;
14650 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
14651 impl Pmr {
14652 #[doc = "Use as general I/O pin"]
14653 pub const _0: Self = Self::new(0);
14654
14655 #[doc = "Use as I/O port for peripheral functions"]
14656 pub const _1: Self = Self::new(1);
14657 }
14658}
14659#[doc(hidden)]
14660#[derive(Copy, Clone, Eq, PartialEq)]
14661pub struct P4PfsHa_SPEC;
14662impl crate::sealed::RegSpec for P4PfsHa_SPEC {
14663 type DataType = u16;
14664}
14665
14666#[doc = "Port 4%s Pin Function Select Register"]
14667pub type P4PfsHa = crate::RegValueT<P4PfsHa_SPEC>;
14668
14669impl P4PfsHa {
14670 #[doc = "Port Output Data"]
14671 #[inline(always)]
14672 pub fn podr(
14673 self,
14674 ) -> crate::common::RegisterField<
14675 0,
14676 0x1,
14677 1,
14678 0,
14679 p4pfs_ha::Podr,
14680 p4pfs_ha::Podr,
14681 P4PfsHa_SPEC,
14682 crate::common::RW,
14683 > {
14684 crate::common::RegisterField::<
14685 0,
14686 0x1,
14687 1,
14688 0,
14689 p4pfs_ha::Podr,
14690 p4pfs_ha::Podr,
14691 P4PfsHa_SPEC,
14692 crate::common::RW,
14693 >::from_register(self, 0)
14694 }
14695
14696 #[doc = "Port State"]
14697 #[inline(always)]
14698 pub fn pidr(
14699 self,
14700 ) -> crate::common::RegisterField<
14701 1,
14702 0x1,
14703 1,
14704 0,
14705 p4pfs_ha::Pidr,
14706 p4pfs_ha::Pidr,
14707 P4PfsHa_SPEC,
14708 crate::common::R,
14709 > {
14710 crate::common::RegisterField::<
14711 1,
14712 0x1,
14713 1,
14714 0,
14715 p4pfs_ha::Pidr,
14716 p4pfs_ha::Pidr,
14717 P4PfsHa_SPEC,
14718 crate::common::R,
14719 >::from_register(self, 0)
14720 }
14721
14722 #[doc = "Port Direction"]
14723 #[inline(always)]
14724 pub fn pdr(
14725 self,
14726 ) -> crate::common::RegisterField<
14727 2,
14728 0x1,
14729 1,
14730 0,
14731 p4pfs_ha::Pdr,
14732 p4pfs_ha::Pdr,
14733 P4PfsHa_SPEC,
14734 crate::common::RW,
14735 > {
14736 crate::common::RegisterField::<
14737 2,
14738 0x1,
14739 1,
14740 0,
14741 p4pfs_ha::Pdr,
14742 p4pfs_ha::Pdr,
14743 P4PfsHa_SPEC,
14744 crate::common::RW,
14745 >::from_register(self, 0)
14746 }
14747
14748 #[doc = "Pull-up Control"]
14749 #[inline(always)]
14750 pub fn pcr(
14751 self,
14752 ) -> crate::common::RegisterField<
14753 4,
14754 0x1,
14755 1,
14756 0,
14757 p4pfs_ha::Pcr,
14758 p4pfs_ha::Pcr,
14759 P4PfsHa_SPEC,
14760 crate::common::RW,
14761 > {
14762 crate::common::RegisterField::<
14763 4,
14764 0x1,
14765 1,
14766 0,
14767 p4pfs_ha::Pcr,
14768 p4pfs_ha::Pcr,
14769 P4PfsHa_SPEC,
14770 crate::common::RW,
14771 >::from_register(self, 0)
14772 }
14773
14774 #[doc = "N-Channel Open-Drain Control"]
14775 #[inline(always)]
14776 pub fn ncodr(
14777 self,
14778 ) -> crate::common::RegisterField<
14779 6,
14780 0x1,
14781 1,
14782 0,
14783 p4pfs_ha::Ncodr,
14784 p4pfs_ha::Ncodr,
14785 P4PfsHa_SPEC,
14786 crate::common::RW,
14787 > {
14788 crate::common::RegisterField::<
14789 6,
14790 0x1,
14791 1,
14792 0,
14793 p4pfs_ha::Ncodr,
14794 p4pfs_ha::Ncodr,
14795 P4PfsHa_SPEC,
14796 crate::common::RW,
14797 >::from_register(self, 0)
14798 }
14799
14800 #[doc = "IRQ Input Enable"]
14801 #[inline(always)]
14802 pub fn isel(
14803 self,
14804 ) -> crate::common::RegisterField<
14805 14,
14806 0x1,
14807 1,
14808 0,
14809 p4pfs_ha::Isel,
14810 p4pfs_ha::Isel,
14811 P4PfsHa_SPEC,
14812 crate::common::RW,
14813 > {
14814 crate::common::RegisterField::<
14815 14,
14816 0x1,
14817 1,
14818 0,
14819 p4pfs_ha::Isel,
14820 p4pfs_ha::Isel,
14821 P4PfsHa_SPEC,
14822 crate::common::RW,
14823 >::from_register(self, 0)
14824 }
14825
14826 #[doc = "Analog Input Enable"]
14827 #[inline(always)]
14828 pub fn asel(
14829 self,
14830 ) -> crate::common::RegisterField<
14831 15,
14832 0x1,
14833 1,
14834 0,
14835 p4pfs_ha::Asel,
14836 p4pfs_ha::Asel,
14837 P4PfsHa_SPEC,
14838 crate::common::RW,
14839 > {
14840 crate::common::RegisterField::<
14841 15,
14842 0x1,
14843 1,
14844 0,
14845 p4pfs_ha::Asel,
14846 p4pfs_ha::Asel,
14847 P4PfsHa_SPEC,
14848 crate::common::RW,
14849 >::from_register(self, 0)
14850 }
14851}
14852impl ::core::default::Default for P4PfsHa {
14853 #[inline(always)]
14854 fn default() -> P4PfsHa {
14855 <crate::RegValueT<P4PfsHa_SPEC> as RegisterValue<_>>::new(0)
14856 }
14857}
14858pub mod p4pfs_ha {
14859
14860 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14861 pub struct Podr_SPEC;
14862 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14863 impl Podr {
14864 #[doc = "Output low"]
14865 pub const _0: Self = Self::new(0);
14866
14867 #[doc = "Output high"]
14868 pub const _1: Self = Self::new(1);
14869 }
14870 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14871 pub struct Pidr_SPEC;
14872 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14873 impl Pidr {
14874 #[doc = "Low level"]
14875 pub const _0: Self = Self::new(0);
14876
14877 #[doc = "High level"]
14878 pub const _1: Self = Self::new(1);
14879 }
14880 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14881 pub struct Pdr_SPEC;
14882 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14883 impl Pdr {
14884 #[doc = "Input (functions as an input pin)"]
14885 pub const _0: Self = Self::new(0);
14886
14887 #[doc = "Output (functions as an output pin)"]
14888 pub const _1: Self = Self::new(1);
14889 }
14890 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14891 pub struct Pcr_SPEC;
14892 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14893 impl Pcr {
14894 #[doc = "Disable input pull-up"]
14895 pub const _0: Self = Self::new(0);
14896
14897 #[doc = "Enable input pull-up"]
14898 pub const _1: Self = Self::new(1);
14899 }
14900 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14901 pub struct Ncodr_SPEC;
14902 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14903 impl Ncodr {
14904 #[doc = "Output CMOS"]
14905 pub const _0: Self = Self::new(0);
14906
14907 #[doc = "Output NMOS open-drain"]
14908 pub const _1: Self = Self::new(1);
14909 }
14910 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14911 pub struct Isel_SPEC;
14912 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14913 impl Isel {
14914 #[doc = "Do not use as IRQn input pin"]
14915 pub const _0: Self = Self::new(0);
14916
14917 #[doc = "Use as IRQn input pin"]
14918 pub const _1: Self = Self::new(1);
14919 }
14920 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14921 pub struct Asel_SPEC;
14922 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14923 impl Asel {
14924 #[doc = "Do not use as analog pin"]
14925 pub const _0: Self = Self::new(0);
14926
14927 #[doc = "Use as analog pin"]
14928 pub const _1: Self = Self::new(1);
14929 }
14930}
14931#[doc(hidden)]
14932#[derive(Copy, Clone, Eq, PartialEq)]
14933pub struct P4PfsBy_SPEC;
14934impl crate::sealed::RegSpec for P4PfsBy_SPEC {
14935 type DataType = u8;
14936}
14937
14938#[doc = "Port 4%s Pin Function Select Register"]
14939pub type P4PfsBy = crate::RegValueT<P4PfsBy_SPEC>;
14940
14941impl P4PfsBy {
14942 #[doc = "Port Output Data"]
14943 #[inline(always)]
14944 pub fn podr(
14945 self,
14946 ) -> crate::common::RegisterField<
14947 0,
14948 0x1,
14949 1,
14950 0,
14951 p4pfs_by::Podr,
14952 p4pfs_by::Podr,
14953 P4PfsBy_SPEC,
14954 crate::common::RW,
14955 > {
14956 crate::common::RegisterField::<
14957 0,
14958 0x1,
14959 1,
14960 0,
14961 p4pfs_by::Podr,
14962 p4pfs_by::Podr,
14963 P4PfsBy_SPEC,
14964 crate::common::RW,
14965 >::from_register(self, 0)
14966 }
14967
14968 #[doc = "Port State"]
14969 #[inline(always)]
14970 pub fn pidr(
14971 self,
14972 ) -> crate::common::RegisterField<
14973 1,
14974 0x1,
14975 1,
14976 0,
14977 p4pfs_by::Pidr,
14978 p4pfs_by::Pidr,
14979 P4PfsBy_SPEC,
14980 crate::common::R,
14981 > {
14982 crate::common::RegisterField::<
14983 1,
14984 0x1,
14985 1,
14986 0,
14987 p4pfs_by::Pidr,
14988 p4pfs_by::Pidr,
14989 P4PfsBy_SPEC,
14990 crate::common::R,
14991 >::from_register(self, 0)
14992 }
14993
14994 #[doc = "Port Direction"]
14995 #[inline(always)]
14996 pub fn pdr(
14997 self,
14998 ) -> crate::common::RegisterField<
14999 2,
15000 0x1,
15001 1,
15002 0,
15003 p4pfs_by::Pdr,
15004 p4pfs_by::Pdr,
15005 P4PfsBy_SPEC,
15006 crate::common::RW,
15007 > {
15008 crate::common::RegisterField::<
15009 2,
15010 0x1,
15011 1,
15012 0,
15013 p4pfs_by::Pdr,
15014 p4pfs_by::Pdr,
15015 P4PfsBy_SPEC,
15016 crate::common::RW,
15017 >::from_register(self, 0)
15018 }
15019
15020 #[doc = "Pull-up Control"]
15021 #[inline(always)]
15022 pub fn pcr(
15023 self,
15024 ) -> crate::common::RegisterField<
15025 4,
15026 0x1,
15027 1,
15028 0,
15029 p4pfs_by::Pcr,
15030 p4pfs_by::Pcr,
15031 P4PfsBy_SPEC,
15032 crate::common::RW,
15033 > {
15034 crate::common::RegisterField::<
15035 4,
15036 0x1,
15037 1,
15038 0,
15039 p4pfs_by::Pcr,
15040 p4pfs_by::Pcr,
15041 P4PfsBy_SPEC,
15042 crate::common::RW,
15043 >::from_register(self, 0)
15044 }
15045
15046 #[doc = "N-Channel Open-Drain Control"]
15047 #[inline(always)]
15048 pub fn ncodr(
15049 self,
15050 ) -> crate::common::RegisterField<
15051 6,
15052 0x1,
15053 1,
15054 0,
15055 p4pfs_by::Ncodr,
15056 p4pfs_by::Ncodr,
15057 P4PfsBy_SPEC,
15058 crate::common::RW,
15059 > {
15060 crate::common::RegisterField::<
15061 6,
15062 0x1,
15063 1,
15064 0,
15065 p4pfs_by::Ncodr,
15066 p4pfs_by::Ncodr,
15067 P4PfsBy_SPEC,
15068 crate::common::RW,
15069 >::from_register(self, 0)
15070 }
15071}
15072impl ::core::default::Default for P4PfsBy {
15073 #[inline(always)]
15074 fn default() -> P4PfsBy {
15075 <crate::RegValueT<P4PfsBy_SPEC> as RegisterValue<_>>::new(0)
15076 }
15077}
15078pub mod p4pfs_by {
15079
15080 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15081 pub struct Podr_SPEC;
15082 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15083 impl Podr {
15084 #[doc = "Output low"]
15085 pub const _0: Self = Self::new(0);
15086
15087 #[doc = "Output high"]
15088 pub const _1: Self = Self::new(1);
15089 }
15090 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15091 pub struct Pidr_SPEC;
15092 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15093 impl Pidr {
15094 #[doc = "Low level"]
15095 pub const _0: Self = Self::new(0);
15096
15097 #[doc = "High level"]
15098 pub const _1: Self = Self::new(1);
15099 }
15100 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15101 pub struct Pdr_SPEC;
15102 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15103 impl Pdr {
15104 #[doc = "Input (functions as an input pin)"]
15105 pub const _0: Self = Self::new(0);
15106
15107 #[doc = "Output (functions as an output pin)"]
15108 pub const _1: Self = Self::new(1);
15109 }
15110 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15111 pub struct Pcr_SPEC;
15112 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15113 impl Pcr {
15114 #[doc = "Disable input pull-up"]
15115 pub const _0: Self = Self::new(0);
15116
15117 #[doc = "Enable input pull-up"]
15118 pub const _1: Self = Self::new(1);
15119 }
15120 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15121 pub struct Ncodr_SPEC;
15122 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15123 impl Ncodr {
15124 #[doc = "Output CMOS"]
15125 pub const _0: Self = Self::new(0);
15126
15127 #[doc = "Output NMOS open-drain"]
15128 pub const _1: Self = Self::new(1);
15129 }
15130}
15131#[doc(hidden)]
15132#[derive(Copy, Clone, Eq, PartialEq)]
15133pub struct P50Pfs_SPEC;
15134impl crate::sealed::RegSpec for P50Pfs_SPEC {
15135 type DataType = u32;
15136}
15137
15138#[doc = "Port 50%s Pin Function Select Register"]
15139pub type P50Pfs = crate::RegValueT<P50Pfs_SPEC>;
15140
15141impl P50Pfs {
15142 #[doc = "Port Output Data"]
15143 #[inline(always)]
15144 pub fn podr(
15145 self,
15146 ) -> crate::common::RegisterField<
15147 0,
15148 0x1,
15149 1,
15150 0,
15151 p50pfs::Podr,
15152 p50pfs::Podr,
15153 P50Pfs_SPEC,
15154 crate::common::RW,
15155 > {
15156 crate::common::RegisterField::<
15157 0,
15158 0x1,
15159 1,
15160 0,
15161 p50pfs::Podr,
15162 p50pfs::Podr,
15163 P50Pfs_SPEC,
15164 crate::common::RW,
15165 >::from_register(self, 0)
15166 }
15167
15168 #[doc = "Port State"]
15169 #[inline(always)]
15170 pub fn pidr(
15171 self,
15172 ) -> crate::common::RegisterField<
15173 1,
15174 0x1,
15175 1,
15176 0,
15177 p50pfs::Pidr,
15178 p50pfs::Pidr,
15179 P50Pfs_SPEC,
15180 crate::common::R,
15181 > {
15182 crate::common::RegisterField::<
15183 1,
15184 0x1,
15185 1,
15186 0,
15187 p50pfs::Pidr,
15188 p50pfs::Pidr,
15189 P50Pfs_SPEC,
15190 crate::common::R,
15191 >::from_register(self, 0)
15192 }
15193
15194 #[doc = "Port Direction"]
15195 #[inline(always)]
15196 pub fn pdr(
15197 self,
15198 ) -> crate::common::RegisterField<
15199 2,
15200 0x1,
15201 1,
15202 0,
15203 p50pfs::Pdr,
15204 p50pfs::Pdr,
15205 P50Pfs_SPEC,
15206 crate::common::RW,
15207 > {
15208 crate::common::RegisterField::<
15209 2,
15210 0x1,
15211 1,
15212 0,
15213 p50pfs::Pdr,
15214 p50pfs::Pdr,
15215 P50Pfs_SPEC,
15216 crate::common::RW,
15217 >::from_register(self, 0)
15218 }
15219
15220 #[doc = "Pull-up Control"]
15221 #[inline(always)]
15222 pub fn pcr(
15223 self,
15224 ) -> crate::common::RegisterField<
15225 4,
15226 0x1,
15227 1,
15228 0,
15229 p50pfs::Pcr,
15230 p50pfs::Pcr,
15231 P50Pfs_SPEC,
15232 crate::common::RW,
15233 > {
15234 crate::common::RegisterField::<
15235 4,
15236 0x1,
15237 1,
15238 0,
15239 p50pfs::Pcr,
15240 p50pfs::Pcr,
15241 P50Pfs_SPEC,
15242 crate::common::RW,
15243 >::from_register(self, 0)
15244 }
15245
15246 #[doc = "N-Channel Open-Drain Control"]
15247 #[inline(always)]
15248 pub fn ncodr(
15249 self,
15250 ) -> crate::common::RegisterField<
15251 6,
15252 0x1,
15253 1,
15254 0,
15255 p50pfs::Ncodr,
15256 p50pfs::Ncodr,
15257 P50Pfs_SPEC,
15258 crate::common::RW,
15259 > {
15260 crate::common::RegisterField::<
15261 6,
15262 0x1,
15263 1,
15264 0,
15265 p50pfs::Ncodr,
15266 p50pfs::Ncodr,
15267 P50Pfs_SPEC,
15268 crate::common::RW,
15269 >::from_register(self, 0)
15270 }
15271
15272 #[doc = "IRQ Input Enable"]
15273 #[inline(always)]
15274 pub fn isel(
15275 self,
15276 ) -> crate::common::RegisterField<
15277 14,
15278 0x1,
15279 1,
15280 0,
15281 p50pfs::Isel,
15282 p50pfs::Isel,
15283 P50Pfs_SPEC,
15284 crate::common::RW,
15285 > {
15286 crate::common::RegisterField::<
15287 14,
15288 0x1,
15289 1,
15290 0,
15291 p50pfs::Isel,
15292 p50pfs::Isel,
15293 P50Pfs_SPEC,
15294 crate::common::RW,
15295 >::from_register(self, 0)
15296 }
15297
15298 #[doc = "Analog Input Enable"]
15299 #[inline(always)]
15300 pub fn asel(
15301 self,
15302 ) -> crate::common::RegisterField<
15303 15,
15304 0x1,
15305 1,
15306 0,
15307 p50pfs::Asel,
15308 p50pfs::Asel,
15309 P50Pfs_SPEC,
15310 crate::common::RW,
15311 > {
15312 crate::common::RegisterField::<
15313 15,
15314 0x1,
15315 1,
15316 0,
15317 p50pfs::Asel,
15318 p50pfs::Asel,
15319 P50Pfs_SPEC,
15320 crate::common::RW,
15321 >::from_register(self, 0)
15322 }
15323
15324 #[doc = "Port Mode Control"]
15325 #[inline(always)]
15326 pub fn pmr(
15327 self,
15328 ) -> crate::common::RegisterField<
15329 16,
15330 0x1,
15331 1,
15332 0,
15333 p50pfs::Pmr,
15334 p50pfs::Pmr,
15335 P50Pfs_SPEC,
15336 crate::common::RW,
15337 > {
15338 crate::common::RegisterField::<
15339 16,
15340 0x1,
15341 1,
15342 0,
15343 p50pfs::Pmr,
15344 p50pfs::Pmr,
15345 P50Pfs_SPEC,
15346 crate::common::RW,
15347 >::from_register(self, 0)
15348 }
15349
15350 #[doc = "Peripheral Select"]
15351 #[inline(always)]
15352 pub fn psel(
15353 self,
15354 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P50Pfs_SPEC, crate::common::RW> {
15355 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P50Pfs_SPEC,crate::common::RW>::from_register(self,0)
15356 }
15357}
15358impl ::core::default::Default for P50Pfs {
15359 #[inline(always)]
15360 fn default() -> P50Pfs {
15361 <crate::RegValueT<P50Pfs_SPEC> as RegisterValue<_>>::new(0)
15362 }
15363}
15364pub mod p50pfs {
15365
15366 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15367 pub struct Podr_SPEC;
15368 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15369 impl Podr {
15370 #[doc = "Output low"]
15371 pub const _0: Self = Self::new(0);
15372
15373 #[doc = "Output high"]
15374 pub const _1: Self = Self::new(1);
15375 }
15376 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15377 pub struct Pidr_SPEC;
15378 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15379 impl Pidr {
15380 #[doc = "Low level"]
15381 pub const _0: Self = Self::new(0);
15382
15383 #[doc = "High level"]
15384 pub const _1: Self = Self::new(1);
15385 }
15386 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15387 pub struct Pdr_SPEC;
15388 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15389 impl Pdr {
15390 #[doc = "Input (functions as an input pin)"]
15391 pub const _0: Self = Self::new(0);
15392
15393 #[doc = "Output (functions as an output pin)"]
15394 pub const _1: Self = Self::new(1);
15395 }
15396 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15397 pub struct Pcr_SPEC;
15398 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15399 impl Pcr {
15400 #[doc = "Disable input pull-up"]
15401 pub const _0: Self = Self::new(0);
15402
15403 #[doc = "Enable input pull-up"]
15404 pub const _1: Self = Self::new(1);
15405 }
15406 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15407 pub struct Ncodr_SPEC;
15408 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15409 impl Ncodr {
15410 #[doc = "Output CMOS"]
15411 pub const _0: Self = Self::new(0);
15412
15413 #[doc = "Output NMOS open-drain"]
15414 pub const _1: Self = Self::new(1);
15415 }
15416 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15417 pub struct Isel_SPEC;
15418 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15419 impl Isel {
15420 #[doc = "Do not use as IRQn input pin"]
15421 pub const _0: Self = Self::new(0);
15422
15423 #[doc = "Use as IRQn input pin"]
15424 pub const _1: Self = Self::new(1);
15425 }
15426 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15427 pub struct Asel_SPEC;
15428 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15429 impl Asel {
15430 #[doc = "Do not use as analog pin"]
15431 pub const _0: Self = Self::new(0);
15432
15433 #[doc = "Use as analog pin"]
15434 pub const _1: Self = Self::new(1);
15435 }
15436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15437 pub struct Pmr_SPEC;
15438 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
15439 impl Pmr {
15440 #[doc = "Use as general I/O pin"]
15441 pub const _0: Self = Self::new(0);
15442
15443 #[doc = "Use as I/O port for peripheral functions"]
15444 pub const _1: Self = Self::new(1);
15445 }
15446}
15447#[doc(hidden)]
15448#[derive(Copy, Clone, Eq, PartialEq)]
15449pub struct P50PfsHa_SPEC;
15450impl crate::sealed::RegSpec for P50PfsHa_SPEC {
15451 type DataType = u16;
15452}
15453
15454#[doc = "Port 50%s Pin Function Select Register"]
15455pub type P50PfsHa = crate::RegValueT<P50PfsHa_SPEC>;
15456
15457impl P50PfsHa {
15458 #[doc = "Port Output Data"]
15459 #[inline(always)]
15460 pub fn podr(
15461 self,
15462 ) -> crate::common::RegisterField<
15463 0,
15464 0x1,
15465 1,
15466 0,
15467 p50pfs_ha::Podr,
15468 p50pfs_ha::Podr,
15469 P50PfsHa_SPEC,
15470 crate::common::RW,
15471 > {
15472 crate::common::RegisterField::<
15473 0,
15474 0x1,
15475 1,
15476 0,
15477 p50pfs_ha::Podr,
15478 p50pfs_ha::Podr,
15479 P50PfsHa_SPEC,
15480 crate::common::RW,
15481 >::from_register(self, 0)
15482 }
15483
15484 #[doc = "Port State"]
15485 #[inline(always)]
15486 pub fn pidr(
15487 self,
15488 ) -> crate::common::RegisterField<
15489 1,
15490 0x1,
15491 1,
15492 0,
15493 p50pfs_ha::Pidr,
15494 p50pfs_ha::Pidr,
15495 P50PfsHa_SPEC,
15496 crate::common::R,
15497 > {
15498 crate::common::RegisterField::<
15499 1,
15500 0x1,
15501 1,
15502 0,
15503 p50pfs_ha::Pidr,
15504 p50pfs_ha::Pidr,
15505 P50PfsHa_SPEC,
15506 crate::common::R,
15507 >::from_register(self, 0)
15508 }
15509
15510 #[doc = "Port Direction"]
15511 #[inline(always)]
15512 pub fn pdr(
15513 self,
15514 ) -> crate::common::RegisterField<
15515 2,
15516 0x1,
15517 1,
15518 0,
15519 p50pfs_ha::Pdr,
15520 p50pfs_ha::Pdr,
15521 P50PfsHa_SPEC,
15522 crate::common::RW,
15523 > {
15524 crate::common::RegisterField::<
15525 2,
15526 0x1,
15527 1,
15528 0,
15529 p50pfs_ha::Pdr,
15530 p50pfs_ha::Pdr,
15531 P50PfsHa_SPEC,
15532 crate::common::RW,
15533 >::from_register(self, 0)
15534 }
15535
15536 #[doc = "Pull-up Control"]
15537 #[inline(always)]
15538 pub fn pcr(
15539 self,
15540 ) -> crate::common::RegisterField<
15541 4,
15542 0x1,
15543 1,
15544 0,
15545 p50pfs_ha::Pcr,
15546 p50pfs_ha::Pcr,
15547 P50PfsHa_SPEC,
15548 crate::common::RW,
15549 > {
15550 crate::common::RegisterField::<
15551 4,
15552 0x1,
15553 1,
15554 0,
15555 p50pfs_ha::Pcr,
15556 p50pfs_ha::Pcr,
15557 P50PfsHa_SPEC,
15558 crate::common::RW,
15559 >::from_register(self, 0)
15560 }
15561
15562 #[doc = "N-Channel Open-Drain Control"]
15563 #[inline(always)]
15564 pub fn ncodr(
15565 self,
15566 ) -> crate::common::RegisterField<
15567 6,
15568 0x1,
15569 1,
15570 0,
15571 p50pfs_ha::Ncodr,
15572 p50pfs_ha::Ncodr,
15573 P50PfsHa_SPEC,
15574 crate::common::RW,
15575 > {
15576 crate::common::RegisterField::<
15577 6,
15578 0x1,
15579 1,
15580 0,
15581 p50pfs_ha::Ncodr,
15582 p50pfs_ha::Ncodr,
15583 P50PfsHa_SPEC,
15584 crate::common::RW,
15585 >::from_register(self, 0)
15586 }
15587
15588 #[doc = "IRQ Input Enable"]
15589 #[inline(always)]
15590 pub fn isel(
15591 self,
15592 ) -> crate::common::RegisterField<
15593 14,
15594 0x1,
15595 1,
15596 0,
15597 p50pfs_ha::Isel,
15598 p50pfs_ha::Isel,
15599 P50PfsHa_SPEC,
15600 crate::common::RW,
15601 > {
15602 crate::common::RegisterField::<
15603 14,
15604 0x1,
15605 1,
15606 0,
15607 p50pfs_ha::Isel,
15608 p50pfs_ha::Isel,
15609 P50PfsHa_SPEC,
15610 crate::common::RW,
15611 >::from_register(self, 0)
15612 }
15613
15614 #[doc = "Analog Input Enable"]
15615 #[inline(always)]
15616 pub fn asel(
15617 self,
15618 ) -> crate::common::RegisterField<
15619 15,
15620 0x1,
15621 1,
15622 0,
15623 p50pfs_ha::Asel,
15624 p50pfs_ha::Asel,
15625 P50PfsHa_SPEC,
15626 crate::common::RW,
15627 > {
15628 crate::common::RegisterField::<
15629 15,
15630 0x1,
15631 1,
15632 0,
15633 p50pfs_ha::Asel,
15634 p50pfs_ha::Asel,
15635 P50PfsHa_SPEC,
15636 crate::common::RW,
15637 >::from_register(self, 0)
15638 }
15639}
15640impl ::core::default::Default for P50PfsHa {
15641 #[inline(always)]
15642 fn default() -> P50PfsHa {
15643 <crate::RegValueT<P50PfsHa_SPEC> as RegisterValue<_>>::new(0)
15644 }
15645}
15646pub mod p50pfs_ha {
15647
15648 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15649 pub struct Podr_SPEC;
15650 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15651 impl Podr {
15652 #[doc = "Output low"]
15653 pub const _0: Self = Self::new(0);
15654
15655 #[doc = "Output high"]
15656 pub const _1: Self = Self::new(1);
15657 }
15658 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15659 pub struct Pidr_SPEC;
15660 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15661 impl Pidr {
15662 #[doc = "Low level"]
15663 pub const _0: Self = Self::new(0);
15664
15665 #[doc = "High level"]
15666 pub const _1: Self = Self::new(1);
15667 }
15668 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15669 pub struct Pdr_SPEC;
15670 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15671 impl Pdr {
15672 #[doc = "Input (functions as an input pin)"]
15673 pub const _0: Self = Self::new(0);
15674
15675 #[doc = "Output (functions as an output pin)"]
15676 pub const _1: Self = Self::new(1);
15677 }
15678 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15679 pub struct Pcr_SPEC;
15680 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15681 impl Pcr {
15682 #[doc = "Disable input pull-up"]
15683 pub const _0: Self = Self::new(0);
15684
15685 #[doc = "Enable input pull-up"]
15686 pub const _1: Self = Self::new(1);
15687 }
15688 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15689 pub struct Ncodr_SPEC;
15690 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15691 impl Ncodr {
15692 #[doc = "Output CMOS"]
15693 pub const _0: Self = Self::new(0);
15694
15695 #[doc = "Output NMOS open-drain"]
15696 pub const _1: Self = Self::new(1);
15697 }
15698 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15699 pub struct Isel_SPEC;
15700 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15701 impl Isel {
15702 #[doc = "Do not use as IRQn input pin"]
15703 pub const _0: Self = Self::new(0);
15704
15705 #[doc = "Use as IRQn input pin"]
15706 pub const _1: Self = Self::new(1);
15707 }
15708 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15709 pub struct Asel_SPEC;
15710 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15711 impl Asel {
15712 #[doc = "Do not use as analog pin"]
15713 pub const _0: Self = Self::new(0);
15714
15715 #[doc = "Use as analog pin"]
15716 pub const _1: Self = Self::new(1);
15717 }
15718}
15719#[doc(hidden)]
15720#[derive(Copy, Clone, Eq, PartialEq)]
15721pub struct P50PfsBy_SPEC;
15722impl crate::sealed::RegSpec for P50PfsBy_SPEC {
15723 type DataType = u8;
15724}
15725
15726#[doc = "Port 50%s Pin Function Select Register"]
15727pub type P50PfsBy = crate::RegValueT<P50PfsBy_SPEC>;
15728
15729impl P50PfsBy {
15730 #[doc = "Port Output Data"]
15731 #[inline(always)]
15732 pub fn podr(
15733 self,
15734 ) -> crate::common::RegisterField<
15735 0,
15736 0x1,
15737 1,
15738 0,
15739 p50pfs_by::Podr,
15740 p50pfs_by::Podr,
15741 P50PfsBy_SPEC,
15742 crate::common::RW,
15743 > {
15744 crate::common::RegisterField::<
15745 0,
15746 0x1,
15747 1,
15748 0,
15749 p50pfs_by::Podr,
15750 p50pfs_by::Podr,
15751 P50PfsBy_SPEC,
15752 crate::common::RW,
15753 >::from_register(self, 0)
15754 }
15755
15756 #[doc = "Port State"]
15757 #[inline(always)]
15758 pub fn pidr(
15759 self,
15760 ) -> crate::common::RegisterField<
15761 1,
15762 0x1,
15763 1,
15764 0,
15765 p50pfs_by::Pidr,
15766 p50pfs_by::Pidr,
15767 P50PfsBy_SPEC,
15768 crate::common::R,
15769 > {
15770 crate::common::RegisterField::<
15771 1,
15772 0x1,
15773 1,
15774 0,
15775 p50pfs_by::Pidr,
15776 p50pfs_by::Pidr,
15777 P50PfsBy_SPEC,
15778 crate::common::R,
15779 >::from_register(self, 0)
15780 }
15781
15782 #[doc = "Port Direction"]
15783 #[inline(always)]
15784 pub fn pdr(
15785 self,
15786 ) -> crate::common::RegisterField<
15787 2,
15788 0x1,
15789 1,
15790 0,
15791 p50pfs_by::Pdr,
15792 p50pfs_by::Pdr,
15793 P50PfsBy_SPEC,
15794 crate::common::RW,
15795 > {
15796 crate::common::RegisterField::<
15797 2,
15798 0x1,
15799 1,
15800 0,
15801 p50pfs_by::Pdr,
15802 p50pfs_by::Pdr,
15803 P50PfsBy_SPEC,
15804 crate::common::RW,
15805 >::from_register(self, 0)
15806 }
15807
15808 #[doc = "Pull-up Control"]
15809 #[inline(always)]
15810 pub fn pcr(
15811 self,
15812 ) -> crate::common::RegisterField<
15813 4,
15814 0x1,
15815 1,
15816 0,
15817 p50pfs_by::Pcr,
15818 p50pfs_by::Pcr,
15819 P50PfsBy_SPEC,
15820 crate::common::RW,
15821 > {
15822 crate::common::RegisterField::<
15823 4,
15824 0x1,
15825 1,
15826 0,
15827 p50pfs_by::Pcr,
15828 p50pfs_by::Pcr,
15829 P50PfsBy_SPEC,
15830 crate::common::RW,
15831 >::from_register(self, 0)
15832 }
15833
15834 #[doc = "N-Channel Open-Drain Control"]
15835 #[inline(always)]
15836 pub fn ncodr(
15837 self,
15838 ) -> crate::common::RegisterField<
15839 6,
15840 0x1,
15841 1,
15842 0,
15843 p50pfs_by::Ncodr,
15844 p50pfs_by::Ncodr,
15845 P50PfsBy_SPEC,
15846 crate::common::RW,
15847 > {
15848 crate::common::RegisterField::<
15849 6,
15850 0x1,
15851 1,
15852 0,
15853 p50pfs_by::Ncodr,
15854 p50pfs_by::Ncodr,
15855 P50PfsBy_SPEC,
15856 crate::common::RW,
15857 >::from_register(self, 0)
15858 }
15859}
15860impl ::core::default::Default for P50PfsBy {
15861 #[inline(always)]
15862 fn default() -> P50PfsBy {
15863 <crate::RegValueT<P50PfsBy_SPEC> as RegisterValue<_>>::new(0)
15864 }
15865}
15866pub mod p50pfs_by {
15867
15868 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15869 pub struct Podr_SPEC;
15870 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15871 impl Podr {
15872 #[doc = "Output low"]
15873 pub const _0: Self = Self::new(0);
15874
15875 #[doc = "Output high"]
15876 pub const _1: Self = Self::new(1);
15877 }
15878 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15879 pub struct Pidr_SPEC;
15880 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15881 impl Pidr {
15882 #[doc = "Low level"]
15883 pub const _0: Self = Self::new(0);
15884
15885 #[doc = "High level"]
15886 pub const _1: Self = Self::new(1);
15887 }
15888 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15889 pub struct Pdr_SPEC;
15890 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15891 impl Pdr {
15892 #[doc = "Input (functions as an input pin)"]
15893 pub const _0: Self = Self::new(0);
15894
15895 #[doc = "Output (functions as an output pin)"]
15896 pub const _1: Self = Self::new(1);
15897 }
15898 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15899 pub struct Pcr_SPEC;
15900 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15901 impl Pcr {
15902 #[doc = "Disable input pull-up"]
15903 pub const _0: Self = Self::new(0);
15904
15905 #[doc = "Enable input pull-up"]
15906 pub const _1: Self = Self::new(1);
15907 }
15908 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15909 pub struct Ncodr_SPEC;
15910 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15911 impl Ncodr {
15912 #[doc = "Output CMOS"]
15913 pub const _0: Self = Self::new(0);
15914
15915 #[doc = "Output NMOS open-drain"]
15916 pub const _1: Self = Self::new(1);
15917 }
15918}
15919#[doc(hidden)]
15920#[derive(Copy, Clone, Eq, PartialEq)]
15921pub struct P600Pfs_SPEC;
15922impl crate::sealed::RegSpec for P600Pfs_SPEC {
15923 type DataType = u32;
15924}
15925
15926#[doc = "Port 600 Pin Function Select Register"]
15927pub type P600Pfs = crate::RegValueT<P600Pfs_SPEC>;
15928
15929impl P600Pfs {
15930 #[doc = "Port Output Data"]
15931 #[inline(always)]
15932 pub fn podr(
15933 self,
15934 ) -> crate::common::RegisterField<
15935 0,
15936 0x1,
15937 1,
15938 0,
15939 p600pfs::Podr,
15940 p600pfs::Podr,
15941 P600Pfs_SPEC,
15942 crate::common::RW,
15943 > {
15944 crate::common::RegisterField::<
15945 0,
15946 0x1,
15947 1,
15948 0,
15949 p600pfs::Podr,
15950 p600pfs::Podr,
15951 P600Pfs_SPEC,
15952 crate::common::RW,
15953 >::from_register(self, 0)
15954 }
15955
15956 #[doc = "Port State"]
15957 #[inline(always)]
15958 pub fn pidr(
15959 self,
15960 ) -> crate::common::RegisterField<
15961 1,
15962 0x1,
15963 1,
15964 0,
15965 p600pfs::Pidr,
15966 p600pfs::Pidr,
15967 P600Pfs_SPEC,
15968 crate::common::R,
15969 > {
15970 crate::common::RegisterField::<
15971 1,
15972 0x1,
15973 1,
15974 0,
15975 p600pfs::Pidr,
15976 p600pfs::Pidr,
15977 P600Pfs_SPEC,
15978 crate::common::R,
15979 >::from_register(self, 0)
15980 }
15981
15982 #[doc = "Port Direction"]
15983 #[inline(always)]
15984 pub fn pdr(
15985 self,
15986 ) -> crate::common::RegisterField<
15987 2,
15988 0x1,
15989 1,
15990 0,
15991 p600pfs::Pdr,
15992 p600pfs::Pdr,
15993 P600Pfs_SPEC,
15994 crate::common::RW,
15995 > {
15996 crate::common::RegisterField::<
15997 2,
15998 0x1,
15999 1,
16000 0,
16001 p600pfs::Pdr,
16002 p600pfs::Pdr,
16003 P600Pfs_SPEC,
16004 crate::common::RW,
16005 >::from_register(self, 0)
16006 }
16007
16008 #[doc = "Pull-up Control"]
16009 #[inline(always)]
16010 pub fn pcr(
16011 self,
16012 ) -> crate::common::RegisterField<
16013 4,
16014 0x1,
16015 1,
16016 0,
16017 p600pfs::Pcr,
16018 p600pfs::Pcr,
16019 P600Pfs_SPEC,
16020 crate::common::RW,
16021 > {
16022 crate::common::RegisterField::<
16023 4,
16024 0x1,
16025 1,
16026 0,
16027 p600pfs::Pcr,
16028 p600pfs::Pcr,
16029 P600Pfs_SPEC,
16030 crate::common::RW,
16031 >::from_register(self, 0)
16032 }
16033
16034 #[doc = "N-Channel Open-Drain Control"]
16035 #[inline(always)]
16036 pub fn ncodr(
16037 self,
16038 ) -> crate::common::RegisterField<
16039 6,
16040 0x1,
16041 1,
16042 0,
16043 p600pfs::Ncodr,
16044 p600pfs::Ncodr,
16045 P600Pfs_SPEC,
16046 crate::common::RW,
16047 > {
16048 crate::common::RegisterField::<
16049 6,
16050 0x1,
16051 1,
16052 0,
16053 p600pfs::Ncodr,
16054 p600pfs::Ncodr,
16055 P600Pfs_SPEC,
16056 crate::common::RW,
16057 >::from_register(self, 0)
16058 }
16059
16060 #[doc = "IRQ Input Enable"]
16061 #[inline(always)]
16062 pub fn isel(
16063 self,
16064 ) -> crate::common::RegisterField<
16065 14,
16066 0x1,
16067 1,
16068 0,
16069 p600pfs::Isel,
16070 p600pfs::Isel,
16071 P600Pfs_SPEC,
16072 crate::common::RW,
16073 > {
16074 crate::common::RegisterField::<
16075 14,
16076 0x1,
16077 1,
16078 0,
16079 p600pfs::Isel,
16080 p600pfs::Isel,
16081 P600Pfs_SPEC,
16082 crate::common::RW,
16083 >::from_register(self, 0)
16084 }
16085
16086 #[doc = "Analog Input Enable"]
16087 #[inline(always)]
16088 pub fn asel(
16089 self,
16090 ) -> crate::common::RegisterField<
16091 15,
16092 0x1,
16093 1,
16094 0,
16095 p600pfs::Asel,
16096 p600pfs::Asel,
16097 P600Pfs_SPEC,
16098 crate::common::RW,
16099 > {
16100 crate::common::RegisterField::<
16101 15,
16102 0x1,
16103 1,
16104 0,
16105 p600pfs::Asel,
16106 p600pfs::Asel,
16107 P600Pfs_SPEC,
16108 crate::common::RW,
16109 >::from_register(self, 0)
16110 }
16111
16112 #[doc = "Port Mode Control"]
16113 #[inline(always)]
16114 pub fn pmr(
16115 self,
16116 ) -> crate::common::RegisterField<
16117 16,
16118 0x1,
16119 1,
16120 0,
16121 p600pfs::Pmr,
16122 p600pfs::Pmr,
16123 P600Pfs_SPEC,
16124 crate::common::RW,
16125 > {
16126 crate::common::RegisterField::<
16127 16,
16128 0x1,
16129 1,
16130 0,
16131 p600pfs::Pmr,
16132 p600pfs::Pmr,
16133 P600Pfs_SPEC,
16134 crate::common::RW,
16135 >::from_register(self, 0)
16136 }
16137
16138 #[doc = "Peripheral Select"]
16139 #[inline(always)]
16140 pub fn psel(
16141 self,
16142 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P600Pfs_SPEC, crate::common::RW> {
16143 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P600Pfs_SPEC,crate::common::RW>::from_register(self,0)
16144 }
16145}
16146impl ::core::default::Default for P600Pfs {
16147 #[inline(always)]
16148 fn default() -> P600Pfs {
16149 <crate::RegValueT<P600Pfs_SPEC> as RegisterValue<_>>::new(0)
16150 }
16151}
16152pub mod p600pfs {
16153
16154 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16155 pub struct Podr_SPEC;
16156 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16157 impl Podr {
16158 #[doc = "Output low"]
16159 pub const _0: Self = Self::new(0);
16160
16161 #[doc = "Output high"]
16162 pub const _1: Self = Self::new(1);
16163 }
16164 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16165 pub struct Pidr_SPEC;
16166 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16167 impl Pidr {
16168 #[doc = "Low level"]
16169 pub const _0: Self = Self::new(0);
16170
16171 #[doc = "High level"]
16172 pub const _1: Self = Self::new(1);
16173 }
16174 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16175 pub struct Pdr_SPEC;
16176 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16177 impl Pdr {
16178 #[doc = "Input (functions as an input pin)"]
16179 pub const _0: Self = Self::new(0);
16180
16181 #[doc = "Output (functions as an output pin)"]
16182 pub const _1: Self = Self::new(1);
16183 }
16184 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16185 pub struct Pcr_SPEC;
16186 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16187 impl Pcr {
16188 #[doc = "Disable input pull-up"]
16189 pub const _0: Self = Self::new(0);
16190
16191 #[doc = "Enable input pull-up"]
16192 pub const _1: Self = Self::new(1);
16193 }
16194 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16195 pub struct Ncodr_SPEC;
16196 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16197 impl Ncodr {
16198 #[doc = "Output CMOS"]
16199 pub const _0: Self = Self::new(0);
16200
16201 #[doc = "Output NMOS open-drain"]
16202 pub const _1: Self = Self::new(1);
16203 }
16204 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16205 pub struct Isel_SPEC;
16206 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16207 impl Isel {
16208 #[doc = "Do not use as IRQn input pin"]
16209 pub const _0: Self = Self::new(0);
16210
16211 #[doc = "Use as IRQn input pin"]
16212 pub const _1: Self = Self::new(1);
16213 }
16214 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16215 pub struct Asel_SPEC;
16216 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16217 impl Asel {
16218 #[doc = "Do not use as analog pin"]
16219 pub const _0: Self = Self::new(0);
16220
16221 #[doc = "Use as analog pin"]
16222 pub const _1: Self = Self::new(1);
16223 }
16224 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16225 pub struct Pmr_SPEC;
16226 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
16227 impl Pmr {
16228 #[doc = "Use as general I/O pin"]
16229 pub const _0: Self = Self::new(0);
16230
16231 #[doc = "Use as I/O port for peripheral functions"]
16232 pub const _1: Self = Self::new(1);
16233 }
16234}
16235#[doc(hidden)]
16236#[derive(Copy, Clone, Eq, PartialEq)]
16237pub struct P600PfsHa_SPEC;
16238impl crate::sealed::RegSpec for P600PfsHa_SPEC {
16239 type DataType = u16;
16240}
16241
16242#[doc = "Port 600 Pin Function Select Register"]
16243pub type P600PfsHa = crate::RegValueT<P600PfsHa_SPEC>;
16244
16245impl P600PfsHa {
16246 #[doc = "Port Output Data"]
16247 #[inline(always)]
16248 pub fn podr(
16249 self,
16250 ) -> crate::common::RegisterField<
16251 0,
16252 0x1,
16253 1,
16254 0,
16255 p600pfs_ha::Podr,
16256 p600pfs_ha::Podr,
16257 P600PfsHa_SPEC,
16258 crate::common::RW,
16259 > {
16260 crate::common::RegisterField::<
16261 0,
16262 0x1,
16263 1,
16264 0,
16265 p600pfs_ha::Podr,
16266 p600pfs_ha::Podr,
16267 P600PfsHa_SPEC,
16268 crate::common::RW,
16269 >::from_register(self, 0)
16270 }
16271
16272 #[doc = "Port State"]
16273 #[inline(always)]
16274 pub fn pidr(
16275 self,
16276 ) -> crate::common::RegisterField<
16277 1,
16278 0x1,
16279 1,
16280 0,
16281 p600pfs_ha::Pidr,
16282 p600pfs_ha::Pidr,
16283 P600PfsHa_SPEC,
16284 crate::common::R,
16285 > {
16286 crate::common::RegisterField::<
16287 1,
16288 0x1,
16289 1,
16290 0,
16291 p600pfs_ha::Pidr,
16292 p600pfs_ha::Pidr,
16293 P600PfsHa_SPEC,
16294 crate::common::R,
16295 >::from_register(self, 0)
16296 }
16297
16298 #[doc = "Port Direction"]
16299 #[inline(always)]
16300 pub fn pdr(
16301 self,
16302 ) -> crate::common::RegisterField<
16303 2,
16304 0x1,
16305 1,
16306 0,
16307 p600pfs_ha::Pdr,
16308 p600pfs_ha::Pdr,
16309 P600PfsHa_SPEC,
16310 crate::common::RW,
16311 > {
16312 crate::common::RegisterField::<
16313 2,
16314 0x1,
16315 1,
16316 0,
16317 p600pfs_ha::Pdr,
16318 p600pfs_ha::Pdr,
16319 P600PfsHa_SPEC,
16320 crate::common::RW,
16321 >::from_register(self, 0)
16322 }
16323
16324 #[doc = "Pull-up Control"]
16325 #[inline(always)]
16326 pub fn pcr(
16327 self,
16328 ) -> crate::common::RegisterField<
16329 4,
16330 0x1,
16331 1,
16332 0,
16333 p600pfs_ha::Pcr,
16334 p600pfs_ha::Pcr,
16335 P600PfsHa_SPEC,
16336 crate::common::RW,
16337 > {
16338 crate::common::RegisterField::<
16339 4,
16340 0x1,
16341 1,
16342 0,
16343 p600pfs_ha::Pcr,
16344 p600pfs_ha::Pcr,
16345 P600PfsHa_SPEC,
16346 crate::common::RW,
16347 >::from_register(self, 0)
16348 }
16349
16350 #[doc = "N-Channel Open-Drain Control"]
16351 #[inline(always)]
16352 pub fn ncodr(
16353 self,
16354 ) -> crate::common::RegisterField<
16355 6,
16356 0x1,
16357 1,
16358 0,
16359 p600pfs_ha::Ncodr,
16360 p600pfs_ha::Ncodr,
16361 P600PfsHa_SPEC,
16362 crate::common::RW,
16363 > {
16364 crate::common::RegisterField::<
16365 6,
16366 0x1,
16367 1,
16368 0,
16369 p600pfs_ha::Ncodr,
16370 p600pfs_ha::Ncodr,
16371 P600PfsHa_SPEC,
16372 crate::common::RW,
16373 >::from_register(self, 0)
16374 }
16375
16376 #[doc = "IRQ Input Enable"]
16377 #[inline(always)]
16378 pub fn isel(
16379 self,
16380 ) -> crate::common::RegisterField<
16381 14,
16382 0x1,
16383 1,
16384 0,
16385 p600pfs_ha::Isel,
16386 p600pfs_ha::Isel,
16387 P600PfsHa_SPEC,
16388 crate::common::RW,
16389 > {
16390 crate::common::RegisterField::<
16391 14,
16392 0x1,
16393 1,
16394 0,
16395 p600pfs_ha::Isel,
16396 p600pfs_ha::Isel,
16397 P600PfsHa_SPEC,
16398 crate::common::RW,
16399 >::from_register(self, 0)
16400 }
16401
16402 #[doc = "Analog Input Enable"]
16403 #[inline(always)]
16404 pub fn asel(
16405 self,
16406 ) -> crate::common::RegisterField<
16407 15,
16408 0x1,
16409 1,
16410 0,
16411 p600pfs_ha::Asel,
16412 p600pfs_ha::Asel,
16413 P600PfsHa_SPEC,
16414 crate::common::RW,
16415 > {
16416 crate::common::RegisterField::<
16417 15,
16418 0x1,
16419 1,
16420 0,
16421 p600pfs_ha::Asel,
16422 p600pfs_ha::Asel,
16423 P600PfsHa_SPEC,
16424 crate::common::RW,
16425 >::from_register(self, 0)
16426 }
16427}
16428impl ::core::default::Default for P600PfsHa {
16429 #[inline(always)]
16430 fn default() -> P600PfsHa {
16431 <crate::RegValueT<P600PfsHa_SPEC> as RegisterValue<_>>::new(0)
16432 }
16433}
16434pub mod p600pfs_ha {
16435
16436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16437 pub struct Podr_SPEC;
16438 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16439 impl Podr {
16440 #[doc = "Output low"]
16441 pub const _0: Self = Self::new(0);
16442
16443 #[doc = "Output high"]
16444 pub const _1: Self = Self::new(1);
16445 }
16446 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16447 pub struct Pidr_SPEC;
16448 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16449 impl Pidr {
16450 #[doc = "Low level"]
16451 pub const _0: Self = Self::new(0);
16452
16453 #[doc = "High level"]
16454 pub const _1: Self = Self::new(1);
16455 }
16456 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16457 pub struct Pdr_SPEC;
16458 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16459 impl Pdr {
16460 #[doc = "Input (functions as an input pin)"]
16461 pub const _0: Self = Self::new(0);
16462
16463 #[doc = "Output (functions as an output pin)"]
16464 pub const _1: Self = Self::new(1);
16465 }
16466 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16467 pub struct Pcr_SPEC;
16468 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16469 impl Pcr {
16470 #[doc = "Disable input pull-up"]
16471 pub const _0: Self = Self::new(0);
16472
16473 #[doc = "Enable input pull-up"]
16474 pub const _1: Self = Self::new(1);
16475 }
16476 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16477 pub struct Ncodr_SPEC;
16478 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16479 impl Ncodr {
16480 #[doc = "Output CMOS"]
16481 pub const _0: Self = Self::new(0);
16482
16483 #[doc = "Output NMOS open-drain"]
16484 pub const _1: Self = Self::new(1);
16485 }
16486 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16487 pub struct Isel_SPEC;
16488 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16489 impl Isel {
16490 #[doc = "Do not use as IRQn input pin"]
16491 pub const _0: Self = Self::new(0);
16492
16493 #[doc = "Use as IRQn input pin"]
16494 pub const _1: Self = Self::new(1);
16495 }
16496 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16497 pub struct Asel_SPEC;
16498 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16499 impl Asel {
16500 #[doc = "Do not use as analog pin"]
16501 pub const _0: Self = Self::new(0);
16502
16503 #[doc = "Use as analog pin"]
16504 pub const _1: Self = Self::new(1);
16505 }
16506}
16507#[doc(hidden)]
16508#[derive(Copy, Clone, Eq, PartialEq)]
16509pub struct P600PfsBy_SPEC;
16510impl crate::sealed::RegSpec for P600PfsBy_SPEC {
16511 type DataType = u8;
16512}
16513
16514#[doc = "Port 600 Pin Function Select Register"]
16515pub type P600PfsBy = crate::RegValueT<P600PfsBy_SPEC>;
16516
16517impl P600PfsBy {
16518 #[doc = "Port Output Data"]
16519 #[inline(always)]
16520 pub fn podr(
16521 self,
16522 ) -> crate::common::RegisterField<
16523 0,
16524 0x1,
16525 1,
16526 0,
16527 p600pfs_by::Podr,
16528 p600pfs_by::Podr,
16529 P600PfsBy_SPEC,
16530 crate::common::RW,
16531 > {
16532 crate::common::RegisterField::<
16533 0,
16534 0x1,
16535 1,
16536 0,
16537 p600pfs_by::Podr,
16538 p600pfs_by::Podr,
16539 P600PfsBy_SPEC,
16540 crate::common::RW,
16541 >::from_register(self, 0)
16542 }
16543
16544 #[doc = "Port State"]
16545 #[inline(always)]
16546 pub fn pidr(
16547 self,
16548 ) -> crate::common::RegisterField<
16549 1,
16550 0x1,
16551 1,
16552 0,
16553 p600pfs_by::Pidr,
16554 p600pfs_by::Pidr,
16555 P600PfsBy_SPEC,
16556 crate::common::R,
16557 > {
16558 crate::common::RegisterField::<
16559 1,
16560 0x1,
16561 1,
16562 0,
16563 p600pfs_by::Pidr,
16564 p600pfs_by::Pidr,
16565 P600PfsBy_SPEC,
16566 crate::common::R,
16567 >::from_register(self, 0)
16568 }
16569
16570 #[doc = "Port Direction"]
16571 #[inline(always)]
16572 pub fn pdr(
16573 self,
16574 ) -> crate::common::RegisterField<
16575 2,
16576 0x1,
16577 1,
16578 0,
16579 p600pfs_by::Pdr,
16580 p600pfs_by::Pdr,
16581 P600PfsBy_SPEC,
16582 crate::common::RW,
16583 > {
16584 crate::common::RegisterField::<
16585 2,
16586 0x1,
16587 1,
16588 0,
16589 p600pfs_by::Pdr,
16590 p600pfs_by::Pdr,
16591 P600PfsBy_SPEC,
16592 crate::common::RW,
16593 >::from_register(self, 0)
16594 }
16595
16596 #[doc = "Pull-up Control"]
16597 #[inline(always)]
16598 pub fn pcr(
16599 self,
16600 ) -> crate::common::RegisterField<
16601 4,
16602 0x1,
16603 1,
16604 0,
16605 p600pfs_by::Pcr,
16606 p600pfs_by::Pcr,
16607 P600PfsBy_SPEC,
16608 crate::common::RW,
16609 > {
16610 crate::common::RegisterField::<
16611 4,
16612 0x1,
16613 1,
16614 0,
16615 p600pfs_by::Pcr,
16616 p600pfs_by::Pcr,
16617 P600PfsBy_SPEC,
16618 crate::common::RW,
16619 >::from_register(self, 0)
16620 }
16621
16622 #[doc = "N-Channel Open-Drain Control"]
16623 #[inline(always)]
16624 pub fn ncodr(
16625 self,
16626 ) -> crate::common::RegisterField<
16627 6,
16628 0x1,
16629 1,
16630 0,
16631 p600pfs_by::Ncodr,
16632 p600pfs_by::Ncodr,
16633 P600PfsBy_SPEC,
16634 crate::common::RW,
16635 > {
16636 crate::common::RegisterField::<
16637 6,
16638 0x1,
16639 1,
16640 0,
16641 p600pfs_by::Ncodr,
16642 p600pfs_by::Ncodr,
16643 P600PfsBy_SPEC,
16644 crate::common::RW,
16645 >::from_register(self, 0)
16646 }
16647}
16648impl ::core::default::Default for P600PfsBy {
16649 #[inline(always)]
16650 fn default() -> P600PfsBy {
16651 <crate::RegValueT<P600PfsBy_SPEC> as RegisterValue<_>>::new(0)
16652 }
16653}
16654pub mod p600pfs_by {
16655
16656 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16657 pub struct Podr_SPEC;
16658 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16659 impl Podr {
16660 #[doc = "Output low"]
16661 pub const _0: Self = Self::new(0);
16662
16663 #[doc = "Output high"]
16664 pub const _1: Self = Self::new(1);
16665 }
16666 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16667 pub struct Pidr_SPEC;
16668 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16669 impl Pidr {
16670 #[doc = "Low level"]
16671 pub const _0: Self = Self::new(0);
16672
16673 #[doc = "High level"]
16674 pub const _1: Self = Self::new(1);
16675 }
16676 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16677 pub struct Pdr_SPEC;
16678 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16679 impl Pdr {
16680 #[doc = "Input (functions as an input pin)"]
16681 pub const _0: Self = Self::new(0);
16682
16683 #[doc = "Output (functions as an output pin)"]
16684 pub const _1: Self = Self::new(1);
16685 }
16686 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16687 pub struct Pcr_SPEC;
16688 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16689 impl Pcr {
16690 #[doc = "Disable input pull-up"]
16691 pub const _0: Self = Self::new(0);
16692
16693 #[doc = "Enable input pull-up"]
16694 pub const _1: Self = Self::new(1);
16695 }
16696 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16697 pub struct Ncodr_SPEC;
16698 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16699 impl Ncodr {
16700 #[doc = "Output CMOS"]
16701 pub const _0: Self = Self::new(0);
16702
16703 #[doc = "Output NMOS open-drain"]
16704 pub const _1: Self = Self::new(1);
16705 }
16706}
16707#[doc(hidden)]
16708#[derive(Copy, Clone, Eq, PartialEq)]
16709pub struct Vl1Sel_SPEC;
16710impl crate::sealed::RegSpec for Vl1Sel_SPEC {
16711 type DataType = u8;
16712}
16713
16714#[doc = "VL1 Select Control Register"]
16715pub type Vl1Sel = crate::RegValueT<Vl1Sel_SPEC>;
16716
16717impl Vl1Sel {
16718 #[doc = "VL1 Voltage Connection Switching Control"]
16719 #[inline(always)]
16720 pub fn selvl(
16721 self,
16722 ) -> crate::common::RegisterField<
16723 0,
16724 0x1,
16725 1,
16726 0,
16727 vl1sel::Selvl,
16728 vl1sel::Selvl,
16729 Vl1Sel_SPEC,
16730 crate::common::RW,
16731 > {
16732 crate::common::RegisterField::<
16733 0,
16734 0x1,
16735 1,
16736 0,
16737 vl1sel::Selvl,
16738 vl1sel::Selvl,
16739 Vl1Sel_SPEC,
16740 crate::common::RW,
16741 >::from_register(self, 0)
16742 }
16743}
16744impl ::core::default::Default for Vl1Sel {
16745 #[inline(always)]
16746 fn default() -> Vl1Sel {
16747 <crate::RegValueT<Vl1Sel_SPEC> as RegisterValue<_>>::new(0)
16748 }
16749}
16750pub mod vl1sel {
16751
16752 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16753 pub struct Selvl_SPEC;
16754 pub type Selvl = crate::EnumBitfieldStruct<u8, Selvl_SPEC>;
16755 impl Selvl {
16756 #[doc = "VL1 voltage disconnected"]
16757 pub const _0: Self = Self::new(0);
16758
16759 #[doc = "VL1 voltage connected"]
16760 pub const _1: Self = Self::new(1);
16761 }
16762}
16763#[doc(hidden)]
16764#[derive(Copy, Clone, Eq, PartialEq)]
16765pub struct Pwpr_SPEC;
16766impl crate::sealed::RegSpec for Pwpr_SPEC {
16767 type DataType = u8;
16768}
16769
16770#[doc = "Write-Protect Register"]
16771pub type Pwpr = crate::RegValueT<Pwpr_SPEC>;
16772
16773impl Pwpr {
16774 #[doc = "PmnPFS Register Write Enable"]
16775 #[inline(always)]
16776 pub fn pfswe(
16777 self,
16778 ) -> crate::common::RegisterField<
16779 6,
16780 0x1,
16781 1,
16782 0,
16783 pwpr::Pfswe,
16784 pwpr::Pfswe,
16785 Pwpr_SPEC,
16786 crate::common::RW,
16787 > {
16788 crate::common::RegisterField::<
16789 6,
16790 0x1,
16791 1,
16792 0,
16793 pwpr::Pfswe,
16794 pwpr::Pfswe,
16795 Pwpr_SPEC,
16796 crate::common::RW,
16797 >::from_register(self, 0)
16798 }
16799
16800 #[doc = "PFSWE Bit Write Disable"]
16801 #[inline(always)]
16802 pub fn b0wi(
16803 self,
16804 ) -> crate::common::RegisterField<
16805 7,
16806 0x1,
16807 1,
16808 0,
16809 pwpr::B0Wi,
16810 pwpr::B0Wi,
16811 Pwpr_SPEC,
16812 crate::common::RW,
16813 > {
16814 crate::common::RegisterField::<
16815 7,
16816 0x1,
16817 1,
16818 0,
16819 pwpr::B0Wi,
16820 pwpr::B0Wi,
16821 Pwpr_SPEC,
16822 crate::common::RW,
16823 >::from_register(self, 0)
16824 }
16825}
16826impl ::core::default::Default for Pwpr {
16827 #[inline(always)]
16828 fn default() -> Pwpr {
16829 <crate::RegValueT<Pwpr_SPEC> as RegisterValue<_>>::new(128)
16830 }
16831}
16832pub mod pwpr {
16833
16834 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16835 pub struct Pfswe_SPEC;
16836 pub type Pfswe = crate::EnumBitfieldStruct<u8, Pfswe_SPEC>;
16837 impl Pfswe {
16838 #[doc = "Writing to the PmnPFS register is disabled"]
16839 pub const _0: Self = Self::new(0);
16840
16841 #[doc = "Writing to the PmnPFS register is enabled"]
16842 pub const _1: Self = Self::new(1);
16843 }
16844 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16845 pub struct B0Wi_SPEC;
16846 pub type B0Wi = crate::EnumBitfieldStruct<u8, B0Wi_SPEC>;
16847 impl B0Wi {
16848 #[doc = "Writing to the PFSWE bit is enabled"]
16849 pub const _0: Self = Self::new(0);
16850
16851 #[doc = "Writing to the PFSWE bit is disabled"]
16852 pub const _1: Self = Self::new(1);
16853 }
16854}
16855#[doc(hidden)]
16856#[derive(Copy, Clone, Eq, PartialEq)]
16857pub struct Prwcntr_SPEC;
16858impl crate::sealed::RegSpec for Prwcntr_SPEC {
16859 type DataType = u8;
16860}
16861
16862#[doc = "Port Read Wait Control Register"]
16863pub type Prwcntr = crate::RegValueT<Prwcntr_SPEC>;
16864
16865impl Prwcntr {
16866 #[doc = "Wait Cycle Control"]
16867 #[inline(always)]
16868 pub fn wait(
16869 self,
16870 ) -> crate::common::RegisterField<
16871 0,
16872 0x3,
16873 1,
16874 0,
16875 prwcntr::Wait,
16876 prwcntr::Wait,
16877 Prwcntr_SPEC,
16878 crate::common::RW,
16879 > {
16880 crate::common::RegisterField::<
16881 0,
16882 0x3,
16883 1,
16884 0,
16885 prwcntr::Wait,
16886 prwcntr::Wait,
16887 Prwcntr_SPEC,
16888 crate::common::RW,
16889 >::from_register(self, 0)
16890 }
16891}
16892impl ::core::default::Default for Prwcntr {
16893 #[inline(always)]
16894 fn default() -> Prwcntr {
16895 <crate::RegValueT<Prwcntr_SPEC> as RegisterValue<_>>::new(1)
16896 }
16897}
16898pub mod prwcntr {
16899
16900 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16901 pub struct Wait_SPEC;
16902 pub type Wait = crate::EnumBitfieldStruct<u8, Wait_SPEC>;
16903 impl Wait {
16904 #[doc = "Setting prohibited"]
16905 pub const _00: Self = Self::new(0);
16906
16907 #[doc = "Insert a 1-cycle wait"]
16908 pub const _01: Self = Self::new(1);
16909
16910 #[doc = "Insert a 2-cycle wait"]
16911 pub const _10: Self = Self::new(2);
16912
16913 #[doc = "Insert a 3-cycle wait"]
16914 pub const _11: Self = Self::new(3);
16915 }
16916}