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 9,
44 0x4,
45 > {
46 unsafe {
47 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x0usize))
48 }
49 }
50 #[inline(always)]
51 pub const fn p000pfs(
52 &self,
53 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
54 unsafe {
55 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
56 self._svd2pac_as_ptr().add(0x0usize),
57 )
58 }
59 }
60 #[inline(always)]
61 pub const fn p001pfs(
62 &self,
63 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
64 unsafe {
65 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
66 self._svd2pac_as_ptr().add(0x4usize),
67 )
68 }
69 }
70 #[inline(always)]
71 pub const fn p002pfs(
72 &self,
73 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
74 unsafe {
75 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
76 self._svd2pac_as_ptr().add(0x8usize),
77 )
78 }
79 }
80 #[inline(always)]
81 pub const fn p003pfs(
82 &self,
83 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
84 unsafe {
85 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
86 self._svd2pac_as_ptr().add(0xcusize),
87 )
88 }
89 }
90 #[inline(always)]
91 pub const fn p004pfs(
92 &self,
93 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
94 unsafe {
95 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
96 self._svd2pac_as_ptr().add(0x10usize),
97 )
98 }
99 }
100 #[inline(always)]
101 pub const fn p005pfs(
102 &self,
103 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
104 unsafe {
105 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
106 self._svd2pac_as_ptr().add(0x14usize),
107 )
108 }
109 }
110 #[inline(always)]
111 pub const fn p006pfs(
112 &self,
113 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
114 unsafe {
115 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
116 self._svd2pac_as_ptr().add(0x18usize),
117 )
118 }
119 }
120 #[inline(always)]
121 pub const fn p007pfs(
122 &self,
123 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
124 unsafe {
125 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
126 self._svd2pac_as_ptr().add(0x1cusize),
127 )
128 }
129 }
130 #[inline(always)]
131 pub const fn p008pfs(
132 &self,
133 ) -> &'static crate::common::Reg<self::P00Pfs_SPEC, crate::common::RW> {
134 unsafe {
135 crate::common::Reg::<self::P00Pfs_SPEC, crate::common::RW>::from_ptr(
136 self._svd2pac_as_ptr().add(0x20usize),
137 )
138 }
139 }
140
141 #[doc = "Port 00%s Pin Function Select Register"]
142 #[inline(always)]
143 pub const fn p00pfs_ha(
144 &self,
145 ) -> &'static crate::common::ClusterRegisterArray<
146 crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW>,
147 9,
148 0x4,
149 > {
150 unsafe {
151 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x2usize))
152 }
153 }
154 #[inline(always)]
155 pub const fn p000pfs_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(0x2usize),
161 )
162 }
163 }
164 #[inline(always)]
165 pub const fn p001pfs_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(0x6usize),
171 )
172 }
173 }
174 #[inline(always)]
175 pub const fn p002pfs_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(0xausize),
181 )
182 }
183 }
184 #[inline(always)]
185 pub const fn p003pfs_ha(
186 &self,
187 ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
188 unsafe {
189 crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
190 self._svd2pac_as_ptr().add(0xeusize),
191 )
192 }
193 }
194 #[inline(always)]
195 pub const fn p004pfs_ha(
196 &self,
197 ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
198 unsafe {
199 crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
200 self._svd2pac_as_ptr().add(0x12usize),
201 )
202 }
203 }
204 #[inline(always)]
205 pub const fn p005pfs_ha(
206 &self,
207 ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
208 unsafe {
209 crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
210 self._svd2pac_as_ptr().add(0x16usize),
211 )
212 }
213 }
214 #[inline(always)]
215 pub const fn p006pfs_ha(
216 &self,
217 ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
218 unsafe {
219 crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
220 self._svd2pac_as_ptr().add(0x1ausize),
221 )
222 }
223 }
224 #[inline(always)]
225 pub const fn p007pfs_ha(
226 &self,
227 ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
228 unsafe {
229 crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
230 self._svd2pac_as_ptr().add(0x1eusize),
231 )
232 }
233 }
234 #[inline(always)]
235 pub const fn p008pfs_ha(
236 &self,
237 ) -> &'static crate::common::Reg<self::P00PfsHa_SPEC, crate::common::RW> {
238 unsafe {
239 crate::common::Reg::<self::P00PfsHa_SPEC, crate::common::RW>::from_ptr(
240 self._svd2pac_as_ptr().add(0x22usize),
241 )
242 }
243 }
244
245 #[doc = "Port 00%s Pin Function Select Register"]
246 #[inline(always)]
247 pub const fn p00pfs_by(
248 &self,
249 ) -> &'static crate::common::ClusterRegisterArray<
250 crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW>,
251 9,
252 0x4,
253 > {
254 unsafe {
255 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x3usize))
256 }
257 }
258 #[inline(always)]
259 pub const fn p000pfs_by(
260 &self,
261 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
262 unsafe {
263 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
264 self._svd2pac_as_ptr().add(0x3usize),
265 )
266 }
267 }
268 #[inline(always)]
269 pub const fn p001pfs_by(
270 &self,
271 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
272 unsafe {
273 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
274 self._svd2pac_as_ptr().add(0x7usize),
275 )
276 }
277 }
278 #[inline(always)]
279 pub const fn p002pfs_by(
280 &self,
281 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
282 unsafe {
283 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
284 self._svd2pac_as_ptr().add(0xbusize),
285 )
286 }
287 }
288 #[inline(always)]
289 pub const fn p003pfs_by(
290 &self,
291 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
292 unsafe {
293 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
294 self._svd2pac_as_ptr().add(0xfusize),
295 )
296 }
297 }
298 #[inline(always)]
299 pub const fn p004pfs_by(
300 &self,
301 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
302 unsafe {
303 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
304 self._svd2pac_as_ptr().add(0x13usize),
305 )
306 }
307 }
308 #[inline(always)]
309 pub const fn p005pfs_by(
310 &self,
311 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
312 unsafe {
313 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
314 self._svd2pac_as_ptr().add(0x17usize),
315 )
316 }
317 }
318 #[inline(always)]
319 pub const fn p006pfs_by(
320 &self,
321 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
322 unsafe {
323 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
324 self._svd2pac_as_ptr().add(0x1busize),
325 )
326 }
327 }
328 #[inline(always)]
329 pub const fn p007pfs_by(
330 &self,
331 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
332 unsafe {
333 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
334 self._svd2pac_as_ptr().add(0x1fusize),
335 )
336 }
337 }
338 #[inline(always)]
339 pub const fn p008pfs_by(
340 &self,
341 ) -> &'static crate::common::Reg<self::P00PfsBy_SPEC, crate::common::RW> {
342 unsafe {
343 crate::common::Reg::<self::P00PfsBy_SPEC, crate::common::RW>::from_ptr(
344 self._svd2pac_as_ptr().add(0x23usize),
345 )
346 }
347 }
348
349 #[doc = "Port 0%s Pin Function Select Register"]
350 #[inline(always)]
351 pub const fn p0pfs(
352 &self,
353 ) -> &'static crate::common::ClusterRegisterArray<
354 crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW>,
355 6,
356 0x4,
357 > {
358 unsafe {
359 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x28usize))
360 }
361 }
362 #[inline(always)]
363 pub const fn p010pfs(
364 &self,
365 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
366 unsafe {
367 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
368 self._svd2pac_as_ptr().add(0x28usize),
369 )
370 }
371 }
372 #[inline(always)]
373 pub const fn p011pfs(
374 &self,
375 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
376 unsafe {
377 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
378 self._svd2pac_as_ptr().add(0x2cusize),
379 )
380 }
381 }
382 #[inline(always)]
383 pub const fn p012pfs(
384 &self,
385 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
386 unsafe {
387 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
388 self._svd2pac_as_ptr().add(0x30usize),
389 )
390 }
391 }
392 #[inline(always)]
393 pub const fn p013pfs(
394 &self,
395 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
396 unsafe {
397 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
398 self._svd2pac_as_ptr().add(0x34usize),
399 )
400 }
401 }
402 #[inline(always)]
403 pub const fn p014pfs(
404 &self,
405 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
406 unsafe {
407 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
408 self._svd2pac_as_ptr().add(0x38usize),
409 )
410 }
411 }
412 #[inline(always)]
413 pub const fn p015pfs(
414 &self,
415 ) -> &'static crate::common::Reg<self::P0Pfs_SPEC, crate::common::RW> {
416 unsafe {
417 crate::common::Reg::<self::P0Pfs_SPEC, crate::common::RW>::from_ptr(
418 self._svd2pac_as_ptr().add(0x3cusize),
419 )
420 }
421 }
422
423 #[doc = "Port 0%s Pin Function Select Register"]
424 #[inline(always)]
425 pub const fn p0pfs_ha(
426 &self,
427 ) -> &'static crate::common::ClusterRegisterArray<
428 crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW>,
429 6,
430 0x4,
431 > {
432 unsafe {
433 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x2ausize))
434 }
435 }
436 #[inline(always)]
437 pub const fn p010pfs_ha(
438 &self,
439 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
440 unsafe {
441 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
442 self._svd2pac_as_ptr().add(0x2ausize),
443 )
444 }
445 }
446 #[inline(always)]
447 pub const fn p011pfs_ha(
448 &self,
449 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
450 unsafe {
451 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
452 self._svd2pac_as_ptr().add(0x2eusize),
453 )
454 }
455 }
456 #[inline(always)]
457 pub const fn p012pfs_ha(
458 &self,
459 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
460 unsafe {
461 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
462 self._svd2pac_as_ptr().add(0x32usize),
463 )
464 }
465 }
466 #[inline(always)]
467 pub const fn p013pfs_ha(
468 &self,
469 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
470 unsafe {
471 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
472 self._svd2pac_as_ptr().add(0x36usize),
473 )
474 }
475 }
476 #[inline(always)]
477 pub const fn p014pfs_ha(
478 &self,
479 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
480 unsafe {
481 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
482 self._svd2pac_as_ptr().add(0x3ausize),
483 )
484 }
485 }
486 #[inline(always)]
487 pub const fn p015pfs_ha(
488 &self,
489 ) -> &'static crate::common::Reg<self::P0PfsHa_SPEC, crate::common::RW> {
490 unsafe {
491 crate::common::Reg::<self::P0PfsHa_SPEC, crate::common::RW>::from_ptr(
492 self._svd2pac_as_ptr().add(0x3eusize),
493 )
494 }
495 }
496
497 #[doc = "Port 0%s Pin Function Select Register"]
498 #[inline(always)]
499 pub const fn p0pfs_by(
500 &self,
501 ) -> &'static crate::common::ClusterRegisterArray<
502 crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW>,
503 6,
504 0x4,
505 > {
506 unsafe {
507 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x2busize))
508 }
509 }
510 #[inline(always)]
511 pub const fn p010pfs_by(
512 &self,
513 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
514 unsafe {
515 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
516 self._svd2pac_as_ptr().add(0x2busize),
517 )
518 }
519 }
520 #[inline(always)]
521 pub const fn p011pfs_by(
522 &self,
523 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
524 unsafe {
525 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
526 self._svd2pac_as_ptr().add(0x2fusize),
527 )
528 }
529 }
530 #[inline(always)]
531 pub const fn p012pfs_by(
532 &self,
533 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
534 unsafe {
535 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
536 self._svd2pac_as_ptr().add(0x33usize),
537 )
538 }
539 }
540 #[inline(always)]
541 pub const fn p013pfs_by(
542 &self,
543 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
544 unsafe {
545 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
546 self._svd2pac_as_ptr().add(0x37usize),
547 )
548 }
549 }
550 #[inline(always)]
551 pub const fn p014pfs_by(
552 &self,
553 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
554 unsafe {
555 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
556 self._svd2pac_as_ptr().add(0x3busize),
557 )
558 }
559 }
560 #[inline(always)]
561 pub const fn p015pfs_by(
562 &self,
563 ) -> &'static crate::common::Reg<self::P0PfsBy_SPEC, crate::common::RW> {
564 unsafe {
565 crate::common::Reg::<self::P0PfsBy_SPEC, crate::common::RW>::from_ptr(
566 self._svd2pac_as_ptr().add(0x3fusize),
567 )
568 }
569 }
570
571 #[doc = "Port 10%s Pin Function Select Register"]
572 #[inline(always)]
573 pub const fn p10pfs(
574 &self,
575 ) -> &'static crate::common::ClusterRegisterArray<
576 crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW>,
577 8,
578 0x4,
579 > {
580 unsafe {
581 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x40usize))
582 }
583 }
584 #[inline(always)]
585 pub const fn p100pfs(
586 &self,
587 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
588 unsafe {
589 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
590 self._svd2pac_as_ptr().add(0x40usize),
591 )
592 }
593 }
594 #[inline(always)]
595 pub const fn p101pfs(
596 &self,
597 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
598 unsafe {
599 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
600 self._svd2pac_as_ptr().add(0x44usize),
601 )
602 }
603 }
604 #[inline(always)]
605 pub const fn p102pfs(
606 &self,
607 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
608 unsafe {
609 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
610 self._svd2pac_as_ptr().add(0x48usize),
611 )
612 }
613 }
614 #[inline(always)]
615 pub const fn p103pfs(
616 &self,
617 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
618 unsafe {
619 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
620 self._svd2pac_as_ptr().add(0x4cusize),
621 )
622 }
623 }
624 #[inline(always)]
625 pub const fn p104pfs(
626 &self,
627 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
628 unsafe {
629 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
630 self._svd2pac_as_ptr().add(0x50usize),
631 )
632 }
633 }
634 #[inline(always)]
635 pub const fn p105pfs(
636 &self,
637 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
638 unsafe {
639 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
640 self._svd2pac_as_ptr().add(0x54usize),
641 )
642 }
643 }
644 #[inline(always)]
645 pub const fn p106pfs(
646 &self,
647 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
648 unsafe {
649 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
650 self._svd2pac_as_ptr().add(0x58usize),
651 )
652 }
653 }
654 #[inline(always)]
655 pub const fn p107pfs(
656 &self,
657 ) -> &'static crate::common::Reg<self::P10Pfs_SPEC, crate::common::RW> {
658 unsafe {
659 crate::common::Reg::<self::P10Pfs_SPEC, crate::common::RW>::from_ptr(
660 self._svd2pac_as_ptr().add(0x5cusize),
661 )
662 }
663 }
664
665 #[doc = "Port 10%s Pin Function Select Register"]
666 #[inline(always)]
667 pub const fn p10pfs_ha(
668 &self,
669 ) -> &'static crate::common::ClusterRegisterArray<
670 crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW>,
671 8,
672 0x4,
673 > {
674 unsafe {
675 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x42usize))
676 }
677 }
678 #[inline(always)]
679 pub const fn p100pfs_ha(
680 &self,
681 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
682 unsafe {
683 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
684 self._svd2pac_as_ptr().add(0x42usize),
685 )
686 }
687 }
688 #[inline(always)]
689 pub const fn p101pfs_ha(
690 &self,
691 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
692 unsafe {
693 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
694 self._svd2pac_as_ptr().add(0x46usize),
695 )
696 }
697 }
698 #[inline(always)]
699 pub const fn p102pfs_ha(
700 &self,
701 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
702 unsafe {
703 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
704 self._svd2pac_as_ptr().add(0x4ausize),
705 )
706 }
707 }
708 #[inline(always)]
709 pub const fn p103pfs_ha(
710 &self,
711 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
712 unsafe {
713 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
714 self._svd2pac_as_ptr().add(0x4eusize),
715 )
716 }
717 }
718 #[inline(always)]
719 pub const fn p104pfs_ha(
720 &self,
721 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
722 unsafe {
723 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
724 self._svd2pac_as_ptr().add(0x52usize),
725 )
726 }
727 }
728 #[inline(always)]
729 pub const fn p105pfs_ha(
730 &self,
731 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
732 unsafe {
733 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
734 self._svd2pac_as_ptr().add(0x56usize),
735 )
736 }
737 }
738 #[inline(always)]
739 pub const fn p106pfs_ha(
740 &self,
741 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
742 unsafe {
743 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
744 self._svd2pac_as_ptr().add(0x5ausize),
745 )
746 }
747 }
748 #[inline(always)]
749 pub const fn p107pfs_ha(
750 &self,
751 ) -> &'static crate::common::Reg<self::P10PfsHa_SPEC, crate::common::RW> {
752 unsafe {
753 crate::common::Reg::<self::P10PfsHa_SPEC, crate::common::RW>::from_ptr(
754 self._svd2pac_as_ptr().add(0x5eusize),
755 )
756 }
757 }
758
759 #[doc = "Port 10%s Pin Function Select Register"]
760 #[inline(always)]
761 pub const fn p10pfs_by(
762 &self,
763 ) -> &'static crate::common::ClusterRegisterArray<
764 crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW>,
765 8,
766 0x4,
767 > {
768 unsafe {
769 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x43usize))
770 }
771 }
772 #[inline(always)]
773 pub const fn p100pfs_by(
774 &self,
775 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
776 unsafe {
777 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
778 self._svd2pac_as_ptr().add(0x43usize),
779 )
780 }
781 }
782 #[inline(always)]
783 pub const fn p101pfs_by(
784 &self,
785 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
786 unsafe {
787 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
788 self._svd2pac_as_ptr().add(0x47usize),
789 )
790 }
791 }
792 #[inline(always)]
793 pub const fn p102pfs_by(
794 &self,
795 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
796 unsafe {
797 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
798 self._svd2pac_as_ptr().add(0x4busize),
799 )
800 }
801 }
802 #[inline(always)]
803 pub const fn p103pfs_by(
804 &self,
805 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
806 unsafe {
807 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
808 self._svd2pac_as_ptr().add(0x4fusize),
809 )
810 }
811 }
812 #[inline(always)]
813 pub const fn p104pfs_by(
814 &self,
815 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
816 unsafe {
817 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
818 self._svd2pac_as_ptr().add(0x53usize),
819 )
820 }
821 }
822 #[inline(always)]
823 pub const fn p105pfs_by(
824 &self,
825 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
826 unsafe {
827 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
828 self._svd2pac_as_ptr().add(0x57usize),
829 )
830 }
831 }
832 #[inline(always)]
833 pub const fn p106pfs_by(
834 &self,
835 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
836 unsafe {
837 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
838 self._svd2pac_as_ptr().add(0x5busize),
839 )
840 }
841 }
842 #[inline(always)]
843 pub const fn p107pfs_by(
844 &self,
845 ) -> &'static crate::common::Reg<self::P10PfsBy_SPEC, crate::common::RW> {
846 unsafe {
847 crate::common::Reg::<self::P10PfsBy_SPEC, crate::common::RW>::from_ptr(
848 self._svd2pac_as_ptr().add(0x5fusize),
849 )
850 }
851 }
852
853 #[doc = "Port 108 Pin Function Select Register"]
854 #[inline(always)]
855 pub const fn p108pfs(
856 &self,
857 ) -> &'static crate::common::Reg<self::P108Pfs_SPEC, crate::common::RW> {
858 unsafe {
859 crate::common::Reg::<self::P108Pfs_SPEC, crate::common::RW>::from_ptr(
860 self._svd2pac_as_ptr().add(96usize),
861 )
862 }
863 }
864
865 #[doc = "Port 108 Pin Function Select Register"]
866 #[inline(always)]
867 pub const fn p108pfs_ha(
868 &self,
869 ) -> &'static crate::common::Reg<self::P108PfsHa_SPEC, crate::common::RW> {
870 unsafe {
871 crate::common::Reg::<self::P108PfsHa_SPEC, crate::common::RW>::from_ptr(
872 self._svd2pac_as_ptr().add(98usize),
873 )
874 }
875 }
876
877 #[doc = "Port 108 Pin Function Select Register"]
878 #[inline(always)]
879 pub const fn p108pfs_by(
880 &self,
881 ) -> &'static crate::common::Reg<self::P108PfsBy_SPEC, crate::common::RW> {
882 unsafe {
883 crate::common::Reg::<self::P108PfsBy_SPEC, crate::common::RW>::from_ptr(
884 self._svd2pac_as_ptr().add(99usize),
885 )
886 }
887 }
888
889 #[doc = "Port 109 Pin Function Select Register"]
890 #[inline(always)]
891 pub const fn p109pfs(
892 &self,
893 ) -> &'static crate::common::Reg<self::P109Pfs_SPEC, crate::common::RW> {
894 unsafe {
895 crate::common::Reg::<self::P109Pfs_SPEC, crate::common::RW>::from_ptr(
896 self._svd2pac_as_ptr().add(100usize),
897 )
898 }
899 }
900
901 #[doc = "Port 109 Pin Function Select Register"]
902 #[inline(always)]
903 pub const fn p109pfs_ha(
904 &self,
905 ) -> &'static crate::common::Reg<self::P109PfsHa_SPEC, crate::common::RW> {
906 unsafe {
907 crate::common::Reg::<self::P109PfsHa_SPEC, crate::common::RW>::from_ptr(
908 self._svd2pac_as_ptr().add(102usize),
909 )
910 }
911 }
912
913 #[doc = "Port 109 Pin Function Select Register"]
914 #[inline(always)]
915 pub const fn p109pfs_by(
916 &self,
917 ) -> &'static crate::common::Reg<self::P109PfsBy_SPEC, crate::common::RW> {
918 unsafe {
919 crate::common::Reg::<self::P109PfsBy_SPEC, crate::common::RW>::from_ptr(
920 self._svd2pac_as_ptr().add(103usize),
921 )
922 }
923 }
924
925 #[doc = "Port 1%s Pin Function Select Register"]
926 #[inline(always)]
927 pub const fn p1pfs(
928 &self,
929 ) -> &'static crate::common::ClusterRegisterArray<
930 crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW>,
931 6,
932 0x4,
933 > {
934 unsafe {
935 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x68usize))
936 }
937 }
938 #[inline(always)]
939 pub const fn p110pfs(
940 &self,
941 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
942 unsafe {
943 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
944 self._svd2pac_as_ptr().add(0x68usize),
945 )
946 }
947 }
948 #[inline(always)]
949 pub const fn p111pfs(
950 &self,
951 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
952 unsafe {
953 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
954 self._svd2pac_as_ptr().add(0x6cusize),
955 )
956 }
957 }
958 #[inline(always)]
959 pub const fn p112pfs(
960 &self,
961 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
962 unsafe {
963 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
964 self._svd2pac_as_ptr().add(0x70usize),
965 )
966 }
967 }
968 #[inline(always)]
969 pub const fn p113pfs(
970 &self,
971 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
972 unsafe {
973 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
974 self._svd2pac_as_ptr().add(0x74usize),
975 )
976 }
977 }
978 #[inline(always)]
979 pub const fn p114pfs(
980 &self,
981 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
982 unsafe {
983 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
984 self._svd2pac_as_ptr().add(0x78usize),
985 )
986 }
987 }
988 #[inline(always)]
989 pub const fn p115pfs(
990 &self,
991 ) -> &'static crate::common::Reg<self::P1Pfs_SPEC, crate::common::RW> {
992 unsafe {
993 crate::common::Reg::<self::P1Pfs_SPEC, crate::common::RW>::from_ptr(
994 self._svd2pac_as_ptr().add(0x7cusize),
995 )
996 }
997 }
998
999 #[doc = "Port 1%s Pin Function Select Register"]
1000 #[inline(always)]
1001 pub const fn p1pfs_ha(
1002 &self,
1003 ) -> &'static crate::common::ClusterRegisterArray<
1004 crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW>,
1005 6,
1006 0x4,
1007 > {
1008 unsafe {
1009 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x6ausize))
1010 }
1011 }
1012 #[inline(always)]
1013 pub const fn p110pfs_ha(
1014 &self,
1015 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
1016 unsafe {
1017 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
1018 self._svd2pac_as_ptr().add(0x6ausize),
1019 )
1020 }
1021 }
1022 #[inline(always)]
1023 pub const fn p111pfs_ha(
1024 &self,
1025 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
1026 unsafe {
1027 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
1028 self._svd2pac_as_ptr().add(0x6eusize),
1029 )
1030 }
1031 }
1032 #[inline(always)]
1033 pub const fn p112pfs_ha(
1034 &self,
1035 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
1036 unsafe {
1037 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
1038 self._svd2pac_as_ptr().add(0x72usize),
1039 )
1040 }
1041 }
1042 #[inline(always)]
1043 pub const fn p113pfs_ha(
1044 &self,
1045 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
1046 unsafe {
1047 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
1048 self._svd2pac_as_ptr().add(0x76usize),
1049 )
1050 }
1051 }
1052 #[inline(always)]
1053 pub const fn p114pfs_ha(
1054 &self,
1055 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
1056 unsafe {
1057 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
1058 self._svd2pac_as_ptr().add(0x7ausize),
1059 )
1060 }
1061 }
1062 #[inline(always)]
1063 pub const fn p115pfs_ha(
1064 &self,
1065 ) -> &'static crate::common::Reg<self::P1PfsHa_SPEC, crate::common::RW> {
1066 unsafe {
1067 crate::common::Reg::<self::P1PfsHa_SPEC, crate::common::RW>::from_ptr(
1068 self._svd2pac_as_ptr().add(0x7eusize),
1069 )
1070 }
1071 }
1072
1073 #[doc = "Port 1%s Pin Function Select Register"]
1074 #[inline(always)]
1075 pub const fn p1pfs_by(
1076 &self,
1077 ) -> &'static crate::common::ClusterRegisterArray<
1078 crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW>,
1079 6,
1080 0x4,
1081 > {
1082 unsafe {
1083 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x6busize))
1084 }
1085 }
1086 #[inline(always)]
1087 pub const fn p110pfs_by(
1088 &self,
1089 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1090 unsafe {
1091 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1092 self._svd2pac_as_ptr().add(0x6busize),
1093 )
1094 }
1095 }
1096 #[inline(always)]
1097 pub const fn p111pfs_by(
1098 &self,
1099 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1100 unsafe {
1101 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1102 self._svd2pac_as_ptr().add(0x6fusize),
1103 )
1104 }
1105 }
1106 #[inline(always)]
1107 pub const fn p112pfs_by(
1108 &self,
1109 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1110 unsafe {
1111 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1112 self._svd2pac_as_ptr().add(0x73usize),
1113 )
1114 }
1115 }
1116 #[inline(always)]
1117 pub const fn p113pfs_by(
1118 &self,
1119 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1120 unsafe {
1121 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1122 self._svd2pac_as_ptr().add(0x77usize),
1123 )
1124 }
1125 }
1126 #[inline(always)]
1127 pub const fn p114pfs_by(
1128 &self,
1129 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1130 unsafe {
1131 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1132 self._svd2pac_as_ptr().add(0x7busize),
1133 )
1134 }
1135 }
1136 #[inline(always)]
1137 pub const fn p115pfs_by(
1138 &self,
1139 ) -> &'static crate::common::Reg<self::P1PfsBy_SPEC, crate::common::RW> {
1140 unsafe {
1141 crate::common::Reg::<self::P1PfsBy_SPEC, crate::common::RW>::from_ptr(
1142 self._svd2pac_as_ptr().add(0x7fusize),
1143 )
1144 }
1145 }
1146
1147 #[doc = "Port 200 Pin Function Select Register"]
1148 #[inline(always)]
1149 pub const fn p200pfs(
1150 &self,
1151 ) -> &'static crate::common::Reg<self::P200Pfs_SPEC, crate::common::RW> {
1152 unsafe {
1153 crate::common::Reg::<self::P200Pfs_SPEC, crate::common::RW>::from_ptr(
1154 self._svd2pac_as_ptr().add(128usize),
1155 )
1156 }
1157 }
1158
1159 #[doc = "Port 200 Pin Function Select Register"]
1160 #[inline(always)]
1161 pub const fn p200pfs_ha(
1162 &self,
1163 ) -> &'static crate::common::Reg<self::P200PfsHa_SPEC, crate::common::RW> {
1164 unsafe {
1165 crate::common::Reg::<self::P200PfsHa_SPEC, crate::common::RW>::from_ptr(
1166 self._svd2pac_as_ptr().add(130usize),
1167 )
1168 }
1169 }
1170
1171 #[doc = "Port 200 Pin Function Select Register"]
1172 #[inline(always)]
1173 pub const fn p200pfs_by(
1174 &self,
1175 ) -> &'static crate::common::Reg<self::P200PfsBy_SPEC, crate::common::RW> {
1176 unsafe {
1177 crate::common::Reg::<self::P200PfsBy_SPEC, crate::common::RW>::from_ptr(
1178 self._svd2pac_as_ptr().add(131usize),
1179 )
1180 }
1181 }
1182
1183 #[doc = "Port 201 Pin Function Select Register"]
1184 #[inline(always)]
1185 pub const fn p201pfs(
1186 &self,
1187 ) -> &'static crate::common::Reg<self::P201Pfs_SPEC, crate::common::RW> {
1188 unsafe {
1189 crate::common::Reg::<self::P201Pfs_SPEC, crate::common::RW>::from_ptr(
1190 self._svd2pac_as_ptr().add(132usize),
1191 )
1192 }
1193 }
1194
1195 #[doc = "Port 201 Pin Function Select Register"]
1196 #[inline(always)]
1197 pub const fn p201pfs_ha(
1198 &self,
1199 ) -> &'static crate::common::Reg<self::P201PfsHa_SPEC, crate::common::RW> {
1200 unsafe {
1201 crate::common::Reg::<self::P201PfsHa_SPEC, crate::common::RW>::from_ptr(
1202 self._svd2pac_as_ptr().add(134usize),
1203 )
1204 }
1205 }
1206
1207 #[doc = "Port 201 Pin Function Select Register"]
1208 #[inline(always)]
1209 pub const fn p201pfs_by(
1210 &self,
1211 ) -> &'static crate::common::Reg<self::P201PfsBy_SPEC, crate::common::RW> {
1212 unsafe {
1213 crate::common::Reg::<self::P201PfsBy_SPEC, crate::common::RW>::from_ptr(
1214 self._svd2pac_as_ptr().add(135usize),
1215 )
1216 }
1217 }
1218
1219 #[doc = "Port 20%s Pin Function Select Register"]
1220 #[inline(always)]
1221 pub const fn p20pfs(
1222 &self,
1223 ) -> &'static crate::common::ClusterRegisterArray<
1224 crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW>,
1225 7,
1226 0x4,
1227 > {
1228 unsafe {
1229 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x88usize))
1230 }
1231 }
1232 #[inline(always)]
1233 pub const fn p202pfs(
1234 &self,
1235 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1236 unsafe {
1237 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1238 self._svd2pac_as_ptr().add(0x88usize),
1239 )
1240 }
1241 }
1242 #[inline(always)]
1243 pub const fn p203pfs(
1244 &self,
1245 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1246 unsafe {
1247 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1248 self._svd2pac_as_ptr().add(0x8cusize),
1249 )
1250 }
1251 }
1252 #[inline(always)]
1253 pub const fn p204pfs(
1254 &self,
1255 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1256 unsafe {
1257 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1258 self._svd2pac_as_ptr().add(0x90usize),
1259 )
1260 }
1261 }
1262 #[inline(always)]
1263 pub const fn p205pfs(
1264 &self,
1265 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1266 unsafe {
1267 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1268 self._svd2pac_as_ptr().add(0x94usize),
1269 )
1270 }
1271 }
1272 #[inline(always)]
1273 pub const fn p206pfs(
1274 &self,
1275 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1276 unsafe {
1277 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1278 self._svd2pac_as_ptr().add(0x98usize),
1279 )
1280 }
1281 }
1282 #[inline(always)]
1283 pub const fn p207pfs(
1284 &self,
1285 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1286 unsafe {
1287 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1288 self._svd2pac_as_ptr().add(0x9cusize),
1289 )
1290 }
1291 }
1292 #[inline(always)]
1293 pub const fn p208pfs(
1294 &self,
1295 ) -> &'static crate::common::Reg<self::P20Pfs_SPEC, crate::common::RW> {
1296 unsafe {
1297 crate::common::Reg::<self::P20Pfs_SPEC, crate::common::RW>::from_ptr(
1298 self._svd2pac_as_ptr().add(0xa0usize),
1299 )
1300 }
1301 }
1302
1303 #[doc = "Port 20%s Pin Function Select Register"]
1304 #[inline(always)]
1305 pub const fn p20pfs_ha(
1306 &self,
1307 ) -> &'static crate::common::ClusterRegisterArray<
1308 crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW>,
1309 7,
1310 0x4,
1311 > {
1312 unsafe {
1313 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x8ausize))
1314 }
1315 }
1316 #[inline(always)]
1317 pub const fn p202pfs_ha(
1318 &self,
1319 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1320 unsafe {
1321 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1322 self._svd2pac_as_ptr().add(0x8ausize),
1323 )
1324 }
1325 }
1326 #[inline(always)]
1327 pub const fn p203pfs_ha(
1328 &self,
1329 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1330 unsafe {
1331 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1332 self._svd2pac_as_ptr().add(0x8eusize),
1333 )
1334 }
1335 }
1336 #[inline(always)]
1337 pub const fn p204pfs_ha(
1338 &self,
1339 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1340 unsafe {
1341 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1342 self._svd2pac_as_ptr().add(0x92usize),
1343 )
1344 }
1345 }
1346 #[inline(always)]
1347 pub const fn p205pfs_ha(
1348 &self,
1349 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1350 unsafe {
1351 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1352 self._svd2pac_as_ptr().add(0x96usize),
1353 )
1354 }
1355 }
1356 #[inline(always)]
1357 pub const fn p206pfs_ha(
1358 &self,
1359 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1360 unsafe {
1361 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1362 self._svd2pac_as_ptr().add(0x9ausize),
1363 )
1364 }
1365 }
1366 #[inline(always)]
1367 pub const fn p207pfs_ha(
1368 &self,
1369 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1370 unsafe {
1371 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1372 self._svd2pac_as_ptr().add(0x9eusize),
1373 )
1374 }
1375 }
1376 #[inline(always)]
1377 pub const fn p208pfs_ha(
1378 &self,
1379 ) -> &'static crate::common::Reg<self::P20PfsHa_SPEC, crate::common::RW> {
1380 unsafe {
1381 crate::common::Reg::<self::P20PfsHa_SPEC, crate::common::RW>::from_ptr(
1382 self._svd2pac_as_ptr().add(0xa2usize),
1383 )
1384 }
1385 }
1386
1387 #[doc = "Port 20%s Pin Function Select Register"]
1388 #[inline(always)]
1389 pub const fn p20pfs_by(
1390 &self,
1391 ) -> &'static crate::common::ClusterRegisterArray<
1392 crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW>,
1393 7,
1394 0x4,
1395 > {
1396 unsafe {
1397 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x8busize))
1398 }
1399 }
1400 #[inline(always)]
1401 pub const fn p202pfs_by(
1402 &self,
1403 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1404 unsafe {
1405 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1406 self._svd2pac_as_ptr().add(0x8busize),
1407 )
1408 }
1409 }
1410 #[inline(always)]
1411 pub const fn p203pfs_by(
1412 &self,
1413 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1414 unsafe {
1415 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1416 self._svd2pac_as_ptr().add(0x8fusize),
1417 )
1418 }
1419 }
1420 #[inline(always)]
1421 pub const fn p204pfs_by(
1422 &self,
1423 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1424 unsafe {
1425 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1426 self._svd2pac_as_ptr().add(0x93usize),
1427 )
1428 }
1429 }
1430 #[inline(always)]
1431 pub const fn p205pfs_by(
1432 &self,
1433 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1434 unsafe {
1435 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1436 self._svd2pac_as_ptr().add(0x97usize),
1437 )
1438 }
1439 }
1440 #[inline(always)]
1441 pub const fn p206pfs_by(
1442 &self,
1443 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1444 unsafe {
1445 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1446 self._svd2pac_as_ptr().add(0x9busize),
1447 )
1448 }
1449 }
1450 #[inline(always)]
1451 pub const fn p207pfs_by(
1452 &self,
1453 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1454 unsafe {
1455 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1456 self._svd2pac_as_ptr().add(0x9fusize),
1457 )
1458 }
1459 }
1460 #[inline(always)]
1461 pub const fn p208pfs_by(
1462 &self,
1463 ) -> &'static crate::common::Reg<self::P20PfsBy_SPEC, crate::common::RW> {
1464 unsafe {
1465 crate::common::Reg::<self::P20PfsBy_SPEC, crate::common::RW>::from_ptr(
1466 self._svd2pac_as_ptr().add(0xa3usize),
1467 )
1468 }
1469 }
1470
1471 #[doc = "Port 2%s Pin Function Select Register"]
1472 #[inline(always)]
1473 pub const fn p2pfs(
1474 &self,
1475 ) -> &'static crate::common::ClusterRegisterArray<
1476 crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW>,
1477 4,
1478 0x4,
1479 > {
1480 unsafe {
1481 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xb0usize))
1482 }
1483 }
1484 #[inline(always)]
1485 pub const fn p212pfs(
1486 &self,
1487 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1488 unsafe {
1489 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1490 self._svd2pac_as_ptr().add(0xb0usize),
1491 )
1492 }
1493 }
1494 #[inline(always)]
1495 pub const fn p213pfs(
1496 &self,
1497 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1498 unsafe {
1499 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1500 self._svd2pac_as_ptr().add(0xb4usize),
1501 )
1502 }
1503 }
1504 #[inline(always)]
1505 pub const fn p214pfs(
1506 &self,
1507 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1508 unsafe {
1509 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1510 self._svd2pac_as_ptr().add(0xb8usize),
1511 )
1512 }
1513 }
1514 #[inline(always)]
1515 pub const fn p215pfs(
1516 &self,
1517 ) -> &'static crate::common::Reg<self::P2Pfs_SPEC, crate::common::RW> {
1518 unsafe {
1519 crate::common::Reg::<self::P2Pfs_SPEC, crate::common::RW>::from_ptr(
1520 self._svd2pac_as_ptr().add(0xbcusize),
1521 )
1522 }
1523 }
1524
1525 #[doc = "Port 2%s Pin Function Select Register"]
1526 #[inline(always)]
1527 pub const fn p2pfs_ha(
1528 &self,
1529 ) -> &'static crate::common::ClusterRegisterArray<
1530 crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW>,
1531 4,
1532 0x4,
1533 > {
1534 unsafe {
1535 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xb2usize))
1536 }
1537 }
1538 #[inline(always)]
1539 pub const fn p212pfs_ha(
1540 &self,
1541 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1542 unsafe {
1543 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1544 self._svd2pac_as_ptr().add(0xb2usize),
1545 )
1546 }
1547 }
1548 #[inline(always)]
1549 pub const fn p213pfs_ha(
1550 &self,
1551 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1552 unsafe {
1553 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1554 self._svd2pac_as_ptr().add(0xb6usize),
1555 )
1556 }
1557 }
1558 #[inline(always)]
1559 pub const fn p214pfs_ha(
1560 &self,
1561 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1562 unsafe {
1563 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1564 self._svd2pac_as_ptr().add(0xbausize),
1565 )
1566 }
1567 }
1568 #[inline(always)]
1569 pub const fn p215pfs_ha(
1570 &self,
1571 ) -> &'static crate::common::Reg<self::P2PfsHa_SPEC, crate::common::RW> {
1572 unsafe {
1573 crate::common::Reg::<self::P2PfsHa_SPEC, crate::common::RW>::from_ptr(
1574 self._svd2pac_as_ptr().add(0xbeusize),
1575 )
1576 }
1577 }
1578
1579 #[doc = "Port 2%s Pin Function Select Register"]
1580 #[inline(always)]
1581 pub const fn p2pfs_by(
1582 &self,
1583 ) -> &'static crate::common::ClusterRegisterArray<
1584 crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW>,
1585 4,
1586 0x4,
1587 > {
1588 unsafe {
1589 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xb3usize))
1590 }
1591 }
1592 #[inline(always)]
1593 pub const fn p212pfs_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(0xb3usize),
1599 )
1600 }
1601 }
1602 #[inline(always)]
1603 pub const fn p213pfs_by(
1604 &self,
1605 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1606 unsafe {
1607 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1608 self._svd2pac_as_ptr().add(0xb7usize),
1609 )
1610 }
1611 }
1612 #[inline(always)]
1613 pub const fn p214pfs_by(
1614 &self,
1615 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1616 unsafe {
1617 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1618 self._svd2pac_as_ptr().add(0xbbusize),
1619 )
1620 }
1621 }
1622 #[inline(always)]
1623 pub const fn p215pfs_by(
1624 &self,
1625 ) -> &'static crate::common::Reg<self::P2PfsBy_SPEC, crate::common::RW> {
1626 unsafe {
1627 crate::common::Reg::<self::P2PfsBy_SPEC, crate::common::RW>::from_ptr(
1628 self._svd2pac_as_ptr().add(0xbfusize),
1629 )
1630 }
1631 }
1632
1633 #[doc = "Port 300 Pin Function Select Register"]
1634 #[inline(always)]
1635 pub const fn p300pfs(
1636 &self,
1637 ) -> &'static crate::common::Reg<self::P300Pfs_SPEC, crate::common::RW> {
1638 unsafe {
1639 crate::common::Reg::<self::P300Pfs_SPEC, crate::common::RW>::from_ptr(
1640 self._svd2pac_as_ptr().add(192usize),
1641 )
1642 }
1643 }
1644
1645 #[doc = "Port 300 Pin Function Select Register"]
1646 #[inline(always)]
1647 pub const fn p300pfs_ha(
1648 &self,
1649 ) -> &'static crate::common::Reg<self::P300PfsHa_SPEC, crate::common::RW> {
1650 unsafe {
1651 crate::common::Reg::<self::P300PfsHa_SPEC, crate::common::RW>::from_ptr(
1652 self._svd2pac_as_ptr().add(194usize),
1653 )
1654 }
1655 }
1656
1657 #[doc = "Port 300 Pin Function Select Register"]
1658 #[inline(always)]
1659 pub const fn p300pfs_by(
1660 &self,
1661 ) -> &'static crate::common::Reg<self::P300PfsBy_SPEC, crate::common::RW> {
1662 unsafe {
1663 crate::common::Reg::<self::P300PfsBy_SPEC, crate::common::RW>::from_ptr(
1664 self._svd2pac_as_ptr().add(195usize),
1665 )
1666 }
1667 }
1668
1669 #[doc = "Port 30%s Pin Function Select Register"]
1670 #[inline(always)]
1671 pub const fn p30pfs(
1672 &self,
1673 ) -> &'static crate::common::ClusterRegisterArray<
1674 crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW>,
1675 7,
1676 0x4,
1677 > {
1678 unsafe {
1679 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc4usize))
1680 }
1681 }
1682 #[inline(always)]
1683 pub const fn p301pfs(
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(0xc4usize),
1689 )
1690 }
1691 }
1692 #[inline(always)]
1693 pub const fn p302pfs(
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(0xc8usize),
1699 )
1700 }
1701 }
1702 #[inline(always)]
1703 pub const fn p303pfs(
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(0xccusize),
1709 )
1710 }
1711 }
1712 #[inline(always)]
1713 pub const fn p304pfs(
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(0xd0usize),
1719 )
1720 }
1721 }
1722 #[inline(always)]
1723 pub const fn p305pfs(
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(0xd4usize),
1729 )
1730 }
1731 }
1732 #[inline(always)]
1733 pub const fn p306pfs(
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(0xd8usize),
1739 )
1740 }
1741 }
1742 #[inline(always)]
1743 pub const fn p307pfs(
1744 &self,
1745 ) -> &'static crate::common::Reg<self::P30Pfs_SPEC, crate::common::RW> {
1746 unsafe {
1747 crate::common::Reg::<self::P30Pfs_SPEC, crate::common::RW>::from_ptr(
1748 self._svd2pac_as_ptr().add(0xdcusize),
1749 )
1750 }
1751 }
1752
1753 #[doc = "Port 30%s Pin Function Select Register"]
1754 #[inline(always)]
1755 pub const fn p30pfs_ha(
1756 &self,
1757 ) -> &'static crate::common::ClusterRegisterArray<
1758 crate::common::Reg<self::P30PfsHa_SPEC, crate::common::RW>,
1759 7,
1760 0x4,
1761 > {
1762 unsafe {
1763 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc6usize))
1764 }
1765 }
1766 #[inline(always)]
1767 pub const fn p301pfs_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(0xc6usize),
1773 )
1774 }
1775 }
1776 #[inline(always)]
1777 pub const fn p302pfs_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(0xcausize),
1783 )
1784 }
1785 }
1786 #[inline(always)]
1787 pub const fn p303pfs_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(0xceusize),
1793 )
1794 }
1795 }
1796 #[inline(always)]
1797 pub const fn p304pfs_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(0xd2usize),
1803 )
1804 }
1805 }
1806 #[inline(always)]
1807 pub const fn p305pfs_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(0xd6usize),
1813 )
1814 }
1815 }
1816 #[inline(always)]
1817 pub const fn p306pfs_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(0xdausize),
1823 )
1824 }
1825 }
1826 #[inline(always)]
1827 pub const fn p307pfs_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(0xdeusize),
1833 )
1834 }
1835 }
1836
1837 #[doc = "Port 30%s Pin Function Select Register"]
1838 #[inline(always)]
1839 pub const fn p30pfs_by(
1840 &self,
1841 ) -> &'static crate::common::ClusterRegisterArray<
1842 crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW>,
1843 7,
1844 0x4,
1845 > {
1846 unsafe {
1847 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xc7usize))
1848 }
1849 }
1850 #[inline(always)]
1851 pub const fn p301pfs_by(
1852 &self,
1853 ) -> &'static crate::common::Reg<self::P30PfsBy_SPEC, crate::common::RW> {
1854 unsafe {
1855 crate::common::Reg::<self::P30PfsBy_SPEC, crate::common::RW>::from_ptr(
1856 self._svd2pac_as_ptr().add(0xc7usize),
1857 )
1858 }
1859 }
1860 #[inline(always)]
1861 pub const fn p302pfs_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(0xcbusize),
1867 )
1868 }
1869 }
1870 #[inline(always)]
1871 pub const fn p303pfs_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(0xcfusize),
1877 )
1878 }
1879 }
1880 #[inline(always)]
1881 pub const fn p304pfs_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(0xd3usize),
1887 )
1888 }
1889 }
1890 #[inline(always)]
1891 pub const fn p305pfs_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(0xd7usize),
1897 )
1898 }
1899 }
1900 #[inline(always)]
1901 pub const fn p306pfs_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(0xdbusize),
1907 )
1908 }
1909 }
1910 #[inline(always)]
1911 pub const fn p307pfs_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(0xdfusize),
1917 )
1918 }
1919 }
1920
1921 #[doc = "Port 40%s Pin Function Select Register"]
1922 #[inline(always)]
1923 pub const fn p40pfs(
1924 &self,
1925 ) -> &'static crate::common::ClusterRegisterArray<
1926 crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW>,
1927 10,
1928 0x4,
1929 > {
1930 unsafe {
1931 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x100usize))
1932 }
1933 }
1934 #[inline(always)]
1935 pub const fn p400pfs(
1936 &self,
1937 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1938 unsafe {
1939 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1940 self._svd2pac_as_ptr().add(0x100usize),
1941 )
1942 }
1943 }
1944 #[inline(always)]
1945 pub const fn p401pfs(
1946 &self,
1947 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1948 unsafe {
1949 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1950 self._svd2pac_as_ptr().add(0x104usize),
1951 )
1952 }
1953 }
1954 #[inline(always)]
1955 pub const fn p402pfs(
1956 &self,
1957 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1958 unsafe {
1959 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1960 self._svd2pac_as_ptr().add(0x108usize),
1961 )
1962 }
1963 }
1964 #[inline(always)]
1965 pub const fn p403pfs(
1966 &self,
1967 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1968 unsafe {
1969 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1970 self._svd2pac_as_ptr().add(0x10cusize),
1971 )
1972 }
1973 }
1974 #[inline(always)]
1975 pub const fn p404pfs(
1976 &self,
1977 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1978 unsafe {
1979 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1980 self._svd2pac_as_ptr().add(0x110usize),
1981 )
1982 }
1983 }
1984 #[inline(always)]
1985 pub const fn p405pfs(
1986 &self,
1987 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1988 unsafe {
1989 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
1990 self._svd2pac_as_ptr().add(0x114usize),
1991 )
1992 }
1993 }
1994 #[inline(always)]
1995 pub const fn p406pfs(
1996 &self,
1997 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
1998 unsafe {
1999 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2000 self._svd2pac_as_ptr().add(0x118usize),
2001 )
2002 }
2003 }
2004 #[inline(always)]
2005 pub const fn p407pfs(
2006 &self,
2007 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2008 unsafe {
2009 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2010 self._svd2pac_as_ptr().add(0x11cusize),
2011 )
2012 }
2013 }
2014 #[inline(always)]
2015 pub const fn p408pfs(
2016 &self,
2017 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2018 unsafe {
2019 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2020 self._svd2pac_as_ptr().add(0x120usize),
2021 )
2022 }
2023 }
2024 #[inline(always)]
2025 pub const fn p409pfs(
2026 &self,
2027 ) -> &'static crate::common::Reg<self::P40Pfs_SPEC, crate::common::RW> {
2028 unsafe {
2029 crate::common::Reg::<self::P40Pfs_SPEC, crate::common::RW>::from_ptr(
2030 self._svd2pac_as_ptr().add(0x124usize),
2031 )
2032 }
2033 }
2034
2035 #[doc = "Port 40%s Pin Function Select Register"]
2036 #[inline(always)]
2037 pub const fn p40pfs_ha(
2038 &self,
2039 ) -> &'static crate::common::ClusterRegisterArray<
2040 crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW>,
2041 10,
2042 0x4,
2043 > {
2044 unsafe {
2045 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x102usize))
2046 }
2047 }
2048 #[inline(always)]
2049 pub const fn p400pfs_ha(
2050 &self,
2051 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2052 unsafe {
2053 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2054 self._svd2pac_as_ptr().add(0x102usize),
2055 )
2056 }
2057 }
2058 #[inline(always)]
2059 pub const fn p401pfs_ha(
2060 &self,
2061 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2062 unsafe {
2063 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2064 self._svd2pac_as_ptr().add(0x106usize),
2065 )
2066 }
2067 }
2068 #[inline(always)]
2069 pub const fn p402pfs_ha(
2070 &self,
2071 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2072 unsafe {
2073 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2074 self._svd2pac_as_ptr().add(0x10ausize),
2075 )
2076 }
2077 }
2078 #[inline(always)]
2079 pub const fn p403pfs_ha(
2080 &self,
2081 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2082 unsafe {
2083 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2084 self._svd2pac_as_ptr().add(0x10eusize),
2085 )
2086 }
2087 }
2088 #[inline(always)]
2089 pub const fn p404pfs_ha(
2090 &self,
2091 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2092 unsafe {
2093 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2094 self._svd2pac_as_ptr().add(0x112usize),
2095 )
2096 }
2097 }
2098 #[inline(always)]
2099 pub const fn p405pfs_ha(
2100 &self,
2101 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2102 unsafe {
2103 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2104 self._svd2pac_as_ptr().add(0x116usize),
2105 )
2106 }
2107 }
2108 #[inline(always)]
2109 pub const fn p406pfs_ha(
2110 &self,
2111 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2112 unsafe {
2113 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2114 self._svd2pac_as_ptr().add(0x11ausize),
2115 )
2116 }
2117 }
2118 #[inline(always)]
2119 pub const fn p407pfs_ha(
2120 &self,
2121 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2122 unsafe {
2123 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2124 self._svd2pac_as_ptr().add(0x11eusize),
2125 )
2126 }
2127 }
2128 #[inline(always)]
2129 pub const fn p408pfs_ha(
2130 &self,
2131 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2132 unsafe {
2133 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2134 self._svd2pac_as_ptr().add(0x122usize),
2135 )
2136 }
2137 }
2138 #[inline(always)]
2139 pub const fn p409pfs_ha(
2140 &self,
2141 ) -> &'static crate::common::Reg<self::P40PfsHa_SPEC, crate::common::RW> {
2142 unsafe {
2143 crate::common::Reg::<self::P40PfsHa_SPEC, crate::common::RW>::from_ptr(
2144 self._svd2pac_as_ptr().add(0x126usize),
2145 )
2146 }
2147 }
2148
2149 #[doc = "Port 40%s Pin Function Select Register"]
2150 #[inline(always)]
2151 pub const fn p40pfs_by(
2152 &self,
2153 ) -> &'static crate::common::ClusterRegisterArray<
2154 crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW>,
2155 10,
2156 0x4,
2157 > {
2158 unsafe {
2159 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x103usize))
2160 }
2161 }
2162 #[inline(always)]
2163 pub const fn p400pfs_by(
2164 &self,
2165 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2166 unsafe {
2167 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2168 self._svd2pac_as_ptr().add(0x103usize),
2169 )
2170 }
2171 }
2172 #[inline(always)]
2173 pub const fn p401pfs_by(
2174 &self,
2175 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2176 unsafe {
2177 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2178 self._svd2pac_as_ptr().add(0x107usize),
2179 )
2180 }
2181 }
2182 #[inline(always)]
2183 pub const fn p402pfs_by(
2184 &self,
2185 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2186 unsafe {
2187 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2188 self._svd2pac_as_ptr().add(0x10busize),
2189 )
2190 }
2191 }
2192 #[inline(always)]
2193 pub const fn p403pfs_by(
2194 &self,
2195 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2196 unsafe {
2197 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2198 self._svd2pac_as_ptr().add(0x10fusize),
2199 )
2200 }
2201 }
2202 #[inline(always)]
2203 pub const fn p404pfs_by(
2204 &self,
2205 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2206 unsafe {
2207 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2208 self._svd2pac_as_ptr().add(0x113usize),
2209 )
2210 }
2211 }
2212 #[inline(always)]
2213 pub const fn p405pfs_by(
2214 &self,
2215 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2216 unsafe {
2217 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2218 self._svd2pac_as_ptr().add(0x117usize),
2219 )
2220 }
2221 }
2222 #[inline(always)]
2223 pub const fn p406pfs_by(
2224 &self,
2225 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2226 unsafe {
2227 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2228 self._svd2pac_as_ptr().add(0x11busize),
2229 )
2230 }
2231 }
2232 #[inline(always)]
2233 pub const fn p407pfs_by(
2234 &self,
2235 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2236 unsafe {
2237 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2238 self._svd2pac_as_ptr().add(0x11fusize),
2239 )
2240 }
2241 }
2242 #[inline(always)]
2243 pub const fn p408pfs_by(
2244 &self,
2245 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2246 unsafe {
2247 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2248 self._svd2pac_as_ptr().add(0x123usize),
2249 )
2250 }
2251 }
2252 #[inline(always)]
2253 pub const fn p409pfs_by(
2254 &self,
2255 ) -> &'static crate::common::Reg<self::P40PfsBy_SPEC, crate::common::RW> {
2256 unsafe {
2257 crate::common::Reg::<self::P40PfsBy_SPEC, crate::common::RW>::from_ptr(
2258 self._svd2pac_as_ptr().add(0x127usize),
2259 )
2260 }
2261 }
2262
2263 #[doc = "Port 4%s Pin Function Select Register"]
2264 #[inline(always)]
2265 pub const fn p4pfs(
2266 &self,
2267 ) -> &'static crate::common::ClusterRegisterArray<
2268 crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW>,
2269 6,
2270 0x4,
2271 > {
2272 unsafe {
2273 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x128usize))
2274 }
2275 }
2276 #[inline(always)]
2277 pub const fn p410pfs(
2278 &self,
2279 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2280 unsafe {
2281 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2282 self._svd2pac_as_ptr().add(0x128usize),
2283 )
2284 }
2285 }
2286 #[inline(always)]
2287 pub const fn p411pfs(
2288 &self,
2289 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2290 unsafe {
2291 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2292 self._svd2pac_as_ptr().add(0x12cusize),
2293 )
2294 }
2295 }
2296 #[inline(always)]
2297 pub const fn p412pfs(
2298 &self,
2299 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2300 unsafe {
2301 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2302 self._svd2pac_as_ptr().add(0x130usize),
2303 )
2304 }
2305 }
2306 #[inline(always)]
2307 pub const fn p413pfs(
2308 &self,
2309 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2310 unsafe {
2311 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2312 self._svd2pac_as_ptr().add(0x134usize),
2313 )
2314 }
2315 }
2316 #[inline(always)]
2317 pub const fn p414pfs(
2318 &self,
2319 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2320 unsafe {
2321 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2322 self._svd2pac_as_ptr().add(0x138usize),
2323 )
2324 }
2325 }
2326 #[inline(always)]
2327 pub const fn p415pfs(
2328 &self,
2329 ) -> &'static crate::common::Reg<self::P4Pfs_SPEC, crate::common::RW> {
2330 unsafe {
2331 crate::common::Reg::<self::P4Pfs_SPEC, crate::common::RW>::from_ptr(
2332 self._svd2pac_as_ptr().add(0x13cusize),
2333 )
2334 }
2335 }
2336
2337 #[doc = "Port 4%s Pin Function Select Register"]
2338 #[inline(always)]
2339 pub const fn p4pfs_ha(
2340 &self,
2341 ) -> &'static crate::common::ClusterRegisterArray<
2342 crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW>,
2343 6,
2344 0x4,
2345 > {
2346 unsafe {
2347 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x12ausize))
2348 }
2349 }
2350 #[inline(always)]
2351 pub const fn p410pfs_ha(
2352 &self,
2353 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2354 unsafe {
2355 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2356 self._svd2pac_as_ptr().add(0x12ausize),
2357 )
2358 }
2359 }
2360 #[inline(always)]
2361 pub const fn p411pfs_ha(
2362 &self,
2363 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2364 unsafe {
2365 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2366 self._svd2pac_as_ptr().add(0x12eusize),
2367 )
2368 }
2369 }
2370 #[inline(always)]
2371 pub const fn p412pfs_ha(
2372 &self,
2373 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2374 unsafe {
2375 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2376 self._svd2pac_as_ptr().add(0x132usize),
2377 )
2378 }
2379 }
2380 #[inline(always)]
2381 pub const fn p413pfs_ha(
2382 &self,
2383 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2384 unsafe {
2385 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2386 self._svd2pac_as_ptr().add(0x136usize),
2387 )
2388 }
2389 }
2390 #[inline(always)]
2391 pub const fn p414pfs_ha(
2392 &self,
2393 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2394 unsafe {
2395 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2396 self._svd2pac_as_ptr().add(0x13ausize),
2397 )
2398 }
2399 }
2400 #[inline(always)]
2401 pub const fn p415pfs_ha(
2402 &self,
2403 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2404 unsafe {
2405 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2406 self._svd2pac_as_ptr().add(0x13eusize),
2407 )
2408 }
2409 }
2410
2411 #[doc = "Port 4%s Pin Function Select Register"]
2412 #[inline(always)]
2413 pub const fn p4pfs_by(
2414 &self,
2415 ) -> &'static crate::common::ClusterRegisterArray<
2416 crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW>,
2417 6,
2418 0x4,
2419 > {
2420 unsafe {
2421 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x12busize))
2422 }
2423 }
2424 #[inline(always)]
2425 pub const fn p410pfs_by(
2426 &self,
2427 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2428 unsafe {
2429 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2430 self._svd2pac_as_ptr().add(0x12busize),
2431 )
2432 }
2433 }
2434 #[inline(always)]
2435 pub const fn p411pfs_by(
2436 &self,
2437 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2438 unsafe {
2439 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2440 self._svd2pac_as_ptr().add(0x12fusize),
2441 )
2442 }
2443 }
2444 #[inline(always)]
2445 pub const fn p412pfs_by(
2446 &self,
2447 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2448 unsafe {
2449 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2450 self._svd2pac_as_ptr().add(0x133usize),
2451 )
2452 }
2453 }
2454 #[inline(always)]
2455 pub const fn p413pfs_by(
2456 &self,
2457 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2458 unsafe {
2459 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2460 self._svd2pac_as_ptr().add(0x137usize),
2461 )
2462 }
2463 }
2464 #[inline(always)]
2465 pub const fn p414pfs_by(
2466 &self,
2467 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2468 unsafe {
2469 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2470 self._svd2pac_as_ptr().add(0x13busize),
2471 )
2472 }
2473 }
2474 #[inline(always)]
2475 pub const fn p415pfs_by(
2476 &self,
2477 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2478 unsafe {
2479 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2480 self._svd2pac_as_ptr().add(0x13fusize),
2481 )
2482 }
2483 }
2484
2485 #[doc = "Port 50%s Pin Function Select Register"]
2486 #[inline(always)]
2487 pub const fn p50pfs(
2488 &self,
2489 ) -> &'static crate::common::ClusterRegisterArray<
2490 crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW>,
2491 6,
2492 0x4,
2493 > {
2494 unsafe {
2495 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x140usize))
2496 }
2497 }
2498 #[inline(always)]
2499 pub const fn p500pfs(
2500 &self,
2501 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2502 unsafe {
2503 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2504 self._svd2pac_as_ptr().add(0x140usize),
2505 )
2506 }
2507 }
2508 #[inline(always)]
2509 pub const fn p501pfs(
2510 &self,
2511 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2512 unsafe {
2513 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2514 self._svd2pac_as_ptr().add(0x144usize),
2515 )
2516 }
2517 }
2518 #[inline(always)]
2519 pub const fn p502pfs(
2520 &self,
2521 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2522 unsafe {
2523 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2524 self._svd2pac_as_ptr().add(0x148usize),
2525 )
2526 }
2527 }
2528 #[inline(always)]
2529 pub const fn p503pfs(
2530 &self,
2531 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2532 unsafe {
2533 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2534 self._svd2pac_as_ptr().add(0x14cusize),
2535 )
2536 }
2537 }
2538 #[inline(always)]
2539 pub const fn p504pfs(
2540 &self,
2541 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2542 unsafe {
2543 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2544 self._svd2pac_as_ptr().add(0x150usize),
2545 )
2546 }
2547 }
2548 #[inline(always)]
2549 pub const fn p505pfs(
2550 &self,
2551 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2552 unsafe {
2553 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2554 self._svd2pac_as_ptr().add(0x154usize),
2555 )
2556 }
2557 }
2558
2559 #[doc = "Port 50%s Pin Function Select Register"]
2560 #[inline(always)]
2561 pub const fn p50pfs_ha(
2562 &self,
2563 ) -> &'static crate::common::ClusterRegisterArray<
2564 crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW>,
2565 6,
2566 0x4,
2567 > {
2568 unsafe {
2569 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x142usize))
2570 }
2571 }
2572 #[inline(always)]
2573 pub const fn p500pfs_ha(
2574 &self,
2575 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2576 unsafe {
2577 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2578 self._svd2pac_as_ptr().add(0x142usize),
2579 )
2580 }
2581 }
2582 #[inline(always)]
2583 pub const fn p501pfs_ha(
2584 &self,
2585 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2586 unsafe {
2587 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2588 self._svd2pac_as_ptr().add(0x146usize),
2589 )
2590 }
2591 }
2592 #[inline(always)]
2593 pub const fn p502pfs_ha(
2594 &self,
2595 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2596 unsafe {
2597 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2598 self._svd2pac_as_ptr().add(0x14ausize),
2599 )
2600 }
2601 }
2602 #[inline(always)]
2603 pub const fn p503pfs_ha(
2604 &self,
2605 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2606 unsafe {
2607 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2608 self._svd2pac_as_ptr().add(0x14eusize),
2609 )
2610 }
2611 }
2612 #[inline(always)]
2613 pub const fn p504pfs_ha(
2614 &self,
2615 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2616 unsafe {
2617 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2618 self._svd2pac_as_ptr().add(0x152usize),
2619 )
2620 }
2621 }
2622 #[inline(always)]
2623 pub const fn p505pfs_ha(
2624 &self,
2625 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2626 unsafe {
2627 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2628 self._svd2pac_as_ptr().add(0x156usize),
2629 )
2630 }
2631 }
2632
2633 #[doc = "Port 50%s Pin Function Select Register"]
2634 #[inline(always)]
2635 pub const fn p50pfs_by(
2636 &self,
2637 ) -> &'static crate::common::ClusterRegisterArray<
2638 crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW>,
2639 6,
2640 0x4,
2641 > {
2642 unsafe {
2643 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x143usize))
2644 }
2645 }
2646 #[inline(always)]
2647 pub const fn p500pfs_by(
2648 &self,
2649 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2650 unsafe {
2651 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2652 self._svd2pac_as_ptr().add(0x143usize),
2653 )
2654 }
2655 }
2656 #[inline(always)]
2657 pub const fn p501pfs_by(
2658 &self,
2659 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2660 unsafe {
2661 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2662 self._svd2pac_as_ptr().add(0x147usize),
2663 )
2664 }
2665 }
2666 #[inline(always)]
2667 pub const fn p502pfs_by(
2668 &self,
2669 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2670 unsafe {
2671 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2672 self._svd2pac_as_ptr().add(0x14busize),
2673 )
2674 }
2675 }
2676 #[inline(always)]
2677 pub const fn p503pfs_by(
2678 &self,
2679 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2680 unsafe {
2681 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2682 self._svd2pac_as_ptr().add(0x14fusize),
2683 )
2684 }
2685 }
2686 #[inline(always)]
2687 pub const fn p504pfs_by(
2688 &self,
2689 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2690 unsafe {
2691 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2692 self._svd2pac_as_ptr().add(0x153usize),
2693 )
2694 }
2695 }
2696 #[inline(always)]
2697 pub const fn p505pfs_by(
2698 &self,
2699 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2700 unsafe {
2701 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2702 self._svd2pac_as_ptr().add(0x157usize),
2703 )
2704 }
2705 }
2706
2707 #[doc = "Port 60%s Pin Function Select Register"]
2708 #[inline(always)]
2709 pub const fn p60pfs(
2710 &self,
2711 ) -> &'static crate::common::ClusterRegisterArray<
2712 crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW>,
2713 2,
2714 0x4,
2715 > {
2716 unsafe {
2717 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a0usize))
2718 }
2719 }
2720 #[inline(always)]
2721 pub const fn p608pfs(
2722 &self,
2723 ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
2724 unsafe {
2725 crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
2726 self._svd2pac_as_ptr().add(0x1a0usize),
2727 )
2728 }
2729 }
2730 #[inline(always)]
2731 pub const fn p609pfs(
2732 &self,
2733 ) -> &'static crate::common::Reg<self::P60Pfs_SPEC, crate::common::RW> {
2734 unsafe {
2735 crate::common::Reg::<self::P60Pfs_SPEC, crate::common::RW>::from_ptr(
2736 self._svd2pac_as_ptr().add(0x1a4usize),
2737 )
2738 }
2739 }
2740
2741 #[doc = "Port 60%s Pin Function Select Register"]
2742 #[inline(always)]
2743 pub const fn p60pfs_ha(
2744 &self,
2745 ) -> &'static crate::common::ClusterRegisterArray<
2746 crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW>,
2747 2,
2748 0x4,
2749 > {
2750 unsafe {
2751 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a2usize))
2752 }
2753 }
2754 #[inline(always)]
2755 pub const fn p608pfs_ha(
2756 &self,
2757 ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
2758 unsafe {
2759 crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
2760 self._svd2pac_as_ptr().add(0x1a2usize),
2761 )
2762 }
2763 }
2764 #[inline(always)]
2765 pub const fn p609pfs_ha(
2766 &self,
2767 ) -> &'static crate::common::Reg<self::P60PfsHa_SPEC, crate::common::RW> {
2768 unsafe {
2769 crate::common::Reg::<self::P60PfsHa_SPEC, crate::common::RW>::from_ptr(
2770 self._svd2pac_as_ptr().add(0x1a6usize),
2771 )
2772 }
2773 }
2774
2775 #[doc = "Port 60%s Pin Function Select Register"]
2776 #[inline(always)]
2777 pub const fn p60pfs_by(
2778 &self,
2779 ) -> &'static crate::common::ClusterRegisterArray<
2780 crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW>,
2781 2,
2782 0x4,
2783 > {
2784 unsafe {
2785 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x1a3usize))
2786 }
2787 }
2788 #[inline(always)]
2789 pub const fn p608pfs_by(
2790 &self,
2791 ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
2792 unsafe {
2793 crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
2794 self._svd2pac_as_ptr().add(0x1a3usize),
2795 )
2796 }
2797 }
2798 #[inline(always)]
2799 pub const fn p609pfs_by(
2800 &self,
2801 ) -> &'static crate::common::Reg<self::P60PfsBy_SPEC, crate::common::RW> {
2802 unsafe {
2803 crate::common::Reg::<self::P60PfsBy_SPEC, crate::common::RW>::from_ptr(
2804 self._svd2pac_as_ptr().add(0x1a7usize),
2805 )
2806 }
2807 }
2808
2809 #[doc = "Port 610 Pin Function Select Register"]
2810 #[inline(always)]
2811 pub const fn p610pfs(
2812 &self,
2813 ) -> &'static crate::common::Reg<self::P610Pfs_SPEC, crate::common::RW> {
2814 unsafe {
2815 crate::common::Reg::<self::P610Pfs_SPEC, crate::common::RW>::from_ptr(
2816 self._svd2pac_as_ptr().add(424usize),
2817 )
2818 }
2819 }
2820
2821 #[doc = "Port 610 Pin Function Select Register"]
2822 #[inline(always)]
2823 pub const fn p610pfs_ha(
2824 &self,
2825 ) -> &'static crate::common::Reg<self::P610PfsHa_SPEC, crate::common::RW> {
2826 unsafe {
2827 crate::common::Reg::<self::P610PfsHa_SPEC, crate::common::RW>::from_ptr(
2828 self._svd2pac_as_ptr().add(426usize),
2829 )
2830 }
2831 }
2832
2833 #[doc = "Port 610 Pin Function Select Register"]
2834 #[inline(always)]
2835 pub const fn p610pfs_by(
2836 &self,
2837 ) -> &'static crate::common::Reg<self::P610PfsBy_SPEC, crate::common::RW> {
2838 unsafe {
2839 crate::common::Reg::<self::P610PfsBy_SPEC, crate::common::RW>::from_ptr(
2840 self._svd2pac_as_ptr().add(427usize),
2841 )
2842 }
2843 }
2844
2845 #[doc = "Port 708 Pin Function Select Register"]
2846 #[inline(always)]
2847 pub const fn p708pfs(
2848 &self,
2849 ) -> &'static crate::common::Reg<self::P708Pfs_SPEC, crate::common::RW> {
2850 unsafe {
2851 crate::common::Reg::<self::P708Pfs_SPEC, crate::common::RW>::from_ptr(
2852 self._svd2pac_as_ptr().add(480usize),
2853 )
2854 }
2855 }
2856
2857 #[doc = "Port 708 Pin Function Select Register"]
2858 #[inline(always)]
2859 pub const fn p708pfs_ha(
2860 &self,
2861 ) -> &'static crate::common::Reg<self::P708PfsHa_SPEC, crate::common::RW> {
2862 unsafe {
2863 crate::common::Reg::<self::P708PfsHa_SPEC, crate::common::RW>::from_ptr(
2864 self._svd2pac_as_ptr().add(482usize),
2865 )
2866 }
2867 }
2868
2869 #[doc = "Port 708 Pin Function Select Register"]
2870 #[inline(always)]
2871 pub const fn p708pfs_by(
2872 &self,
2873 ) -> &'static crate::common::Reg<self::P708PfsBy_SPEC, crate::common::RW> {
2874 unsafe {
2875 crate::common::Reg::<self::P708PfsBy_SPEC, crate::common::RW>::from_ptr(
2876 self._svd2pac_as_ptr().add(483usize),
2877 )
2878 }
2879 }
2880
2881 #[doc = "Port 714 Pin Function Select Register"]
2882 #[inline(always)]
2883 pub const fn p714pfs(
2884 &self,
2885 ) -> &'static crate::common::Reg<self::P714Pfs_SPEC, crate::common::RW> {
2886 unsafe {
2887 crate::common::Reg::<self::P714Pfs_SPEC, crate::common::RW>::from_ptr(
2888 self._svd2pac_as_ptr().add(504usize),
2889 )
2890 }
2891 }
2892
2893 #[doc = "Port 714 Pin Function Select Register"]
2894 #[inline(always)]
2895 pub const fn p714pfs_ha(
2896 &self,
2897 ) -> &'static crate::common::Reg<self::P714PfsHa_SPEC, crate::common::RW> {
2898 unsafe {
2899 crate::common::Reg::<self::P714PfsHa_SPEC, crate::common::RW>::from_ptr(
2900 self._svd2pac_as_ptr().add(506usize),
2901 )
2902 }
2903 }
2904
2905 #[doc = "Port 714 Pin Function Select Register"]
2906 #[inline(always)]
2907 pub const fn p714pfs_by(
2908 &self,
2909 ) -> &'static crate::common::Reg<self::P714PfsBy_SPEC, crate::common::RW> {
2910 unsafe {
2911 crate::common::Reg::<self::P714PfsBy_SPEC, crate::common::RW>::from_ptr(
2912 self._svd2pac_as_ptr().add(507usize),
2913 )
2914 }
2915 }
2916
2917 #[doc = "Port 80%s Pin Function Select Register"]
2918 #[inline(always)]
2919 pub const fn p80pfs(
2920 &self,
2921 ) -> &'static crate::common::ClusterRegisterArray<
2922 crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW>,
2923 2,
2924 0x4,
2925 > {
2926 unsafe {
2927 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x220usize))
2928 }
2929 }
2930 #[inline(always)]
2931 pub const fn p808pfs(
2932 &self,
2933 ) -> &'static crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW> {
2934 unsafe {
2935 crate::common::Reg::<self::P80Pfs_SPEC, crate::common::RW>::from_ptr(
2936 self._svd2pac_as_ptr().add(0x220usize),
2937 )
2938 }
2939 }
2940 #[inline(always)]
2941 pub const fn p809pfs(
2942 &self,
2943 ) -> &'static crate::common::Reg<self::P80Pfs_SPEC, crate::common::RW> {
2944 unsafe {
2945 crate::common::Reg::<self::P80Pfs_SPEC, crate::common::RW>::from_ptr(
2946 self._svd2pac_as_ptr().add(0x224usize),
2947 )
2948 }
2949 }
2950
2951 #[doc = "Port 80%s Pin Function Select Register"]
2952 #[inline(always)]
2953 pub const fn p80pfs_ha(
2954 &self,
2955 ) -> &'static crate::common::ClusterRegisterArray<
2956 crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW>,
2957 2,
2958 0x4,
2959 > {
2960 unsafe {
2961 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x222usize))
2962 }
2963 }
2964 #[inline(always)]
2965 pub const fn p808pfs_ha(
2966 &self,
2967 ) -> &'static crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW> {
2968 unsafe {
2969 crate::common::Reg::<self::P80PfsHa_SPEC, crate::common::RW>::from_ptr(
2970 self._svd2pac_as_ptr().add(0x222usize),
2971 )
2972 }
2973 }
2974 #[inline(always)]
2975 pub const fn p809pfs_ha(
2976 &self,
2977 ) -> &'static crate::common::Reg<self::P80PfsHa_SPEC, crate::common::RW> {
2978 unsafe {
2979 crate::common::Reg::<self::P80PfsHa_SPEC, crate::common::RW>::from_ptr(
2980 self._svd2pac_as_ptr().add(0x226usize),
2981 )
2982 }
2983 }
2984
2985 #[doc = "Port 80%s Pin Function Select Register"]
2986 #[inline(always)]
2987 pub const fn p80pfs_by(
2988 &self,
2989 ) -> &'static crate::common::ClusterRegisterArray<
2990 crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW>,
2991 2,
2992 0x4,
2993 > {
2994 unsafe {
2995 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x223usize))
2996 }
2997 }
2998 #[inline(always)]
2999 pub const fn p808pfs_by(
3000 &self,
3001 ) -> &'static crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW> {
3002 unsafe {
3003 crate::common::Reg::<self::P80PfsBy_SPEC, crate::common::RW>::from_ptr(
3004 self._svd2pac_as_ptr().add(0x223usize),
3005 )
3006 }
3007 }
3008 #[inline(always)]
3009 pub const fn p809pfs_by(
3010 &self,
3011 ) -> &'static crate::common::Reg<self::P80PfsBy_SPEC, crate::common::RW> {
3012 unsafe {
3013 crate::common::Reg::<self::P80PfsBy_SPEC, crate::common::RW>::from_ptr(
3014 self._svd2pac_as_ptr().add(0x227usize),
3015 )
3016 }
3017 }
3018
3019 #[doc = "Write-Protect Register"]
3020 #[inline(always)]
3021 pub const fn pwpr(&self) -> &'static crate::common::Reg<self::Pwpr_SPEC, crate::common::RW> {
3022 unsafe {
3023 crate::common::Reg::<self::Pwpr_SPEC, crate::common::RW>::from_ptr(
3024 self._svd2pac_as_ptr().add(1283usize),
3025 )
3026 }
3027 }
3028
3029 #[doc = "Port Read Wait Control Register"]
3030 #[inline(always)]
3031 pub const fn prwcntr(
3032 &self,
3033 ) -> &'static crate::common::Reg<self::Prwcntr_SPEC, crate::common::RW> {
3034 unsafe {
3035 crate::common::Reg::<self::Prwcntr_SPEC, crate::common::RW>::from_ptr(
3036 self._svd2pac_as_ptr().add(1295usize),
3037 )
3038 }
3039 }
3040}
3041#[doc(hidden)]
3042#[derive(Copy, Clone, Eq, PartialEq)]
3043pub struct P00Pfs_SPEC;
3044impl crate::sealed::RegSpec for P00Pfs_SPEC {
3045 type DataType = u32;
3046}
3047
3048#[doc = "Port 00%s Pin Function Select Register"]
3049pub type P00Pfs = crate::RegValueT<P00Pfs_SPEC>;
3050
3051impl P00Pfs {
3052 #[doc = "Port Output Data"]
3053 #[inline(always)]
3054 pub fn podr(
3055 self,
3056 ) -> crate::common::RegisterField<
3057 0,
3058 0x1,
3059 1,
3060 0,
3061 p00pfs::Podr,
3062 p00pfs::Podr,
3063 P00Pfs_SPEC,
3064 crate::common::RW,
3065 > {
3066 crate::common::RegisterField::<
3067 0,
3068 0x1,
3069 1,
3070 0,
3071 p00pfs::Podr,
3072 p00pfs::Podr,
3073 P00Pfs_SPEC,
3074 crate::common::RW,
3075 >::from_register(self, 0)
3076 }
3077
3078 #[doc = "Port State"]
3079 #[inline(always)]
3080 pub fn pidr(
3081 self,
3082 ) -> crate::common::RegisterField<
3083 1,
3084 0x1,
3085 1,
3086 0,
3087 p00pfs::Pidr,
3088 p00pfs::Pidr,
3089 P00Pfs_SPEC,
3090 crate::common::R,
3091 > {
3092 crate::common::RegisterField::<
3093 1,
3094 0x1,
3095 1,
3096 0,
3097 p00pfs::Pidr,
3098 p00pfs::Pidr,
3099 P00Pfs_SPEC,
3100 crate::common::R,
3101 >::from_register(self, 0)
3102 }
3103
3104 #[doc = "Port Direction"]
3105 #[inline(always)]
3106 pub fn pdr(
3107 self,
3108 ) -> crate::common::RegisterField<
3109 2,
3110 0x1,
3111 1,
3112 0,
3113 p00pfs::Pdr,
3114 p00pfs::Pdr,
3115 P00Pfs_SPEC,
3116 crate::common::RW,
3117 > {
3118 crate::common::RegisterField::<
3119 2,
3120 0x1,
3121 1,
3122 0,
3123 p00pfs::Pdr,
3124 p00pfs::Pdr,
3125 P00Pfs_SPEC,
3126 crate::common::RW,
3127 >::from_register(self, 0)
3128 }
3129
3130 #[doc = "Pull-up Control"]
3131 #[inline(always)]
3132 pub fn pcr(
3133 self,
3134 ) -> crate::common::RegisterField<
3135 4,
3136 0x1,
3137 1,
3138 0,
3139 p00pfs::Pcr,
3140 p00pfs::Pcr,
3141 P00Pfs_SPEC,
3142 crate::common::RW,
3143 > {
3144 crate::common::RegisterField::<
3145 4,
3146 0x1,
3147 1,
3148 0,
3149 p00pfs::Pcr,
3150 p00pfs::Pcr,
3151 P00Pfs_SPEC,
3152 crate::common::RW,
3153 >::from_register(self, 0)
3154 }
3155
3156 #[doc = "N-Channel Open-Drain Control"]
3157 #[inline(always)]
3158 pub fn ncodr(
3159 self,
3160 ) -> crate::common::RegisterField<
3161 6,
3162 0x1,
3163 1,
3164 0,
3165 p00pfs::Ncodr,
3166 p00pfs::Ncodr,
3167 P00Pfs_SPEC,
3168 crate::common::RW,
3169 > {
3170 crate::common::RegisterField::<
3171 6,
3172 0x1,
3173 1,
3174 0,
3175 p00pfs::Ncodr,
3176 p00pfs::Ncodr,
3177 P00Pfs_SPEC,
3178 crate::common::RW,
3179 >::from_register(self, 0)
3180 }
3181
3182 #[doc = "IRQ Input Enable"]
3183 #[inline(always)]
3184 pub fn isel(
3185 self,
3186 ) -> crate::common::RegisterField<
3187 14,
3188 0x1,
3189 1,
3190 0,
3191 p00pfs::Isel,
3192 p00pfs::Isel,
3193 P00Pfs_SPEC,
3194 crate::common::RW,
3195 > {
3196 crate::common::RegisterField::<
3197 14,
3198 0x1,
3199 1,
3200 0,
3201 p00pfs::Isel,
3202 p00pfs::Isel,
3203 P00Pfs_SPEC,
3204 crate::common::RW,
3205 >::from_register(self, 0)
3206 }
3207
3208 #[doc = "Analog Input Enable"]
3209 #[inline(always)]
3210 pub fn asel(
3211 self,
3212 ) -> crate::common::RegisterField<
3213 15,
3214 0x1,
3215 1,
3216 0,
3217 p00pfs::Asel,
3218 p00pfs::Asel,
3219 P00Pfs_SPEC,
3220 crate::common::RW,
3221 > {
3222 crate::common::RegisterField::<
3223 15,
3224 0x1,
3225 1,
3226 0,
3227 p00pfs::Asel,
3228 p00pfs::Asel,
3229 P00Pfs_SPEC,
3230 crate::common::RW,
3231 >::from_register(self, 0)
3232 }
3233
3234 #[doc = "Port Mode Control"]
3235 #[inline(always)]
3236 pub fn pmr(
3237 self,
3238 ) -> crate::common::RegisterField<
3239 16,
3240 0x1,
3241 1,
3242 0,
3243 p00pfs::Pmr,
3244 p00pfs::Pmr,
3245 P00Pfs_SPEC,
3246 crate::common::RW,
3247 > {
3248 crate::common::RegisterField::<
3249 16,
3250 0x1,
3251 1,
3252 0,
3253 p00pfs::Pmr,
3254 p00pfs::Pmr,
3255 P00Pfs_SPEC,
3256 crate::common::RW,
3257 >::from_register(self, 0)
3258 }
3259
3260 #[doc = "Peripheral Select"]
3261 #[inline(always)]
3262 pub fn psel(
3263 self,
3264 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P00Pfs_SPEC, crate::common::RW> {
3265 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P00Pfs_SPEC,crate::common::RW>::from_register(self,0)
3266 }
3267}
3268impl ::core::default::Default for P00Pfs {
3269 #[inline(always)]
3270 fn default() -> P00Pfs {
3271 <crate::RegValueT<P00Pfs_SPEC> as RegisterValue<_>>::new(0)
3272 }
3273}
3274pub mod p00pfs {
3275
3276 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3277 pub struct Podr_SPEC;
3278 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3279 impl Podr {
3280 #[doc = "Output low"]
3281 pub const _0: Self = Self::new(0);
3282
3283 #[doc = "Output high"]
3284 pub const _1: Self = Self::new(1);
3285 }
3286 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3287 pub struct Pidr_SPEC;
3288 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3289 impl Pidr {
3290 #[doc = "Low level"]
3291 pub const _0: Self = Self::new(0);
3292
3293 #[doc = "High level"]
3294 pub const _1: Self = Self::new(1);
3295 }
3296 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3297 pub struct Pdr_SPEC;
3298 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3299 impl Pdr {
3300 #[doc = "Input (functions as an input pin)"]
3301 pub const _0: Self = Self::new(0);
3302
3303 #[doc = "Output (functions as an output pin)"]
3304 pub const _1: Self = Self::new(1);
3305 }
3306 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3307 pub struct Pcr_SPEC;
3308 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3309 impl Pcr {
3310 #[doc = "Disable input pull-up"]
3311 pub const _0: Self = Self::new(0);
3312
3313 #[doc = "Enable input pull-up"]
3314 pub const _1: Self = Self::new(1);
3315 }
3316 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3317 pub struct Ncodr_SPEC;
3318 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3319 impl Ncodr {
3320 #[doc = "Output CMOS"]
3321 pub const _0: Self = Self::new(0);
3322
3323 #[doc = "Output NMOS open-drain"]
3324 pub const _1: Self = Self::new(1);
3325 }
3326 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3327 pub struct Isel_SPEC;
3328 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3329 impl Isel {
3330 #[doc = "Do not use as IRQn input pin"]
3331 pub const _0: Self = Self::new(0);
3332
3333 #[doc = "Use as IRQn input pin"]
3334 pub const _1: Self = Self::new(1);
3335 }
3336 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3337 pub struct Asel_SPEC;
3338 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
3339 impl Asel {
3340 #[doc = "Do not use as analog pin"]
3341 pub const _0: Self = Self::new(0);
3342
3343 #[doc = "Use as analog pin"]
3344 pub const _1: Self = Self::new(1);
3345 }
3346 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3347 pub struct Pmr_SPEC;
3348 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
3349 impl Pmr {
3350 #[doc = "Use as general I/O pin"]
3351 pub const _0: Self = Self::new(0);
3352
3353 #[doc = "Use as I/O port for peripheral functions"]
3354 pub const _1: Self = Self::new(1);
3355 }
3356}
3357#[doc(hidden)]
3358#[derive(Copy, Clone, Eq, PartialEq)]
3359pub struct P00PfsHa_SPEC;
3360impl crate::sealed::RegSpec for P00PfsHa_SPEC {
3361 type DataType = u16;
3362}
3363
3364#[doc = "Port 00%s Pin Function Select Register"]
3365pub type P00PfsHa = crate::RegValueT<P00PfsHa_SPEC>;
3366
3367impl P00PfsHa {
3368 #[doc = "Port Output Data"]
3369 #[inline(always)]
3370 pub fn podr(
3371 self,
3372 ) -> crate::common::RegisterField<
3373 0,
3374 0x1,
3375 1,
3376 0,
3377 p00pfs_ha::Podr,
3378 p00pfs_ha::Podr,
3379 P00PfsHa_SPEC,
3380 crate::common::RW,
3381 > {
3382 crate::common::RegisterField::<
3383 0,
3384 0x1,
3385 1,
3386 0,
3387 p00pfs_ha::Podr,
3388 p00pfs_ha::Podr,
3389 P00PfsHa_SPEC,
3390 crate::common::RW,
3391 >::from_register(self, 0)
3392 }
3393
3394 #[doc = "Port State"]
3395 #[inline(always)]
3396 pub fn pidr(
3397 self,
3398 ) -> crate::common::RegisterField<
3399 1,
3400 0x1,
3401 1,
3402 0,
3403 p00pfs_ha::Pidr,
3404 p00pfs_ha::Pidr,
3405 P00PfsHa_SPEC,
3406 crate::common::R,
3407 > {
3408 crate::common::RegisterField::<
3409 1,
3410 0x1,
3411 1,
3412 0,
3413 p00pfs_ha::Pidr,
3414 p00pfs_ha::Pidr,
3415 P00PfsHa_SPEC,
3416 crate::common::R,
3417 >::from_register(self, 0)
3418 }
3419
3420 #[doc = "Port Direction"]
3421 #[inline(always)]
3422 pub fn pdr(
3423 self,
3424 ) -> crate::common::RegisterField<
3425 2,
3426 0x1,
3427 1,
3428 0,
3429 p00pfs_ha::Pdr,
3430 p00pfs_ha::Pdr,
3431 P00PfsHa_SPEC,
3432 crate::common::RW,
3433 > {
3434 crate::common::RegisterField::<
3435 2,
3436 0x1,
3437 1,
3438 0,
3439 p00pfs_ha::Pdr,
3440 p00pfs_ha::Pdr,
3441 P00PfsHa_SPEC,
3442 crate::common::RW,
3443 >::from_register(self, 0)
3444 }
3445
3446 #[doc = "Pull-up Control"]
3447 #[inline(always)]
3448 pub fn pcr(
3449 self,
3450 ) -> crate::common::RegisterField<
3451 4,
3452 0x1,
3453 1,
3454 0,
3455 p00pfs_ha::Pcr,
3456 p00pfs_ha::Pcr,
3457 P00PfsHa_SPEC,
3458 crate::common::RW,
3459 > {
3460 crate::common::RegisterField::<
3461 4,
3462 0x1,
3463 1,
3464 0,
3465 p00pfs_ha::Pcr,
3466 p00pfs_ha::Pcr,
3467 P00PfsHa_SPEC,
3468 crate::common::RW,
3469 >::from_register(self, 0)
3470 }
3471
3472 #[doc = "N-Channel Open-Drain Control"]
3473 #[inline(always)]
3474 pub fn ncodr(
3475 self,
3476 ) -> crate::common::RegisterField<
3477 6,
3478 0x1,
3479 1,
3480 0,
3481 p00pfs_ha::Ncodr,
3482 p00pfs_ha::Ncodr,
3483 P00PfsHa_SPEC,
3484 crate::common::RW,
3485 > {
3486 crate::common::RegisterField::<
3487 6,
3488 0x1,
3489 1,
3490 0,
3491 p00pfs_ha::Ncodr,
3492 p00pfs_ha::Ncodr,
3493 P00PfsHa_SPEC,
3494 crate::common::RW,
3495 >::from_register(self, 0)
3496 }
3497
3498 #[doc = "IRQ Input Enable"]
3499 #[inline(always)]
3500 pub fn isel(
3501 self,
3502 ) -> crate::common::RegisterField<
3503 14,
3504 0x1,
3505 1,
3506 0,
3507 p00pfs_ha::Isel,
3508 p00pfs_ha::Isel,
3509 P00PfsHa_SPEC,
3510 crate::common::RW,
3511 > {
3512 crate::common::RegisterField::<
3513 14,
3514 0x1,
3515 1,
3516 0,
3517 p00pfs_ha::Isel,
3518 p00pfs_ha::Isel,
3519 P00PfsHa_SPEC,
3520 crate::common::RW,
3521 >::from_register(self, 0)
3522 }
3523
3524 #[doc = "Analog Input Enable"]
3525 #[inline(always)]
3526 pub fn asel(
3527 self,
3528 ) -> crate::common::RegisterField<
3529 15,
3530 0x1,
3531 1,
3532 0,
3533 p00pfs_ha::Asel,
3534 p00pfs_ha::Asel,
3535 P00PfsHa_SPEC,
3536 crate::common::RW,
3537 > {
3538 crate::common::RegisterField::<
3539 15,
3540 0x1,
3541 1,
3542 0,
3543 p00pfs_ha::Asel,
3544 p00pfs_ha::Asel,
3545 P00PfsHa_SPEC,
3546 crate::common::RW,
3547 >::from_register(self, 0)
3548 }
3549}
3550impl ::core::default::Default for P00PfsHa {
3551 #[inline(always)]
3552 fn default() -> P00PfsHa {
3553 <crate::RegValueT<P00PfsHa_SPEC> as RegisterValue<_>>::new(0)
3554 }
3555}
3556pub mod p00pfs_ha {
3557
3558 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3559 pub struct Podr_SPEC;
3560 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3561 impl Podr {
3562 #[doc = "Output low"]
3563 pub const _0: Self = Self::new(0);
3564
3565 #[doc = "Output high"]
3566 pub const _1: Self = Self::new(1);
3567 }
3568 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3569 pub struct Pidr_SPEC;
3570 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3571 impl Pidr {
3572 #[doc = "Low level"]
3573 pub const _0: Self = Self::new(0);
3574
3575 #[doc = "High level"]
3576 pub const _1: Self = Self::new(1);
3577 }
3578 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3579 pub struct Pdr_SPEC;
3580 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3581 impl Pdr {
3582 #[doc = "Input (functions as an input pin)"]
3583 pub const _0: Self = Self::new(0);
3584
3585 #[doc = "Output (functions as an output pin)"]
3586 pub const _1: Self = Self::new(1);
3587 }
3588 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3589 pub struct Pcr_SPEC;
3590 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3591 impl Pcr {
3592 #[doc = "Disable input pull-up"]
3593 pub const _0: Self = Self::new(0);
3594
3595 #[doc = "Enable input pull-up"]
3596 pub const _1: Self = Self::new(1);
3597 }
3598 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3599 pub struct Ncodr_SPEC;
3600 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3601 impl Ncodr {
3602 #[doc = "Output CMOS"]
3603 pub const _0: Self = Self::new(0);
3604
3605 #[doc = "Output NMOS open-drain"]
3606 pub const _1: Self = Self::new(1);
3607 }
3608 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3609 pub struct Isel_SPEC;
3610 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3611 impl Isel {
3612 #[doc = "Do not use as IRQn input pin"]
3613 pub const _0: Self = Self::new(0);
3614
3615 #[doc = "Use as IRQn input pin"]
3616 pub const _1: Self = Self::new(1);
3617 }
3618 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3619 pub struct Asel_SPEC;
3620 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
3621 impl Asel {
3622 #[doc = "Do not use as analog pin"]
3623 pub const _0: Self = Self::new(0);
3624
3625 #[doc = "Use as analog pin"]
3626 pub const _1: Self = Self::new(1);
3627 }
3628}
3629#[doc(hidden)]
3630#[derive(Copy, Clone, Eq, PartialEq)]
3631pub struct P00PfsBy_SPEC;
3632impl crate::sealed::RegSpec for P00PfsBy_SPEC {
3633 type DataType = u8;
3634}
3635
3636#[doc = "Port 00%s Pin Function Select Register"]
3637pub type P00PfsBy = crate::RegValueT<P00PfsBy_SPEC>;
3638
3639impl P00PfsBy {
3640 #[doc = "Port Output Data"]
3641 #[inline(always)]
3642 pub fn podr(
3643 self,
3644 ) -> crate::common::RegisterField<
3645 0,
3646 0x1,
3647 1,
3648 0,
3649 p00pfs_by::Podr,
3650 p00pfs_by::Podr,
3651 P00PfsBy_SPEC,
3652 crate::common::RW,
3653 > {
3654 crate::common::RegisterField::<
3655 0,
3656 0x1,
3657 1,
3658 0,
3659 p00pfs_by::Podr,
3660 p00pfs_by::Podr,
3661 P00PfsBy_SPEC,
3662 crate::common::RW,
3663 >::from_register(self, 0)
3664 }
3665
3666 #[doc = "Port State"]
3667 #[inline(always)]
3668 pub fn pidr(
3669 self,
3670 ) -> crate::common::RegisterField<
3671 1,
3672 0x1,
3673 1,
3674 0,
3675 p00pfs_by::Pidr,
3676 p00pfs_by::Pidr,
3677 P00PfsBy_SPEC,
3678 crate::common::R,
3679 > {
3680 crate::common::RegisterField::<
3681 1,
3682 0x1,
3683 1,
3684 0,
3685 p00pfs_by::Pidr,
3686 p00pfs_by::Pidr,
3687 P00PfsBy_SPEC,
3688 crate::common::R,
3689 >::from_register(self, 0)
3690 }
3691
3692 #[doc = "Port Direction"]
3693 #[inline(always)]
3694 pub fn pdr(
3695 self,
3696 ) -> crate::common::RegisterField<
3697 2,
3698 0x1,
3699 1,
3700 0,
3701 p00pfs_by::Pdr,
3702 p00pfs_by::Pdr,
3703 P00PfsBy_SPEC,
3704 crate::common::RW,
3705 > {
3706 crate::common::RegisterField::<
3707 2,
3708 0x1,
3709 1,
3710 0,
3711 p00pfs_by::Pdr,
3712 p00pfs_by::Pdr,
3713 P00PfsBy_SPEC,
3714 crate::common::RW,
3715 >::from_register(self, 0)
3716 }
3717
3718 #[doc = "Pull-up Control"]
3719 #[inline(always)]
3720 pub fn pcr(
3721 self,
3722 ) -> crate::common::RegisterField<
3723 4,
3724 0x1,
3725 1,
3726 0,
3727 p00pfs_by::Pcr,
3728 p00pfs_by::Pcr,
3729 P00PfsBy_SPEC,
3730 crate::common::RW,
3731 > {
3732 crate::common::RegisterField::<
3733 4,
3734 0x1,
3735 1,
3736 0,
3737 p00pfs_by::Pcr,
3738 p00pfs_by::Pcr,
3739 P00PfsBy_SPEC,
3740 crate::common::RW,
3741 >::from_register(self, 0)
3742 }
3743
3744 #[doc = "N-Channel Open-Drain Control"]
3745 #[inline(always)]
3746 pub fn ncodr(
3747 self,
3748 ) -> crate::common::RegisterField<
3749 6,
3750 0x1,
3751 1,
3752 0,
3753 p00pfs_by::Ncodr,
3754 p00pfs_by::Ncodr,
3755 P00PfsBy_SPEC,
3756 crate::common::RW,
3757 > {
3758 crate::common::RegisterField::<
3759 6,
3760 0x1,
3761 1,
3762 0,
3763 p00pfs_by::Ncodr,
3764 p00pfs_by::Ncodr,
3765 P00PfsBy_SPEC,
3766 crate::common::RW,
3767 >::from_register(self, 0)
3768 }
3769}
3770impl ::core::default::Default for P00PfsBy {
3771 #[inline(always)]
3772 fn default() -> P00PfsBy {
3773 <crate::RegValueT<P00PfsBy_SPEC> as RegisterValue<_>>::new(0)
3774 }
3775}
3776pub mod p00pfs_by {
3777
3778 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3779 pub struct Podr_SPEC;
3780 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3781 impl Podr {
3782 #[doc = "Output low"]
3783 pub const _0: Self = Self::new(0);
3784
3785 #[doc = "Output high"]
3786 pub const _1: Self = Self::new(1);
3787 }
3788 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3789 pub struct Pidr_SPEC;
3790 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3791 impl Pidr {
3792 #[doc = "Low level"]
3793 pub const _0: Self = Self::new(0);
3794
3795 #[doc = "High level"]
3796 pub const _1: Self = Self::new(1);
3797 }
3798 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3799 pub struct Pdr_SPEC;
3800 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3801 impl Pdr {
3802 #[doc = "Input (functions as an input pin)"]
3803 pub const _0: Self = Self::new(0);
3804
3805 #[doc = "Output (functions as an output pin)"]
3806 pub const _1: Self = Self::new(1);
3807 }
3808 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3809 pub struct Pcr_SPEC;
3810 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3811 impl Pcr {
3812 #[doc = "Disable input pull-up"]
3813 pub const _0: Self = Self::new(0);
3814
3815 #[doc = "Enable input pull-up"]
3816 pub const _1: Self = Self::new(1);
3817 }
3818 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3819 pub struct Ncodr_SPEC;
3820 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3821 impl Ncodr {
3822 #[doc = "Output CMOS"]
3823 pub const _0: Self = Self::new(0);
3824
3825 #[doc = "Output NMOS open-drain"]
3826 pub const _1: Self = Self::new(1);
3827 }
3828}
3829#[doc(hidden)]
3830#[derive(Copy, Clone, Eq, PartialEq)]
3831pub struct P0Pfs_SPEC;
3832impl crate::sealed::RegSpec for P0Pfs_SPEC {
3833 type DataType = u32;
3834}
3835
3836#[doc = "Port 0%s Pin Function Select Register"]
3837pub type P0Pfs = crate::RegValueT<P0Pfs_SPEC>;
3838
3839impl P0Pfs {
3840 #[doc = "Port Output Data"]
3841 #[inline(always)]
3842 pub fn podr(
3843 self,
3844 ) -> crate::common::RegisterField<
3845 0,
3846 0x1,
3847 1,
3848 0,
3849 p0pfs::Podr,
3850 p0pfs::Podr,
3851 P0Pfs_SPEC,
3852 crate::common::RW,
3853 > {
3854 crate::common::RegisterField::<
3855 0,
3856 0x1,
3857 1,
3858 0,
3859 p0pfs::Podr,
3860 p0pfs::Podr,
3861 P0Pfs_SPEC,
3862 crate::common::RW,
3863 >::from_register(self, 0)
3864 }
3865
3866 #[doc = "Port State"]
3867 #[inline(always)]
3868 pub fn pidr(
3869 self,
3870 ) -> crate::common::RegisterField<
3871 1,
3872 0x1,
3873 1,
3874 0,
3875 p0pfs::Pidr,
3876 p0pfs::Pidr,
3877 P0Pfs_SPEC,
3878 crate::common::R,
3879 > {
3880 crate::common::RegisterField::<
3881 1,
3882 0x1,
3883 1,
3884 0,
3885 p0pfs::Pidr,
3886 p0pfs::Pidr,
3887 P0Pfs_SPEC,
3888 crate::common::R,
3889 >::from_register(self, 0)
3890 }
3891
3892 #[doc = "Port Direction"]
3893 #[inline(always)]
3894 pub fn pdr(
3895 self,
3896 ) -> crate::common::RegisterField<
3897 2,
3898 0x1,
3899 1,
3900 0,
3901 p0pfs::Pdr,
3902 p0pfs::Pdr,
3903 P0Pfs_SPEC,
3904 crate::common::RW,
3905 > {
3906 crate::common::RegisterField::<
3907 2,
3908 0x1,
3909 1,
3910 0,
3911 p0pfs::Pdr,
3912 p0pfs::Pdr,
3913 P0Pfs_SPEC,
3914 crate::common::RW,
3915 >::from_register(self, 0)
3916 }
3917
3918 #[doc = "Pull-up Control"]
3919 #[inline(always)]
3920 pub fn pcr(
3921 self,
3922 ) -> crate::common::RegisterField<
3923 4,
3924 0x1,
3925 1,
3926 0,
3927 p0pfs::Pcr,
3928 p0pfs::Pcr,
3929 P0Pfs_SPEC,
3930 crate::common::RW,
3931 > {
3932 crate::common::RegisterField::<
3933 4,
3934 0x1,
3935 1,
3936 0,
3937 p0pfs::Pcr,
3938 p0pfs::Pcr,
3939 P0Pfs_SPEC,
3940 crate::common::RW,
3941 >::from_register(self, 0)
3942 }
3943
3944 #[doc = "N-Channel Open-Drain Control"]
3945 #[inline(always)]
3946 pub fn ncodr(
3947 self,
3948 ) -> crate::common::RegisterField<
3949 6,
3950 0x1,
3951 1,
3952 0,
3953 p0pfs::Ncodr,
3954 p0pfs::Ncodr,
3955 P0Pfs_SPEC,
3956 crate::common::RW,
3957 > {
3958 crate::common::RegisterField::<
3959 6,
3960 0x1,
3961 1,
3962 0,
3963 p0pfs::Ncodr,
3964 p0pfs::Ncodr,
3965 P0Pfs_SPEC,
3966 crate::common::RW,
3967 >::from_register(self, 0)
3968 }
3969
3970 #[doc = "IRQ Input Enable"]
3971 #[inline(always)]
3972 pub fn isel(
3973 self,
3974 ) -> crate::common::RegisterField<
3975 14,
3976 0x1,
3977 1,
3978 0,
3979 p0pfs::Isel,
3980 p0pfs::Isel,
3981 P0Pfs_SPEC,
3982 crate::common::RW,
3983 > {
3984 crate::common::RegisterField::<
3985 14,
3986 0x1,
3987 1,
3988 0,
3989 p0pfs::Isel,
3990 p0pfs::Isel,
3991 P0Pfs_SPEC,
3992 crate::common::RW,
3993 >::from_register(self, 0)
3994 }
3995
3996 #[doc = "Analog Input Enable"]
3997 #[inline(always)]
3998 pub fn asel(
3999 self,
4000 ) -> crate::common::RegisterField<
4001 15,
4002 0x1,
4003 1,
4004 0,
4005 p0pfs::Asel,
4006 p0pfs::Asel,
4007 P0Pfs_SPEC,
4008 crate::common::RW,
4009 > {
4010 crate::common::RegisterField::<
4011 15,
4012 0x1,
4013 1,
4014 0,
4015 p0pfs::Asel,
4016 p0pfs::Asel,
4017 P0Pfs_SPEC,
4018 crate::common::RW,
4019 >::from_register(self, 0)
4020 }
4021
4022 #[doc = "Port Mode Control"]
4023 #[inline(always)]
4024 pub fn pmr(
4025 self,
4026 ) -> crate::common::RegisterField<
4027 16,
4028 0x1,
4029 1,
4030 0,
4031 p0pfs::Pmr,
4032 p0pfs::Pmr,
4033 P0Pfs_SPEC,
4034 crate::common::RW,
4035 > {
4036 crate::common::RegisterField::<
4037 16,
4038 0x1,
4039 1,
4040 0,
4041 p0pfs::Pmr,
4042 p0pfs::Pmr,
4043 P0Pfs_SPEC,
4044 crate::common::RW,
4045 >::from_register(self, 0)
4046 }
4047
4048 #[doc = "Peripheral Select"]
4049 #[inline(always)]
4050 pub fn psel(
4051 self,
4052 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P0Pfs_SPEC, crate::common::RW> {
4053 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P0Pfs_SPEC,crate::common::RW>::from_register(self,0)
4054 }
4055}
4056impl ::core::default::Default for P0Pfs {
4057 #[inline(always)]
4058 fn default() -> P0Pfs {
4059 <crate::RegValueT<P0Pfs_SPEC> as RegisterValue<_>>::new(0)
4060 }
4061}
4062pub mod p0pfs {
4063
4064 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4065 pub struct Podr_SPEC;
4066 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4067 impl Podr {
4068 #[doc = "Output low"]
4069 pub const _0: Self = Self::new(0);
4070
4071 #[doc = "Output high"]
4072 pub const _1: Self = Self::new(1);
4073 }
4074 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4075 pub struct Pidr_SPEC;
4076 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4077 impl Pidr {
4078 #[doc = "Low level"]
4079 pub const _0: Self = Self::new(0);
4080
4081 #[doc = "High level"]
4082 pub const _1: Self = Self::new(1);
4083 }
4084 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4085 pub struct Pdr_SPEC;
4086 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4087 impl Pdr {
4088 #[doc = "Input (functions as an input pin)"]
4089 pub const _0: Self = Self::new(0);
4090
4091 #[doc = "Output (functions as an output pin)"]
4092 pub const _1: Self = Self::new(1);
4093 }
4094 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4095 pub struct Pcr_SPEC;
4096 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4097 impl Pcr {
4098 #[doc = "Disable input pull-up"]
4099 pub const _0: Self = Self::new(0);
4100
4101 #[doc = "Enable input pull-up"]
4102 pub const _1: Self = Self::new(1);
4103 }
4104 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4105 pub struct Ncodr_SPEC;
4106 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4107 impl Ncodr {
4108 #[doc = "Output CMOS"]
4109 pub const _0: Self = Self::new(0);
4110
4111 #[doc = "Output NMOS open-drain"]
4112 pub const _1: Self = Self::new(1);
4113 }
4114 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4115 pub struct Isel_SPEC;
4116 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4117 impl Isel {
4118 #[doc = "Do not use as IRQn input pin"]
4119 pub const _0: Self = Self::new(0);
4120
4121 #[doc = "Use as IRQn input pin"]
4122 pub const _1: Self = Self::new(1);
4123 }
4124 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4125 pub struct Asel_SPEC;
4126 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4127 impl Asel {
4128 #[doc = "Do not use as analog pin"]
4129 pub const _0: Self = Self::new(0);
4130
4131 #[doc = "Use as analog pin"]
4132 pub const _1: Self = Self::new(1);
4133 }
4134 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4135 pub struct Pmr_SPEC;
4136 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
4137 impl Pmr {
4138 #[doc = "Use as general I/O pin"]
4139 pub const _0: Self = Self::new(0);
4140
4141 #[doc = "Use as I/O port for peripheral functions"]
4142 pub const _1: Self = Self::new(1);
4143 }
4144}
4145#[doc(hidden)]
4146#[derive(Copy, Clone, Eq, PartialEq)]
4147pub struct P0PfsHa_SPEC;
4148impl crate::sealed::RegSpec for P0PfsHa_SPEC {
4149 type DataType = u16;
4150}
4151
4152#[doc = "Port 0%s Pin Function Select Register"]
4153pub type P0PfsHa = crate::RegValueT<P0PfsHa_SPEC>;
4154
4155impl P0PfsHa {
4156 #[doc = "Port Output Data"]
4157 #[inline(always)]
4158 pub fn podr(
4159 self,
4160 ) -> crate::common::RegisterField<
4161 0,
4162 0x1,
4163 1,
4164 0,
4165 p0pfs_ha::Podr,
4166 p0pfs_ha::Podr,
4167 P0PfsHa_SPEC,
4168 crate::common::RW,
4169 > {
4170 crate::common::RegisterField::<
4171 0,
4172 0x1,
4173 1,
4174 0,
4175 p0pfs_ha::Podr,
4176 p0pfs_ha::Podr,
4177 P0PfsHa_SPEC,
4178 crate::common::RW,
4179 >::from_register(self, 0)
4180 }
4181
4182 #[doc = "Port State"]
4183 #[inline(always)]
4184 pub fn pidr(
4185 self,
4186 ) -> crate::common::RegisterField<
4187 1,
4188 0x1,
4189 1,
4190 0,
4191 p0pfs_ha::Pidr,
4192 p0pfs_ha::Pidr,
4193 P0PfsHa_SPEC,
4194 crate::common::R,
4195 > {
4196 crate::common::RegisterField::<
4197 1,
4198 0x1,
4199 1,
4200 0,
4201 p0pfs_ha::Pidr,
4202 p0pfs_ha::Pidr,
4203 P0PfsHa_SPEC,
4204 crate::common::R,
4205 >::from_register(self, 0)
4206 }
4207
4208 #[doc = "Port Direction"]
4209 #[inline(always)]
4210 pub fn pdr(
4211 self,
4212 ) -> crate::common::RegisterField<
4213 2,
4214 0x1,
4215 1,
4216 0,
4217 p0pfs_ha::Pdr,
4218 p0pfs_ha::Pdr,
4219 P0PfsHa_SPEC,
4220 crate::common::RW,
4221 > {
4222 crate::common::RegisterField::<
4223 2,
4224 0x1,
4225 1,
4226 0,
4227 p0pfs_ha::Pdr,
4228 p0pfs_ha::Pdr,
4229 P0PfsHa_SPEC,
4230 crate::common::RW,
4231 >::from_register(self, 0)
4232 }
4233
4234 #[doc = "Pull-up Control"]
4235 #[inline(always)]
4236 pub fn pcr(
4237 self,
4238 ) -> crate::common::RegisterField<
4239 4,
4240 0x1,
4241 1,
4242 0,
4243 p0pfs_ha::Pcr,
4244 p0pfs_ha::Pcr,
4245 P0PfsHa_SPEC,
4246 crate::common::RW,
4247 > {
4248 crate::common::RegisterField::<
4249 4,
4250 0x1,
4251 1,
4252 0,
4253 p0pfs_ha::Pcr,
4254 p0pfs_ha::Pcr,
4255 P0PfsHa_SPEC,
4256 crate::common::RW,
4257 >::from_register(self, 0)
4258 }
4259
4260 #[doc = "N-Channel Open-Drain Control"]
4261 #[inline(always)]
4262 pub fn ncodr(
4263 self,
4264 ) -> crate::common::RegisterField<
4265 6,
4266 0x1,
4267 1,
4268 0,
4269 p0pfs_ha::Ncodr,
4270 p0pfs_ha::Ncodr,
4271 P0PfsHa_SPEC,
4272 crate::common::RW,
4273 > {
4274 crate::common::RegisterField::<
4275 6,
4276 0x1,
4277 1,
4278 0,
4279 p0pfs_ha::Ncodr,
4280 p0pfs_ha::Ncodr,
4281 P0PfsHa_SPEC,
4282 crate::common::RW,
4283 >::from_register(self, 0)
4284 }
4285
4286 #[doc = "IRQ Input Enable"]
4287 #[inline(always)]
4288 pub fn isel(
4289 self,
4290 ) -> crate::common::RegisterField<
4291 14,
4292 0x1,
4293 1,
4294 0,
4295 p0pfs_ha::Isel,
4296 p0pfs_ha::Isel,
4297 P0PfsHa_SPEC,
4298 crate::common::RW,
4299 > {
4300 crate::common::RegisterField::<
4301 14,
4302 0x1,
4303 1,
4304 0,
4305 p0pfs_ha::Isel,
4306 p0pfs_ha::Isel,
4307 P0PfsHa_SPEC,
4308 crate::common::RW,
4309 >::from_register(self, 0)
4310 }
4311
4312 #[doc = "Analog Input Enable"]
4313 #[inline(always)]
4314 pub fn asel(
4315 self,
4316 ) -> crate::common::RegisterField<
4317 15,
4318 0x1,
4319 1,
4320 0,
4321 p0pfs_ha::Asel,
4322 p0pfs_ha::Asel,
4323 P0PfsHa_SPEC,
4324 crate::common::RW,
4325 > {
4326 crate::common::RegisterField::<
4327 15,
4328 0x1,
4329 1,
4330 0,
4331 p0pfs_ha::Asel,
4332 p0pfs_ha::Asel,
4333 P0PfsHa_SPEC,
4334 crate::common::RW,
4335 >::from_register(self, 0)
4336 }
4337}
4338impl ::core::default::Default for P0PfsHa {
4339 #[inline(always)]
4340 fn default() -> P0PfsHa {
4341 <crate::RegValueT<P0PfsHa_SPEC> as RegisterValue<_>>::new(0)
4342 }
4343}
4344pub mod p0pfs_ha {
4345
4346 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4347 pub struct Podr_SPEC;
4348 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4349 impl Podr {
4350 #[doc = "Output low"]
4351 pub const _0: Self = Self::new(0);
4352
4353 #[doc = "Output high"]
4354 pub const _1: Self = Self::new(1);
4355 }
4356 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4357 pub struct Pidr_SPEC;
4358 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4359 impl Pidr {
4360 #[doc = "Low level"]
4361 pub const _0: Self = Self::new(0);
4362
4363 #[doc = "High level"]
4364 pub const _1: Self = Self::new(1);
4365 }
4366 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4367 pub struct Pdr_SPEC;
4368 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4369 impl Pdr {
4370 #[doc = "Input (functions as an input pin)"]
4371 pub const _0: Self = Self::new(0);
4372
4373 #[doc = "Output (functions as an output pin)"]
4374 pub const _1: Self = Self::new(1);
4375 }
4376 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4377 pub struct Pcr_SPEC;
4378 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4379 impl Pcr {
4380 #[doc = "Disable input pull-up"]
4381 pub const _0: Self = Self::new(0);
4382
4383 #[doc = "Enable input pull-up"]
4384 pub const _1: Self = Self::new(1);
4385 }
4386 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4387 pub struct Ncodr_SPEC;
4388 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4389 impl Ncodr {
4390 #[doc = "Output CMOS"]
4391 pub const _0: Self = Self::new(0);
4392
4393 #[doc = "Output NMOS open-drain"]
4394 pub const _1: Self = Self::new(1);
4395 }
4396 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4397 pub struct Isel_SPEC;
4398 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4399 impl Isel {
4400 #[doc = "Do not use as IRQn input pin"]
4401 pub const _0: Self = Self::new(0);
4402
4403 #[doc = "Use as IRQn input pin"]
4404 pub const _1: Self = Self::new(1);
4405 }
4406 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4407 pub struct Asel_SPEC;
4408 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4409 impl Asel {
4410 #[doc = "Do not use as analog pin"]
4411 pub const _0: Self = Self::new(0);
4412
4413 #[doc = "Use as analog pin"]
4414 pub const _1: Self = Self::new(1);
4415 }
4416}
4417#[doc(hidden)]
4418#[derive(Copy, Clone, Eq, PartialEq)]
4419pub struct P0PfsBy_SPEC;
4420impl crate::sealed::RegSpec for P0PfsBy_SPEC {
4421 type DataType = u8;
4422}
4423
4424#[doc = "Port 0%s Pin Function Select Register"]
4425pub type P0PfsBy = crate::RegValueT<P0PfsBy_SPEC>;
4426
4427impl P0PfsBy {
4428 #[doc = "Port Output Data"]
4429 #[inline(always)]
4430 pub fn podr(
4431 self,
4432 ) -> crate::common::RegisterField<
4433 0,
4434 0x1,
4435 1,
4436 0,
4437 p0pfs_by::Podr,
4438 p0pfs_by::Podr,
4439 P0PfsBy_SPEC,
4440 crate::common::RW,
4441 > {
4442 crate::common::RegisterField::<
4443 0,
4444 0x1,
4445 1,
4446 0,
4447 p0pfs_by::Podr,
4448 p0pfs_by::Podr,
4449 P0PfsBy_SPEC,
4450 crate::common::RW,
4451 >::from_register(self, 0)
4452 }
4453
4454 #[doc = "Port State"]
4455 #[inline(always)]
4456 pub fn pidr(
4457 self,
4458 ) -> crate::common::RegisterField<
4459 1,
4460 0x1,
4461 1,
4462 0,
4463 p0pfs_by::Pidr,
4464 p0pfs_by::Pidr,
4465 P0PfsBy_SPEC,
4466 crate::common::R,
4467 > {
4468 crate::common::RegisterField::<
4469 1,
4470 0x1,
4471 1,
4472 0,
4473 p0pfs_by::Pidr,
4474 p0pfs_by::Pidr,
4475 P0PfsBy_SPEC,
4476 crate::common::R,
4477 >::from_register(self, 0)
4478 }
4479
4480 #[doc = "Port Direction"]
4481 #[inline(always)]
4482 pub fn pdr(
4483 self,
4484 ) -> crate::common::RegisterField<
4485 2,
4486 0x1,
4487 1,
4488 0,
4489 p0pfs_by::Pdr,
4490 p0pfs_by::Pdr,
4491 P0PfsBy_SPEC,
4492 crate::common::RW,
4493 > {
4494 crate::common::RegisterField::<
4495 2,
4496 0x1,
4497 1,
4498 0,
4499 p0pfs_by::Pdr,
4500 p0pfs_by::Pdr,
4501 P0PfsBy_SPEC,
4502 crate::common::RW,
4503 >::from_register(self, 0)
4504 }
4505
4506 #[doc = "Pull-up Control"]
4507 #[inline(always)]
4508 pub fn pcr(
4509 self,
4510 ) -> crate::common::RegisterField<
4511 4,
4512 0x1,
4513 1,
4514 0,
4515 p0pfs_by::Pcr,
4516 p0pfs_by::Pcr,
4517 P0PfsBy_SPEC,
4518 crate::common::RW,
4519 > {
4520 crate::common::RegisterField::<
4521 4,
4522 0x1,
4523 1,
4524 0,
4525 p0pfs_by::Pcr,
4526 p0pfs_by::Pcr,
4527 P0PfsBy_SPEC,
4528 crate::common::RW,
4529 >::from_register(self, 0)
4530 }
4531
4532 #[doc = "N-Channel Open-Drain Control"]
4533 #[inline(always)]
4534 pub fn ncodr(
4535 self,
4536 ) -> crate::common::RegisterField<
4537 6,
4538 0x1,
4539 1,
4540 0,
4541 p0pfs_by::Ncodr,
4542 p0pfs_by::Ncodr,
4543 P0PfsBy_SPEC,
4544 crate::common::RW,
4545 > {
4546 crate::common::RegisterField::<
4547 6,
4548 0x1,
4549 1,
4550 0,
4551 p0pfs_by::Ncodr,
4552 p0pfs_by::Ncodr,
4553 P0PfsBy_SPEC,
4554 crate::common::RW,
4555 >::from_register(self, 0)
4556 }
4557}
4558impl ::core::default::Default for P0PfsBy {
4559 #[inline(always)]
4560 fn default() -> P0PfsBy {
4561 <crate::RegValueT<P0PfsBy_SPEC> as RegisterValue<_>>::new(0)
4562 }
4563}
4564pub mod p0pfs_by {
4565
4566 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4567 pub struct Podr_SPEC;
4568 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4569 impl Podr {
4570 #[doc = "Output low"]
4571 pub const _0: Self = Self::new(0);
4572
4573 #[doc = "Output high"]
4574 pub const _1: Self = Self::new(1);
4575 }
4576 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4577 pub struct Pidr_SPEC;
4578 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4579 impl Pidr {
4580 #[doc = "Low level"]
4581 pub const _0: Self = Self::new(0);
4582
4583 #[doc = "High level"]
4584 pub const _1: Self = Self::new(1);
4585 }
4586 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4587 pub struct Pdr_SPEC;
4588 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4589 impl Pdr {
4590 #[doc = "Input (functions as an input pin)"]
4591 pub const _0: Self = Self::new(0);
4592
4593 #[doc = "Output (functions as an output pin)"]
4594 pub const _1: Self = Self::new(1);
4595 }
4596 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4597 pub struct Pcr_SPEC;
4598 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4599 impl Pcr {
4600 #[doc = "Disable input pull-up"]
4601 pub const _0: Self = Self::new(0);
4602
4603 #[doc = "Enable input pull-up"]
4604 pub const _1: Self = Self::new(1);
4605 }
4606 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4607 pub struct Ncodr_SPEC;
4608 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4609 impl Ncodr {
4610 #[doc = "Output CMOS"]
4611 pub const _0: Self = Self::new(0);
4612
4613 #[doc = "Output NMOS open-drain"]
4614 pub const _1: Self = Self::new(1);
4615 }
4616}
4617#[doc(hidden)]
4618#[derive(Copy, Clone, Eq, PartialEq)]
4619pub struct P10Pfs_SPEC;
4620impl crate::sealed::RegSpec for P10Pfs_SPEC {
4621 type DataType = u32;
4622}
4623
4624#[doc = "Port 10%s Pin Function Select Register"]
4625pub type P10Pfs = crate::RegValueT<P10Pfs_SPEC>;
4626
4627impl P10Pfs {
4628 #[doc = "Port Output Data"]
4629 #[inline(always)]
4630 pub fn podr(
4631 self,
4632 ) -> crate::common::RegisterField<
4633 0,
4634 0x1,
4635 1,
4636 0,
4637 p10pfs::Podr,
4638 p10pfs::Podr,
4639 P10Pfs_SPEC,
4640 crate::common::RW,
4641 > {
4642 crate::common::RegisterField::<
4643 0,
4644 0x1,
4645 1,
4646 0,
4647 p10pfs::Podr,
4648 p10pfs::Podr,
4649 P10Pfs_SPEC,
4650 crate::common::RW,
4651 >::from_register(self, 0)
4652 }
4653
4654 #[doc = "Port State"]
4655 #[inline(always)]
4656 pub fn pidr(
4657 self,
4658 ) -> crate::common::RegisterField<
4659 1,
4660 0x1,
4661 1,
4662 0,
4663 p10pfs::Pidr,
4664 p10pfs::Pidr,
4665 P10Pfs_SPEC,
4666 crate::common::R,
4667 > {
4668 crate::common::RegisterField::<
4669 1,
4670 0x1,
4671 1,
4672 0,
4673 p10pfs::Pidr,
4674 p10pfs::Pidr,
4675 P10Pfs_SPEC,
4676 crate::common::R,
4677 >::from_register(self, 0)
4678 }
4679
4680 #[doc = "Port Direction"]
4681 #[inline(always)]
4682 pub fn pdr(
4683 self,
4684 ) -> crate::common::RegisterField<
4685 2,
4686 0x1,
4687 1,
4688 0,
4689 p10pfs::Pdr,
4690 p10pfs::Pdr,
4691 P10Pfs_SPEC,
4692 crate::common::RW,
4693 > {
4694 crate::common::RegisterField::<
4695 2,
4696 0x1,
4697 1,
4698 0,
4699 p10pfs::Pdr,
4700 p10pfs::Pdr,
4701 P10Pfs_SPEC,
4702 crate::common::RW,
4703 >::from_register(self, 0)
4704 }
4705
4706 #[doc = "Pull-up Control"]
4707 #[inline(always)]
4708 pub fn pcr(
4709 self,
4710 ) -> crate::common::RegisterField<
4711 4,
4712 0x1,
4713 1,
4714 0,
4715 p10pfs::Pcr,
4716 p10pfs::Pcr,
4717 P10Pfs_SPEC,
4718 crate::common::RW,
4719 > {
4720 crate::common::RegisterField::<
4721 4,
4722 0x1,
4723 1,
4724 0,
4725 p10pfs::Pcr,
4726 p10pfs::Pcr,
4727 P10Pfs_SPEC,
4728 crate::common::RW,
4729 >::from_register(self, 0)
4730 }
4731
4732 #[doc = "N-Channel Open-Drain Control"]
4733 #[inline(always)]
4734 pub fn ncodr(
4735 self,
4736 ) -> crate::common::RegisterField<
4737 6,
4738 0x1,
4739 1,
4740 0,
4741 p10pfs::Ncodr,
4742 p10pfs::Ncodr,
4743 P10Pfs_SPEC,
4744 crate::common::RW,
4745 > {
4746 crate::common::RegisterField::<
4747 6,
4748 0x1,
4749 1,
4750 0,
4751 p10pfs::Ncodr,
4752 p10pfs::Ncodr,
4753 P10Pfs_SPEC,
4754 crate::common::RW,
4755 >::from_register(self, 0)
4756 }
4757
4758 #[doc = "Event on Falling/Event on Rising"]
4759 #[inline(always)]
4760 pub fn eofr(
4761 self,
4762 ) -> crate::common::RegisterField<
4763 12,
4764 0x3,
4765 1,
4766 0,
4767 p10pfs::Eofr,
4768 p10pfs::Eofr,
4769 P10Pfs_SPEC,
4770 crate::common::RW,
4771 > {
4772 crate::common::RegisterField::<
4773 12,
4774 0x3,
4775 1,
4776 0,
4777 p10pfs::Eofr,
4778 p10pfs::Eofr,
4779 P10Pfs_SPEC,
4780 crate::common::RW,
4781 >::from_register(self, 0)
4782 }
4783
4784 #[doc = "IRQ Input Enable"]
4785 #[inline(always)]
4786 pub fn isel(
4787 self,
4788 ) -> crate::common::RegisterField<
4789 14,
4790 0x1,
4791 1,
4792 0,
4793 p10pfs::Isel,
4794 p10pfs::Isel,
4795 P10Pfs_SPEC,
4796 crate::common::RW,
4797 > {
4798 crate::common::RegisterField::<
4799 14,
4800 0x1,
4801 1,
4802 0,
4803 p10pfs::Isel,
4804 p10pfs::Isel,
4805 P10Pfs_SPEC,
4806 crate::common::RW,
4807 >::from_register(self, 0)
4808 }
4809
4810 #[doc = "Analog Input Enable"]
4811 #[inline(always)]
4812 pub fn asel(
4813 self,
4814 ) -> crate::common::RegisterField<
4815 15,
4816 0x1,
4817 1,
4818 0,
4819 p10pfs::Asel,
4820 p10pfs::Asel,
4821 P10Pfs_SPEC,
4822 crate::common::RW,
4823 > {
4824 crate::common::RegisterField::<
4825 15,
4826 0x1,
4827 1,
4828 0,
4829 p10pfs::Asel,
4830 p10pfs::Asel,
4831 P10Pfs_SPEC,
4832 crate::common::RW,
4833 >::from_register(self, 0)
4834 }
4835
4836 #[doc = "Port Mode Control"]
4837 #[inline(always)]
4838 pub fn pmr(
4839 self,
4840 ) -> crate::common::RegisterField<
4841 16,
4842 0x1,
4843 1,
4844 0,
4845 p10pfs::Pmr,
4846 p10pfs::Pmr,
4847 P10Pfs_SPEC,
4848 crate::common::RW,
4849 > {
4850 crate::common::RegisterField::<
4851 16,
4852 0x1,
4853 1,
4854 0,
4855 p10pfs::Pmr,
4856 p10pfs::Pmr,
4857 P10Pfs_SPEC,
4858 crate::common::RW,
4859 >::from_register(self, 0)
4860 }
4861
4862 #[doc = "Peripheral Select"]
4863 #[inline(always)]
4864 pub fn psel(
4865 self,
4866 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P10Pfs_SPEC, crate::common::RW> {
4867 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P10Pfs_SPEC,crate::common::RW>::from_register(self,0)
4868 }
4869}
4870impl ::core::default::Default for P10Pfs {
4871 #[inline(always)]
4872 fn default() -> P10Pfs {
4873 <crate::RegValueT<P10Pfs_SPEC> as RegisterValue<_>>::new(0)
4874 }
4875}
4876pub mod p10pfs {
4877
4878 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4879 pub struct Podr_SPEC;
4880 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4881 impl Podr {
4882 #[doc = "Output low"]
4883 pub const _0: Self = Self::new(0);
4884
4885 #[doc = "Output high"]
4886 pub const _1: Self = Self::new(1);
4887 }
4888 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4889 pub struct Pidr_SPEC;
4890 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4891 impl Pidr {
4892 #[doc = "Low level"]
4893 pub const _0: Self = Self::new(0);
4894
4895 #[doc = "High level"]
4896 pub const _1: Self = Self::new(1);
4897 }
4898 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4899 pub struct Pdr_SPEC;
4900 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4901 impl Pdr {
4902 #[doc = "Input (functions as an input pin)"]
4903 pub const _0: Self = Self::new(0);
4904
4905 #[doc = "Output (functions as an output pin)"]
4906 pub const _1: Self = Self::new(1);
4907 }
4908 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4909 pub struct Pcr_SPEC;
4910 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4911 impl Pcr {
4912 #[doc = "Disable input pull-up"]
4913 pub const _0: Self = Self::new(0);
4914
4915 #[doc = "Enable input pull-up"]
4916 pub const _1: Self = Self::new(1);
4917 }
4918 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4919 pub struct Ncodr_SPEC;
4920 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4921 impl Ncodr {
4922 #[doc = "Output CMOS"]
4923 pub const _0: Self = Self::new(0);
4924
4925 #[doc = "Output NMOS open-drain"]
4926 pub const _1: Self = Self::new(1);
4927 }
4928 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4929 pub struct Eofr_SPEC;
4930 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
4931 impl Eofr {
4932 #[doc = "Don\'t care"]
4933 pub const _00: Self = Self::new(0);
4934
4935 #[doc = "Detect rising edge"]
4936 pub const _01: Self = Self::new(1);
4937
4938 #[doc = "Detect falling edge"]
4939 pub const _10: Self = Self::new(2);
4940
4941 #[doc = "Detect both edges"]
4942 pub const _11: Self = Self::new(3);
4943 }
4944 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4945 pub struct Isel_SPEC;
4946 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4947 impl Isel {
4948 #[doc = "Do not use as IRQn input pin"]
4949 pub const _0: Self = Self::new(0);
4950
4951 #[doc = "Use as IRQn input pin"]
4952 pub const _1: Self = Self::new(1);
4953 }
4954 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4955 pub struct Asel_SPEC;
4956 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4957 impl Asel {
4958 #[doc = "Do not use as analog pin"]
4959 pub const _0: Self = Self::new(0);
4960
4961 #[doc = "Use as analog pin"]
4962 pub const _1: Self = Self::new(1);
4963 }
4964 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4965 pub struct Pmr_SPEC;
4966 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
4967 impl Pmr {
4968 #[doc = "Use as general I/O pin"]
4969 pub const _0: Self = Self::new(0);
4970
4971 #[doc = "Use as I/O port for peripheral functions"]
4972 pub const _1: Self = Self::new(1);
4973 }
4974}
4975#[doc(hidden)]
4976#[derive(Copy, Clone, Eq, PartialEq)]
4977pub struct P10PfsHa_SPEC;
4978impl crate::sealed::RegSpec for P10PfsHa_SPEC {
4979 type DataType = u16;
4980}
4981
4982#[doc = "Port 10%s Pin Function Select Register"]
4983pub type P10PfsHa = crate::RegValueT<P10PfsHa_SPEC>;
4984
4985impl P10PfsHa {
4986 #[doc = "Port Output Data"]
4987 #[inline(always)]
4988 pub fn podr(
4989 self,
4990 ) -> crate::common::RegisterField<
4991 0,
4992 0x1,
4993 1,
4994 0,
4995 p10pfs_ha::Podr,
4996 p10pfs_ha::Podr,
4997 P10PfsHa_SPEC,
4998 crate::common::RW,
4999 > {
5000 crate::common::RegisterField::<
5001 0,
5002 0x1,
5003 1,
5004 0,
5005 p10pfs_ha::Podr,
5006 p10pfs_ha::Podr,
5007 P10PfsHa_SPEC,
5008 crate::common::RW,
5009 >::from_register(self, 0)
5010 }
5011
5012 #[doc = "Port State"]
5013 #[inline(always)]
5014 pub fn pidr(
5015 self,
5016 ) -> crate::common::RegisterField<
5017 1,
5018 0x1,
5019 1,
5020 0,
5021 p10pfs_ha::Pidr,
5022 p10pfs_ha::Pidr,
5023 P10PfsHa_SPEC,
5024 crate::common::R,
5025 > {
5026 crate::common::RegisterField::<
5027 1,
5028 0x1,
5029 1,
5030 0,
5031 p10pfs_ha::Pidr,
5032 p10pfs_ha::Pidr,
5033 P10PfsHa_SPEC,
5034 crate::common::R,
5035 >::from_register(self, 0)
5036 }
5037
5038 #[doc = "Port Direction"]
5039 #[inline(always)]
5040 pub fn pdr(
5041 self,
5042 ) -> crate::common::RegisterField<
5043 2,
5044 0x1,
5045 1,
5046 0,
5047 p10pfs_ha::Pdr,
5048 p10pfs_ha::Pdr,
5049 P10PfsHa_SPEC,
5050 crate::common::RW,
5051 > {
5052 crate::common::RegisterField::<
5053 2,
5054 0x1,
5055 1,
5056 0,
5057 p10pfs_ha::Pdr,
5058 p10pfs_ha::Pdr,
5059 P10PfsHa_SPEC,
5060 crate::common::RW,
5061 >::from_register(self, 0)
5062 }
5063
5064 #[doc = "Pull-up Control"]
5065 #[inline(always)]
5066 pub fn pcr(
5067 self,
5068 ) -> crate::common::RegisterField<
5069 4,
5070 0x1,
5071 1,
5072 0,
5073 p10pfs_ha::Pcr,
5074 p10pfs_ha::Pcr,
5075 P10PfsHa_SPEC,
5076 crate::common::RW,
5077 > {
5078 crate::common::RegisterField::<
5079 4,
5080 0x1,
5081 1,
5082 0,
5083 p10pfs_ha::Pcr,
5084 p10pfs_ha::Pcr,
5085 P10PfsHa_SPEC,
5086 crate::common::RW,
5087 >::from_register(self, 0)
5088 }
5089
5090 #[doc = "N-Channel Open-Drain Control"]
5091 #[inline(always)]
5092 pub fn ncodr(
5093 self,
5094 ) -> crate::common::RegisterField<
5095 6,
5096 0x1,
5097 1,
5098 0,
5099 p10pfs_ha::Ncodr,
5100 p10pfs_ha::Ncodr,
5101 P10PfsHa_SPEC,
5102 crate::common::RW,
5103 > {
5104 crate::common::RegisterField::<
5105 6,
5106 0x1,
5107 1,
5108 0,
5109 p10pfs_ha::Ncodr,
5110 p10pfs_ha::Ncodr,
5111 P10PfsHa_SPEC,
5112 crate::common::RW,
5113 >::from_register(self, 0)
5114 }
5115
5116 #[doc = "Event on Falling/Event on Rising"]
5117 #[inline(always)]
5118 pub fn eofr(
5119 self,
5120 ) -> crate::common::RegisterField<
5121 12,
5122 0x3,
5123 1,
5124 0,
5125 p10pfs_ha::Eofr,
5126 p10pfs_ha::Eofr,
5127 P10PfsHa_SPEC,
5128 crate::common::RW,
5129 > {
5130 crate::common::RegisterField::<
5131 12,
5132 0x3,
5133 1,
5134 0,
5135 p10pfs_ha::Eofr,
5136 p10pfs_ha::Eofr,
5137 P10PfsHa_SPEC,
5138 crate::common::RW,
5139 >::from_register(self, 0)
5140 }
5141
5142 #[doc = "IRQ Input Enable"]
5143 #[inline(always)]
5144 pub fn isel(
5145 self,
5146 ) -> crate::common::RegisterField<
5147 14,
5148 0x1,
5149 1,
5150 0,
5151 p10pfs_ha::Isel,
5152 p10pfs_ha::Isel,
5153 P10PfsHa_SPEC,
5154 crate::common::RW,
5155 > {
5156 crate::common::RegisterField::<
5157 14,
5158 0x1,
5159 1,
5160 0,
5161 p10pfs_ha::Isel,
5162 p10pfs_ha::Isel,
5163 P10PfsHa_SPEC,
5164 crate::common::RW,
5165 >::from_register(self, 0)
5166 }
5167
5168 #[doc = "Analog Input Enable"]
5169 #[inline(always)]
5170 pub fn asel(
5171 self,
5172 ) -> crate::common::RegisterField<
5173 15,
5174 0x1,
5175 1,
5176 0,
5177 p10pfs_ha::Asel,
5178 p10pfs_ha::Asel,
5179 P10PfsHa_SPEC,
5180 crate::common::RW,
5181 > {
5182 crate::common::RegisterField::<
5183 15,
5184 0x1,
5185 1,
5186 0,
5187 p10pfs_ha::Asel,
5188 p10pfs_ha::Asel,
5189 P10PfsHa_SPEC,
5190 crate::common::RW,
5191 >::from_register(self, 0)
5192 }
5193}
5194impl ::core::default::Default for P10PfsHa {
5195 #[inline(always)]
5196 fn default() -> P10PfsHa {
5197 <crate::RegValueT<P10PfsHa_SPEC> as RegisterValue<_>>::new(0)
5198 }
5199}
5200pub mod p10pfs_ha {
5201
5202 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5203 pub struct Podr_SPEC;
5204 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5205 impl Podr {
5206 #[doc = "Output low"]
5207 pub const _0: Self = Self::new(0);
5208
5209 #[doc = "Output high"]
5210 pub const _1: Self = Self::new(1);
5211 }
5212 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5213 pub struct Pidr_SPEC;
5214 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5215 impl Pidr {
5216 #[doc = "Low level"]
5217 pub const _0: Self = Self::new(0);
5218
5219 #[doc = "High level"]
5220 pub const _1: Self = Self::new(1);
5221 }
5222 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5223 pub struct Pdr_SPEC;
5224 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5225 impl Pdr {
5226 #[doc = "Input (functions as an input pin)"]
5227 pub const _0: Self = Self::new(0);
5228
5229 #[doc = "Output (functions as an output pin)"]
5230 pub const _1: Self = Self::new(1);
5231 }
5232 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5233 pub struct Pcr_SPEC;
5234 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5235 impl Pcr {
5236 #[doc = "Disable input pull-up"]
5237 pub const _0: Self = Self::new(0);
5238
5239 #[doc = "Enable input pull-up"]
5240 pub const _1: Self = Self::new(1);
5241 }
5242 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5243 pub struct Ncodr_SPEC;
5244 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5245 impl Ncodr {
5246 #[doc = "Output CMOS"]
5247 pub const _0: Self = Self::new(0);
5248
5249 #[doc = "Output NMOS open-drain"]
5250 pub const _1: Self = Self::new(1);
5251 }
5252 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5253 pub struct Eofr_SPEC;
5254 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
5255 impl Eofr {
5256 #[doc = "Don\'t care"]
5257 pub const _00: Self = Self::new(0);
5258
5259 #[doc = "Detect rising edge"]
5260 pub const _01: Self = Self::new(1);
5261
5262 #[doc = "Detect falling edge"]
5263 pub const _10: Self = Self::new(2);
5264
5265 #[doc = "Detect both edges"]
5266 pub const _11: Self = Self::new(3);
5267 }
5268 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5269 pub struct Isel_SPEC;
5270 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5271 impl Isel {
5272 #[doc = "Do not use as IRQn input pin"]
5273 pub const _0: Self = Self::new(0);
5274
5275 #[doc = "Use as IRQn input pin"]
5276 pub const _1: Self = Self::new(1);
5277 }
5278 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5279 pub struct Asel_SPEC;
5280 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5281 impl Asel {
5282 #[doc = "Do not use as analog pin"]
5283 pub const _0: Self = Self::new(0);
5284
5285 #[doc = "Use as analog pin"]
5286 pub const _1: Self = Self::new(1);
5287 }
5288}
5289#[doc(hidden)]
5290#[derive(Copy, Clone, Eq, PartialEq)]
5291pub struct P10PfsBy_SPEC;
5292impl crate::sealed::RegSpec for P10PfsBy_SPEC {
5293 type DataType = u8;
5294}
5295
5296#[doc = "Port 10%s Pin Function Select Register"]
5297pub type P10PfsBy = crate::RegValueT<P10PfsBy_SPEC>;
5298
5299impl P10PfsBy {
5300 #[doc = "Port Output Data"]
5301 #[inline(always)]
5302 pub fn podr(
5303 self,
5304 ) -> crate::common::RegisterField<
5305 0,
5306 0x1,
5307 1,
5308 0,
5309 p10pfs_by::Podr,
5310 p10pfs_by::Podr,
5311 P10PfsBy_SPEC,
5312 crate::common::RW,
5313 > {
5314 crate::common::RegisterField::<
5315 0,
5316 0x1,
5317 1,
5318 0,
5319 p10pfs_by::Podr,
5320 p10pfs_by::Podr,
5321 P10PfsBy_SPEC,
5322 crate::common::RW,
5323 >::from_register(self, 0)
5324 }
5325
5326 #[doc = "Port State"]
5327 #[inline(always)]
5328 pub fn pidr(
5329 self,
5330 ) -> crate::common::RegisterField<
5331 1,
5332 0x1,
5333 1,
5334 0,
5335 p10pfs_by::Pidr,
5336 p10pfs_by::Pidr,
5337 P10PfsBy_SPEC,
5338 crate::common::R,
5339 > {
5340 crate::common::RegisterField::<
5341 1,
5342 0x1,
5343 1,
5344 0,
5345 p10pfs_by::Pidr,
5346 p10pfs_by::Pidr,
5347 P10PfsBy_SPEC,
5348 crate::common::R,
5349 >::from_register(self, 0)
5350 }
5351
5352 #[doc = "Port Direction"]
5353 #[inline(always)]
5354 pub fn pdr(
5355 self,
5356 ) -> crate::common::RegisterField<
5357 2,
5358 0x1,
5359 1,
5360 0,
5361 p10pfs_by::Pdr,
5362 p10pfs_by::Pdr,
5363 P10PfsBy_SPEC,
5364 crate::common::RW,
5365 > {
5366 crate::common::RegisterField::<
5367 2,
5368 0x1,
5369 1,
5370 0,
5371 p10pfs_by::Pdr,
5372 p10pfs_by::Pdr,
5373 P10PfsBy_SPEC,
5374 crate::common::RW,
5375 >::from_register(self, 0)
5376 }
5377
5378 #[doc = "Pull-up Control"]
5379 #[inline(always)]
5380 pub fn pcr(
5381 self,
5382 ) -> crate::common::RegisterField<
5383 4,
5384 0x1,
5385 1,
5386 0,
5387 p10pfs_by::Pcr,
5388 p10pfs_by::Pcr,
5389 P10PfsBy_SPEC,
5390 crate::common::RW,
5391 > {
5392 crate::common::RegisterField::<
5393 4,
5394 0x1,
5395 1,
5396 0,
5397 p10pfs_by::Pcr,
5398 p10pfs_by::Pcr,
5399 P10PfsBy_SPEC,
5400 crate::common::RW,
5401 >::from_register(self, 0)
5402 }
5403
5404 #[doc = "N-Channel Open-Drain Control"]
5405 #[inline(always)]
5406 pub fn ncodr(
5407 self,
5408 ) -> crate::common::RegisterField<
5409 6,
5410 0x1,
5411 1,
5412 0,
5413 p10pfs_by::Ncodr,
5414 p10pfs_by::Ncodr,
5415 P10PfsBy_SPEC,
5416 crate::common::RW,
5417 > {
5418 crate::common::RegisterField::<
5419 6,
5420 0x1,
5421 1,
5422 0,
5423 p10pfs_by::Ncodr,
5424 p10pfs_by::Ncodr,
5425 P10PfsBy_SPEC,
5426 crate::common::RW,
5427 >::from_register(self, 0)
5428 }
5429}
5430impl ::core::default::Default for P10PfsBy {
5431 #[inline(always)]
5432 fn default() -> P10PfsBy {
5433 <crate::RegValueT<P10PfsBy_SPEC> as RegisterValue<_>>::new(0)
5434 }
5435}
5436pub mod p10pfs_by {
5437
5438 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5439 pub struct Podr_SPEC;
5440 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5441 impl Podr {
5442 #[doc = "Output low"]
5443 pub const _0: Self = Self::new(0);
5444
5445 #[doc = "Output high"]
5446 pub const _1: Self = Self::new(1);
5447 }
5448 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5449 pub struct Pidr_SPEC;
5450 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5451 impl Pidr {
5452 #[doc = "Low level"]
5453 pub const _0: Self = Self::new(0);
5454
5455 #[doc = "High level"]
5456 pub const _1: Self = Self::new(1);
5457 }
5458 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5459 pub struct Pdr_SPEC;
5460 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5461 impl Pdr {
5462 #[doc = "Input (functions as an input pin)"]
5463 pub const _0: Self = Self::new(0);
5464
5465 #[doc = "Output (functions as an output pin)"]
5466 pub const _1: Self = Self::new(1);
5467 }
5468 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5469 pub struct Pcr_SPEC;
5470 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5471 impl Pcr {
5472 #[doc = "Disable input pull-up"]
5473 pub const _0: Self = Self::new(0);
5474
5475 #[doc = "Enable input pull-up"]
5476 pub const _1: Self = Self::new(1);
5477 }
5478 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5479 pub struct Ncodr_SPEC;
5480 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5481 impl Ncodr {
5482 #[doc = "Output CMOS"]
5483 pub const _0: Self = Self::new(0);
5484
5485 #[doc = "Output NMOS open-drain"]
5486 pub const _1: Self = Self::new(1);
5487 }
5488}
5489#[doc(hidden)]
5490#[derive(Copy, Clone, Eq, PartialEq)]
5491pub struct P108Pfs_SPEC;
5492impl crate::sealed::RegSpec for P108Pfs_SPEC {
5493 type DataType = u32;
5494}
5495
5496#[doc = "Port 108 Pin Function Select Register"]
5497pub type P108Pfs = crate::RegValueT<P108Pfs_SPEC>;
5498
5499impl P108Pfs {
5500 #[doc = "Port Output Data"]
5501 #[inline(always)]
5502 pub fn podr(
5503 self,
5504 ) -> crate::common::RegisterField<
5505 0,
5506 0x1,
5507 1,
5508 0,
5509 p108pfs::Podr,
5510 p108pfs::Podr,
5511 P108Pfs_SPEC,
5512 crate::common::RW,
5513 > {
5514 crate::common::RegisterField::<
5515 0,
5516 0x1,
5517 1,
5518 0,
5519 p108pfs::Podr,
5520 p108pfs::Podr,
5521 P108Pfs_SPEC,
5522 crate::common::RW,
5523 >::from_register(self, 0)
5524 }
5525
5526 #[doc = "Port State"]
5527 #[inline(always)]
5528 pub fn pidr(
5529 self,
5530 ) -> crate::common::RegisterField<
5531 1,
5532 0x1,
5533 1,
5534 0,
5535 p108pfs::Pidr,
5536 p108pfs::Pidr,
5537 P108Pfs_SPEC,
5538 crate::common::R,
5539 > {
5540 crate::common::RegisterField::<
5541 1,
5542 0x1,
5543 1,
5544 0,
5545 p108pfs::Pidr,
5546 p108pfs::Pidr,
5547 P108Pfs_SPEC,
5548 crate::common::R,
5549 >::from_register(self, 0)
5550 }
5551
5552 #[doc = "Port Direction"]
5553 #[inline(always)]
5554 pub fn pdr(
5555 self,
5556 ) -> crate::common::RegisterField<
5557 2,
5558 0x1,
5559 1,
5560 0,
5561 p108pfs::Pdr,
5562 p108pfs::Pdr,
5563 P108Pfs_SPEC,
5564 crate::common::RW,
5565 > {
5566 crate::common::RegisterField::<
5567 2,
5568 0x1,
5569 1,
5570 0,
5571 p108pfs::Pdr,
5572 p108pfs::Pdr,
5573 P108Pfs_SPEC,
5574 crate::common::RW,
5575 >::from_register(self, 0)
5576 }
5577
5578 #[doc = "Pull-up Control"]
5579 #[inline(always)]
5580 pub fn pcr(
5581 self,
5582 ) -> crate::common::RegisterField<
5583 4,
5584 0x1,
5585 1,
5586 0,
5587 p108pfs::Pcr,
5588 p108pfs::Pcr,
5589 P108Pfs_SPEC,
5590 crate::common::RW,
5591 > {
5592 crate::common::RegisterField::<
5593 4,
5594 0x1,
5595 1,
5596 0,
5597 p108pfs::Pcr,
5598 p108pfs::Pcr,
5599 P108Pfs_SPEC,
5600 crate::common::RW,
5601 >::from_register(self, 0)
5602 }
5603
5604 #[doc = "N-Channel Open-Drain Control"]
5605 #[inline(always)]
5606 pub fn ncodr(
5607 self,
5608 ) -> crate::common::RegisterField<
5609 6,
5610 0x1,
5611 1,
5612 0,
5613 p108pfs::Ncodr,
5614 p108pfs::Ncodr,
5615 P108Pfs_SPEC,
5616 crate::common::RW,
5617 > {
5618 crate::common::RegisterField::<
5619 6,
5620 0x1,
5621 1,
5622 0,
5623 p108pfs::Ncodr,
5624 p108pfs::Ncodr,
5625 P108Pfs_SPEC,
5626 crate::common::RW,
5627 >::from_register(self, 0)
5628 }
5629
5630 #[doc = "Event on Falling/Event on Rising"]
5631 #[inline(always)]
5632 pub fn eofr(
5633 self,
5634 ) -> crate::common::RegisterField<
5635 12,
5636 0x3,
5637 1,
5638 0,
5639 p108pfs::Eofr,
5640 p108pfs::Eofr,
5641 P108Pfs_SPEC,
5642 crate::common::RW,
5643 > {
5644 crate::common::RegisterField::<
5645 12,
5646 0x3,
5647 1,
5648 0,
5649 p108pfs::Eofr,
5650 p108pfs::Eofr,
5651 P108Pfs_SPEC,
5652 crate::common::RW,
5653 >::from_register(self, 0)
5654 }
5655
5656 #[doc = "IRQ Input Enable"]
5657 #[inline(always)]
5658 pub fn isel(
5659 self,
5660 ) -> crate::common::RegisterField<
5661 14,
5662 0x1,
5663 1,
5664 0,
5665 p108pfs::Isel,
5666 p108pfs::Isel,
5667 P108Pfs_SPEC,
5668 crate::common::RW,
5669 > {
5670 crate::common::RegisterField::<
5671 14,
5672 0x1,
5673 1,
5674 0,
5675 p108pfs::Isel,
5676 p108pfs::Isel,
5677 P108Pfs_SPEC,
5678 crate::common::RW,
5679 >::from_register(self, 0)
5680 }
5681
5682 #[doc = "Analog Input Enable"]
5683 #[inline(always)]
5684 pub fn asel(
5685 self,
5686 ) -> crate::common::RegisterField<
5687 15,
5688 0x1,
5689 1,
5690 0,
5691 p108pfs::Asel,
5692 p108pfs::Asel,
5693 P108Pfs_SPEC,
5694 crate::common::RW,
5695 > {
5696 crate::common::RegisterField::<
5697 15,
5698 0x1,
5699 1,
5700 0,
5701 p108pfs::Asel,
5702 p108pfs::Asel,
5703 P108Pfs_SPEC,
5704 crate::common::RW,
5705 >::from_register(self, 0)
5706 }
5707
5708 #[doc = "Port Mode Control"]
5709 #[inline(always)]
5710 pub fn pmr(
5711 self,
5712 ) -> crate::common::RegisterField<
5713 16,
5714 0x1,
5715 1,
5716 0,
5717 p108pfs::Pmr,
5718 p108pfs::Pmr,
5719 P108Pfs_SPEC,
5720 crate::common::RW,
5721 > {
5722 crate::common::RegisterField::<
5723 16,
5724 0x1,
5725 1,
5726 0,
5727 p108pfs::Pmr,
5728 p108pfs::Pmr,
5729 P108Pfs_SPEC,
5730 crate::common::RW,
5731 >::from_register(self, 0)
5732 }
5733
5734 #[doc = "Peripheral Select"]
5735 #[inline(always)]
5736 pub fn psel(
5737 self,
5738 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P108Pfs_SPEC, crate::common::RW> {
5739 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P108Pfs_SPEC,crate::common::RW>::from_register(self,0)
5740 }
5741}
5742impl ::core::default::Default for P108Pfs {
5743 #[inline(always)]
5744 fn default() -> P108Pfs {
5745 <crate::RegValueT<P108Pfs_SPEC> as RegisterValue<_>>::new(65552)
5746 }
5747}
5748pub mod p108pfs {
5749
5750 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5751 pub struct Podr_SPEC;
5752 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5753 impl Podr {
5754 #[doc = "Output low"]
5755 pub const _0: Self = Self::new(0);
5756
5757 #[doc = "Output high"]
5758 pub const _1: Self = Self::new(1);
5759 }
5760 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5761 pub struct Pidr_SPEC;
5762 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5763 impl Pidr {
5764 #[doc = "Low level"]
5765 pub const _0: Self = Self::new(0);
5766
5767 #[doc = "High level"]
5768 pub const _1: Self = Self::new(1);
5769 }
5770 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5771 pub struct Pdr_SPEC;
5772 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5773 impl Pdr {
5774 #[doc = "Input (functions as an input pin)"]
5775 pub const _0: Self = Self::new(0);
5776
5777 #[doc = "Output (functions as an output pin)"]
5778 pub const _1: Self = Self::new(1);
5779 }
5780 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5781 pub struct Pcr_SPEC;
5782 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5783 impl Pcr {
5784 #[doc = "Disable input pull-up"]
5785 pub const _0: Self = Self::new(0);
5786
5787 #[doc = "Enable input pull-up"]
5788 pub const _1: Self = Self::new(1);
5789 }
5790 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5791 pub struct Ncodr_SPEC;
5792 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5793 impl Ncodr {
5794 #[doc = "Output CMOS"]
5795 pub const _0: Self = Self::new(0);
5796
5797 #[doc = "Output NMOS open-drain"]
5798 pub const _1: Self = Self::new(1);
5799 }
5800 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5801 pub struct Eofr_SPEC;
5802 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
5803 impl Eofr {
5804 #[doc = "Don\'t care"]
5805 pub const _00: Self = Self::new(0);
5806
5807 #[doc = "Detect rising edge"]
5808 pub const _01: Self = Self::new(1);
5809
5810 #[doc = "Detect falling edge"]
5811 pub const _10: Self = Self::new(2);
5812
5813 #[doc = "Detect both edges"]
5814 pub const _11: Self = Self::new(3);
5815 }
5816 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5817 pub struct Isel_SPEC;
5818 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5819 impl Isel {
5820 #[doc = "Do not use as IRQn input pin"]
5821 pub const _0: Self = Self::new(0);
5822
5823 #[doc = "Use as IRQn input pin"]
5824 pub const _1: Self = Self::new(1);
5825 }
5826 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5827 pub struct Asel_SPEC;
5828 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5829 impl Asel {
5830 #[doc = "Do not use as analog pin"]
5831 pub const _0: Self = Self::new(0);
5832
5833 #[doc = "Use as analog pin"]
5834 pub const _1: Self = Self::new(1);
5835 }
5836 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5837 pub struct Pmr_SPEC;
5838 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
5839 impl Pmr {
5840 #[doc = "Use as general I/O pin"]
5841 pub const _0: Self = Self::new(0);
5842
5843 #[doc = "Use as I/O port for peripheral functions"]
5844 pub const _1: Self = Self::new(1);
5845 }
5846}
5847#[doc(hidden)]
5848#[derive(Copy, Clone, Eq, PartialEq)]
5849pub struct P108PfsHa_SPEC;
5850impl crate::sealed::RegSpec for P108PfsHa_SPEC {
5851 type DataType = u16;
5852}
5853
5854#[doc = "Port 108 Pin Function Select Register"]
5855pub type P108PfsHa = crate::RegValueT<P108PfsHa_SPEC>;
5856
5857impl P108PfsHa {
5858 #[doc = "Port Output Data"]
5859 #[inline(always)]
5860 pub fn podr(
5861 self,
5862 ) -> crate::common::RegisterField<
5863 0,
5864 0x1,
5865 1,
5866 0,
5867 p108pfs_ha::Podr,
5868 p108pfs_ha::Podr,
5869 P108PfsHa_SPEC,
5870 crate::common::RW,
5871 > {
5872 crate::common::RegisterField::<
5873 0,
5874 0x1,
5875 1,
5876 0,
5877 p108pfs_ha::Podr,
5878 p108pfs_ha::Podr,
5879 P108PfsHa_SPEC,
5880 crate::common::RW,
5881 >::from_register(self, 0)
5882 }
5883
5884 #[doc = "Port State"]
5885 #[inline(always)]
5886 pub fn pidr(
5887 self,
5888 ) -> crate::common::RegisterField<
5889 1,
5890 0x1,
5891 1,
5892 0,
5893 p108pfs_ha::Pidr,
5894 p108pfs_ha::Pidr,
5895 P108PfsHa_SPEC,
5896 crate::common::R,
5897 > {
5898 crate::common::RegisterField::<
5899 1,
5900 0x1,
5901 1,
5902 0,
5903 p108pfs_ha::Pidr,
5904 p108pfs_ha::Pidr,
5905 P108PfsHa_SPEC,
5906 crate::common::R,
5907 >::from_register(self, 0)
5908 }
5909
5910 #[doc = "Port Direction"]
5911 #[inline(always)]
5912 pub fn pdr(
5913 self,
5914 ) -> crate::common::RegisterField<
5915 2,
5916 0x1,
5917 1,
5918 0,
5919 p108pfs_ha::Pdr,
5920 p108pfs_ha::Pdr,
5921 P108PfsHa_SPEC,
5922 crate::common::RW,
5923 > {
5924 crate::common::RegisterField::<
5925 2,
5926 0x1,
5927 1,
5928 0,
5929 p108pfs_ha::Pdr,
5930 p108pfs_ha::Pdr,
5931 P108PfsHa_SPEC,
5932 crate::common::RW,
5933 >::from_register(self, 0)
5934 }
5935
5936 #[doc = "Pull-up Control"]
5937 #[inline(always)]
5938 pub fn pcr(
5939 self,
5940 ) -> crate::common::RegisterField<
5941 4,
5942 0x1,
5943 1,
5944 0,
5945 p108pfs_ha::Pcr,
5946 p108pfs_ha::Pcr,
5947 P108PfsHa_SPEC,
5948 crate::common::RW,
5949 > {
5950 crate::common::RegisterField::<
5951 4,
5952 0x1,
5953 1,
5954 0,
5955 p108pfs_ha::Pcr,
5956 p108pfs_ha::Pcr,
5957 P108PfsHa_SPEC,
5958 crate::common::RW,
5959 >::from_register(self, 0)
5960 }
5961
5962 #[doc = "N-Channel Open-Drain Control"]
5963 #[inline(always)]
5964 pub fn ncodr(
5965 self,
5966 ) -> crate::common::RegisterField<
5967 6,
5968 0x1,
5969 1,
5970 0,
5971 p108pfs_ha::Ncodr,
5972 p108pfs_ha::Ncodr,
5973 P108PfsHa_SPEC,
5974 crate::common::RW,
5975 > {
5976 crate::common::RegisterField::<
5977 6,
5978 0x1,
5979 1,
5980 0,
5981 p108pfs_ha::Ncodr,
5982 p108pfs_ha::Ncodr,
5983 P108PfsHa_SPEC,
5984 crate::common::RW,
5985 >::from_register(self, 0)
5986 }
5987
5988 #[doc = "Event on Falling/Event on Rising"]
5989 #[inline(always)]
5990 pub fn eofr(
5991 self,
5992 ) -> crate::common::RegisterField<
5993 12,
5994 0x3,
5995 1,
5996 0,
5997 p108pfs_ha::Eofr,
5998 p108pfs_ha::Eofr,
5999 P108PfsHa_SPEC,
6000 crate::common::RW,
6001 > {
6002 crate::common::RegisterField::<
6003 12,
6004 0x3,
6005 1,
6006 0,
6007 p108pfs_ha::Eofr,
6008 p108pfs_ha::Eofr,
6009 P108PfsHa_SPEC,
6010 crate::common::RW,
6011 >::from_register(self, 0)
6012 }
6013
6014 #[doc = "IRQ Input Enable"]
6015 #[inline(always)]
6016 pub fn isel(
6017 self,
6018 ) -> crate::common::RegisterField<
6019 14,
6020 0x1,
6021 1,
6022 0,
6023 p108pfs_ha::Isel,
6024 p108pfs_ha::Isel,
6025 P108PfsHa_SPEC,
6026 crate::common::RW,
6027 > {
6028 crate::common::RegisterField::<
6029 14,
6030 0x1,
6031 1,
6032 0,
6033 p108pfs_ha::Isel,
6034 p108pfs_ha::Isel,
6035 P108PfsHa_SPEC,
6036 crate::common::RW,
6037 >::from_register(self, 0)
6038 }
6039
6040 #[doc = "Analog Input Enable"]
6041 #[inline(always)]
6042 pub fn asel(
6043 self,
6044 ) -> crate::common::RegisterField<
6045 15,
6046 0x1,
6047 1,
6048 0,
6049 p108pfs_ha::Asel,
6050 p108pfs_ha::Asel,
6051 P108PfsHa_SPEC,
6052 crate::common::RW,
6053 > {
6054 crate::common::RegisterField::<
6055 15,
6056 0x1,
6057 1,
6058 0,
6059 p108pfs_ha::Asel,
6060 p108pfs_ha::Asel,
6061 P108PfsHa_SPEC,
6062 crate::common::RW,
6063 >::from_register(self, 0)
6064 }
6065}
6066impl ::core::default::Default for P108PfsHa {
6067 #[inline(always)]
6068 fn default() -> P108PfsHa {
6069 <crate::RegValueT<P108PfsHa_SPEC> as RegisterValue<_>>::new(16)
6070 }
6071}
6072pub mod p108pfs_ha {
6073
6074 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6075 pub struct Podr_SPEC;
6076 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6077 impl Podr {
6078 #[doc = "Output low"]
6079 pub const _0: Self = Self::new(0);
6080
6081 #[doc = "Output high"]
6082 pub const _1: Self = Self::new(1);
6083 }
6084 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6085 pub struct Pidr_SPEC;
6086 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6087 impl Pidr {
6088 #[doc = "Low level"]
6089 pub const _0: Self = Self::new(0);
6090
6091 #[doc = "High level"]
6092 pub const _1: Self = Self::new(1);
6093 }
6094 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6095 pub struct Pdr_SPEC;
6096 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6097 impl Pdr {
6098 #[doc = "Input (functions as an input pin)"]
6099 pub const _0: Self = Self::new(0);
6100
6101 #[doc = "Output (functions as an output pin)"]
6102 pub const _1: Self = Self::new(1);
6103 }
6104 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6105 pub struct Pcr_SPEC;
6106 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6107 impl Pcr {
6108 #[doc = "Disable input pull-up"]
6109 pub const _0: Self = Self::new(0);
6110
6111 #[doc = "Enable input pull-up"]
6112 pub const _1: Self = Self::new(1);
6113 }
6114 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6115 pub struct Ncodr_SPEC;
6116 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6117 impl Ncodr {
6118 #[doc = "Output CMOS"]
6119 pub const _0: Self = Self::new(0);
6120
6121 #[doc = "Output NMOS open-drain"]
6122 pub const _1: Self = Self::new(1);
6123 }
6124 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6125 pub struct Eofr_SPEC;
6126 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
6127 impl Eofr {
6128 #[doc = "Don\'t care"]
6129 pub const _00: Self = Self::new(0);
6130
6131 #[doc = "Detect rising edge"]
6132 pub const _01: Self = Self::new(1);
6133
6134 #[doc = "Detect falling edge"]
6135 pub const _10: Self = Self::new(2);
6136
6137 #[doc = "Detect both edges"]
6138 pub const _11: Self = Self::new(3);
6139 }
6140 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6141 pub struct Isel_SPEC;
6142 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6143 impl Isel {
6144 #[doc = "Do not use as IRQn input pin"]
6145 pub const _0: Self = Self::new(0);
6146
6147 #[doc = "Use as IRQn input pin"]
6148 pub const _1: Self = Self::new(1);
6149 }
6150 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6151 pub struct Asel_SPEC;
6152 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6153 impl Asel {
6154 #[doc = "Do not use as analog pin"]
6155 pub const _0: Self = Self::new(0);
6156
6157 #[doc = "Use as analog pin"]
6158 pub const _1: Self = Self::new(1);
6159 }
6160}
6161#[doc(hidden)]
6162#[derive(Copy, Clone, Eq, PartialEq)]
6163pub struct P108PfsBy_SPEC;
6164impl crate::sealed::RegSpec for P108PfsBy_SPEC {
6165 type DataType = u8;
6166}
6167
6168#[doc = "Port 108 Pin Function Select Register"]
6169pub type P108PfsBy = crate::RegValueT<P108PfsBy_SPEC>;
6170
6171impl P108PfsBy {
6172 #[doc = "Port Output Data"]
6173 #[inline(always)]
6174 pub fn podr(
6175 self,
6176 ) -> crate::common::RegisterField<
6177 0,
6178 0x1,
6179 1,
6180 0,
6181 p108pfs_by::Podr,
6182 p108pfs_by::Podr,
6183 P108PfsBy_SPEC,
6184 crate::common::RW,
6185 > {
6186 crate::common::RegisterField::<
6187 0,
6188 0x1,
6189 1,
6190 0,
6191 p108pfs_by::Podr,
6192 p108pfs_by::Podr,
6193 P108PfsBy_SPEC,
6194 crate::common::RW,
6195 >::from_register(self, 0)
6196 }
6197
6198 #[doc = "Port State"]
6199 #[inline(always)]
6200 pub fn pidr(
6201 self,
6202 ) -> crate::common::RegisterField<
6203 1,
6204 0x1,
6205 1,
6206 0,
6207 p108pfs_by::Pidr,
6208 p108pfs_by::Pidr,
6209 P108PfsBy_SPEC,
6210 crate::common::R,
6211 > {
6212 crate::common::RegisterField::<
6213 1,
6214 0x1,
6215 1,
6216 0,
6217 p108pfs_by::Pidr,
6218 p108pfs_by::Pidr,
6219 P108PfsBy_SPEC,
6220 crate::common::R,
6221 >::from_register(self, 0)
6222 }
6223
6224 #[doc = "Port Direction"]
6225 #[inline(always)]
6226 pub fn pdr(
6227 self,
6228 ) -> crate::common::RegisterField<
6229 2,
6230 0x1,
6231 1,
6232 0,
6233 p108pfs_by::Pdr,
6234 p108pfs_by::Pdr,
6235 P108PfsBy_SPEC,
6236 crate::common::RW,
6237 > {
6238 crate::common::RegisterField::<
6239 2,
6240 0x1,
6241 1,
6242 0,
6243 p108pfs_by::Pdr,
6244 p108pfs_by::Pdr,
6245 P108PfsBy_SPEC,
6246 crate::common::RW,
6247 >::from_register(self, 0)
6248 }
6249
6250 #[doc = "Pull-up Control"]
6251 #[inline(always)]
6252 pub fn pcr(
6253 self,
6254 ) -> crate::common::RegisterField<
6255 4,
6256 0x1,
6257 1,
6258 0,
6259 p108pfs_by::Pcr,
6260 p108pfs_by::Pcr,
6261 P108PfsBy_SPEC,
6262 crate::common::RW,
6263 > {
6264 crate::common::RegisterField::<
6265 4,
6266 0x1,
6267 1,
6268 0,
6269 p108pfs_by::Pcr,
6270 p108pfs_by::Pcr,
6271 P108PfsBy_SPEC,
6272 crate::common::RW,
6273 >::from_register(self, 0)
6274 }
6275
6276 #[doc = "N-Channel Open-Drain Control"]
6277 #[inline(always)]
6278 pub fn ncodr(
6279 self,
6280 ) -> crate::common::RegisterField<
6281 6,
6282 0x1,
6283 1,
6284 0,
6285 p108pfs_by::Ncodr,
6286 p108pfs_by::Ncodr,
6287 P108PfsBy_SPEC,
6288 crate::common::RW,
6289 > {
6290 crate::common::RegisterField::<
6291 6,
6292 0x1,
6293 1,
6294 0,
6295 p108pfs_by::Ncodr,
6296 p108pfs_by::Ncodr,
6297 P108PfsBy_SPEC,
6298 crate::common::RW,
6299 >::from_register(self, 0)
6300 }
6301}
6302impl ::core::default::Default for P108PfsBy {
6303 #[inline(always)]
6304 fn default() -> P108PfsBy {
6305 <crate::RegValueT<P108PfsBy_SPEC> as RegisterValue<_>>::new(16)
6306 }
6307}
6308pub mod p108pfs_by {
6309
6310 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6311 pub struct Podr_SPEC;
6312 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6313 impl Podr {
6314 #[doc = "Output low"]
6315 pub const _0: Self = Self::new(0);
6316
6317 #[doc = "Output high"]
6318 pub const _1: Self = Self::new(1);
6319 }
6320 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6321 pub struct Pidr_SPEC;
6322 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6323 impl Pidr {
6324 #[doc = "Low level"]
6325 pub const _0: Self = Self::new(0);
6326
6327 #[doc = "High level"]
6328 pub const _1: Self = Self::new(1);
6329 }
6330 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6331 pub struct Pdr_SPEC;
6332 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6333 impl Pdr {
6334 #[doc = "Input (functions as an input pin)"]
6335 pub const _0: Self = Self::new(0);
6336
6337 #[doc = "Output (functions as an output pin)"]
6338 pub const _1: Self = Self::new(1);
6339 }
6340 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6341 pub struct Pcr_SPEC;
6342 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6343 impl Pcr {
6344 #[doc = "Disable input pull-up"]
6345 pub const _0: Self = Self::new(0);
6346
6347 #[doc = "Enable input pull-up"]
6348 pub const _1: Self = Self::new(1);
6349 }
6350 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6351 pub struct Ncodr_SPEC;
6352 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6353 impl Ncodr {
6354 #[doc = "Output CMOS"]
6355 pub const _0: Self = Self::new(0);
6356
6357 #[doc = "Output NMOS open-drain"]
6358 pub const _1: Self = Self::new(1);
6359 }
6360}
6361#[doc(hidden)]
6362#[derive(Copy, Clone, Eq, PartialEq)]
6363pub struct P109Pfs_SPEC;
6364impl crate::sealed::RegSpec for P109Pfs_SPEC {
6365 type DataType = u32;
6366}
6367
6368#[doc = "Port 109 Pin Function Select Register"]
6369pub type P109Pfs = crate::RegValueT<P109Pfs_SPEC>;
6370
6371impl P109Pfs {
6372 #[doc = "Port Output Data"]
6373 #[inline(always)]
6374 pub fn podr(
6375 self,
6376 ) -> crate::common::RegisterField<
6377 0,
6378 0x1,
6379 1,
6380 0,
6381 p109pfs::Podr,
6382 p109pfs::Podr,
6383 P109Pfs_SPEC,
6384 crate::common::RW,
6385 > {
6386 crate::common::RegisterField::<
6387 0,
6388 0x1,
6389 1,
6390 0,
6391 p109pfs::Podr,
6392 p109pfs::Podr,
6393 P109Pfs_SPEC,
6394 crate::common::RW,
6395 >::from_register(self, 0)
6396 }
6397
6398 #[doc = "Port State"]
6399 #[inline(always)]
6400 pub fn pidr(
6401 self,
6402 ) -> crate::common::RegisterField<
6403 1,
6404 0x1,
6405 1,
6406 0,
6407 p109pfs::Pidr,
6408 p109pfs::Pidr,
6409 P109Pfs_SPEC,
6410 crate::common::R,
6411 > {
6412 crate::common::RegisterField::<
6413 1,
6414 0x1,
6415 1,
6416 0,
6417 p109pfs::Pidr,
6418 p109pfs::Pidr,
6419 P109Pfs_SPEC,
6420 crate::common::R,
6421 >::from_register(self, 0)
6422 }
6423
6424 #[doc = "Port Direction"]
6425 #[inline(always)]
6426 pub fn pdr(
6427 self,
6428 ) -> crate::common::RegisterField<
6429 2,
6430 0x1,
6431 1,
6432 0,
6433 p109pfs::Pdr,
6434 p109pfs::Pdr,
6435 P109Pfs_SPEC,
6436 crate::common::RW,
6437 > {
6438 crate::common::RegisterField::<
6439 2,
6440 0x1,
6441 1,
6442 0,
6443 p109pfs::Pdr,
6444 p109pfs::Pdr,
6445 P109Pfs_SPEC,
6446 crate::common::RW,
6447 >::from_register(self, 0)
6448 }
6449
6450 #[doc = "Pull-up Control"]
6451 #[inline(always)]
6452 pub fn pcr(
6453 self,
6454 ) -> crate::common::RegisterField<
6455 4,
6456 0x1,
6457 1,
6458 0,
6459 p109pfs::Pcr,
6460 p109pfs::Pcr,
6461 P109Pfs_SPEC,
6462 crate::common::RW,
6463 > {
6464 crate::common::RegisterField::<
6465 4,
6466 0x1,
6467 1,
6468 0,
6469 p109pfs::Pcr,
6470 p109pfs::Pcr,
6471 P109Pfs_SPEC,
6472 crate::common::RW,
6473 >::from_register(self, 0)
6474 }
6475
6476 #[doc = "N-Channel Open-Drain Control"]
6477 #[inline(always)]
6478 pub fn ncodr(
6479 self,
6480 ) -> crate::common::RegisterField<
6481 6,
6482 0x1,
6483 1,
6484 0,
6485 p109pfs::Ncodr,
6486 p109pfs::Ncodr,
6487 P109Pfs_SPEC,
6488 crate::common::RW,
6489 > {
6490 crate::common::RegisterField::<
6491 6,
6492 0x1,
6493 1,
6494 0,
6495 p109pfs::Ncodr,
6496 p109pfs::Ncodr,
6497 P109Pfs_SPEC,
6498 crate::common::RW,
6499 >::from_register(self, 0)
6500 }
6501
6502 #[doc = "Event on Falling/Event on Rising"]
6503 #[inline(always)]
6504 pub fn eofr(
6505 self,
6506 ) -> crate::common::RegisterField<
6507 12,
6508 0x3,
6509 1,
6510 0,
6511 p109pfs::Eofr,
6512 p109pfs::Eofr,
6513 P109Pfs_SPEC,
6514 crate::common::RW,
6515 > {
6516 crate::common::RegisterField::<
6517 12,
6518 0x3,
6519 1,
6520 0,
6521 p109pfs::Eofr,
6522 p109pfs::Eofr,
6523 P109Pfs_SPEC,
6524 crate::common::RW,
6525 >::from_register(self, 0)
6526 }
6527
6528 #[doc = "IRQ Input Enable"]
6529 #[inline(always)]
6530 pub fn isel(
6531 self,
6532 ) -> crate::common::RegisterField<
6533 14,
6534 0x1,
6535 1,
6536 0,
6537 p109pfs::Isel,
6538 p109pfs::Isel,
6539 P109Pfs_SPEC,
6540 crate::common::RW,
6541 > {
6542 crate::common::RegisterField::<
6543 14,
6544 0x1,
6545 1,
6546 0,
6547 p109pfs::Isel,
6548 p109pfs::Isel,
6549 P109Pfs_SPEC,
6550 crate::common::RW,
6551 >::from_register(self, 0)
6552 }
6553
6554 #[doc = "Analog Input Enable"]
6555 #[inline(always)]
6556 pub fn asel(
6557 self,
6558 ) -> crate::common::RegisterField<
6559 15,
6560 0x1,
6561 1,
6562 0,
6563 p109pfs::Asel,
6564 p109pfs::Asel,
6565 P109Pfs_SPEC,
6566 crate::common::RW,
6567 > {
6568 crate::common::RegisterField::<
6569 15,
6570 0x1,
6571 1,
6572 0,
6573 p109pfs::Asel,
6574 p109pfs::Asel,
6575 P109Pfs_SPEC,
6576 crate::common::RW,
6577 >::from_register(self, 0)
6578 }
6579
6580 #[doc = "Port Mode Control"]
6581 #[inline(always)]
6582 pub fn pmr(
6583 self,
6584 ) -> crate::common::RegisterField<
6585 16,
6586 0x1,
6587 1,
6588 0,
6589 p109pfs::Pmr,
6590 p109pfs::Pmr,
6591 P109Pfs_SPEC,
6592 crate::common::RW,
6593 > {
6594 crate::common::RegisterField::<
6595 16,
6596 0x1,
6597 1,
6598 0,
6599 p109pfs::Pmr,
6600 p109pfs::Pmr,
6601 P109Pfs_SPEC,
6602 crate::common::RW,
6603 >::from_register(self, 0)
6604 }
6605
6606 #[doc = "Peripheral Select"]
6607 #[inline(always)]
6608 pub fn psel(
6609 self,
6610 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P109Pfs_SPEC, crate::common::RW> {
6611 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P109Pfs_SPEC,crate::common::RW>::from_register(self,0)
6612 }
6613}
6614impl ::core::default::Default for P109Pfs {
6615 #[inline(always)]
6616 fn default() -> P109Pfs {
6617 <crate::RegValueT<P109Pfs_SPEC> as RegisterValue<_>>::new(0)
6618 }
6619}
6620pub mod p109pfs {
6621
6622 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6623 pub struct Podr_SPEC;
6624 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6625 impl Podr {
6626 #[doc = "Output low"]
6627 pub const _0: Self = Self::new(0);
6628
6629 #[doc = "Output high"]
6630 pub const _1: Self = Self::new(1);
6631 }
6632 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6633 pub struct Pidr_SPEC;
6634 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6635 impl Pidr {
6636 #[doc = "Low level"]
6637 pub const _0: Self = Self::new(0);
6638
6639 #[doc = "High level"]
6640 pub const _1: Self = Self::new(1);
6641 }
6642 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6643 pub struct Pdr_SPEC;
6644 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6645 impl Pdr {
6646 #[doc = "Input (functions as an input pin)"]
6647 pub const _0: Self = Self::new(0);
6648
6649 #[doc = "Output (functions as an output pin)"]
6650 pub const _1: Self = Self::new(1);
6651 }
6652 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6653 pub struct Pcr_SPEC;
6654 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6655 impl Pcr {
6656 #[doc = "Disable input pull-up"]
6657 pub const _0: Self = Self::new(0);
6658
6659 #[doc = "Enable input pull-up"]
6660 pub const _1: Self = Self::new(1);
6661 }
6662 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6663 pub struct Ncodr_SPEC;
6664 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6665 impl Ncodr {
6666 #[doc = "Output CMOS"]
6667 pub const _0: Self = Self::new(0);
6668
6669 #[doc = "Output NMOS open-drain"]
6670 pub const _1: Self = Self::new(1);
6671 }
6672 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6673 pub struct Eofr_SPEC;
6674 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
6675 impl Eofr {
6676 #[doc = "Don\'t care"]
6677 pub const _00: Self = Self::new(0);
6678
6679 #[doc = "Detect rising edge"]
6680 pub const _01: Self = Self::new(1);
6681
6682 #[doc = "Detect falling edge"]
6683 pub const _10: Self = Self::new(2);
6684
6685 #[doc = "Detect both edges"]
6686 pub const _11: Self = Self::new(3);
6687 }
6688 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6689 pub struct Isel_SPEC;
6690 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6691 impl Isel {
6692 #[doc = "Do not use as IRQn input pin"]
6693 pub const _0: Self = Self::new(0);
6694
6695 #[doc = "Use as IRQn input pin"]
6696 pub const _1: Self = Self::new(1);
6697 }
6698 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6699 pub struct Asel_SPEC;
6700 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6701 impl Asel {
6702 #[doc = "Do not use as analog pin"]
6703 pub const _0: Self = Self::new(0);
6704
6705 #[doc = "Use as analog pin"]
6706 pub const _1: Self = Self::new(1);
6707 }
6708 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6709 pub struct Pmr_SPEC;
6710 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
6711 impl Pmr {
6712 #[doc = "Use as general I/O pin"]
6713 pub const _0: Self = Self::new(0);
6714
6715 #[doc = "Use as I/O port for peripheral functions"]
6716 pub const _1: Self = Self::new(1);
6717 }
6718}
6719#[doc(hidden)]
6720#[derive(Copy, Clone, Eq, PartialEq)]
6721pub struct P109PfsHa_SPEC;
6722impl crate::sealed::RegSpec for P109PfsHa_SPEC {
6723 type DataType = u16;
6724}
6725
6726#[doc = "Port 109 Pin Function Select Register"]
6727pub type P109PfsHa = crate::RegValueT<P109PfsHa_SPEC>;
6728
6729impl P109PfsHa {
6730 #[doc = "Port Output Data"]
6731 #[inline(always)]
6732 pub fn podr(
6733 self,
6734 ) -> crate::common::RegisterField<
6735 0,
6736 0x1,
6737 1,
6738 0,
6739 p109pfs_ha::Podr,
6740 p109pfs_ha::Podr,
6741 P109PfsHa_SPEC,
6742 crate::common::RW,
6743 > {
6744 crate::common::RegisterField::<
6745 0,
6746 0x1,
6747 1,
6748 0,
6749 p109pfs_ha::Podr,
6750 p109pfs_ha::Podr,
6751 P109PfsHa_SPEC,
6752 crate::common::RW,
6753 >::from_register(self, 0)
6754 }
6755
6756 #[doc = "Port State"]
6757 #[inline(always)]
6758 pub fn pidr(
6759 self,
6760 ) -> crate::common::RegisterField<
6761 1,
6762 0x1,
6763 1,
6764 0,
6765 p109pfs_ha::Pidr,
6766 p109pfs_ha::Pidr,
6767 P109PfsHa_SPEC,
6768 crate::common::R,
6769 > {
6770 crate::common::RegisterField::<
6771 1,
6772 0x1,
6773 1,
6774 0,
6775 p109pfs_ha::Pidr,
6776 p109pfs_ha::Pidr,
6777 P109PfsHa_SPEC,
6778 crate::common::R,
6779 >::from_register(self, 0)
6780 }
6781
6782 #[doc = "Port Direction"]
6783 #[inline(always)]
6784 pub fn pdr(
6785 self,
6786 ) -> crate::common::RegisterField<
6787 2,
6788 0x1,
6789 1,
6790 0,
6791 p109pfs_ha::Pdr,
6792 p109pfs_ha::Pdr,
6793 P109PfsHa_SPEC,
6794 crate::common::RW,
6795 > {
6796 crate::common::RegisterField::<
6797 2,
6798 0x1,
6799 1,
6800 0,
6801 p109pfs_ha::Pdr,
6802 p109pfs_ha::Pdr,
6803 P109PfsHa_SPEC,
6804 crate::common::RW,
6805 >::from_register(self, 0)
6806 }
6807
6808 #[doc = "Pull-up Control"]
6809 #[inline(always)]
6810 pub fn pcr(
6811 self,
6812 ) -> crate::common::RegisterField<
6813 4,
6814 0x1,
6815 1,
6816 0,
6817 p109pfs_ha::Pcr,
6818 p109pfs_ha::Pcr,
6819 P109PfsHa_SPEC,
6820 crate::common::RW,
6821 > {
6822 crate::common::RegisterField::<
6823 4,
6824 0x1,
6825 1,
6826 0,
6827 p109pfs_ha::Pcr,
6828 p109pfs_ha::Pcr,
6829 P109PfsHa_SPEC,
6830 crate::common::RW,
6831 >::from_register(self, 0)
6832 }
6833
6834 #[doc = "N-Channel Open-Drain Control"]
6835 #[inline(always)]
6836 pub fn ncodr(
6837 self,
6838 ) -> crate::common::RegisterField<
6839 6,
6840 0x1,
6841 1,
6842 0,
6843 p109pfs_ha::Ncodr,
6844 p109pfs_ha::Ncodr,
6845 P109PfsHa_SPEC,
6846 crate::common::RW,
6847 > {
6848 crate::common::RegisterField::<
6849 6,
6850 0x1,
6851 1,
6852 0,
6853 p109pfs_ha::Ncodr,
6854 p109pfs_ha::Ncodr,
6855 P109PfsHa_SPEC,
6856 crate::common::RW,
6857 >::from_register(self, 0)
6858 }
6859
6860 #[doc = "Event on Falling/Event on Rising"]
6861 #[inline(always)]
6862 pub fn eofr(
6863 self,
6864 ) -> crate::common::RegisterField<
6865 12,
6866 0x3,
6867 1,
6868 0,
6869 p109pfs_ha::Eofr,
6870 p109pfs_ha::Eofr,
6871 P109PfsHa_SPEC,
6872 crate::common::RW,
6873 > {
6874 crate::common::RegisterField::<
6875 12,
6876 0x3,
6877 1,
6878 0,
6879 p109pfs_ha::Eofr,
6880 p109pfs_ha::Eofr,
6881 P109PfsHa_SPEC,
6882 crate::common::RW,
6883 >::from_register(self, 0)
6884 }
6885
6886 #[doc = "IRQ Input Enable"]
6887 #[inline(always)]
6888 pub fn isel(
6889 self,
6890 ) -> crate::common::RegisterField<
6891 14,
6892 0x1,
6893 1,
6894 0,
6895 p109pfs_ha::Isel,
6896 p109pfs_ha::Isel,
6897 P109PfsHa_SPEC,
6898 crate::common::RW,
6899 > {
6900 crate::common::RegisterField::<
6901 14,
6902 0x1,
6903 1,
6904 0,
6905 p109pfs_ha::Isel,
6906 p109pfs_ha::Isel,
6907 P109PfsHa_SPEC,
6908 crate::common::RW,
6909 >::from_register(self, 0)
6910 }
6911
6912 #[doc = "Analog Input Enable"]
6913 #[inline(always)]
6914 pub fn asel(
6915 self,
6916 ) -> crate::common::RegisterField<
6917 15,
6918 0x1,
6919 1,
6920 0,
6921 p109pfs_ha::Asel,
6922 p109pfs_ha::Asel,
6923 P109PfsHa_SPEC,
6924 crate::common::RW,
6925 > {
6926 crate::common::RegisterField::<
6927 15,
6928 0x1,
6929 1,
6930 0,
6931 p109pfs_ha::Asel,
6932 p109pfs_ha::Asel,
6933 P109PfsHa_SPEC,
6934 crate::common::RW,
6935 >::from_register(self, 0)
6936 }
6937}
6938impl ::core::default::Default for P109PfsHa {
6939 #[inline(always)]
6940 fn default() -> P109PfsHa {
6941 <crate::RegValueT<P109PfsHa_SPEC> as RegisterValue<_>>::new(0)
6942 }
6943}
6944pub mod p109pfs_ha {
6945
6946 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6947 pub struct Podr_SPEC;
6948 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6949 impl Podr {
6950 #[doc = "Output low"]
6951 pub const _0: Self = Self::new(0);
6952
6953 #[doc = "Output high"]
6954 pub const _1: Self = Self::new(1);
6955 }
6956 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6957 pub struct Pidr_SPEC;
6958 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6959 impl Pidr {
6960 #[doc = "Low level"]
6961 pub const _0: Self = Self::new(0);
6962
6963 #[doc = "High level"]
6964 pub const _1: Self = Self::new(1);
6965 }
6966 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6967 pub struct Pdr_SPEC;
6968 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6969 impl Pdr {
6970 #[doc = "Input (functions as an input pin)"]
6971 pub const _0: Self = Self::new(0);
6972
6973 #[doc = "Output (functions as an output pin)"]
6974 pub const _1: Self = Self::new(1);
6975 }
6976 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6977 pub struct Pcr_SPEC;
6978 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6979 impl Pcr {
6980 #[doc = "Disable input pull-up"]
6981 pub const _0: Self = Self::new(0);
6982
6983 #[doc = "Enable input pull-up"]
6984 pub const _1: Self = Self::new(1);
6985 }
6986 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6987 pub struct Ncodr_SPEC;
6988 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6989 impl Ncodr {
6990 #[doc = "Output CMOS"]
6991 pub const _0: Self = Self::new(0);
6992
6993 #[doc = "Output NMOS open-drain"]
6994 pub const _1: Self = Self::new(1);
6995 }
6996 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6997 pub struct Eofr_SPEC;
6998 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
6999 impl Eofr {
7000 #[doc = "Don\'t care"]
7001 pub const _00: Self = Self::new(0);
7002
7003 #[doc = "Detect rising edge"]
7004 pub const _01: Self = Self::new(1);
7005
7006 #[doc = "Detect falling edge"]
7007 pub const _10: Self = Self::new(2);
7008
7009 #[doc = "Detect both edges"]
7010 pub const _11: Self = Self::new(3);
7011 }
7012 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7013 pub struct Isel_SPEC;
7014 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7015 impl Isel {
7016 #[doc = "Do not use as IRQn input pin"]
7017 pub const _0: Self = Self::new(0);
7018
7019 #[doc = "Use as IRQn input pin"]
7020 pub const _1: Self = Self::new(1);
7021 }
7022 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7023 pub struct Asel_SPEC;
7024 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7025 impl Asel {
7026 #[doc = "Do not use as analog pin"]
7027 pub const _0: Self = Self::new(0);
7028
7029 #[doc = "Use as analog pin"]
7030 pub const _1: Self = Self::new(1);
7031 }
7032}
7033#[doc(hidden)]
7034#[derive(Copy, Clone, Eq, PartialEq)]
7035pub struct P109PfsBy_SPEC;
7036impl crate::sealed::RegSpec for P109PfsBy_SPEC {
7037 type DataType = u8;
7038}
7039
7040#[doc = "Port 109 Pin Function Select Register"]
7041pub type P109PfsBy = crate::RegValueT<P109PfsBy_SPEC>;
7042
7043impl P109PfsBy {
7044 #[doc = "Port Output Data"]
7045 #[inline(always)]
7046 pub fn podr(
7047 self,
7048 ) -> crate::common::RegisterField<
7049 0,
7050 0x1,
7051 1,
7052 0,
7053 p109pfs_by::Podr,
7054 p109pfs_by::Podr,
7055 P109PfsBy_SPEC,
7056 crate::common::RW,
7057 > {
7058 crate::common::RegisterField::<
7059 0,
7060 0x1,
7061 1,
7062 0,
7063 p109pfs_by::Podr,
7064 p109pfs_by::Podr,
7065 P109PfsBy_SPEC,
7066 crate::common::RW,
7067 >::from_register(self, 0)
7068 }
7069
7070 #[doc = "Port State"]
7071 #[inline(always)]
7072 pub fn pidr(
7073 self,
7074 ) -> crate::common::RegisterField<
7075 1,
7076 0x1,
7077 1,
7078 0,
7079 p109pfs_by::Pidr,
7080 p109pfs_by::Pidr,
7081 P109PfsBy_SPEC,
7082 crate::common::R,
7083 > {
7084 crate::common::RegisterField::<
7085 1,
7086 0x1,
7087 1,
7088 0,
7089 p109pfs_by::Pidr,
7090 p109pfs_by::Pidr,
7091 P109PfsBy_SPEC,
7092 crate::common::R,
7093 >::from_register(self, 0)
7094 }
7095
7096 #[doc = "Port Direction"]
7097 #[inline(always)]
7098 pub fn pdr(
7099 self,
7100 ) -> crate::common::RegisterField<
7101 2,
7102 0x1,
7103 1,
7104 0,
7105 p109pfs_by::Pdr,
7106 p109pfs_by::Pdr,
7107 P109PfsBy_SPEC,
7108 crate::common::RW,
7109 > {
7110 crate::common::RegisterField::<
7111 2,
7112 0x1,
7113 1,
7114 0,
7115 p109pfs_by::Pdr,
7116 p109pfs_by::Pdr,
7117 P109PfsBy_SPEC,
7118 crate::common::RW,
7119 >::from_register(self, 0)
7120 }
7121
7122 #[doc = "Pull-up Control"]
7123 #[inline(always)]
7124 pub fn pcr(
7125 self,
7126 ) -> crate::common::RegisterField<
7127 4,
7128 0x1,
7129 1,
7130 0,
7131 p109pfs_by::Pcr,
7132 p109pfs_by::Pcr,
7133 P109PfsBy_SPEC,
7134 crate::common::RW,
7135 > {
7136 crate::common::RegisterField::<
7137 4,
7138 0x1,
7139 1,
7140 0,
7141 p109pfs_by::Pcr,
7142 p109pfs_by::Pcr,
7143 P109PfsBy_SPEC,
7144 crate::common::RW,
7145 >::from_register(self, 0)
7146 }
7147
7148 #[doc = "N-Channel Open-Drain Control"]
7149 #[inline(always)]
7150 pub fn ncodr(
7151 self,
7152 ) -> crate::common::RegisterField<
7153 6,
7154 0x1,
7155 1,
7156 0,
7157 p109pfs_by::Ncodr,
7158 p109pfs_by::Ncodr,
7159 P109PfsBy_SPEC,
7160 crate::common::RW,
7161 > {
7162 crate::common::RegisterField::<
7163 6,
7164 0x1,
7165 1,
7166 0,
7167 p109pfs_by::Ncodr,
7168 p109pfs_by::Ncodr,
7169 P109PfsBy_SPEC,
7170 crate::common::RW,
7171 >::from_register(self, 0)
7172 }
7173}
7174impl ::core::default::Default for P109PfsBy {
7175 #[inline(always)]
7176 fn default() -> P109PfsBy {
7177 <crate::RegValueT<P109PfsBy_SPEC> as RegisterValue<_>>::new(0)
7178 }
7179}
7180pub mod p109pfs_by {
7181
7182 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7183 pub struct Podr_SPEC;
7184 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7185 impl Podr {
7186 #[doc = "Output low"]
7187 pub const _0: Self = Self::new(0);
7188
7189 #[doc = "Output high"]
7190 pub const _1: Self = Self::new(1);
7191 }
7192 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7193 pub struct Pidr_SPEC;
7194 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7195 impl Pidr {
7196 #[doc = "Low level"]
7197 pub const _0: Self = Self::new(0);
7198
7199 #[doc = "High level"]
7200 pub const _1: Self = Self::new(1);
7201 }
7202 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7203 pub struct Pdr_SPEC;
7204 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7205 impl Pdr {
7206 #[doc = "Input (functions as an input pin)"]
7207 pub const _0: Self = Self::new(0);
7208
7209 #[doc = "Output (functions as an output pin)"]
7210 pub const _1: Self = Self::new(1);
7211 }
7212 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7213 pub struct Pcr_SPEC;
7214 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7215 impl Pcr {
7216 #[doc = "Disable input pull-up"]
7217 pub const _0: Self = Self::new(0);
7218
7219 #[doc = "Enable input pull-up"]
7220 pub const _1: Self = Self::new(1);
7221 }
7222 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7223 pub struct Ncodr_SPEC;
7224 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7225 impl Ncodr {
7226 #[doc = "Output CMOS"]
7227 pub const _0: Self = Self::new(0);
7228
7229 #[doc = "Output NMOS open-drain"]
7230 pub const _1: Self = Self::new(1);
7231 }
7232}
7233#[doc(hidden)]
7234#[derive(Copy, Clone, Eq, PartialEq)]
7235pub struct P1Pfs_SPEC;
7236impl crate::sealed::RegSpec for P1Pfs_SPEC {
7237 type DataType = u32;
7238}
7239
7240#[doc = "Port 1%s Pin Function Select Register"]
7241pub type P1Pfs = crate::RegValueT<P1Pfs_SPEC>;
7242
7243impl P1Pfs {
7244 #[doc = "Port Output Data"]
7245 #[inline(always)]
7246 pub fn podr(
7247 self,
7248 ) -> crate::common::RegisterField<
7249 0,
7250 0x1,
7251 1,
7252 0,
7253 p1pfs::Podr,
7254 p1pfs::Podr,
7255 P1Pfs_SPEC,
7256 crate::common::RW,
7257 > {
7258 crate::common::RegisterField::<
7259 0,
7260 0x1,
7261 1,
7262 0,
7263 p1pfs::Podr,
7264 p1pfs::Podr,
7265 P1Pfs_SPEC,
7266 crate::common::RW,
7267 >::from_register(self, 0)
7268 }
7269
7270 #[doc = "Port State"]
7271 #[inline(always)]
7272 pub fn pidr(
7273 self,
7274 ) -> crate::common::RegisterField<
7275 1,
7276 0x1,
7277 1,
7278 0,
7279 p1pfs::Pidr,
7280 p1pfs::Pidr,
7281 P1Pfs_SPEC,
7282 crate::common::R,
7283 > {
7284 crate::common::RegisterField::<
7285 1,
7286 0x1,
7287 1,
7288 0,
7289 p1pfs::Pidr,
7290 p1pfs::Pidr,
7291 P1Pfs_SPEC,
7292 crate::common::R,
7293 >::from_register(self, 0)
7294 }
7295
7296 #[doc = "Port Direction"]
7297 #[inline(always)]
7298 pub fn pdr(
7299 self,
7300 ) -> crate::common::RegisterField<
7301 2,
7302 0x1,
7303 1,
7304 0,
7305 p1pfs::Pdr,
7306 p1pfs::Pdr,
7307 P1Pfs_SPEC,
7308 crate::common::RW,
7309 > {
7310 crate::common::RegisterField::<
7311 2,
7312 0x1,
7313 1,
7314 0,
7315 p1pfs::Pdr,
7316 p1pfs::Pdr,
7317 P1Pfs_SPEC,
7318 crate::common::RW,
7319 >::from_register(self, 0)
7320 }
7321
7322 #[doc = "Pull-up Control"]
7323 #[inline(always)]
7324 pub fn pcr(
7325 self,
7326 ) -> crate::common::RegisterField<
7327 4,
7328 0x1,
7329 1,
7330 0,
7331 p1pfs::Pcr,
7332 p1pfs::Pcr,
7333 P1Pfs_SPEC,
7334 crate::common::RW,
7335 > {
7336 crate::common::RegisterField::<
7337 4,
7338 0x1,
7339 1,
7340 0,
7341 p1pfs::Pcr,
7342 p1pfs::Pcr,
7343 P1Pfs_SPEC,
7344 crate::common::RW,
7345 >::from_register(self, 0)
7346 }
7347
7348 #[doc = "N-Channel Open-Drain Control"]
7349 #[inline(always)]
7350 pub fn ncodr(
7351 self,
7352 ) -> crate::common::RegisterField<
7353 6,
7354 0x1,
7355 1,
7356 0,
7357 p1pfs::Ncodr,
7358 p1pfs::Ncodr,
7359 P1Pfs_SPEC,
7360 crate::common::RW,
7361 > {
7362 crate::common::RegisterField::<
7363 6,
7364 0x1,
7365 1,
7366 0,
7367 p1pfs::Ncodr,
7368 p1pfs::Ncodr,
7369 P1Pfs_SPEC,
7370 crate::common::RW,
7371 >::from_register(self, 0)
7372 }
7373
7374 #[doc = "Event on Falling/Event on Rising"]
7375 #[inline(always)]
7376 pub fn eofr(
7377 self,
7378 ) -> crate::common::RegisterField<
7379 12,
7380 0x3,
7381 1,
7382 0,
7383 p1pfs::Eofr,
7384 p1pfs::Eofr,
7385 P1Pfs_SPEC,
7386 crate::common::RW,
7387 > {
7388 crate::common::RegisterField::<
7389 12,
7390 0x3,
7391 1,
7392 0,
7393 p1pfs::Eofr,
7394 p1pfs::Eofr,
7395 P1Pfs_SPEC,
7396 crate::common::RW,
7397 >::from_register(self, 0)
7398 }
7399
7400 #[doc = "IRQ Input Enable"]
7401 #[inline(always)]
7402 pub fn isel(
7403 self,
7404 ) -> crate::common::RegisterField<
7405 14,
7406 0x1,
7407 1,
7408 0,
7409 p1pfs::Isel,
7410 p1pfs::Isel,
7411 P1Pfs_SPEC,
7412 crate::common::RW,
7413 > {
7414 crate::common::RegisterField::<
7415 14,
7416 0x1,
7417 1,
7418 0,
7419 p1pfs::Isel,
7420 p1pfs::Isel,
7421 P1Pfs_SPEC,
7422 crate::common::RW,
7423 >::from_register(self, 0)
7424 }
7425
7426 #[doc = "Analog Input Enable"]
7427 #[inline(always)]
7428 pub fn asel(
7429 self,
7430 ) -> crate::common::RegisterField<
7431 15,
7432 0x1,
7433 1,
7434 0,
7435 p1pfs::Asel,
7436 p1pfs::Asel,
7437 P1Pfs_SPEC,
7438 crate::common::RW,
7439 > {
7440 crate::common::RegisterField::<
7441 15,
7442 0x1,
7443 1,
7444 0,
7445 p1pfs::Asel,
7446 p1pfs::Asel,
7447 P1Pfs_SPEC,
7448 crate::common::RW,
7449 >::from_register(self, 0)
7450 }
7451
7452 #[doc = "Port Mode Control"]
7453 #[inline(always)]
7454 pub fn pmr(
7455 self,
7456 ) -> crate::common::RegisterField<
7457 16,
7458 0x1,
7459 1,
7460 0,
7461 p1pfs::Pmr,
7462 p1pfs::Pmr,
7463 P1Pfs_SPEC,
7464 crate::common::RW,
7465 > {
7466 crate::common::RegisterField::<
7467 16,
7468 0x1,
7469 1,
7470 0,
7471 p1pfs::Pmr,
7472 p1pfs::Pmr,
7473 P1Pfs_SPEC,
7474 crate::common::RW,
7475 >::from_register(self, 0)
7476 }
7477
7478 #[doc = "Peripheral Select"]
7479 #[inline(always)]
7480 pub fn psel(
7481 self,
7482 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P1Pfs_SPEC, crate::common::RW> {
7483 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P1Pfs_SPEC,crate::common::RW>::from_register(self,0)
7484 }
7485}
7486impl ::core::default::Default for P1Pfs {
7487 #[inline(always)]
7488 fn default() -> P1Pfs {
7489 <crate::RegValueT<P1Pfs_SPEC> as RegisterValue<_>>::new(0)
7490 }
7491}
7492pub mod p1pfs {
7493
7494 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7495 pub struct Podr_SPEC;
7496 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7497 impl Podr {
7498 #[doc = "Output low"]
7499 pub const _0: Self = Self::new(0);
7500
7501 #[doc = "Output high"]
7502 pub const _1: Self = Self::new(1);
7503 }
7504 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7505 pub struct Pidr_SPEC;
7506 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7507 impl Pidr {
7508 #[doc = "Low level"]
7509 pub const _0: Self = Self::new(0);
7510
7511 #[doc = "High level"]
7512 pub const _1: Self = Self::new(1);
7513 }
7514 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7515 pub struct Pdr_SPEC;
7516 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7517 impl Pdr {
7518 #[doc = "Input (functions as an input pin)"]
7519 pub const _0: Self = Self::new(0);
7520
7521 #[doc = "Output (functions as an output pin)"]
7522 pub const _1: Self = Self::new(1);
7523 }
7524 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7525 pub struct Pcr_SPEC;
7526 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7527 impl Pcr {
7528 #[doc = "Disable input pull-up"]
7529 pub const _0: Self = Self::new(0);
7530
7531 #[doc = "Enable input pull-up"]
7532 pub const _1: Self = Self::new(1);
7533 }
7534 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7535 pub struct Ncodr_SPEC;
7536 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7537 impl Ncodr {
7538 #[doc = "Output CMOS"]
7539 pub const _0: Self = Self::new(0);
7540
7541 #[doc = "Output NMOS open-drain"]
7542 pub const _1: Self = Self::new(1);
7543 }
7544 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7545 pub struct Eofr_SPEC;
7546 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7547 impl Eofr {
7548 #[doc = "Don\'t care"]
7549 pub const _00: Self = Self::new(0);
7550
7551 #[doc = "Detect rising edge"]
7552 pub const _01: Self = Self::new(1);
7553
7554 #[doc = "Detect falling edge"]
7555 pub const _10: Self = Self::new(2);
7556
7557 #[doc = "Detect both edges"]
7558 pub const _11: Self = Self::new(3);
7559 }
7560 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7561 pub struct Isel_SPEC;
7562 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7563 impl Isel {
7564 #[doc = "Do not use as IRQn input pin"]
7565 pub const _0: Self = Self::new(0);
7566
7567 #[doc = "Use as IRQn input pin"]
7568 pub const _1: Self = Self::new(1);
7569 }
7570 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7571 pub struct Asel_SPEC;
7572 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7573 impl Asel {
7574 #[doc = "Do not use as analog pin"]
7575 pub const _0: Self = Self::new(0);
7576
7577 #[doc = "Use as analog pin"]
7578 pub const _1: Self = Self::new(1);
7579 }
7580 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7581 pub struct Pmr_SPEC;
7582 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
7583 impl Pmr {
7584 #[doc = "Use as general I/O pin"]
7585 pub const _0: Self = Self::new(0);
7586
7587 #[doc = "Use as I/O port for peripheral functions"]
7588 pub const _1: Self = Self::new(1);
7589 }
7590}
7591#[doc(hidden)]
7592#[derive(Copy, Clone, Eq, PartialEq)]
7593pub struct P1PfsHa_SPEC;
7594impl crate::sealed::RegSpec for P1PfsHa_SPEC {
7595 type DataType = u16;
7596}
7597
7598#[doc = "Port 1%s Pin Function Select Register"]
7599pub type P1PfsHa = crate::RegValueT<P1PfsHa_SPEC>;
7600
7601impl P1PfsHa {
7602 #[doc = "Port Output Data"]
7603 #[inline(always)]
7604 pub fn podr(
7605 self,
7606 ) -> crate::common::RegisterField<
7607 0,
7608 0x1,
7609 1,
7610 0,
7611 p1pfs_ha::Podr,
7612 p1pfs_ha::Podr,
7613 P1PfsHa_SPEC,
7614 crate::common::RW,
7615 > {
7616 crate::common::RegisterField::<
7617 0,
7618 0x1,
7619 1,
7620 0,
7621 p1pfs_ha::Podr,
7622 p1pfs_ha::Podr,
7623 P1PfsHa_SPEC,
7624 crate::common::RW,
7625 >::from_register(self, 0)
7626 }
7627
7628 #[doc = "Port State"]
7629 #[inline(always)]
7630 pub fn pidr(
7631 self,
7632 ) -> crate::common::RegisterField<
7633 1,
7634 0x1,
7635 1,
7636 0,
7637 p1pfs_ha::Pidr,
7638 p1pfs_ha::Pidr,
7639 P1PfsHa_SPEC,
7640 crate::common::R,
7641 > {
7642 crate::common::RegisterField::<
7643 1,
7644 0x1,
7645 1,
7646 0,
7647 p1pfs_ha::Pidr,
7648 p1pfs_ha::Pidr,
7649 P1PfsHa_SPEC,
7650 crate::common::R,
7651 >::from_register(self, 0)
7652 }
7653
7654 #[doc = "Port Direction"]
7655 #[inline(always)]
7656 pub fn pdr(
7657 self,
7658 ) -> crate::common::RegisterField<
7659 2,
7660 0x1,
7661 1,
7662 0,
7663 p1pfs_ha::Pdr,
7664 p1pfs_ha::Pdr,
7665 P1PfsHa_SPEC,
7666 crate::common::RW,
7667 > {
7668 crate::common::RegisterField::<
7669 2,
7670 0x1,
7671 1,
7672 0,
7673 p1pfs_ha::Pdr,
7674 p1pfs_ha::Pdr,
7675 P1PfsHa_SPEC,
7676 crate::common::RW,
7677 >::from_register(self, 0)
7678 }
7679
7680 #[doc = "Pull-up Control"]
7681 #[inline(always)]
7682 pub fn pcr(
7683 self,
7684 ) -> crate::common::RegisterField<
7685 4,
7686 0x1,
7687 1,
7688 0,
7689 p1pfs_ha::Pcr,
7690 p1pfs_ha::Pcr,
7691 P1PfsHa_SPEC,
7692 crate::common::RW,
7693 > {
7694 crate::common::RegisterField::<
7695 4,
7696 0x1,
7697 1,
7698 0,
7699 p1pfs_ha::Pcr,
7700 p1pfs_ha::Pcr,
7701 P1PfsHa_SPEC,
7702 crate::common::RW,
7703 >::from_register(self, 0)
7704 }
7705
7706 #[doc = "N-Channel Open-Drain Control"]
7707 #[inline(always)]
7708 pub fn ncodr(
7709 self,
7710 ) -> crate::common::RegisterField<
7711 6,
7712 0x1,
7713 1,
7714 0,
7715 p1pfs_ha::Ncodr,
7716 p1pfs_ha::Ncodr,
7717 P1PfsHa_SPEC,
7718 crate::common::RW,
7719 > {
7720 crate::common::RegisterField::<
7721 6,
7722 0x1,
7723 1,
7724 0,
7725 p1pfs_ha::Ncodr,
7726 p1pfs_ha::Ncodr,
7727 P1PfsHa_SPEC,
7728 crate::common::RW,
7729 >::from_register(self, 0)
7730 }
7731
7732 #[doc = "Event on Falling/Event on Rising"]
7733 #[inline(always)]
7734 pub fn eofr(
7735 self,
7736 ) -> crate::common::RegisterField<
7737 12,
7738 0x3,
7739 1,
7740 0,
7741 p1pfs_ha::Eofr,
7742 p1pfs_ha::Eofr,
7743 P1PfsHa_SPEC,
7744 crate::common::RW,
7745 > {
7746 crate::common::RegisterField::<
7747 12,
7748 0x3,
7749 1,
7750 0,
7751 p1pfs_ha::Eofr,
7752 p1pfs_ha::Eofr,
7753 P1PfsHa_SPEC,
7754 crate::common::RW,
7755 >::from_register(self, 0)
7756 }
7757
7758 #[doc = "IRQ Input Enable"]
7759 #[inline(always)]
7760 pub fn isel(
7761 self,
7762 ) -> crate::common::RegisterField<
7763 14,
7764 0x1,
7765 1,
7766 0,
7767 p1pfs_ha::Isel,
7768 p1pfs_ha::Isel,
7769 P1PfsHa_SPEC,
7770 crate::common::RW,
7771 > {
7772 crate::common::RegisterField::<
7773 14,
7774 0x1,
7775 1,
7776 0,
7777 p1pfs_ha::Isel,
7778 p1pfs_ha::Isel,
7779 P1PfsHa_SPEC,
7780 crate::common::RW,
7781 >::from_register(self, 0)
7782 }
7783
7784 #[doc = "Analog Input Enable"]
7785 #[inline(always)]
7786 pub fn asel(
7787 self,
7788 ) -> crate::common::RegisterField<
7789 15,
7790 0x1,
7791 1,
7792 0,
7793 p1pfs_ha::Asel,
7794 p1pfs_ha::Asel,
7795 P1PfsHa_SPEC,
7796 crate::common::RW,
7797 > {
7798 crate::common::RegisterField::<
7799 15,
7800 0x1,
7801 1,
7802 0,
7803 p1pfs_ha::Asel,
7804 p1pfs_ha::Asel,
7805 P1PfsHa_SPEC,
7806 crate::common::RW,
7807 >::from_register(self, 0)
7808 }
7809}
7810impl ::core::default::Default for P1PfsHa {
7811 #[inline(always)]
7812 fn default() -> P1PfsHa {
7813 <crate::RegValueT<P1PfsHa_SPEC> as RegisterValue<_>>::new(0)
7814 }
7815}
7816pub mod p1pfs_ha {
7817
7818 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7819 pub struct Podr_SPEC;
7820 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7821 impl Podr {
7822 #[doc = "Output low"]
7823 pub const _0: Self = Self::new(0);
7824
7825 #[doc = "Output high"]
7826 pub const _1: Self = Self::new(1);
7827 }
7828 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7829 pub struct Pidr_SPEC;
7830 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7831 impl Pidr {
7832 #[doc = "Low level"]
7833 pub const _0: Self = Self::new(0);
7834
7835 #[doc = "High level"]
7836 pub const _1: Self = Self::new(1);
7837 }
7838 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7839 pub struct Pdr_SPEC;
7840 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7841 impl Pdr {
7842 #[doc = "Input (functions as an input pin)"]
7843 pub const _0: Self = Self::new(0);
7844
7845 #[doc = "Output (functions as an output pin)"]
7846 pub const _1: Self = Self::new(1);
7847 }
7848 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7849 pub struct Pcr_SPEC;
7850 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7851 impl Pcr {
7852 #[doc = "Disable input pull-up"]
7853 pub const _0: Self = Self::new(0);
7854
7855 #[doc = "Enable input pull-up"]
7856 pub const _1: Self = Self::new(1);
7857 }
7858 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7859 pub struct Ncodr_SPEC;
7860 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7861 impl Ncodr {
7862 #[doc = "Output CMOS"]
7863 pub const _0: Self = Self::new(0);
7864
7865 #[doc = "Output NMOS open-drain"]
7866 pub const _1: Self = Self::new(1);
7867 }
7868 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7869 pub struct Eofr_SPEC;
7870 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7871 impl Eofr {
7872 #[doc = "Don\'t care"]
7873 pub const _00: Self = Self::new(0);
7874
7875 #[doc = "Detect rising edge"]
7876 pub const _01: Self = Self::new(1);
7877
7878 #[doc = "Detect falling edge"]
7879 pub const _10: Self = Self::new(2);
7880
7881 #[doc = "Detect both edges"]
7882 pub const _11: Self = Self::new(3);
7883 }
7884 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7885 pub struct Isel_SPEC;
7886 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7887 impl Isel {
7888 #[doc = "Do not use as IRQn input pin"]
7889 pub const _0: Self = Self::new(0);
7890
7891 #[doc = "Use as IRQn input pin"]
7892 pub const _1: Self = Self::new(1);
7893 }
7894 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7895 pub struct Asel_SPEC;
7896 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7897 impl Asel {
7898 #[doc = "Do not use as analog pin"]
7899 pub const _0: Self = Self::new(0);
7900
7901 #[doc = "Use as analog pin"]
7902 pub const _1: Self = Self::new(1);
7903 }
7904}
7905#[doc(hidden)]
7906#[derive(Copy, Clone, Eq, PartialEq)]
7907pub struct P1PfsBy_SPEC;
7908impl crate::sealed::RegSpec for P1PfsBy_SPEC {
7909 type DataType = u8;
7910}
7911
7912#[doc = "Port 1%s Pin Function Select Register"]
7913pub type P1PfsBy = crate::RegValueT<P1PfsBy_SPEC>;
7914
7915impl P1PfsBy {
7916 #[doc = "Port Output Data"]
7917 #[inline(always)]
7918 pub fn podr(
7919 self,
7920 ) -> crate::common::RegisterField<
7921 0,
7922 0x1,
7923 1,
7924 0,
7925 p1pfs_by::Podr,
7926 p1pfs_by::Podr,
7927 P1PfsBy_SPEC,
7928 crate::common::RW,
7929 > {
7930 crate::common::RegisterField::<
7931 0,
7932 0x1,
7933 1,
7934 0,
7935 p1pfs_by::Podr,
7936 p1pfs_by::Podr,
7937 P1PfsBy_SPEC,
7938 crate::common::RW,
7939 >::from_register(self, 0)
7940 }
7941
7942 #[doc = "Port State"]
7943 #[inline(always)]
7944 pub fn pidr(
7945 self,
7946 ) -> crate::common::RegisterField<
7947 1,
7948 0x1,
7949 1,
7950 0,
7951 p1pfs_by::Pidr,
7952 p1pfs_by::Pidr,
7953 P1PfsBy_SPEC,
7954 crate::common::R,
7955 > {
7956 crate::common::RegisterField::<
7957 1,
7958 0x1,
7959 1,
7960 0,
7961 p1pfs_by::Pidr,
7962 p1pfs_by::Pidr,
7963 P1PfsBy_SPEC,
7964 crate::common::R,
7965 >::from_register(self, 0)
7966 }
7967
7968 #[doc = "Port Direction"]
7969 #[inline(always)]
7970 pub fn pdr(
7971 self,
7972 ) -> crate::common::RegisterField<
7973 2,
7974 0x1,
7975 1,
7976 0,
7977 p1pfs_by::Pdr,
7978 p1pfs_by::Pdr,
7979 P1PfsBy_SPEC,
7980 crate::common::RW,
7981 > {
7982 crate::common::RegisterField::<
7983 2,
7984 0x1,
7985 1,
7986 0,
7987 p1pfs_by::Pdr,
7988 p1pfs_by::Pdr,
7989 P1PfsBy_SPEC,
7990 crate::common::RW,
7991 >::from_register(self, 0)
7992 }
7993
7994 #[doc = "Pull-up Control"]
7995 #[inline(always)]
7996 pub fn pcr(
7997 self,
7998 ) -> crate::common::RegisterField<
7999 4,
8000 0x1,
8001 1,
8002 0,
8003 p1pfs_by::Pcr,
8004 p1pfs_by::Pcr,
8005 P1PfsBy_SPEC,
8006 crate::common::RW,
8007 > {
8008 crate::common::RegisterField::<
8009 4,
8010 0x1,
8011 1,
8012 0,
8013 p1pfs_by::Pcr,
8014 p1pfs_by::Pcr,
8015 P1PfsBy_SPEC,
8016 crate::common::RW,
8017 >::from_register(self, 0)
8018 }
8019
8020 #[doc = "N-Channel Open-Drain Control"]
8021 #[inline(always)]
8022 pub fn ncodr(
8023 self,
8024 ) -> crate::common::RegisterField<
8025 6,
8026 0x1,
8027 1,
8028 0,
8029 p1pfs_by::Ncodr,
8030 p1pfs_by::Ncodr,
8031 P1PfsBy_SPEC,
8032 crate::common::RW,
8033 > {
8034 crate::common::RegisterField::<
8035 6,
8036 0x1,
8037 1,
8038 0,
8039 p1pfs_by::Ncodr,
8040 p1pfs_by::Ncodr,
8041 P1PfsBy_SPEC,
8042 crate::common::RW,
8043 >::from_register(self, 0)
8044 }
8045}
8046impl ::core::default::Default for P1PfsBy {
8047 #[inline(always)]
8048 fn default() -> P1PfsBy {
8049 <crate::RegValueT<P1PfsBy_SPEC> as RegisterValue<_>>::new(0)
8050 }
8051}
8052pub mod p1pfs_by {
8053
8054 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8055 pub struct Podr_SPEC;
8056 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8057 impl Podr {
8058 #[doc = "Output low"]
8059 pub const _0: Self = Self::new(0);
8060
8061 #[doc = "Output high"]
8062 pub const _1: Self = Self::new(1);
8063 }
8064 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8065 pub struct Pidr_SPEC;
8066 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8067 impl Pidr {
8068 #[doc = "Low level"]
8069 pub const _0: Self = Self::new(0);
8070
8071 #[doc = "High level"]
8072 pub const _1: Self = Self::new(1);
8073 }
8074 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8075 pub struct Pdr_SPEC;
8076 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8077 impl Pdr {
8078 #[doc = "Input (functions as an input pin)"]
8079 pub const _0: Self = Self::new(0);
8080
8081 #[doc = "Output (functions as an output pin)"]
8082 pub const _1: Self = Self::new(1);
8083 }
8084 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8085 pub struct Pcr_SPEC;
8086 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8087 impl Pcr {
8088 #[doc = "Disable input pull-up"]
8089 pub const _0: Self = Self::new(0);
8090
8091 #[doc = "Enable input pull-up"]
8092 pub const _1: Self = Self::new(1);
8093 }
8094 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8095 pub struct Ncodr_SPEC;
8096 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8097 impl Ncodr {
8098 #[doc = "Output CMOS"]
8099 pub const _0: Self = Self::new(0);
8100
8101 #[doc = "Output NMOS open-drain"]
8102 pub const _1: Self = Self::new(1);
8103 }
8104}
8105#[doc(hidden)]
8106#[derive(Copy, Clone, Eq, PartialEq)]
8107pub struct P200Pfs_SPEC;
8108impl crate::sealed::RegSpec for P200Pfs_SPEC {
8109 type DataType = u32;
8110}
8111
8112#[doc = "Port 200 Pin Function Select Register"]
8113pub type P200Pfs = crate::RegValueT<P200Pfs_SPEC>;
8114
8115impl P200Pfs {
8116 #[doc = "Port Output Data"]
8117 #[inline(always)]
8118 pub fn podr(
8119 self,
8120 ) -> crate::common::RegisterField<
8121 0,
8122 0x1,
8123 1,
8124 0,
8125 p200pfs::Podr,
8126 p200pfs::Podr,
8127 P200Pfs_SPEC,
8128 crate::common::RW,
8129 > {
8130 crate::common::RegisterField::<
8131 0,
8132 0x1,
8133 1,
8134 0,
8135 p200pfs::Podr,
8136 p200pfs::Podr,
8137 P200Pfs_SPEC,
8138 crate::common::RW,
8139 >::from_register(self, 0)
8140 }
8141
8142 #[doc = "Port State"]
8143 #[inline(always)]
8144 pub fn pidr(
8145 self,
8146 ) -> crate::common::RegisterField<
8147 1,
8148 0x1,
8149 1,
8150 0,
8151 p200pfs::Pidr,
8152 p200pfs::Pidr,
8153 P200Pfs_SPEC,
8154 crate::common::R,
8155 > {
8156 crate::common::RegisterField::<
8157 1,
8158 0x1,
8159 1,
8160 0,
8161 p200pfs::Pidr,
8162 p200pfs::Pidr,
8163 P200Pfs_SPEC,
8164 crate::common::R,
8165 >::from_register(self, 0)
8166 }
8167
8168 #[doc = "Port Direction"]
8169 #[inline(always)]
8170 pub fn pdr(
8171 self,
8172 ) -> crate::common::RegisterField<
8173 2,
8174 0x1,
8175 1,
8176 0,
8177 p200pfs::Pdr,
8178 p200pfs::Pdr,
8179 P200Pfs_SPEC,
8180 crate::common::RW,
8181 > {
8182 crate::common::RegisterField::<
8183 2,
8184 0x1,
8185 1,
8186 0,
8187 p200pfs::Pdr,
8188 p200pfs::Pdr,
8189 P200Pfs_SPEC,
8190 crate::common::RW,
8191 >::from_register(self, 0)
8192 }
8193
8194 #[doc = "Pull-up Control"]
8195 #[inline(always)]
8196 pub fn pcr(
8197 self,
8198 ) -> crate::common::RegisterField<
8199 4,
8200 0x1,
8201 1,
8202 0,
8203 p200pfs::Pcr,
8204 p200pfs::Pcr,
8205 P200Pfs_SPEC,
8206 crate::common::RW,
8207 > {
8208 crate::common::RegisterField::<
8209 4,
8210 0x1,
8211 1,
8212 0,
8213 p200pfs::Pcr,
8214 p200pfs::Pcr,
8215 P200Pfs_SPEC,
8216 crate::common::RW,
8217 >::from_register(self, 0)
8218 }
8219
8220 #[doc = "N-Channel Open-Drain Control"]
8221 #[inline(always)]
8222 pub fn ncodr(
8223 self,
8224 ) -> crate::common::RegisterField<
8225 6,
8226 0x1,
8227 1,
8228 0,
8229 p200pfs::Ncodr,
8230 p200pfs::Ncodr,
8231 P200Pfs_SPEC,
8232 crate::common::RW,
8233 > {
8234 crate::common::RegisterField::<
8235 6,
8236 0x1,
8237 1,
8238 0,
8239 p200pfs::Ncodr,
8240 p200pfs::Ncodr,
8241 P200Pfs_SPEC,
8242 crate::common::RW,
8243 >::from_register(self, 0)
8244 }
8245
8246 #[doc = "Event on Falling/Event on Rising"]
8247 #[inline(always)]
8248 pub fn eofr(
8249 self,
8250 ) -> crate::common::RegisterField<
8251 12,
8252 0x3,
8253 1,
8254 0,
8255 p200pfs::Eofr,
8256 p200pfs::Eofr,
8257 P200Pfs_SPEC,
8258 crate::common::RW,
8259 > {
8260 crate::common::RegisterField::<
8261 12,
8262 0x3,
8263 1,
8264 0,
8265 p200pfs::Eofr,
8266 p200pfs::Eofr,
8267 P200Pfs_SPEC,
8268 crate::common::RW,
8269 >::from_register(self, 0)
8270 }
8271
8272 #[doc = "IRQ Input Enable"]
8273 #[inline(always)]
8274 pub fn isel(
8275 self,
8276 ) -> crate::common::RegisterField<
8277 14,
8278 0x1,
8279 1,
8280 0,
8281 p200pfs::Isel,
8282 p200pfs::Isel,
8283 P200Pfs_SPEC,
8284 crate::common::RW,
8285 > {
8286 crate::common::RegisterField::<
8287 14,
8288 0x1,
8289 1,
8290 0,
8291 p200pfs::Isel,
8292 p200pfs::Isel,
8293 P200Pfs_SPEC,
8294 crate::common::RW,
8295 >::from_register(self, 0)
8296 }
8297
8298 #[doc = "Analog Input Enable"]
8299 #[inline(always)]
8300 pub fn asel(
8301 self,
8302 ) -> crate::common::RegisterField<
8303 15,
8304 0x1,
8305 1,
8306 0,
8307 p200pfs::Asel,
8308 p200pfs::Asel,
8309 P200Pfs_SPEC,
8310 crate::common::RW,
8311 > {
8312 crate::common::RegisterField::<
8313 15,
8314 0x1,
8315 1,
8316 0,
8317 p200pfs::Asel,
8318 p200pfs::Asel,
8319 P200Pfs_SPEC,
8320 crate::common::RW,
8321 >::from_register(self, 0)
8322 }
8323
8324 #[doc = "Port Mode Control"]
8325 #[inline(always)]
8326 pub fn pmr(
8327 self,
8328 ) -> crate::common::RegisterField<
8329 16,
8330 0x1,
8331 1,
8332 0,
8333 p200pfs::Pmr,
8334 p200pfs::Pmr,
8335 P200Pfs_SPEC,
8336 crate::common::RW,
8337 > {
8338 crate::common::RegisterField::<
8339 16,
8340 0x1,
8341 1,
8342 0,
8343 p200pfs::Pmr,
8344 p200pfs::Pmr,
8345 P200Pfs_SPEC,
8346 crate::common::RW,
8347 >::from_register(self, 0)
8348 }
8349
8350 #[doc = "Peripheral Select"]
8351 #[inline(always)]
8352 pub fn psel(
8353 self,
8354 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P200Pfs_SPEC, crate::common::RW> {
8355 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P200Pfs_SPEC,crate::common::RW>::from_register(self,0)
8356 }
8357}
8358impl ::core::default::Default for P200Pfs {
8359 #[inline(always)]
8360 fn default() -> P200Pfs {
8361 <crate::RegValueT<P200Pfs_SPEC> as RegisterValue<_>>::new(0)
8362 }
8363}
8364pub mod p200pfs {
8365
8366 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8367 pub struct Podr_SPEC;
8368 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8369 impl Podr {
8370 #[doc = "Output low"]
8371 pub const _0: Self = Self::new(0);
8372
8373 #[doc = "Output high"]
8374 pub const _1: Self = Self::new(1);
8375 }
8376 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8377 pub struct Pidr_SPEC;
8378 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8379 impl Pidr {
8380 #[doc = "Low level"]
8381 pub const _0: Self = Self::new(0);
8382
8383 #[doc = "High level"]
8384 pub const _1: Self = Self::new(1);
8385 }
8386 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8387 pub struct Pdr_SPEC;
8388 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8389 impl Pdr {
8390 #[doc = "Input (functions as an input pin)"]
8391 pub const _0: Self = Self::new(0);
8392
8393 #[doc = "Output (functions as an output pin)"]
8394 pub const _1: Self = Self::new(1);
8395 }
8396 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8397 pub struct Pcr_SPEC;
8398 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8399 impl Pcr {
8400 #[doc = "Disable input pull-up"]
8401 pub const _0: Self = Self::new(0);
8402
8403 #[doc = "Enable input pull-up"]
8404 pub const _1: Self = Self::new(1);
8405 }
8406 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8407 pub struct Ncodr_SPEC;
8408 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8409 impl Ncodr {
8410 #[doc = "Output CMOS"]
8411 pub const _0: Self = Self::new(0);
8412
8413 #[doc = "Output NMOS open-drain"]
8414 pub const _1: Self = Self::new(1);
8415 }
8416 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8417 pub struct Eofr_SPEC;
8418 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8419 impl Eofr {
8420 #[doc = "Don\'t care"]
8421 pub const _00: Self = Self::new(0);
8422
8423 #[doc = "Detect rising edge"]
8424 pub const _01: Self = Self::new(1);
8425
8426 #[doc = "Detect falling edge"]
8427 pub const _10: Self = Self::new(2);
8428
8429 #[doc = "Detect both edges"]
8430 pub const _11: Self = Self::new(3);
8431 }
8432 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8433 pub struct Isel_SPEC;
8434 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8435 impl Isel {
8436 #[doc = "Do not use as IRQn input pin"]
8437 pub const _0: Self = Self::new(0);
8438
8439 #[doc = "Use as IRQn input pin"]
8440 pub const _1: Self = Self::new(1);
8441 }
8442 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8443 pub struct Asel_SPEC;
8444 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8445 impl Asel {
8446 #[doc = "Do not use as analog pin"]
8447 pub const _0: Self = Self::new(0);
8448
8449 #[doc = "Use as analog pin"]
8450 pub const _1: Self = Self::new(1);
8451 }
8452 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8453 pub struct Pmr_SPEC;
8454 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
8455 impl Pmr {
8456 #[doc = "Use as general I/O pin"]
8457 pub const _0: Self = Self::new(0);
8458
8459 #[doc = "Use as I/O port for peripheral functions"]
8460 pub const _1: Self = Self::new(1);
8461 }
8462}
8463#[doc(hidden)]
8464#[derive(Copy, Clone, Eq, PartialEq)]
8465pub struct P200PfsHa_SPEC;
8466impl crate::sealed::RegSpec for P200PfsHa_SPEC {
8467 type DataType = u16;
8468}
8469
8470#[doc = "Port 200 Pin Function Select Register"]
8471pub type P200PfsHa = crate::RegValueT<P200PfsHa_SPEC>;
8472
8473impl P200PfsHa {
8474 #[doc = "Port Output Data"]
8475 #[inline(always)]
8476 pub fn podr(
8477 self,
8478 ) -> crate::common::RegisterField<
8479 0,
8480 0x1,
8481 1,
8482 0,
8483 p200pfs_ha::Podr,
8484 p200pfs_ha::Podr,
8485 P200PfsHa_SPEC,
8486 crate::common::RW,
8487 > {
8488 crate::common::RegisterField::<
8489 0,
8490 0x1,
8491 1,
8492 0,
8493 p200pfs_ha::Podr,
8494 p200pfs_ha::Podr,
8495 P200PfsHa_SPEC,
8496 crate::common::RW,
8497 >::from_register(self, 0)
8498 }
8499
8500 #[doc = "Port State"]
8501 #[inline(always)]
8502 pub fn pidr(
8503 self,
8504 ) -> crate::common::RegisterField<
8505 1,
8506 0x1,
8507 1,
8508 0,
8509 p200pfs_ha::Pidr,
8510 p200pfs_ha::Pidr,
8511 P200PfsHa_SPEC,
8512 crate::common::R,
8513 > {
8514 crate::common::RegisterField::<
8515 1,
8516 0x1,
8517 1,
8518 0,
8519 p200pfs_ha::Pidr,
8520 p200pfs_ha::Pidr,
8521 P200PfsHa_SPEC,
8522 crate::common::R,
8523 >::from_register(self, 0)
8524 }
8525
8526 #[doc = "Port Direction"]
8527 #[inline(always)]
8528 pub fn pdr(
8529 self,
8530 ) -> crate::common::RegisterField<
8531 2,
8532 0x1,
8533 1,
8534 0,
8535 p200pfs_ha::Pdr,
8536 p200pfs_ha::Pdr,
8537 P200PfsHa_SPEC,
8538 crate::common::RW,
8539 > {
8540 crate::common::RegisterField::<
8541 2,
8542 0x1,
8543 1,
8544 0,
8545 p200pfs_ha::Pdr,
8546 p200pfs_ha::Pdr,
8547 P200PfsHa_SPEC,
8548 crate::common::RW,
8549 >::from_register(self, 0)
8550 }
8551
8552 #[doc = "Pull-up Control"]
8553 #[inline(always)]
8554 pub fn pcr(
8555 self,
8556 ) -> crate::common::RegisterField<
8557 4,
8558 0x1,
8559 1,
8560 0,
8561 p200pfs_ha::Pcr,
8562 p200pfs_ha::Pcr,
8563 P200PfsHa_SPEC,
8564 crate::common::RW,
8565 > {
8566 crate::common::RegisterField::<
8567 4,
8568 0x1,
8569 1,
8570 0,
8571 p200pfs_ha::Pcr,
8572 p200pfs_ha::Pcr,
8573 P200PfsHa_SPEC,
8574 crate::common::RW,
8575 >::from_register(self, 0)
8576 }
8577
8578 #[doc = "N-Channel Open-Drain Control"]
8579 #[inline(always)]
8580 pub fn ncodr(
8581 self,
8582 ) -> crate::common::RegisterField<
8583 6,
8584 0x1,
8585 1,
8586 0,
8587 p200pfs_ha::Ncodr,
8588 p200pfs_ha::Ncodr,
8589 P200PfsHa_SPEC,
8590 crate::common::RW,
8591 > {
8592 crate::common::RegisterField::<
8593 6,
8594 0x1,
8595 1,
8596 0,
8597 p200pfs_ha::Ncodr,
8598 p200pfs_ha::Ncodr,
8599 P200PfsHa_SPEC,
8600 crate::common::RW,
8601 >::from_register(self, 0)
8602 }
8603
8604 #[doc = "Event on Falling/Event on Rising"]
8605 #[inline(always)]
8606 pub fn eofr(
8607 self,
8608 ) -> crate::common::RegisterField<
8609 12,
8610 0x3,
8611 1,
8612 0,
8613 p200pfs_ha::Eofr,
8614 p200pfs_ha::Eofr,
8615 P200PfsHa_SPEC,
8616 crate::common::RW,
8617 > {
8618 crate::common::RegisterField::<
8619 12,
8620 0x3,
8621 1,
8622 0,
8623 p200pfs_ha::Eofr,
8624 p200pfs_ha::Eofr,
8625 P200PfsHa_SPEC,
8626 crate::common::RW,
8627 >::from_register(self, 0)
8628 }
8629
8630 #[doc = "IRQ Input Enable"]
8631 #[inline(always)]
8632 pub fn isel(
8633 self,
8634 ) -> crate::common::RegisterField<
8635 14,
8636 0x1,
8637 1,
8638 0,
8639 p200pfs_ha::Isel,
8640 p200pfs_ha::Isel,
8641 P200PfsHa_SPEC,
8642 crate::common::RW,
8643 > {
8644 crate::common::RegisterField::<
8645 14,
8646 0x1,
8647 1,
8648 0,
8649 p200pfs_ha::Isel,
8650 p200pfs_ha::Isel,
8651 P200PfsHa_SPEC,
8652 crate::common::RW,
8653 >::from_register(self, 0)
8654 }
8655
8656 #[doc = "Analog Input Enable"]
8657 #[inline(always)]
8658 pub fn asel(
8659 self,
8660 ) -> crate::common::RegisterField<
8661 15,
8662 0x1,
8663 1,
8664 0,
8665 p200pfs_ha::Asel,
8666 p200pfs_ha::Asel,
8667 P200PfsHa_SPEC,
8668 crate::common::RW,
8669 > {
8670 crate::common::RegisterField::<
8671 15,
8672 0x1,
8673 1,
8674 0,
8675 p200pfs_ha::Asel,
8676 p200pfs_ha::Asel,
8677 P200PfsHa_SPEC,
8678 crate::common::RW,
8679 >::from_register(self, 0)
8680 }
8681}
8682impl ::core::default::Default for P200PfsHa {
8683 #[inline(always)]
8684 fn default() -> P200PfsHa {
8685 <crate::RegValueT<P200PfsHa_SPEC> as RegisterValue<_>>::new(0)
8686 }
8687}
8688pub mod p200pfs_ha {
8689
8690 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8691 pub struct Podr_SPEC;
8692 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8693 impl Podr {
8694 #[doc = "Output low"]
8695 pub const _0: Self = Self::new(0);
8696
8697 #[doc = "Output high"]
8698 pub const _1: Self = Self::new(1);
8699 }
8700 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8701 pub struct Pidr_SPEC;
8702 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8703 impl Pidr {
8704 #[doc = "Low level"]
8705 pub const _0: Self = Self::new(0);
8706
8707 #[doc = "High level"]
8708 pub const _1: Self = Self::new(1);
8709 }
8710 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8711 pub struct Pdr_SPEC;
8712 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8713 impl Pdr {
8714 #[doc = "Input (functions as an input pin)"]
8715 pub const _0: Self = Self::new(0);
8716
8717 #[doc = "Output (functions as an output pin)"]
8718 pub const _1: Self = Self::new(1);
8719 }
8720 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8721 pub struct Pcr_SPEC;
8722 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8723 impl Pcr {
8724 #[doc = "Disable input pull-up"]
8725 pub const _0: Self = Self::new(0);
8726
8727 #[doc = "Enable input pull-up"]
8728 pub const _1: Self = Self::new(1);
8729 }
8730 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8731 pub struct Ncodr_SPEC;
8732 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8733 impl Ncodr {
8734 #[doc = "Output CMOS"]
8735 pub const _0: Self = Self::new(0);
8736
8737 #[doc = "Output NMOS open-drain"]
8738 pub const _1: Self = Self::new(1);
8739 }
8740 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8741 pub struct Eofr_SPEC;
8742 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8743 impl Eofr {
8744 #[doc = "Don\'t care"]
8745 pub const _00: Self = Self::new(0);
8746
8747 #[doc = "Detect rising edge"]
8748 pub const _01: Self = Self::new(1);
8749
8750 #[doc = "Detect falling edge"]
8751 pub const _10: Self = Self::new(2);
8752
8753 #[doc = "Detect both edges"]
8754 pub const _11: Self = Self::new(3);
8755 }
8756 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8757 pub struct Isel_SPEC;
8758 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8759 impl Isel {
8760 #[doc = "Do not use as IRQn input pin"]
8761 pub const _0: Self = Self::new(0);
8762
8763 #[doc = "Use as IRQn input pin"]
8764 pub const _1: Self = Self::new(1);
8765 }
8766 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8767 pub struct Asel_SPEC;
8768 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8769 impl Asel {
8770 #[doc = "Do not use as analog pin"]
8771 pub const _0: Self = Self::new(0);
8772
8773 #[doc = "Use as analog pin"]
8774 pub const _1: Self = Self::new(1);
8775 }
8776}
8777#[doc(hidden)]
8778#[derive(Copy, Clone, Eq, PartialEq)]
8779pub struct P200PfsBy_SPEC;
8780impl crate::sealed::RegSpec for P200PfsBy_SPEC {
8781 type DataType = u8;
8782}
8783
8784#[doc = "Port 200 Pin Function Select Register"]
8785pub type P200PfsBy = crate::RegValueT<P200PfsBy_SPEC>;
8786
8787impl P200PfsBy {
8788 #[doc = "Port Output Data"]
8789 #[inline(always)]
8790 pub fn podr(
8791 self,
8792 ) -> crate::common::RegisterField<
8793 0,
8794 0x1,
8795 1,
8796 0,
8797 p200pfs_by::Podr,
8798 p200pfs_by::Podr,
8799 P200PfsBy_SPEC,
8800 crate::common::RW,
8801 > {
8802 crate::common::RegisterField::<
8803 0,
8804 0x1,
8805 1,
8806 0,
8807 p200pfs_by::Podr,
8808 p200pfs_by::Podr,
8809 P200PfsBy_SPEC,
8810 crate::common::RW,
8811 >::from_register(self, 0)
8812 }
8813
8814 #[doc = "Port State"]
8815 #[inline(always)]
8816 pub fn pidr(
8817 self,
8818 ) -> crate::common::RegisterField<
8819 1,
8820 0x1,
8821 1,
8822 0,
8823 p200pfs_by::Pidr,
8824 p200pfs_by::Pidr,
8825 P200PfsBy_SPEC,
8826 crate::common::R,
8827 > {
8828 crate::common::RegisterField::<
8829 1,
8830 0x1,
8831 1,
8832 0,
8833 p200pfs_by::Pidr,
8834 p200pfs_by::Pidr,
8835 P200PfsBy_SPEC,
8836 crate::common::R,
8837 >::from_register(self, 0)
8838 }
8839
8840 #[doc = "Port Direction"]
8841 #[inline(always)]
8842 pub fn pdr(
8843 self,
8844 ) -> crate::common::RegisterField<
8845 2,
8846 0x1,
8847 1,
8848 0,
8849 p200pfs_by::Pdr,
8850 p200pfs_by::Pdr,
8851 P200PfsBy_SPEC,
8852 crate::common::RW,
8853 > {
8854 crate::common::RegisterField::<
8855 2,
8856 0x1,
8857 1,
8858 0,
8859 p200pfs_by::Pdr,
8860 p200pfs_by::Pdr,
8861 P200PfsBy_SPEC,
8862 crate::common::RW,
8863 >::from_register(self, 0)
8864 }
8865
8866 #[doc = "Pull-up Control"]
8867 #[inline(always)]
8868 pub fn pcr(
8869 self,
8870 ) -> crate::common::RegisterField<
8871 4,
8872 0x1,
8873 1,
8874 0,
8875 p200pfs_by::Pcr,
8876 p200pfs_by::Pcr,
8877 P200PfsBy_SPEC,
8878 crate::common::RW,
8879 > {
8880 crate::common::RegisterField::<
8881 4,
8882 0x1,
8883 1,
8884 0,
8885 p200pfs_by::Pcr,
8886 p200pfs_by::Pcr,
8887 P200PfsBy_SPEC,
8888 crate::common::RW,
8889 >::from_register(self, 0)
8890 }
8891
8892 #[doc = "N-Channel Open-Drain Control"]
8893 #[inline(always)]
8894 pub fn ncodr(
8895 self,
8896 ) -> crate::common::RegisterField<
8897 6,
8898 0x1,
8899 1,
8900 0,
8901 p200pfs_by::Ncodr,
8902 p200pfs_by::Ncodr,
8903 P200PfsBy_SPEC,
8904 crate::common::RW,
8905 > {
8906 crate::common::RegisterField::<
8907 6,
8908 0x1,
8909 1,
8910 0,
8911 p200pfs_by::Ncodr,
8912 p200pfs_by::Ncodr,
8913 P200PfsBy_SPEC,
8914 crate::common::RW,
8915 >::from_register(self, 0)
8916 }
8917}
8918impl ::core::default::Default for P200PfsBy {
8919 #[inline(always)]
8920 fn default() -> P200PfsBy {
8921 <crate::RegValueT<P200PfsBy_SPEC> as RegisterValue<_>>::new(0)
8922 }
8923}
8924pub mod p200pfs_by {
8925
8926 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8927 pub struct Podr_SPEC;
8928 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8929 impl Podr {
8930 #[doc = "Output low"]
8931 pub const _0: Self = Self::new(0);
8932
8933 #[doc = "Output high"]
8934 pub const _1: Self = Self::new(1);
8935 }
8936 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8937 pub struct Pidr_SPEC;
8938 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8939 impl Pidr {
8940 #[doc = "Low level"]
8941 pub const _0: Self = Self::new(0);
8942
8943 #[doc = "High level"]
8944 pub const _1: Self = Self::new(1);
8945 }
8946 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8947 pub struct Pdr_SPEC;
8948 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8949 impl Pdr {
8950 #[doc = "Input (functions as an input pin)"]
8951 pub const _0: Self = Self::new(0);
8952
8953 #[doc = "Output (functions as an output pin)"]
8954 pub const _1: Self = Self::new(1);
8955 }
8956 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8957 pub struct Pcr_SPEC;
8958 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8959 impl Pcr {
8960 #[doc = "Disable input pull-up"]
8961 pub const _0: Self = Self::new(0);
8962
8963 #[doc = "Enable input pull-up"]
8964 pub const _1: Self = Self::new(1);
8965 }
8966 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8967 pub struct Ncodr_SPEC;
8968 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8969 impl Ncodr {
8970 #[doc = "Output CMOS"]
8971 pub const _0: Self = Self::new(0);
8972
8973 #[doc = "Output NMOS open-drain"]
8974 pub const _1: Self = Self::new(1);
8975 }
8976}
8977#[doc(hidden)]
8978#[derive(Copy, Clone, Eq, PartialEq)]
8979pub struct P201Pfs_SPEC;
8980impl crate::sealed::RegSpec for P201Pfs_SPEC {
8981 type DataType = u32;
8982}
8983
8984#[doc = "Port 201 Pin Function Select Register"]
8985pub type P201Pfs = crate::RegValueT<P201Pfs_SPEC>;
8986
8987impl P201Pfs {
8988 #[doc = "Port Output Data"]
8989 #[inline(always)]
8990 pub fn podr(
8991 self,
8992 ) -> crate::common::RegisterField<
8993 0,
8994 0x1,
8995 1,
8996 0,
8997 p201pfs::Podr,
8998 p201pfs::Podr,
8999 P201Pfs_SPEC,
9000 crate::common::RW,
9001 > {
9002 crate::common::RegisterField::<
9003 0,
9004 0x1,
9005 1,
9006 0,
9007 p201pfs::Podr,
9008 p201pfs::Podr,
9009 P201Pfs_SPEC,
9010 crate::common::RW,
9011 >::from_register(self, 0)
9012 }
9013
9014 #[doc = "Port State"]
9015 #[inline(always)]
9016 pub fn pidr(
9017 self,
9018 ) -> crate::common::RegisterField<
9019 1,
9020 0x1,
9021 1,
9022 0,
9023 p201pfs::Pidr,
9024 p201pfs::Pidr,
9025 P201Pfs_SPEC,
9026 crate::common::R,
9027 > {
9028 crate::common::RegisterField::<
9029 1,
9030 0x1,
9031 1,
9032 0,
9033 p201pfs::Pidr,
9034 p201pfs::Pidr,
9035 P201Pfs_SPEC,
9036 crate::common::R,
9037 >::from_register(self, 0)
9038 }
9039
9040 #[doc = "Port Direction"]
9041 #[inline(always)]
9042 pub fn pdr(
9043 self,
9044 ) -> crate::common::RegisterField<
9045 2,
9046 0x1,
9047 1,
9048 0,
9049 p201pfs::Pdr,
9050 p201pfs::Pdr,
9051 P201Pfs_SPEC,
9052 crate::common::RW,
9053 > {
9054 crate::common::RegisterField::<
9055 2,
9056 0x1,
9057 1,
9058 0,
9059 p201pfs::Pdr,
9060 p201pfs::Pdr,
9061 P201Pfs_SPEC,
9062 crate::common::RW,
9063 >::from_register(self, 0)
9064 }
9065
9066 #[doc = "Pull-up Control"]
9067 #[inline(always)]
9068 pub fn pcr(
9069 self,
9070 ) -> crate::common::RegisterField<
9071 4,
9072 0x1,
9073 1,
9074 0,
9075 p201pfs::Pcr,
9076 p201pfs::Pcr,
9077 P201Pfs_SPEC,
9078 crate::common::RW,
9079 > {
9080 crate::common::RegisterField::<
9081 4,
9082 0x1,
9083 1,
9084 0,
9085 p201pfs::Pcr,
9086 p201pfs::Pcr,
9087 P201Pfs_SPEC,
9088 crate::common::RW,
9089 >::from_register(self, 0)
9090 }
9091
9092 #[doc = "N-Channel Open-Drain Control"]
9093 #[inline(always)]
9094 pub fn ncodr(
9095 self,
9096 ) -> crate::common::RegisterField<
9097 6,
9098 0x1,
9099 1,
9100 0,
9101 p201pfs::Ncodr,
9102 p201pfs::Ncodr,
9103 P201Pfs_SPEC,
9104 crate::common::RW,
9105 > {
9106 crate::common::RegisterField::<
9107 6,
9108 0x1,
9109 1,
9110 0,
9111 p201pfs::Ncodr,
9112 p201pfs::Ncodr,
9113 P201Pfs_SPEC,
9114 crate::common::RW,
9115 >::from_register(self, 0)
9116 }
9117
9118 #[doc = "Event on Falling/Event on Rising"]
9119 #[inline(always)]
9120 pub fn eofr(
9121 self,
9122 ) -> crate::common::RegisterField<
9123 12,
9124 0x3,
9125 1,
9126 0,
9127 p201pfs::Eofr,
9128 p201pfs::Eofr,
9129 P201Pfs_SPEC,
9130 crate::common::RW,
9131 > {
9132 crate::common::RegisterField::<
9133 12,
9134 0x3,
9135 1,
9136 0,
9137 p201pfs::Eofr,
9138 p201pfs::Eofr,
9139 P201Pfs_SPEC,
9140 crate::common::RW,
9141 >::from_register(self, 0)
9142 }
9143
9144 #[doc = "IRQ Input Enable"]
9145 #[inline(always)]
9146 pub fn isel(
9147 self,
9148 ) -> crate::common::RegisterField<
9149 14,
9150 0x1,
9151 1,
9152 0,
9153 p201pfs::Isel,
9154 p201pfs::Isel,
9155 P201Pfs_SPEC,
9156 crate::common::RW,
9157 > {
9158 crate::common::RegisterField::<
9159 14,
9160 0x1,
9161 1,
9162 0,
9163 p201pfs::Isel,
9164 p201pfs::Isel,
9165 P201Pfs_SPEC,
9166 crate::common::RW,
9167 >::from_register(self, 0)
9168 }
9169
9170 #[doc = "Analog Input Enable"]
9171 #[inline(always)]
9172 pub fn asel(
9173 self,
9174 ) -> crate::common::RegisterField<
9175 15,
9176 0x1,
9177 1,
9178 0,
9179 p201pfs::Asel,
9180 p201pfs::Asel,
9181 P201Pfs_SPEC,
9182 crate::common::RW,
9183 > {
9184 crate::common::RegisterField::<
9185 15,
9186 0x1,
9187 1,
9188 0,
9189 p201pfs::Asel,
9190 p201pfs::Asel,
9191 P201Pfs_SPEC,
9192 crate::common::RW,
9193 >::from_register(self, 0)
9194 }
9195
9196 #[doc = "Port Mode Control"]
9197 #[inline(always)]
9198 pub fn pmr(
9199 self,
9200 ) -> crate::common::RegisterField<
9201 16,
9202 0x1,
9203 1,
9204 0,
9205 p201pfs::Pmr,
9206 p201pfs::Pmr,
9207 P201Pfs_SPEC,
9208 crate::common::RW,
9209 > {
9210 crate::common::RegisterField::<
9211 16,
9212 0x1,
9213 1,
9214 0,
9215 p201pfs::Pmr,
9216 p201pfs::Pmr,
9217 P201Pfs_SPEC,
9218 crate::common::RW,
9219 >::from_register(self, 0)
9220 }
9221
9222 #[doc = "Peripheral Select"]
9223 #[inline(always)]
9224 pub fn psel(
9225 self,
9226 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P201Pfs_SPEC, crate::common::RW> {
9227 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P201Pfs_SPEC,crate::common::RW>::from_register(self,0)
9228 }
9229}
9230impl ::core::default::Default for P201Pfs {
9231 #[inline(always)]
9232 fn default() -> P201Pfs {
9233 <crate::RegValueT<P201Pfs_SPEC> as RegisterValue<_>>::new(16)
9234 }
9235}
9236pub mod p201pfs {
9237
9238 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9239 pub struct Podr_SPEC;
9240 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9241 impl Podr {
9242 #[doc = "Output low"]
9243 pub const _0: Self = Self::new(0);
9244
9245 #[doc = "Output high"]
9246 pub const _1: Self = Self::new(1);
9247 }
9248 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9249 pub struct Pidr_SPEC;
9250 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9251 impl Pidr {
9252 #[doc = "Low level"]
9253 pub const _0: Self = Self::new(0);
9254
9255 #[doc = "High level"]
9256 pub const _1: Self = Self::new(1);
9257 }
9258 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9259 pub struct Pdr_SPEC;
9260 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9261 impl Pdr {
9262 #[doc = "Input (functions as an input pin)"]
9263 pub const _0: Self = Self::new(0);
9264
9265 #[doc = "Output (functions as an output pin)"]
9266 pub const _1: Self = Self::new(1);
9267 }
9268 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9269 pub struct Pcr_SPEC;
9270 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9271 impl Pcr {
9272 #[doc = "Disable input pull-up"]
9273 pub const _0: Self = Self::new(0);
9274
9275 #[doc = "Enable input pull-up"]
9276 pub const _1: Self = Self::new(1);
9277 }
9278 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9279 pub struct Ncodr_SPEC;
9280 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9281 impl Ncodr {
9282 #[doc = "Output CMOS"]
9283 pub const _0: Self = Self::new(0);
9284
9285 #[doc = "Output NMOS open-drain"]
9286 pub const _1: Self = Self::new(1);
9287 }
9288 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9289 pub struct Eofr_SPEC;
9290 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9291 impl Eofr {
9292 #[doc = "Don\'t care"]
9293 pub const _00: Self = Self::new(0);
9294
9295 #[doc = "Detect rising edge"]
9296 pub const _01: Self = Self::new(1);
9297
9298 #[doc = "Detect falling edge"]
9299 pub const _10: Self = Self::new(2);
9300
9301 #[doc = "Detect both edges"]
9302 pub const _11: Self = Self::new(3);
9303 }
9304 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9305 pub struct Isel_SPEC;
9306 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9307 impl Isel {
9308 #[doc = "Do not use as IRQn input pin"]
9309 pub const _0: Self = Self::new(0);
9310
9311 #[doc = "Use as IRQn input pin"]
9312 pub const _1: Self = Self::new(1);
9313 }
9314 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9315 pub struct Asel_SPEC;
9316 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9317 impl Asel {
9318 #[doc = "Do not use as analog pin"]
9319 pub const _0: Self = Self::new(0);
9320
9321 #[doc = "Use as analog pin"]
9322 pub const _1: Self = Self::new(1);
9323 }
9324 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9325 pub struct Pmr_SPEC;
9326 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
9327 impl Pmr {
9328 #[doc = "Use as general I/O pin"]
9329 pub const _0: Self = Self::new(0);
9330
9331 #[doc = "Use as I/O port for peripheral functions"]
9332 pub const _1: Self = Self::new(1);
9333 }
9334}
9335#[doc(hidden)]
9336#[derive(Copy, Clone, Eq, PartialEq)]
9337pub struct P201PfsHa_SPEC;
9338impl crate::sealed::RegSpec for P201PfsHa_SPEC {
9339 type DataType = u16;
9340}
9341
9342#[doc = "Port 201 Pin Function Select Register"]
9343pub type P201PfsHa = crate::RegValueT<P201PfsHa_SPEC>;
9344
9345impl P201PfsHa {
9346 #[doc = "Port Output Data"]
9347 #[inline(always)]
9348 pub fn podr(
9349 self,
9350 ) -> crate::common::RegisterField<
9351 0,
9352 0x1,
9353 1,
9354 0,
9355 p201pfs_ha::Podr,
9356 p201pfs_ha::Podr,
9357 P201PfsHa_SPEC,
9358 crate::common::RW,
9359 > {
9360 crate::common::RegisterField::<
9361 0,
9362 0x1,
9363 1,
9364 0,
9365 p201pfs_ha::Podr,
9366 p201pfs_ha::Podr,
9367 P201PfsHa_SPEC,
9368 crate::common::RW,
9369 >::from_register(self, 0)
9370 }
9371
9372 #[doc = "Port State"]
9373 #[inline(always)]
9374 pub fn pidr(
9375 self,
9376 ) -> crate::common::RegisterField<
9377 1,
9378 0x1,
9379 1,
9380 0,
9381 p201pfs_ha::Pidr,
9382 p201pfs_ha::Pidr,
9383 P201PfsHa_SPEC,
9384 crate::common::R,
9385 > {
9386 crate::common::RegisterField::<
9387 1,
9388 0x1,
9389 1,
9390 0,
9391 p201pfs_ha::Pidr,
9392 p201pfs_ha::Pidr,
9393 P201PfsHa_SPEC,
9394 crate::common::R,
9395 >::from_register(self, 0)
9396 }
9397
9398 #[doc = "Port Direction"]
9399 #[inline(always)]
9400 pub fn pdr(
9401 self,
9402 ) -> crate::common::RegisterField<
9403 2,
9404 0x1,
9405 1,
9406 0,
9407 p201pfs_ha::Pdr,
9408 p201pfs_ha::Pdr,
9409 P201PfsHa_SPEC,
9410 crate::common::RW,
9411 > {
9412 crate::common::RegisterField::<
9413 2,
9414 0x1,
9415 1,
9416 0,
9417 p201pfs_ha::Pdr,
9418 p201pfs_ha::Pdr,
9419 P201PfsHa_SPEC,
9420 crate::common::RW,
9421 >::from_register(self, 0)
9422 }
9423
9424 #[doc = "Pull-up Control"]
9425 #[inline(always)]
9426 pub fn pcr(
9427 self,
9428 ) -> crate::common::RegisterField<
9429 4,
9430 0x1,
9431 1,
9432 0,
9433 p201pfs_ha::Pcr,
9434 p201pfs_ha::Pcr,
9435 P201PfsHa_SPEC,
9436 crate::common::RW,
9437 > {
9438 crate::common::RegisterField::<
9439 4,
9440 0x1,
9441 1,
9442 0,
9443 p201pfs_ha::Pcr,
9444 p201pfs_ha::Pcr,
9445 P201PfsHa_SPEC,
9446 crate::common::RW,
9447 >::from_register(self, 0)
9448 }
9449
9450 #[doc = "N-Channel Open-Drain Control"]
9451 #[inline(always)]
9452 pub fn ncodr(
9453 self,
9454 ) -> crate::common::RegisterField<
9455 6,
9456 0x1,
9457 1,
9458 0,
9459 p201pfs_ha::Ncodr,
9460 p201pfs_ha::Ncodr,
9461 P201PfsHa_SPEC,
9462 crate::common::RW,
9463 > {
9464 crate::common::RegisterField::<
9465 6,
9466 0x1,
9467 1,
9468 0,
9469 p201pfs_ha::Ncodr,
9470 p201pfs_ha::Ncodr,
9471 P201PfsHa_SPEC,
9472 crate::common::RW,
9473 >::from_register(self, 0)
9474 }
9475
9476 #[doc = "Event on Falling/Event on Rising"]
9477 #[inline(always)]
9478 pub fn eofr(
9479 self,
9480 ) -> crate::common::RegisterField<
9481 12,
9482 0x3,
9483 1,
9484 0,
9485 p201pfs_ha::Eofr,
9486 p201pfs_ha::Eofr,
9487 P201PfsHa_SPEC,
9488 crate::common::RW,
9489 > {
9490 crate::common::RegisterField::<
9491 12,
9492 0x3,
9493 1,
9494 0,
9495 p201pfs_ha::Eofr,
9496 p201pfs_ha::Eofr,
9497 P201PfsHa_SPEC,
9498 crate::common::RW,
9499 >::from_register(self, 0)
9500 }
9501
9502 #[doc = "IRQ Input Enable"]
9503 #[inline(always)]
9504 pub fn isel(
9505 self,
9506 ) -> crate::common::RegisterField<
9507 14,
9508 0x1,
9509 1,
9510 0,
9511 p201pfs_ha::Isel,
9512 p201pfs_ha::Isel,
9513 P201PfsHa_SPEC,
9514 crate::common::RW,
9515 > {
9516 crate::common::RegisterField::<
9517 14,
9518 0x1,
9519 1,
9520 0,
9521 p201pfs_ha::Isel,
9522 p201pfs_ha::Isel,
9523 P201PfsHa_SPEC,
9524 crate::common::RW,
9525 >::from_register(self, 0)
9526 }
9527
9528 #[doc = "Analog Input Enable"]
9529 #[inline(always)]
9530 pub fn asel(
9531 self,
9532 ) -> crate::common::RegisterField<
9533 15,
9534 0x1,
9535 1,
9536 0,
9537 p201pfs_ha::Asel,
9538 p201pfs_ha::Asel,
9539 P201PfsHa_SPEC,
9540 crate::common::RW,
9541 > {
9542 crate::common::RegisterField::<
9543 15,
9544 0x1,
9545 1,
9546 0,
9547 p201pfs_ha::Asel,
9548 p201pfs_ha::Asel,
9549 P201PfsHa_SPEC,
9550 crate::common::RW,
9551 >::from_register(self, 0)
9552 }
9553}
9554impl ::core::default::Default for P201PfsHa {
9555 #[inline(always)]
9556 fn default() -> P201PfsHa {
9557 <crate::RegValueT<P201PfsHa_SPEC> as RegisterValue<_>>::new(16)
9558 }
9559}
9560pub mod p201pfs_ha {
9561
9562 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9563 pub struct Podr_SPEC;
9564 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9565 impl Podr {
9566 #[doc = "Output low"]
9567 pub const _0: Self = Self::new(0);
9568
9569 #[doc = "Output high"]
9570 pub const _1: Self = Self::new(1);
9571 }
9572 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9573 pub struct Pidr_SPEC;
9574 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9575 impl Pidr {
9576 #[doc = "Low level"]
9577 pub const _0: Self = Self::new(0);
9578
9579 #[doc = "High level"]
9580 pub const _1: Self = Self::new(1);
9581 }
9582 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9583 pub struct Pdr_SPEC;
9584 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9585 impl Pdr {
9586 #[doc = "Input (functions as an input pin)"]
9587 pub const _0: Self = Self::new(0);
9588
9589 #[doc = "Output (functions as an output pin)"]
9590 pub const _1: Self = Self::new(1);
9591 }
9592 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9593 pub struct Pcr_SPEC;
9594 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9595 impl Pcr {
9596 #[doc = "Disable input pull-up"]
9597 pub const _0: Self = Self::new(0);
9598
9599 #[doc = "Enable input pull-up"]
9600 pub const _1: Self = Self::new(1);
9601 }
9602 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9603 pub struct Ncodr_SPEC;
9604 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9605 impl Ncodr {
9606 #[doc = "Output CMOS"]
9607 pub const _0: Self = Self::new(0);
9608
9609 #[doc = "Output NMOS open-drain"]
9610 pub const _1: Self = Self::new(1);
9611 }
9612 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9613 pub struct Eofr_SPEC;
9614 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9615 impl Eofr {
9616 #[doc = "Don\'t care"]
9617 pub const _00: Self = Self::new(0);
9618
9619 #[doc = "Detect rising edge"]
9620 pub const _01: Self = Self::new(1);
9621
9622 #[doc = "Detect falling edge"]
9623 pub const _10: Self = Self::new(2);
9624
9625 #[doc = "Detect both edges"]
9626 pub const _11: Self = Self::new(3);
9627 }
9628 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9629 pub struct Isel_SPEC;
9630 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9631 impl Isel {
9632 #[doc = "Do not use as IRQn input pin"]
9633 pub const _0: Self = Self::new(0);
9634
9635 #[doc = "Use as IRQn input pin"]
9636 pub const _1: Self = Self::new(1);
9637 }
9638 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9639 pub struct Asel_SPEC;
9640 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9641 impl Asel {
9642 #[doc = "Do not use as analog pin"]
9643 pub const _0: Self = Self::new(0);
9644
9645 #[doc = "Use as analog pin"]
9646 pub const _1: Self = Self::new(1);
9647 }
9648}
9649#[doc(hidden)]
9650#[derive(Copy, Clone, Eq, PartialEq)]
9651pub struct P201PfsBy_SPEC;
9652impl crate::sealed::RegSpec for P201PfsBy_SPEC {
9653 type DataType = u8;
9654}
9655
9656#[doc = "Port 201 Pin Function Select Register"]
9657pub type P201PfsBy = crate::RegValueT<P201PfsBy_SPEC>;
9658
9659impl P201PfsBy {
9660 #[doc = "Port Output Data"]
9661 #[inline(always)]
9662 pub fn podr(
9663 self,
9664 ) -> crate::common::RegisterField<
9665 0,
9666 0x1,
9667 1,
9668 0,
9669 p201pfs_by::Podr,
9670 p201pfs_by::Podr,
9671 P201PfsBy_SPEC,
9672 crate::common::RW,
9673 > {
9674 crate::common::RegisterField::<
9675 0,
9676 0x1,
9677 1,
9678 0,
9679 p201pfs_by::Podr,
9680 p201pfs_by::Podr,
9681 P201PfsBy_SPEC,
9682 crate::common::RW,
9683 >::from_register(self, 0)
9684 }
9685
9686 #[doc = "Port State"]
9687 #[inline(always)]
9688 pub fn pidr(
9689 self,
9690 ) -> crate::common::RegisterField<
9691 1,
9692 0x1,
9693 1,
9694 0,
9695 p201pfs_by::Pidr,
9696 p201pfs_by::Pidr,
9697 P201PfsBy_SPEC,
9698 crate::common::R,
9699 > {
9700 crate::common::RegisterField::<
9701 1,
9702 0x1,
9703 1,
9704 0,
9705 p201pfs_by::Pidr,
9706 p201pfs_by::Pidr,
9707 P201PfsBy_SPEC,
9708 crate::common::R,
9709 >::from_register(self, 0)
9710 }
9711
9712 #[doc = "Port Direction"]
9713 #[inline(always)]
9714 pub fn pdr(
9715 self,
9716 ) -> crate::common::RegisterField<
9717 2,
9718 0x1,
9719 1,
9720 0,
9721 p201pfs_by::Pdr,
9722 p201pfs_by::Pdr,
9723 P201PfsBy_SPEC,
9724 crate::common::RW,
9725 > {
9726 crate::common::RegisterField::<
9727 2,
9728 0x1,
9729 1,
9730 0,
9731 p201pfs_by::Pdr,
9732 p201pfs_by::Pdr,
9733 P201PfsBy_SPEC,
9734 crate::common::RW,
9735 >::from_register(self, 0)
9736 }
9737
9738 #[doc = "Pull-up Control"]
9739 #[inline(always)]
9740 pub fn pcr(
9741 self,
9742 ) -> crate::common::RegisterField<
9743 4,
9744 0x1,
9745 1,
9746 0,
9747 p201pfs_by::Pcr,
9748 p201pfs_by::Pcr,
9749 P201PfsBy_SPEC,
9750 crate::common::RW,
9751 > {
9752 crate::common::RegisterField::<
9753 4,
9754 0x1,
9755 1,
9756 0,
9757 p201pfs_by::Pcr,
9758 p201pfs_by::Pcr,
9759 P201PfsBy_SPEC,
9760 crate::common::RW,
9761 >::from_register(self, 0)
9762 }
9763
9764 #[doc = "N-Channel Open-Drain Control"]
9765 #[inline(always)]
9766 pub fn ncodr(
9767 self,
9768 ) -> crate::common::RegisterField<
9769 6,
9770 0x1,
9771 1,
9772 0,
9773 p201pfs_by::Ncodr,
9774 p201pfs_by::Ncodr,
9775 P201PfsBy_SPEC,
9776 crate::common::RW,
9777 > {
9778 crate::common::RegisterField::<
9779 6,
9780 0x1,
9781 1,
9782 0,
9783 p201pfs_by::Ncodr,
9784 p201pfs_by::Ncodr,
9785 P201PfsBy_SPEC,
9786 crate::common::RW,
9787 >::from_register(self, 0)
9788 }
9789}
9790impl ::core::default::Default for P201PfsBy {
9791 #[inline(always)]
9792 fn default() -> P201PfsBy {
9793 <crate::RegValueT<P201PfsBy_SPEC> as RegisterValue<_>>::new(16)
9794 }
9795}
9796pub mod p201pfs_by {
9797
9798 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9799 pub struct Podr_SPEC;
9800 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9801 impl Podr {
9802 #[doc = "Output low"]
9803 pub const _0: Self = Self::new(0);
9804
9805 #[doc = "Output high"]
9806 pub const _1: Self = Self::new(1);
9807 }
9808 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9809 pub struct Pidr_SPEC;
9810 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9811 impl Pidr {
9812 #[doc = "Low level"]
9813 pub const _0: Self = Self::new(0);
9814
9815 #[doc = "High level"]
9816 pub const _1: Self = Self::new(1);
9817 }
9818 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9819 pub struct Pdr_SPEC;
9820 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9821 impl Pdr {
9822 #[doc = "Input (functions as an input pin)"]
9823 pub const _0: Self = Self::new(0);
9824
9825 #[doc = "Output (functions as an output pin)"]
9826 pub const _1: Self = Self::new(1);
9827 }
9828 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9829 pub struct Pcr_SPEC;
9830 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9831 impl Pcr {
9832 #[doc = "Disable input pull-up"]
9833 pub const _0: Self = Self::new(0);
9834
9835 #[doc = "Enable input pull-up"]
9836 pub const _1: Self = Self::new(1);
9837 }
9838 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9839 pub struct Ncodr_SPEC;
9840 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9841 impl Ncodr {
9842 #[doc = "Output CMOS"]
9843 pub const _0: Self = Self::new(0);
9844
9845 #[doc = "Output NMOS open-drain"]
9846 pub const _1: Self = Self::new(1);
9847 }
9848}
9849#[doc(hidden)]
9850#[derive(Copy, Clone, Eq, PartialEq)]
9851pub struct P20Pfs_SPEC;
9852impl crate::sealed::RegSpec for P20Pfs_SPEC {
9853 type DataType = u32;
9854}
9855
9856#[doc = "Port 20%s Pin Function Select Register"]
9857pub type P20Pfs = crate::RegValueT<P20Pfs_SPEC>;
9858
9859impl P20Pfs {
9860 #[doc = "Port Output Data"]
9861 #[inline(always)]
9862 pub fn podr(
9863 self,
9864 ) -> crate::common::RegisterField<
9865 0,
9866 0x1,
9867 1,
9868 0,
9869 p20pfs::Podr,
9870 p20pfs::Podr,
9871 P20Pfs_SPEC,
9872 crate::common::RW,
9873 > {
9874 crate::common::RegisterField::<
9875 0,
9876 0x1,
9877 1,
9878 0,
9879 p20pfs::Podr,
9880 p20pfs::Podr,
9881 P20Pfs_SPEC,
9882 crate::common::RW,
9883 >::from_register(self, 0)
9884 }
9885
9886 #[doc = "Port State"]
9887 #[inline(always)]
9888 pub fn pidr(
9889 self,
9890 ) -> crate::common::RegisterField<
9891 1,
9892 0x1,
9893 1,
9894 0,
9895 p20pfs::Pidr,
9896 p20pfs::Pidr,
9897 P20Pfs_SPEC,
9898 crate::common::R,
9899 > {
9900 crate::common::RegisterField::<
9901 1,
9902 0x1,
9903 1,
9904 0,
9905 p20pfs::Pidr,
9906 p20pfs::Pidr,
9907 P20Pfs_SPEC,
9908 crate::common::R,
9909 >::from_register(self, 0)
9910 }
9911
9912 #[doc = "Port Direction"]
9913 #[inline(always)]
9914 pub fn pdr(
9915 self,
9916 ) -> crate::common::RegisterField<
9917 2,
9918 0x1,
9919 1,
9920 0,
9921 p20pfs::Pdr,
9922 p20pfs::Pdr,
9923 P20Pfs_SPEC,
9924 crate::common::RW,
9925 > {
9926 crate::common::RegisterField::<
9927 2,
9928 0x1,
9929 1,
9930 0,
9931 p20pfs::Pdr,
9932 p20pfs::Pdr,
9933 P20Pfs_SPEC,
9934 crate::common::RW,
9935 >::from_register(self, 0)
9936 }
9937
9938 #[doc = "Pull-up Control"]
9939 #[inline(always)]
9940 pub fn pcr(
9941 self,
9942 ) -> crate::common::RegisterField<
9943 4,
9944 0x1,
9945 1,
9946 0,
9947 p20pfs::Pcr,
9948 p20pfs::Pcr,
9949 P20Pfs_SPEC,
9950 crate::common::RW,
9951 > {
9952 crate::common::RegisterField::<
9953 4,
9954 0x1,
9955 1,
9956 0,
9957 p20pfs::Pcr,
9958 p20pfs::Pcr,
9959 P20Pfs_SPEC,
9960 crate::common::RW,
9961 >::from_register(self, 0)
9962 }
9963
9964 #[doc = "N-Channel Open-Drain Control"]
9965 #[inline(always)]
9966 pub fn ncodr(
9967 self,
9968 ) -> crate::common::RegisterField<
9969 6,
9970 0x1,
9971 1,
9972 0,
9973 p20pfs::Ncodr,
9974 p20pfs::Ncodr,
9975 P20Pfs_SPEC,
9976 crate::common::RW,
9977 > {
9978 crate::common::RegisterField::<
9979 6,
9980 0x1,
9981 1,
9982 0,
9983 p20pfs::Ncodr,
9984 p20pfs::Ncodr,
9985 P20Pfs_SPEC,
9986 crate::common::RW,
9987 >::from_register(self, 0)
9988 }
9989
9990 #[doc = "Event on Falling/Event on Rising"]
9991 #[inline(always)]
9992 pub fn eofr(
9993 self,
9994 ) -> crate::common::RegisterField<
9995 12,
9996 0x3,
9997 1,
9998 0,
9999 p20pfs::Eofr,
10000 p20pfs::Eofr,
10001 P20Pfs_SPEC,
10002 crate::common::RW,
10003 > {
10004 crate::common::RegisterField::<
10005 12,
10006 0x3,
10007 1,
10008 0,
10009 p20pfs::Eofr,
10010 p20pfs::Eofr,
10011 P20Pfs_SPEC,
10012 crate::common::RW,
10013 >::from_register(self, 0)
10014 }
10015
10016 #[doc = "IRQ Input Enable"]
10017 #[inline(always)]
10018 pub fn isel(
10019 self,
10020 ) -> crate::common::RegisterField<
10021 14,
10022 0x1,
10023 1,
10024 0,
10025 p20pfs::Isel,
10026 p20pfs::Isel,
10027 P20Pfs_SPEC,
10028 crate::common::RW,
10029 > {
10030 crate::common::RegisterField::<
10031 14,
10032 0x1,
10033 1,
10034 0,
10035 p20pfs::Isel,
10036 p20pfs::Isel,
10037 P20Pfs_SPEC,
10038 crate::common::RW,
10039 >::from_register(self, 0)
10040 }
10041
10042 #[doc = "Analog Input Enable"]
10043 #[inline(always)]
10044 pub fn asel(
10045 self,
10046 ) -> crate::common::RegisterField<
10047 15,
10048 0x1,
10049 1,
10050 0,
10051 p20pfs::Asel,
10052 p20pfs::Asel,
10053 P20Pfs_SPEC,
10054 crate::common::RW,
10055 > {
10056 crate::common::RegisterField::<
10057 15,
10058 0x1,
10059 1,
10060 0,
10061 p20pfs::Asel,
10062 p20pfs::Asel,
10063 P20Pfs_SPEC,
10064 crate::common::RW,
10065 >::from_register(self, 0)
10066 }
10067
10068 #[doc = "Port Mode Control"]
10069 #[inline(always)]
10070 pub fn pmr(
10071 self,
10072 ) -> crate::common::RegisterField<
10073 16,
10074 0x1,
10075 1,
10076 0,
10077 p20pfs::Pmr,
10078 p20pfs::Pmr,
10079 P20Pfs_SPEC,
10080 crate::common::RW,
10081 > {
10082 crate::common::RegisterField::<
10083 16,
10084 0x1,
10085 1,
10086 0,
10087 p20pfs::Pmr,
10088 p20pfs::Pmr,
10089 P20Pfs_SPEC,
10090 crate::common::RW,
10091 >::from_register(self, 0)
10092 }
10093
10094 #[doc = "Peripheral Select"]
10095 #[inline(always)]
10096 pub fn psel(
10097 self,
10098 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P20Pfs_SPEC, crate::common::RW> {
10099 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P20Pfs_SPEC,crate::common::RW>::from_register(self,0)
10100 }
10101}
10102impl ::core::default::Default for P20Pfs {
10103 #[inline(always)]
10104 fn default() -> P20Pfs {
10105 <crate::RegValueT<P20Pfs_SPEC> as RegisterValue<_>>::new(0)
10106 }
10107}
10108pub mod p20pfs {
10109
10110 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10111 pub struct Podr_SPEC;
10112 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10113 impl Podr {
10114 #[doc = "Output low"]
10115 pub const _0: Self = Self::new(0);
10116
10117 #[doc = "Output high"]
10118 pub const _1: Self = Self::new(1);
10119 }
10120 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10121 pub struct Pidr_SPEC;
10122 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10123 impl Pidr {
10124 #[doc = "Low level"]
10125 pub const _0: Self = Self::new(0);
10126
10127 #[doc = "High level"]
10128 pub const _1: Self = Self::new(1);
10129 }
10130 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10131 pub struct Pdr_SPEC;
10132 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10133 impl Pdr {
10134 #[doc = "Input (functions as an input pin)"]
10135 pub const _0: Self = Self::new(0);
10136
10137 #[doc = "Output (functions as an output pin)"]
10138 pub const _1: Self = Self::new(1);
10139 }
10140 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10141 pub struct Pcr_SPEC;
10142 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10143 impl Pcr {
10144 #[doc = "Disable input pull-up"]
10145 pub const _0: Self = Self::new(0);
10146
10147 #[doc = "Enable input pull-up"]
10148 pub const _1: Self = Self::new(1);
10149 }
10150 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10151 pub struct Ncodr_SPEC;
10152 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10153 impl Ncodr {
10154 #[doc = "Output CMOS"]
10155 pub const _0: Self = Self::new(0);
10156
10157 #[doc = "Output NMOS open-drain"]
10158 pub const _1: Self = Self::new(1);
10159 }
10160 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10161 pub struct Eofr_SPEC;
10162 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10163 impl Eofr {
10164 #[doc = "Don\'t care"]
10165 pub const _00: Self = Self::new(0);
10166
10167 #[doc = "Detect rising edge"]
10168 pub const _01: Self = Self::new(1);
10169
10170 #[doc = "Detect falling edge"]
10171 pub const _10: Self = Self::new(2);
10172
10173 #[doc = "Detect both edges"]
10174 pub const _11: Self = Self::new(3);
10175 }
10176 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10177 pub struct Isel_SPEC;
10178 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10179 impl Isel {
10180 #[doc = "Do not use as IRQn input pin"]
10181 pub const _0: Self = Self::new(0);
10182
10183 #[doc = "Use as IRQn input pin"]
10184 pub const _1: Self = Self::new(1);
10185 }
10186 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10187 pub struct Asel_SPEC;
10188 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10189 impl Asel {
10190 #[doc = "Do not use as analog pin"]
10191 pub const _0: Self = Self::new(0);
10192
10193 #[doc = "Use as analog pin"]
10194 pub const _1: Self = Self::new(1);
10195 }
10196 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10197 pub struct Pmr_SPEC;
10198 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
10199 impl Pmr {
10200 #[doc = "Use as general I/O pin"]
10201 pub const _0: Self = Self::new(0);
10202
10203 #[doc = "Use as I/O port for peripheral functions"]
10204 pub const _1: Self = Self::new(1);
10205 }
10206}
10207#[doc(hidden)]
10208#[derive(Copy, Clone, Eq, PartialEq)]
10209pub struct P20PfsHa_SPEC;
10210impl crate::sealed::RegSpec for P20PfsHa_SPEC {
10211 type DataType = u16;
10212}
10213
10214#[doc = "Port 20%s Pin Function Select Register"]
10215pub type P20PfsHa = crate::RegValueT<P20PfsHa_SPEC>;
10216
10217impl P20PfsHa {
10218 #[doc = "Port Output Data"]
10219 #[inline(always)]
10220 pub fn podr(
10221 self,
10222 ) -> crate::common::RegisterField<
10223 0,
10224 0x1,
10225 1,
10226 0,
10227 p20pfs_ha::Podr,
10228 p20pfs_ha::Podr,
10229 P20PfsHa_SPEC,
10230 crate::common::RW,
10231 > {
10232 crate::common::RegisterField::<
10233 0,
10234 0x1,
10235 1,
10236 0,
10237 p20pfs_ha::Podr,
10238 p20pfs_ha::Podr,
10239 P20PfsHa_SPEC,
10240 crate::common::RW,
10241 >::from_register(self, 0)
10242 }
10243
10244 #[doc = "Port State"]
10245 #[inline(always)]
10246 pub fn pidr(
10247 self,
10248 ) -> crate::common::RegisterField<
10249 1,
10250 0x1,
10251 1,
10252 0,
10253 p20pfs_ha::Pidr,
10254 p20pfs_ha::Pidr,
10255 P20PfsHa_SPEC,
10256 crate::common::R,
10257 > {
10258 crate::common::RegisterField::<
10259 1,
10260 0x1,
10261 1,
10262 0,
10263 p20pfs_ha::Pidr,
10264 p20pfs_ha::Pidr,
10265 P20PfsHa_SPEC,
10266 crate::common::R,
10267 >::from_register(self, 0)
10268 }
10269
10270 #[doc = "Port Direction"]
10271 #[inline(always)]
10272 pub fn pdr(
10273 self,
10274 ) -> crate::common::RegisterField<
10275 2,
10276 0x1,
10277 1,
10278 0,
10279 p20pfs_ha::Pdr,
10280 p20pfs_ha::Pdr,
10281 P20PfsHa_SPEC,
10282 crate::common::RW,
10283 > {
10284 crate::common::RegisterField::<
10285 2,
10286 0x1,
10287 1,
10288 0,
10289 p20pfs_ha::Pdr,
10290 p20pfs_ha::Pdr,
10291 P20PfsHa_SPEC,
10292 crate::common::RW,
10293 >::from_register(self, 0)
10294 }
10295
10296 #[doc = "Pull-up Control"]
10297 #[inline(always)]
10298 pub fn pcr(
10299 self,
10300 ) -> crate::common::RegisterField<
10301 4,
10302 0x1,
10303 1,
10304 0,
10305 p20pfs_ha::Pcr,
10306 p20pfs_ha::Pcr,
10307 P20PfsHa_SPEC,
10308 crate::common::RW,
10309 > {
10310 crate::common::RegisterField::<
10311 4,
10312 0x1,
10313 1,
10314 0,
10315 p20pfs_ha::Pcr,
10316 p20pfs_ha::Pcr,
10317 P20PfsHa_SPEC,
10318 crate::common::RW,
10319 >::from_register(self, 0)
10320 }
10321
10322 #[doc = "N-Channel Open-Drain Control"]
10323 #[inline(always)]
10324 pub fn ncodr(
10325 self,
10326 ) -> crate::common::RegisterField<
10327 6,
10328 0x1,
10329 1,
10330 0,
10331 p20pfs_ha::Ncodr,
10332 p20pfs_ha::Ncodr,
10333 P20PfsHa_SPEC,
10334 crate::common::RW,
10335 > {
10336 crate::common::RegisterField::<
10337 6,
10338 0x1,
10339 1,
10340 0,
10341 p20pfs_ha::Ncodr,
10342 p20pfs_ha::Ncodr,
10343 P20PfsHa_SPEC,
10344 crate::common::RW,
10345 >::from_register(self, 0)
10346 }
10347
10348 #[doc = "Event on Falling/Event on Rising"]
10349 #[inline(always)]
10350 pub fn eofr(
10351 self,
10352 ) -> crate::common::RegisterField<
10353 12,
10354 0x3,
10355 1,
10356 0,
10357 p20pfs_ha::Eofr,
10358 p20pfs_ha::Eofr,
10359 P20PfsHa_SPEC,
10360 crate::common::RW,
10361 > {
10362 crate::common::RegisterField::<
10363 12,
10364 0x3,
10365 1,
10366 0,
10367 p20pfs_ha::Eofr,
10368 p20pfs_ha::Eofr,
10369 P20PfsHa_SPEC,
10370 crate::common::RW,
10371 >::from_register(self, 0)
10372 }
10373
10374 #[doc = "IRQ Input Enable"]
10375 #[inline(always)]
10376 pub fn isel(
10377 self,
10378 ) -> crate::common::RegisterField<
10379 14,
10380 0x1,
10381 1,
10382 0,
10383 p20pfs_ha::Isel,
10384 p20pfs_ha::Isel,
10385 P20PfsHa_SPEC,
10386 crate::common::RW,
10387 > {
10388 crate::common::RegisterField::<
10389 14,
10390 0x1,
10391 1,
10392 0,
10393 p20pfs_ha::Isel,
10394 p20pfs_ha::Isel,
10395 P20PfsHa_SPEC,
10396 crate::common::RW,
10397 >::from_register(self, 0)
10398 }
10399
10400 #[doc = "Analog Input Enable"]
10401 #[inline(always)]
10402 pub fn asel(
10403 self,
10404 ) -> crate::common::RegisterField<
10405 15,
10406 0x1,
10407 1,
10408 0,
10409 p20pfs_ha::Asel,
10410 p20pfs_ha::Asel,
10411 P20PfsHa_SPEC,
10412 crate::common::RW,
10413 > {
10414 crate::common::RegisterField::<
10415 15,
10416 0x1,
10417 1,
10418 0,
10419 p20pfs_ha::Asel,
10420 p20pfs_ha::Asel,
10421 P20PfsHa_SPEC,
10422 crate::common::RW,
10423 >::from_register(self, 0)
10424 }
10425}
10426impl ::core::default::Default for P20PfsHa {
10427 #[inline(always)]
10428 fn default() -> P20PfsHa {
10429 <crate::RegValueT<P20PfsHa_SPEC> as RegisterValue<_>>::new(0)
10430 }
10431}
10432pub mod p20pfs_ha {
10433
10434 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10435 pub struct Podr_SPEC;
10436 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10437 impl Podr {
10438 #[doc = "Output low"]
10439 pub const _0: Self = Self::new(0);
10440
10441 #[doc = "Output high"]
10442 pub const _1: Self = Self::new(1);
10443 }
10444 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10445 pub struct Pidr_SPEC;
10446 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10447 impl Pidr {
10448 #[doc = "Low level"]
10449 pub const _0: Self = Self::new(0);
10450
10451 #[doc = "High level"]
10452 pub const _1: Self = Self::new(1);
10453 }
10454 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10455 pub struct Pdr_SPEC;
10456 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10457 impl Pdr {
10458 #[doc = "Input (functions as an input pin)"]
10459 pub const _0: Self = Self::new(0);
10460
10461 #[doc = "Output (functions as an output pin)"]
10462 pub const _1: Self = Self::new(1);
10463 }
10464 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10465 pub struct Pcr_SPEC;
10466 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10467 impl Pcr {
10468 #[doc = "Disable input pull-up"]
10469 pub const _0: Self = Self::new(0);
10470
10471 #[doc = "Enable input pull-up"]
10472 pub const _1: Self = Self::new(1);
10473 }
10474 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10475 pub struct Ncodr_SPEC;
10476 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10477 impl Ncodr {
10478 #[doc = "Output CMOS"]
10479 pub const _0: Self = Self::new(0);
10480
10481 #[doc = "Output NMOS open-drain"]
10482 pub const _1: Self = Self::new(1);
10483 }
10484 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10485 pub struct Eofr_SPEC;
10486 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10487 impl Eofr {
10488 #[doc = "Don\'t care"]
10489 pub const _00: Self = Self::new(0);
10490
10491 #[doc = "Detect rising edge"]
10492 pub const _01: Self = Self::new(1);
10493
10494 #[doc = "Detect falling edge"]
10495 pub const _10: Self = Self::new(2);
10496
10497 #[doc = "Detect both edges"]
10498 pub const _11: Self = Self::new(3);
10499 }
10500 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10501 pub struct Isel_SPEC;
10502 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10503 impl Isel {
10504 #[doc = "Do not use as IRQn input pin"]
10505 pub const _0: Self = Self::new(0);
10506
10507 #[doc = "Use as IRQn input pin"]
10508 pub const _1: Self = Self::new(1);
10509 }
10510 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10511 pub struct Asel_SPEC;
10512 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10513 impl Asel {
10514 #[doc = "Do not use as analog pin"]
10515 pub const _0: Self = Self::new(0);
10516
10517 #[doc = "Use as analog pin"]
10518 pub const _1: Self = Self::new(1);
10519 }
10520}
10521#[doc(hidden)]
10522#[derive(Copy, Clone, Eq, PartialEq)]
10523pub struct P20PfsBy_SPEC;
10524impl crate::sealed::RegSpec for P20PfsBy_SPEC {
10525 type DataType = u8;
10526}
10527
10528#[doc = "Port 20%s Pin Function Select Register"]
10529pub type P20PfsBy = crate::RegValueT<P20PfsBy_SPEC>;
10530
10531impl P20PfsBy {
10532 #[doc = "Port Output Data"]
10533 #[inline(always)]
10534 pub fn podr(
10535 self,
10536 ) -> crate::common::RegisterField<
10537 0,
10538 0x1,
10539 1,
10540 0,
10541 p20pfs_by::Podr,
10542 p20pfs_by::Podr,
10543 P20PfsBy_SPEC,
10544 crate::common::RW,
10545 > {
10546 crate::common::RegisterField::<
10547 0,
10548 0x1,
10549 1,
10550 0,
10551 p20pfs_by::Podr,
10552 p20pfs_by::Podr,
10553 P20PfsBy_SPEC,
10554 crate::common::RW,
10555 >::from_register(self, 0)
10556 }
10557
10558 #[doc = "Port State"]
10559 #[inline(always)]
10560 pub fn pidr(
10561 self,
10562 ) -> crate::common::RegisterField<
10563 1,
10564 0x1,
10565 1,
10566 0,
10567 p20pfs_by::Pidr,
10568 p20pfs_by::Pidr,
10569 P20PfsBy_SPEC,
10570 crate::common::R,
10571 > {
10572 crate::common::RegisterField::<
10573 1,
10574 0x1,
10575 1,
10576 0,
10577 p20pfs_by::Pidr,
10578 p20pfs_by::Pidr,
10579 P20PfsBy_SPEC,
10580 crate::common::R,
10581 >::from_register(self, 0)
10582 }
10583
10584 #[doc = "Port Direction"]
10585 #[inline(always)]
10586 pub fn pdr(
10587 self,
10588 ) -> crate::common::RegisterField<
10589 2,
10590 0x1,
10591 1,
10592 0,
10593 p20pfs_by::Pdr,
10594 p20pfs_by::Pdr,
10595 P20PfsBy_SPEC,
10596 crate::common::RW,
10597 > {
10598 crate::common::RegisterField::<
10599 2,
10600 0x1,
10601 1,
10602 0,
10603 p20pfs_by::Pdr,
10604 p20pfs_by::Pdr,
10605 P20PfsBy_SPEC,
10606 crate::common::RW,
10607 >::from_register(self, 0)
10608 }
10609
10610 #[doc = "Pull-up Control"]
10611 #[inline(always)]
10612 pub fn pcr(
10613 self,
10614 ) -> crate::common::RegisterField<
10615 4,
10616 0x1,
10617 1,
10618 0,
10619 p20pfs_by::Pcr,
10620 p20pfs_by::Pcr,
10621 P20PfsBy_SPEC,
10622 crate::common::RW,
10623 > {
10624 crate::common::RegisterField::<
10625 4,
10626 0x1,
10627 1,
10628 0,
10629 p20pfs_by::Pcr,
10630 p20pfs_by::Pcr,
10631 P20PfsBy_SPEC,
10632 crate::common::RW,
10633 >::from_register(self, 0)
10634 }
10635
10636 #[doc = "N-Channel Open-Drain Control"]
10637 #[inline(always)]
10638 pub fn ncodr(
10639 self,
10640 ) -> crate::common::RegisterField<
10641 6,
10642 0x1,
10643 1,
10644 0,
10645 p20pfs_by::Ncodr,
10646 p20pfs_by::Ncodr,
10647 P20PfsBy_SPEC,
10648 crate::common::RW,
10649 > {
10650 crate::common::RegisterField::<
10651 6,
10652 0x1,
10653 1,
10654 0,
10655 p20pfs_by::Ncodr,
10656 p20pfs_by::Ncodr,
10657 P20PfsBy_SPEC,
10658 crate::common::RW,
10659 >::from_register(self, 0)
10660 }
10661}
10662impl ::core::default::Default for P20PfsBy {
10663 #[inline(always)]
10664 fn default() -> P20PfsBy {
10665 <crate::RegValueT<P20PfsBy_SPEC> as RegisterValue<_>>::new(0)
10666 }
10667}
10668pub mod p20pfs_by {
10669
10670 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10671 pub struct Podr_SPEC;
10672 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10673 impl Podr {
10674 #[doc = "Output low"]
10675 pub const _0: Self = Self::new(0);
10676
10677 #[doc = "Output high"]
10678 pub const _1: Self = Self::new(1);
10679 }
10680 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10681 pub struct Pidr_SPEC;
10682 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10683 impl Pidr {
10684 #[doc = "Low level"]
10685 pub const _0: Self = Self::new(0);
10686
10687 #[doc = "High level"]
10688 pub const _1: Self = Self::new(1);
10689 }
10690 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10691 pub struct Pdr_SPEC;
10692 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10693 impl Pdr {
10694 #[doc = "Input (functions as an input pin)"]
10695 pub const _0: Self = Self::new(0);
10696
10697 #[doc = "Output (functions as an output pin)"]
10698 pub const _1: Self = Self::new(1);
10699 }
10700 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10701 pub struct Pcr_SPEC;
10702 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10703 impl Pcr {
10704 #[doc = "Disable input pull-up"]
10705 pub const _0: Self = Self::new(0);
10706
10707 #[doc = "Enable input pull-up"]
10708 pub const _1: Self = Self::new(1);
10709 }
10710 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10711 pub struct Ncodr_SPEC;
10712 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10713 impl Ncodr {
10714 #[doc = "Output CMOS"]
10715 pub const _0: Self = Self::new(0);
10716
10717 #[doc = "Output NMOS open-drain"]
10718 pub const _1: Self = Self::new(1);
10719 }
10720}
10721#[doc(hidden)]
10722#[derive(Copy, Clone, Eq, PartialEq)]
10723pub struct P2Pfs_SPEC;
10724impl crate::sealed::RegSpec for P2Pfs_SPEC {
10725 type DataType = u32;
10726}
10727
10728#[doc = "Port 2%s Pin Function Select Register"]
10729pub type P2Pfs = crate::RegValueT<P2Pfs_SPEC>;
10730
10731impl P2Pfs {
10732 #[doc = "Port Output Data"]
10733 #[inline(always)]
10734 pub fn podr(
10735 self,
10736 ) -> crate::common::RegisterField<
10737 0,
10738 0x1,
10739 1,
10740 0,
10741 p2pfs::Podr,
10742 p2pfs::Podr,
10743 P2Pfs_SPEC,
10744 crate::common::RW,
10745 > {
10746 crate::common::RegisterField::<
10747 0,
10748 0x1,
10749 1,
10750 0,
10751 p2pfs::Podr,
10752 p2pfs::Podr,
10753 P2Pfs_SPEC,
10754 crate::common::RW,
10755 >::from_register(self, 0)
10756 }
10757
10758 #[doc = "Port State"]
10759 #[inline(always)]
10760 pub fn pidr(
10761 self,
10762 ) -> crate::common::RegisterField<
10763 1,
10764 0x1,
10765 1,
10766 0,
10767 p2pfs::Pidr,
10768 p2pfs::Pidr,
10769 P2Pfs_SPEC,
10770 crate::common::R,
10771 > {
10772 crate::common::RegisterField::<
10773 1,
10774 0x1,
10775 1,
10776 0,
10777 p2pfs::Pidr,
10778 p2pfs::Pidr,
10779 P2Pfs_SPEC,
10780 crate::common::R,
10781 >::from_register(self, 0)
10782 }
10783
10784 #[doc = "Port Direction"]
10785 #[inline(always)]
10786 pub fn pdr(
10787 self,
10788 ) -> crate::common::RegisterField<
10789 2,
10790 0x1,
10791 1,
10792 0,
10793 p2pfs::Pdr,
10794 p2pfs::Pdr,
10795 P2Pfs_SPEC,
10796 crate::common::RW,
10797 > {
10798 crate::common::RegisterField::<
10799 2,
10800 0x1,
10801 1,
10802 0,
10803 p2pfs::Pdr,
10804 p2pfs::Pdr,
10805 P2Pfs_SPEC,
10806 crate::common::RW,
10807 >::from_register(self, 0)
10808 }
10809
10810 #[doc = "Pull-up Control"]
10811 #[inline(always)]
10812 pub fn pcr(
10813 self,
10814 ) -> crate::common::RegisterField<
10815 4,
10816 0x1,
10817 1,
10818 0,
10819 p2pfs::Pcr,
10820 p2pfs::Pcr,
10821 P2Pfs_SPEC,
10822 crate::common::RW,
10823 > {
10824 crate::common::RegisterField::<
10825 4,
10826 0x1,
10827 1,
10828 0,
10829 p2pfs::Pcr,
10830 p2pfs::Pcr,
10831 P2Pfs_SPEC,
10832 crate::common::RW,
10833 >::from_register(self, 0)
10834 }
10835
10836 #[doc = "N-Channel Open-Drain Control"]
10837 #[inline(always)]
10838 pub fn ncodr(
10839 self,
10840 ) -> crate::common::RegisterField<
10841 6,
10842 0x1,
10843 1,
10844 0,
10845 p2pfs::Ncodr,
10846 p2pfs::Ncodr,
10847 P2Pfs_SPEC,
10848 crate::common::RW,
10849 > {
10850 crate::common::RegisterField::<
10851 6,
10852 0x1,
10853 1,
10854 0,
10855 p2pfs::Ncodr,
10856 p2pfs::Ncodr,
10857 P2Pfs_SPEC,
10858 crate::common::RW,
10859 >::from_register(self, 0)
10860 }
10861
10862 #[doc = "Event on Falling/Event on Rising"]
10863 #[inline(always)]
10864 pub fn eofr(
10865 self,
10866 ) -> crate::common::RegisterField<
10867 12,
10868 0x3,
10869 1,
10870 0,
10871 p2pfs::Eofr,
10872 p2pfs::Eofr,
10873 P2Pfs_SPEC,
10874 crate::common::RW,
10875 > {
10876 crate::common::RegisterField::<
10877 12,
10878 0x3,
10879 1,
10880 0,
10881 p2pfs::Eofr,
10882 p2pfs::Eofr,
10883 P2Pfs_SPEC,
10884 crate::common::RW,
10885 >::from_register(self, 0)
10886 }
10887
10888 #[doc = "IRQ Input Enable"]
10889 #[inline(always)]
10890 pub fn isel(
10891 self,
10892 ) -> crate::common::RegisterField<
10893 14,
10894 0x1,
10895 1,
10896 0,
10897 p2pfs::Isel,
10898 p2pfs::Isel,
10899 P2Pfs_SPEC,
10900 crate::common::RW,
10901 > {
10902 crate::common::RegisterField::<
10903 14,
10904 0x1,
10905 1,
10906 0,
10907 p2pfs::Isel,
10908 p2pfs::Isel,
10909 P2Pfs_SPEC,
10910 crate::common::RW,
10911 >::from_register(self, 0)
10912 }
10913
10914 #[doc = "Analog Input Enable"]
10915 #[inline(always)]
10916 pub fn asel(
10917 self,
10918 ) -> crate::common::RegisterField<
10919 15,
10920 0x1,
10921 1,
10922 0,
10923 p2pfs::Asel,
10924 p2pfs::Asel,
10925 P2Pfs_SPEC,
10926 crate::common::RW,
10927 > {
10928 crate::common::RegisterField::<
10929 15,
10930 0x1,
10931 1,
10932 0,
10933 p2pfs::Asel,
10934 p2pfs::Asel,
10935 P2Pfs_SPEC,
10936 crate::common::RW,
10937 >::from_register(self, 0)
10938 }
10939
10940 #[doc = "Port Mode Control"]
10941 #[inline(always)]
10942 pub fn pmr(
10943 self,
10944 ) -> crate::common::RegisterField<
10945 16,
10946 0x1,
10947 1,
10948 0,
10949 p2pfs::Pmr,
10950 p2pfs::Pmr,
10951 P2Pfs_SPEC,
10952 crate::common::RW,
10953 > {
10954 crate::common::RegisterField::<
10955 16,
10956 0x1,
10957 1,
10958 0,
10959 p2pfs::Pmr,
10960 p2pfs::Pmr,
10961 P2Pfs_SPEC,
10962 crate::common::RW,
10963 >::from_register(self, 0)
10964 }
10965
10966 #[doc = "Peripheral Select"]
10967 #[inline(always)]
10968 pub fn psel(
10969 self,
10970 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P2Pfs_SPEC, crate::common::RW> {
10971 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P2Pfs_SPEC,crate::common::RW>::from_register(self,0)
10972 }
10973}
10974impl ::core::default::Default for P2Pfs {
10975 #[inline(always)]
10976 fn default() -> P2Pfs {
10977 <crate::RegValueT<P2Pfs_SPEC> as RegisterValue<_>>::new(0)
10978 }
10979}
10980pub mod p2pfs {
10981
10982 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10983 pub struct Podr_SPEC;
10984 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10985 impl Podr {
10986 #[doc = "Output low"]
10987 pub const _0: Self = Self::new(0);
10988
10989 #[doc = "Output high"]
10990 pub const _1: Self = Self::new(1);
10991 }
10992 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10993 pub struct Pidr_SPEC;
10994 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10995 impl Pidr {
10996 #[doc = "Low level"]
10997 pub const _0: Self = Self::new(0);
10998
10999 #[doc = "High level"]
11000 pub const _1: Self = Self::new(1);
11001 }
11002 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11003 pub struct Pdr_SPEC;
11004 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11005 impl Pdr {
11006 #[doc = "Input (functions as an input pin)"]
11007 pub const _0: Self = Self::new(0);
11008
11009 #[doc = "Output (functions as an output pin)"]
11010 pub const _1: Self = Self::new(1);
11011 }
11012 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11013 pub struct Pcr_SPEC;
11014 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11015 impl Pcr {
11016 #[doc = "Disable input pull-up"]
11017 pub const _0: Self = Self::new(0);
11018
11019 #[doc = "Enable input pull-up"]
11020 pub const _1: Self = Self::new(1);
11021 }
11022 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11023 pub struct Ncodr_SPEC;
11024 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11025 impl Ncodr {
11026 #[doc = "Output CMOS"]
11027 pub const _0: Self = Self::new(0);
11028
11029 #[doc = "Output NMOS open-drain"]
11030 pub const _1: Self = Self::new(1);
11031 }
11032 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11033 pub struct Eofr_SPEC;
11034 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
11035 impl Eofr {
11036 #[doc = "Don\'t care"]
11037 pub const _00: Self = Self::new(0);
11038
11039 #[doc = "Detect rising edge"]
11040 pub const _01: Self = Self::new(1);
11041
11042 #[doc = "Detect falling edge"]
11043 pub const _10: Self = Self::new(2);
11044
11045 #[doc = "Detect both edges"]
11046 pub const _11: Self = Self::new(3);
11047 }
11048 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11049 pub struct Isel_SPEC;
11050 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11051 impl Isel {
11052 #[doc = "Do not use as IRQn input pin"]
11053 pub const _0: Self = Self::new(0);
11054
11055 #[doc = "Use as IRQn input pin"]
11056 pub const _1: Self = Self::new(1);
11057 }
11058 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11059 pub struct Asel_SPEC;
11060 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11061 impl Asel {
11062 #[doc = "Do not use as analog pin"]
11063 pub const _0: Self = Self::new(0);
11064
11065 #[doc = "Use as analog pin"]
11066 pub const _1: Self = Self::new(1);
11067 }
11068 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11069 pub struct Pmr_SPEC;
11070 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
11071 impl Pmr {
11072 #[doc = "Use as general I/O pin"]
11073 pub const _0: Self = Self::new(0);
11074
11075 #[doc = "Use as I/O port for peripheral functions"]
11076 pub const _1: Self = Self::new(1);
11077 }
11078}
11079#[doc(hidden)]
11080#[derive(Copy, Clone, Eq, PartialEq)]
11081pub struct P2PfsHa_SPEC;
11082impl crate::sealed::RegSpec for P2PfsHa_SPEC {
11083 type DataType = u16;
11084}
11085
11086#[doc = "Port 2%s Pin Function Select Register"]
11087pub type P2PfsHa = crate::RegValueT<P2PfsHa_SPEC>;
11088
11089impl P2PfsHa {
11090 #[doc = "Port Output Data"]
11091 #[inline(always)]
11092 pub fn podr(
11093 self,
11094 ) -> crate::common::RegisterField<
11095 0,
11096 0x1,
11097 1,
11098 0,
11099 p2pfs_ha::Podr,
11100 p2pfs_ha::Podr,
11101 P2PfsHa_SPEC,
11102 crate::common::RW,
11103 > {
11104 crate::common::RegisterField::<
11105 0,
11106 0x1,
11107 1,
11108 0,
11109 p2pfs_ha::Podr,
11110 p2pfs_ha::Podr,
11111 P2PfsHa_SPEC,
11112 crate::common::RW,
11113 >::from_register(self, 0)
11114 }
11115
11116 #[doc = "Port State"]
11117 #[inline(always)]
11118 pub fn pidr(
11119 self,
11120 ) -> crate::common::RegisterField<
11121 1,
11122 0x1,
11123 1,
11124 0,
11125 p2pfs_ha::Pidr,
11126 p2pfs_ha::Pidr,
11127 P2PfsHa_SPEC,
11128 crate::common::R,
11129 > {
11130 crate::common::RegisterField::<
11131 1,
11132 0x1,
11133 1,
11134 0,
11135 p2pfs_ha::Pidr,
11136 p2pfs_ha::Pidr,
11137 P2PfsHa_SPEC,
11138 crate::common::R,
11139 >::from_register(self, 0)
11140 }
11141
11142 #[doc = "Port Direction"]
11143 #[inline(always)]
11144 pub fn pdr(
11145 self,
11146 ) -> crate::common::RegisterField<
11147 2,
11148 0x1,
11149 1,
11150 0,
11151 p2pfs_ha::Pdr,
11152 p2pfs_ha::Pdr,
11153 P2PfsHa_SPEC,
11154 crate::common::RW,
11155 > {
11156 crate::common::RegisterField::<
11157 2,
11158 0x1,
11159 1,
11160 0,
11161 p2pfs_ha::Pdr,
11162 p2pfs_ha::Pdr,
11163 P2PfsHa_SPEC,
11164 crate::common::RW,
11165 >::from_register(self, 0)
11166 }
11167
11168 #[doc = "Pull-up Control"]
11169 #[inline(always)]
11170 pub fn pcr(
11171 self,
11172 ) -> crate::common::RegisterField<
11173 4,
11174 0x1,
11175 1,
11176 0,
11177 p2pfs_ha::Pcr,
11178 p2pfs_ha::Pcr,
11179 P2PfsHa_SPEC,
11180 crate::common::RW,
11181 > {
11182 crate::common::RegisterField::<
11183 4,
11184 0x1,
11185 1,
11186 0,
11187 p2pfs_ha::Pcr,
11188 p2pfs_ha::Pcr,
11189 P2PfsHa_SPEC,
11190 crate::common::RW,
11191 >::from_register(self, 0)
11192 }
11193
11194 #[doc = "N-Channel Open-Drain Control"]
11195 #[inline(always)]
11196 pub fn ncodr(
11197 self,
11198 ) -> crate::common::RegisterField<
11199 6,
11200 0x1,
11201 1,
11202 0,
11203 p2pfs_ha::Ncodr,
11204 p2pfs_ha::Ncodr,
11205 P2PfsHa_SPEC,
11206 crate::common::RW,
11207 > {
11208 crate::common::RegisterField::<
11209 6,
11210 0x1,
11211 1,
11212 0,
11213 p2pfs_ha::Ncodr,
11214 p2pfs_ha::Ncodr,
11215 P2PfsHa_SPEC,
11216 crate::common::RW,
11217 >::from_register(self, 0)
11218 }
11219
11220 #[doc = "Event on Falling/Event on Rising"]
11221 #[inline(always)]
11222 pub fn eofr(
11223 self,
11224 ) -> crate::common::RegisterField<
11225 12,
11226 0x3,
11227 1,
11228 0,
11229 p2pfs_ha::Eofr,
11230 p2pfs_ha::Eofr,
11231 P2PfsHa_SPEC,
11232 crate::common::RW,
11233 > {
11234 crate::common::RegisterField::<
11235 12,
11236 0x3,
11237 1,
11238 0,
11239 p2pfs_ha::Eofr,
11240 p2pfs_ha::Eofr,
11241 P2PfsHa_SPEC,
11242 crate::common::RW,
11243 >::from_register(self, 0)
11244 }
11245
11246 #[doc = "IRQ Input Enable"]
11247 #[inline(always)]
11248 pub fn isel(
11249 self,
11250 ) -> crate::common::RegisterField<
11251 14,
11252 0x1,
11253 1,
11254 0,
11255 p2pfs_ha::Isel,
11256 p2pfs_ha::Isel,
11257 P2PfsHa_SPEC,
11258 crate::common::RW,
11259 > {
11260 crate::common::RegisterField::<
11261 14,
11262 0x1,
11263 1,
11264 0,
11265 p2pfs_ha::Isel,
11266 p2pfs_ha::Isel,
11267 P2PfsHa_SPEC,
11268 crate::common::RW,
11269 >::from_register(self, 0)
11270 }
11271
11272 #[doc = "Analog Input Enable"]
11273 #[inline(always)]
11274 pub fn asel(
11275 self,
11276 ) -> crate::common::RegisterField<
11277 15,
11278 0x1,
11279 1,
11280 0,
11281 p2pfs_ha::Asel,
11282 p2pfs_ha::Asel,
11283 P2PfsHa_SPEC,
11284 crate::common::RW,
11285 > {
11286 crate::common::RegisterField::<
11287 15,
11288 0x1,
11289 1,
11290 0,
11291 p2pfs_ha::Asel,
11292 p2pfs_ha::Asel,
11293 P2PfsHa_SPEC,
11294 crate::common::RW,
11295 >::from_register(self, 0)
11296 }
11297}
11298impl ::core::default::Default for P2PfsHa {
11299 #[inline(always)]
11300 fn default() -> P2PfsHa {
11301 <crate::RegValueT<P2PfsHa_SPEC> as RegisterValue<_>>::new(0)
11302 }
11303}
11304pub mod p2pfs_ha {
11305
11306 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11307 pub struct Podr_SPEC;
11308 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11309 impl Podr {
11310 #[doc = "Output low"]
11311 pub const _0: Self = Self::new(0);
11312
11313 #[doc = "Output high"]
11314 pub const _1: Self = Self::new(1);
11315 }
11316 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11317 pub struct Pidr_SPEC;
11318 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11319 impl Pidr {
11320 #[doc = "Low level"]
11321 pub const _0: Self = Self::new(0);
11322
11323 #[doc = "High level"]
11324 pub const _1: Self = Self::new(1);
11325 }
11326 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11327 pub struct Pdr_SPEC;
11328 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11329 impl Pdr {
11330 #[doc = "Input (functions as an input pin)"]
11331 pub const _0: Self = Self::new(0);
11332
11333 #[doc = "Output (functions as an output pin)"]
11334 pub const _1: Self = Self::new(1);
11335 }
11336 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11337 pub struct Pcr_SPEC;
11338 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11339 impl Pcr {
11340 #[doc = "Disable input pull-up"]
11341 pub const _0: Self = Self::new(0);
11342
11343 #[doc = "Enable input pull-up"]
11344 pub const _1: Self = Self::new(1);
11345 }
11346 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11347 pub struct Ncodr_SPEC;
11348 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11349 impl Ncodr {
11350 #[doc = "Output CMOS"]
11351 pub const _0: Self = Self::new(0);
11352
11353 #[doc = "Output NMOS open-drain"]
11354 pub const _1: Self = Self::new(1);
11355 }
11356 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11357 pub struct Eofr_SPEC;
11358 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
11359 impl Eofr {
11360 #[doc = "Don\'t care"]
11361 pub const _00: Self = Self::new(0);
11362
11363 #[doc = "Detect rising edge"]
11364 pub const _01: Self = Self::new(1);
11365
11366 #[doc = "Detect falling edge"]
11367 pub const _10: Self = Self::new(2);
11368
11369 #[doc = "Detect both edges"]
11370 pub const _11: Self = Self::new(3);
11371 }
11372 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11373 pub struct Isel_SPEC;
11374 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11375 impl Isel {
11376 #[doc = "Do not use as IRQn input pin"]
11377 pub const _0: Self = Self::new(0);
11378
11379 #[doc = "Use as IRQn input pin"]
11380 pub const _1: Self = Self::new(1);
11381 }
11382 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11383 pub struct Asel_SPEC;
11384 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11385 impl Asel {
11386 #[doc = "Do not use as analog pin"]
11387 pub const _0: Self = Self::new(0);
11388
11389 #[doc = "Use as analog pin"]
11390 pub const _1: Self = Self::new(1);
11391 }
11392}
11393#[doc(hidden)]
11394#[derive(Copy, Clone, Eq, PartialEq)]
11395pub struct P2PfsBy_SPEC;
11396impl crate::sealed::RegSpec for P2PfsBy_SPEC {
11397 type DataType = u8;
11398}
11399
11400#[doc = "Port 2%s Pin Function Select Register"]
11401pub type P2PfsBy = crate::RegValueT<P2PfsBy_SPEC>;
11402
11403impl P2PfsBy {
11404 #[doc = "Port Output Data"]
11405 #[inline(always)]
11406 pub fn podr(
11407 self,
11408 ) -> crate::common::RegisterField<
11409 0,
11410 0x1,
11411 1,
11412 0,
11413 p2pfs_by::Podr,
11414 p2pfs_by::Podr,
11415 P2PfsBy_SPEC,
11416 crate::common::RW,
11417 > {
11418 crate::common::RegisterField::<
11419 0,
11420 0x1,
11421 1,
11422 0,
11423 p2pfs_by::Podr,
11424 p2pfs_by::Podr,
11425 P2PfsBy_SPEC,
11426 crate::common::RW,
11427 >::from_register(self, 0)
11428 }
11429
11430 #[doc = "Port State"]
11431 #[inline(always)]
11432 pub fn pidr(
11433 self,
11434 ) -> crate::common::RegisterField<
11435 1,
11436 0x1,
11437 1,
11438 0,
11439 p2pfs_by::Pidr,
11440 p2pfs_by::Pidr,
11441 P2PfsBy_SPEC,
11442 crate::common::R,
11443 > {
11444 crate::common::RegisterField::<
11445 1,
11446 0x1,
11447 1,
11448 0,
11449 p2pfs_by::Pidr,
11450 p2pfs_by::Pidr,
11451 P2PfsBy_SPEC,
11452 crate::common::R,
11453 >::from_register(self, 0)
11454 }
11455
11456 #[doc = "Port Direction"]
11457 #[inline(always)]
11458 pub fn pdr(
11459 self,
11460 ) -> crate::common::RegisterField<
11461 2,
11462 0x1,
11463 1,
11464 0,
11465 p2pfs_by::Pdr,
11466 p2pfs_by::Pdr,
11467 P2PfsBy_SPEC,
11468 crate::common::RW,
11469 > {
11470 crate::common::RegisterField::<
11471 2,
11472 0x1,
11473 1,
11474 0,
11475 p2pfs_by::Pdr,
11476 p2pfs_by::Pdr,
11477 P2PfsBy_SPEC,
11478 crate::common::RW,
11479 >::from_register(self, 0)
11480 }
11481
11482 #[doc = "Pull-up Control"]
11483 #[inline(always)]
11484 pub fn pcr(
11485 self,
11486 ) -> crate::common::RegisterField<
11487 4,
11488 0x1,
11489 1,
11490 0,
11491 p2pfs_by::Pcr,
11492 p2pfs_by::Pcr,
11493 P2PfsBy_SPEC,
11494 crate::common::RW,
11495 > {
11496 crate::common::RegisterField::<
11497 4,
11498 0x1,
11499 1,
11500 0,
11501 p2pfs_by::Pcr,
11502 p2pfs_by::Pcr,
11503 P2PfsBy_SPEC,
11504 crate::common::RW,
11505 >::from_register(self, 0)
11506 }
11507
11508 #[doc = "N-Channel Open-Drain Control"]
11509 #[inline(always)]
11510 pub fn ncodr(
11511 self,
11512 ) -> crate::common::RegisterField<
11513 6,
11514 0x1,
11515 1,
11516 0,
11517 p2pfs_by::Ncodr,
11518 p2pfs_by::Ncodr,
11519 P2PfsBy_SPEC,
11520 crate::common::RW,
11521 > {
11522 crate::common::RegisterField::<
11523 6,
11524 0x1,
11525 1,
11526 0,
11527 p2pfs_by::Ncodr,
11528 p2pfs_by::Ncodr,
11529 P2PfsBy_SPEC,
11530 crate::common::RW,
11531 >::from_register(self, 0)
11532 }
11533}
11534impl ::core::default::Default for P2PfsBy {
11535 #[inline(always)]
11536 fn default() -> P2PfsBy {
11537 <crate::RegValueT<P2PfsBy_SPEC> as RegisterValue<_>>::new(0)
11538 }
11539}
11540pub mod p2pfs_by {
11541
11542 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11543 pub struct Podr_SPEC;
11544 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11545 impl Podr {
11546 #[doc = "Output low"]
11547 pub const _0: Self = Self::new(0);
11548
11549 #[doc = "Output high"]
11550 pub const _1: Self = Self::new(1);
11551 }
11552 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11553 pub struct Pidr_SPEC;
11554 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11555 impl Pidr {
11556 #[doc = "Low level"]
11557 pub const _0: Self = Self::new(0);
11558
11559 #[doc = "High level"]
11560 pub const _1: Self = Self::new(1);
11561 }
11562 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11563 pub struct Pdr_SPEC;
11564 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11565 impl Pdr {
11566 #[doc = "Input (functions as an input pin)"]
11567 pub const _0: Self = Self::new(0);
11568
11569 #[doc = "Output (functions as an output pin)"]
11570 pub const _1: Self = Self::new(1);
11571 }
11572 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11573 pub struct Pcr_SPEC;
11574 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11575 impl Pcr {
11576 #[doc = "Disable input pull-up"]
11577 pub const _0: Self = Self::new(0);
11578
11579 #[doc = "Enable input pull-up"]
11580 pub const _1: Self = Self::new(1);
11581 }
11582 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11583 pub struct Ncodr_SPEC;
11584 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11585 impl Ncodr {
11586 #[doc = "Output CMOS"]
11587 pub const _0: Self = Self::new(0);
11588
11589 #[doc = "Output NMOS open-drain"]
11590 pub const _1: Self = Self::new(1);
11591 }
11592}
11593#[doc(hidden)]
11594#[derive(Copy, Clone, Eq, PartialEq)]
11595pub struct P300Pfs_SPEC;
11596impl crate::sealed::RegSpec for P300Pfs_SPEC {
11597 type DataType = u32;
11598}
11599
11600#[doc = "Port 300 Pin Function Select Register"]
11601pub type P300Pfs = crate::RegValueT<P300Pfs_SPEC>;
11602
11603impl P300Pfs {
11604 #[doc = "Port Output Data"]
11605 #[inline(always)]
11606 pub fn podr(
11607 self,
11608 ) -> crate::common::RegisterField<
11609 0,
11610 0x1,
11611 1,
11612 0,
11613 p300pfs::Podr,
11614 p300pfs::Podr,
11615 P300Pfs_SPEC,
11616 crate::common::RW,
11617 > {
11618 crate::common::RegisterField::<
11619 0,
11620 0x1,
11621 1,
11622 0,
11623 p300pfs::Podr,
11624 p300pfs::Podr,
11625 P300Pfs_SPEC,
11626 crate::common::RW,
11627 >::from_register(self, 0)
11628 }
11629
11630 #[doc = "Port State"]
11631 #[inline(always)]
11632 pub fn pidr(
11633 self,
11634 ) -> crate::common::RegisterField<
11635 1,
11636 0x1,
11637 1,
11638 0,
11639 p300pfs::Pidr,
11640 p300pfs::Pidr,
11641 P300Pfs_SPEC,
11642 crate::common::R,
11643 > {
11644 crate::common::RegisterField::<
11645 1,
11646 0x1,
11647 1,
11648 0,
11649 p300pfs::Pidr,
11650 p300pfs::Pidr,
11651 P300Pfs_SPEC,
11652 crate::common::R,
11653 >::from_register(self, 0)
11654 }
11655
11656 #[doc = "Port Direction"]
11657 #[inline(always)]
11658 pub fn pdr(
11659 self,
11660 ) -> crate::common::RegisterField<
11661 2,
11662 0x1,
11663 1,
11664 0,
11665 p300pfs::Pdr,
11666 p300pfs::Pdr,
11667 P300Pfs_SPEC,
11668 crate::common::RW,
11669 > {
11670 crate::common::RegisterField::<
11671 2,
11672 0x1,
11673 1,
11674 0,
11675 p300pfs::Pdr,
11676 p300pfs::Pdr,
11677 P300Pfs_SPEC,
11678 crate::common::RW,
11679 >::from_register(self, 0)
11680 }
11681
11682 #[doc = "Pull-up Control"]
11683 #[inline(always)]
11684 pub fn pcr(
11685 self,
11686 ) -> crate::common::RegisterField<
11687 4,
11688 0x1,
11689 1,
11690 0,
11691 p300pfs::Pcr,
11692 p300pfs::Pcr,
11693 P300Pfs_SPEC,
11694 crate::common::RW,
11695 > {
11696 crate::common::RegisterField::<
11697 4,
11698 0x1,
11699 1,
11700 0,
11701 p300pfs::Pcr,
11702 p300pfs::Pcr,
11703 P300Pfs_SPEC,
11704 crate::common::RW,
11705 >::from_register(self, 0)
11706 }
11707
11708 #[doc = "N-Channel Open-Drain Control"]
11709 #[inline(always)]
11710 pub fn ncodr(
11711 self,
11712 ) -> crate::common::RegisterField<
11713 6,
11714 0x1,
11715 1,
11716 0,
11717 p300pfs::Ncodr,
11718 p300pfs::Ncodr,
11719 P300Pfs_SPEC,
11720 crate::common::RW,
11721 > {
11722 crate::common::RegisterField::<
11723 6,
11724 0x1,
11725 1,
11726 0,
11727 p300pfs::Ncodr,
11728 p300pfs::Ncodr,
11729 P300Pfs_SPEC,
11730 crate::common::RW,
11731 >::from_register(self, 0)
11732 }
11733
11734 #[doc = "IRQ Input Enable"]
11735 #[inline(always)]
11736 pub fn isel(
11737 self,
11738 ) -> crate::common::RegisterField<
11739 14,
11740 0x1,
11741 1,
11742 0,
11743 p300pfs::Isel,
11744 p300pfs::Isel,
11745 P300Pfs_SPEC,
11746 crate::common::RW,
11747 > {
11748 crate::common::RegisterField::<
11749 14,
11750 0x1,
11751 1,
11752 0,
11753 p300pfs::Isel,
11754 p300pfs::Isel,
11755 P300Pfs_SPEC,
11756 crate::common::RW,
11757 >::from_register(self, 0)
11758 }
11759
11760 #[doc = "Analog Input Enable"]
11761 #[inline(always)]
11762 pub fn asel(
11763 self,
11764 ) -> crate::common::RegisterField<
11765 15,
11766 0x1,
11767 1,
11768 0,
11769 p300pfs::Asel,
11770 p300pfs::Asel,
11771 P300Pfs_SPEC,
11772 crate::common::RW,
11773 > {
11774 crate::common::RegisterField::<
11775 15,
11776 0x1,
11777 1,
11778 0,
11779 p300pfs::Asel,
11780 p300pfs::Asel,
11781 P300Pfs_SPEC,
11782 crate::common::RW,
11783 >::from_register(self, 0)
11784 }
11785
11786 #[doc = "Port Mode Control"]
11787 #[inline(always)]
11788 pub fn pmr(
11789 self,
11790 ) -> crate::common::RegisterField<
11791 16,
11792 0x1,
11793 1,
11794 0,
11795 p300pfs::Pmr,
11796 p300pfs::Pmr,
11797 P300Pfs_SPEC,
11798 crate::common::RW,
11799 > {
11800 crate::common::RegisterField::<
11801 16,
11802 0x1,
11803 1,
11804 0,
11805 p300pfs::Pmr,
11806 p300pfs::Pmr,
11807 P300Pfs_SPEC,
11808 crate::common::RW,
11809 >::from_register(self, 0)
11810 }
11811
11812 #[doc = "Peripheral Select"]
11813 #[inline(always)]
11814 pub fn psel(
11815 self,
11816 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P300Pfs_SPEC, crate::common::RW> {
11817 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P300Pfs_SPEC,crate::common::RW>::from_register(self,0)
11818 }
11819}
11820impl ::core::default::Default for P300Pfs {
11821 #[inline(always)]
11822 fn default() -> P300Pfs {
11823 <crate::RegValueT<P300Pfs_SPEC> as RegisterValue<_>>::new(65536)
11824 }
11825}
11826pub mod p300pfs {
11827
11828 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11829 pub struct Podr_SPEC;
11830 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11831 impl Podr {
11832 #[doc = "Output low"]
11833 pub const _0: Self = Self::new(0);
11834
11835 #[doc = "Output high"]
11836 pub const _1: Self = Self::new(1);
11837 }
11838 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11839 pub struct Pidr_SPEC;
11840 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11841 impl Pidr {
11842 #[doc = "Low level"]
11843 pub const _0: Self = Self::new(0);
11844
11845 #[doc = "High level"]
11846 pub const _1: Self = Self::new(1);
11847 }
11848 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11849 pub struct Pdr_SPEC;
11850 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11851 impl Pdr {
11852 #[doc = "Input (functions as an input pin)"]
11853 pub const _0: Self = Self::new(0);
11854
11855 #[doc = "Output (functions as an output pin)"]
11856 pub const _1: Self = Self::new(1);
11857 }
11858 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11859 pub struct Pcr_SPEC;
11860 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11861 impl Pcr {
11862 #[doc = "Disable input pull-up"]
11863 pub const _0: Self = Self::new(0);
11864
11865 #[doc = "Enable input pull-up"]
11866 pub const _1: Self = Self::new(1);
11867 }
11868 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11869 pub struct Ncodr_SPEC;
11870 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11871 impl Ncodr {
11872 #[doc = "Output CMOS"]
11873 pub const _0: Self = Self::new(0);
11874
11875 #[doc = "Output NMOS open-drain"]
11876 pub const _1: Self = Self::new(1);
11877 }
11878 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11879 pub struct Isel_SPEC;
11880 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11881 impl Isel {
11882 #[doc = "Do not use as IRQn input pin"]
11883 pub const _0: Self = Self::new(0);
11884
11885 #[doc = "Use as IRQn input pin"]
11886 pub const _1: Self = Self::new(1);
11887 }
11888 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11889 pub struct Asel_SPEC;
11890 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11891 impl Asel {
11892 #[doc = "Do not use as analog pin"]
11893 pub const _0: Self = Self::new(0);
11894
11895 #[doc = "Use as analog pin"]
11896 pub const _1: Self = Self::new(1);
11897 }
11898 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11899 pub struct Pmr_SPEC;
11900 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
11901 impl Pmr {
11902 #[doc = "Use as general I/O pin"]
11903 pub const _0: Self = Self::new(0);
11904
11905 #[doc = "Use as I/O port for peripheral functions"]
11906 pub const _1: Self = Self::new(1);
11907 }
11908}
11909#[doc(hidden)]
11910#[derive(Copy, Clone, Eq, PartialEq)]
11911pub struct P300PfsHa_SPEC;
11912impl crate::sealed::RegSpec for P300PfsHa_SPEC {
11913 type DataType = u16;
11914}
11915
11916#[doc = "Port 300 Pin Function Select Register"]
11917pub type P300PfsHa = crate::RegValueT<P300PfsHa_SPEC>;
11918
11919impl P300PfsHa {
11920 #[doc = "Port Output Data"]
11921 #[inline(always)]
11922 pub fn podr(
11923 self,
11924 ) -> crate::common::RegisterField<
11925 0,
11926 0x1,
11927 1,
11928 0,
11929 p300pfs_ha::Podr,
11930 p300pfs_ha::Podr,
11931 P300PfsHa_SPEC,
11932 crate::common::RW,
11933 > {
11934 crate::common::RegisterField::<
11935 0,
11936 0x1,
11937 1,
11938 0,
11939 p300pfs_ha::Podr,
11940 p300pfs_ha::Podr,
11941 P300PfsHa_SPEC,
11942 crate::common::RW,
11943 >::from_register(self, 0)
11944 }
11945
11946 #[doc = "Port State"]
11947 #[inline(always)]
11948 pub fn pidr(
11949 self,
11950 ) -> crate::common::RegisterField<
11951 1,
11952 0x1,
11953 1,
11954 0,
11955 p300pfs_ha::Pidr,
11956 p300pfs_ha::Pidr,
11957 P300PfsHa_SPEC,
11958 crate::common::R,
11959 > {
11960 crate::common::RegisterField::<
11961 1,
11962 0x1,
11963 1,
11964 0,
11965 p300pfs_ha::Pidr,
11966 p300pfs_ha::Pidr,
11967 P300PfsHa_SPEC,
11968 crate::common::R,
11969 >::from_register(self, 0)
11970 }
11971
11972 #[doc = "Port Direction"]
11973 #[inline(always)]
11974 pub fn pdr(
11975 self,
11976 ) -> crate::common::RegisterField<
11977 2,
11978 0x1,
11979 1,
11980 0,
11981 p300pfs_ha::Pdr,
11982 p300pfs_ha::Pdr,
11983 P300PfsHa_SPEC,
11984 crate::common::RW,
11985 > {
11986 crate::common::RegisterField::<
11987 2,
11988 0x1,
11989 1,
11990 0,
11991 p300pfs_ha::Pdr,
11992 p300pfs_ha::Pdr,
11993 P300PfsHa_SPEC,
11994 crate::common::RW,
11995 >::from_register(self, 0)
11996 }
11997
11998 #[doc = "Pull-up Control"]
11999 #[inline(always)]
12000 pub fn pcr(
12001 self,
12002 ) -> crate::common::RegisterField<
12003 4,
12004 0x1,
12005 1,
12006 0,
12007 p300pfs_ha::Pcr,
12008 p300pfs_ha::Pcr,
12009 P300PfsHa_SPEC,
12010 crate::common::RW,
12011 > {
12012 crate::common::RegisterField::<
12013 4,
12014 0x1,
12015 1,
12016 0,
12017 p300pfs_ha::Pcr,
12018 p300pfs_ha::Pcr,
12019 P300PfsHa_SPEC,
12020 crate::common::RW,
12021 >::from_register(self, 0)
12022 }
12023
12024 #[doc = "N-Channel Open-Drain Control"]
12025 #[inline(always)]
12026 pub fn ncodr(
12027 self,
12028 ) -> crate::common::RegisterField<
12029 6,
12030 0x1,
12031 1,
12032 0,
12033 p300pfs_ha::Ncodr,
12034 p300pfs_ha::Ncodr,
12035 P300PfsHa_SPEC,
12036 crate::common::RW,
12037 > {
12038 crate::common::RegisterField::<
12039 6,
12040 0x1,
12041 1,
12042 0,
12043 p300pfs_ha::Ncodr,
12044 p300pfs_ha::Ncodr,
12045 P300PfsHa_SPEC,
12046 crate::common::RW,
12047 >::from_register(self, 0)
12048 }
12049
12050 #[doc = "IRQ Input Enable"]
12051 #[inline(always)]
12052 pub fn isel(
12053 self,
12054 ) -> crate::common::RegisterField<
12055 14,
12056 0x1,
12057 1,
12058 0,
12059 p300pfs_ha::Isel,
12060 p300pfs_ha::Isel,
12061 P300PfsHa_SPEC,
12062 crate::common::RW,
12063 > {
12064 crate::common::RegisterField::<
12065 14,
12066 0x1,
12067 1,
12068 0,
12069 p300pfs_ha::Isel,
12070 p300pfs_ha::Isel,
12071 P300PfsHa_SPEC,
12072 crate::common::RW,
12073 >::from_register(self, 0)
12074 }
12075
12076 #[doc = "Analog Input Enable"]
12077 #[inline(always)]
12078 pub fn asel(
12079 self,
12080 ) -> crate::common::RegisterField<
12081 15,
12082 0x1,
12083 1,
12084 0,
12085 p300pfs_ha::Asel,
12086 p300pfs_ha::Asel,
12087 P300PfsHa_SPEC,
12088 crate::common::RW,
12089 > {
12090 crate::common::RegisterField::<
12091 15,
12092 0x1,
12093 1,
12094 0,
12095 p300pfs_ha::Asel,
12096 p300pfs_ha::Asel,
12097 P300PfsHa_SPEC,
12098 crate::common::RW,
12099 >::from_register(self, 0)
12100 }
12101}
12102impl ::core::default::Default for P300PfsHa {
12103 #[inline(always)]
12104 fn default() -> P300PfsHa {
12105 <crate::RegValueT<P300PfsHa_SPEC> as RegisterValue<_>>::new(0)
12106 }
12107}
12108pub mod p300pfs_ha {
12109
12110 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12111 pub struct Podr_SPEC;
12112 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12113 impl Podr {
12114 #[doc = "Output low"]
12115 pub const _0: Self = Self::new(0);
12116
12117 #[doc = "Output high"]
12118 pub const _1: Self = Self::new(1);
12119 }
12120 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12121 pub struct Pidr_SPEC;
12122 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12123 impl Pidr {
12124 #[doc = "Low level"]
12125 pub const _0: Self = Self::new(0);
12126
12127 #[doc = "High level"]
12128 pub const _1: Self = Self::new(1);
12129 }
12130 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12131 pub struct Pdr_SPEC;
12132 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12133 impl Pdr {
12134 #[doc = "Input (functions as an input pin)"]
12135 pub const _0: Self = Self::new(0);
12136
12137 #[doc = "Output (functions as an output pin)"]
12138 pub const _1: Self = Self::new(1);
12139 }
12140 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12141 pub struct Pcr_SPEC;
12142 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12143 impl Pcr {
12144 #[doc = "Disable input pull-up"]
12145 pub const _0: Self = Self::new(0);
12146
12147 #[doc = "Enable input pull-up"]
12148 pub const _1: Self = Self::new(1);
12149 }
12150 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12151 pub struct Ncodr_SPEC;
12152 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12153 impl Ncodr {
12154 #[doc = "Output CMOS"]
12155 pub const _0: Self = Self::new(0);
12156
12157 #[doc = "Output NMOS open-drain"]
12158 pub const _1: Self = Self::new(1);
12159 }
12160 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12161 pub struct Isel_SPEC;
12162 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12163 impl Isel {
12164 #[doc = "Do not use as IRQn input pin"]
12165 pub const _0: Self = Self::new(0);
12166
12167 #[doc = "Use as IRQn input pin"]
12168 pub const _1: Self = Self::new(1);
12169 }
12170 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12171 pub struct Asel_SPEC;
12172 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12173 impl Asel {
12174 #[doc = "Do not use as analog pin"]
12175 pub const _0: Self = Self::new(0);
12176
12177 #[doc = "Use as analog pin"]
12178 pub const _1: Self = Self::new(1);
12179 }
12180}
12181#[doc(hidden)]
12182#[derive(Copy, Clone, Eq, PartialEq)]
12183pub struct P300PfsBy_SPEC;
12184impl crate::sealed::RegSpec for P300PfsBy_SPEC {
12185 type DataType = u8;
12186}
12187
12188#[doc = "Port 300 Pin Function Select Register"]
12189pub type P300PfsBy = crate::RegValueT<P300PfsBy_SPEC>;
12190
12191impl P300PfsBy {
12192 #[doc = "Port Output Data"]
12193 #[inline(always)]
12194 pub fn podr(
12195 self,
12196 ) -> crate::common::RegisterField<
12197 0,
12198 0x1,
12199 1,
12200 0,
12201 p300pfs_by::Podr,
12202 p300pfs_by::Podr,
12203 P300PfsBy_SPEC,
12204 crate::common::RW,
12205 > {
12206 crate::common::RegisterField::<
12207 0,
12208 0x1,
12209 1,
12210 0,
12211 p300pfs_by::Podr,
12212 p300pfs_by::Podr,
12213 P300PfsBy_SPEC,
12214 crate::common::RW,
12215 >::from_register(self, 0)
12216 }
12217
12218 #[doc = "Port State"]
12219 #[inline(always)]
12220 pub fn pidr(
12221 self,
12222 ) -> crate::common::RegisterField<
12223 1,
12224 0x1,
12225 1,
12226 0,
12227 p300pfs_by::Pidr,
12228 p300pfs_by::Pidr,
12229 P300PfsBy_SPEC,
12230 crate::common::R,
12231 > {
12232 crate::common::RegisterField::<
12233 1,
12234 0x1,
12235 1,
12236 0,
12237 p300pfs_by::Pidr,
12238 p300pfs_by::Pidr,
12239 P300PfsBy_SPEC,
12240 crate::common::R,
12241 >::from_register(self, 0)
12242 }
12243
12244 #[doc = "Port Direction"]
12245 #[inline(always)]
12246 pub fn pdr(
12247 self,
12248 ) -> crate::common::RegisterField<
12249 2,
12250 0x1,
12251 1,
12252 0,
12253 p300pfs_by::Pdr,
12254 p300pfs_by::Pdr,
12255 P300PfsBy_SPEC,
12256 crate::common::RW,
12257 > {
12258 crate::common::RegisterField::<
12259 2,
12260 0x1,
12261 1,
12262 0,
12263 p300pfs_by::Pdr,
12264 p300pfs_by::Pdr,
12265 P300PfsBy_SPEC,
12266 crate::common::RW,
12267 >::from_register(self, 0)
12268 }
12269
12270 #[doc = "Pull-up Control"]
12271 #[inline(always)]
12272 pub fn pcr(
12273 self,
12274 ) -> crate::common::RegisterField<
12275 4,
12276 0x1,
12277 1,
12278 0,
12279 p300pfs_by::Pcr,
12280 p300pfs_by::Pcr,
12281 P300PfsBy_SPEC,
12282 crate::common::RW,
12283 > {
12284 crate::common::RegisterField::<
12285 4,
12286 0x1,
12287 1,
12288 0,
12289 p300pfs_by::Pcr,
12290 p300pfs_by::Pcr,
12291 P300PfsBy_SPEC,
12292 crate::common::RW,
12293 >::from_register(self, 0)
12294 }
12295
12296 #[doc = "N-Channel Open-Drain Control"]
12297 #[inline(always)]
12298 pub fn ncodr(
12299 self,
12300 ) -> crate::common::RegisterField<
12301 6,
12302 0x1,
12303 1,
12304 0,
12305 p300pfs_by::Ncodr,
12306 p300pfs_by::Ncodr,
12307 P300PfsBy_SPEC,
12308 crate::common::RW,
12309 > {
12310 crate::common::RegisterField::<
12311 6,
12312 0x1,
12313 1,
12314 0,
12315 p300pfs_by::Ncodr,
12316 p300pfs_by::Ncodr,
12317 P300PfsBy_SPEC,
12318 crate::common::RW,
12319 >::from_register(self, 0)
12320 }
12321}
12322impl ::core::default::Default for P300PfsBy {
12323 #[inline(always)]
12324 fn default() -> P300PfsBy {
12325 <crate::RegValueT<P300PfsBy_SPEC> as RegisterValue<_>>::new(0)
12326 }
12327}
12328pub mod p300pfs_by {
12329
12330 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12331 pub struct Podr_SPEC;
12332 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12333 impl Podr {
12334 #[doc = "Output low"]
12335 pub const _0: Self = Self::new(0);
12336
12337 #[doc = "Output high"]
12338 pub const _1: Self = Self::new(1);
12339 }
12340 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12341 pub struct Pidr_SPEC;
12342 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12343 impl Pidr {
12344 #[doc = "Low level"]
12345 pub const _0: Self = Self::new(0);
12346
12347 #[doc = "High level"]
12348 pub const _1: Self = Self::new(1);
12349 }
12350 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12351 pub struct Pdr_SPEC;
12352 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12353 impl Pdr {
12354 #[doc = "Input (functions as an input pin)"]
12355 pub const _0: Self = Self::new(0);
12356
12357 #[doc = "Output (functions as an output pin)"]
12358 pub const _1: Self = Self::new(1);
12359 }
12360 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12361 pub struct Pcr_SPEC;
12362 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12363 impl Pcr {
12364 #[doc = "Disable input pull-up"]
12365 pub const _0: Self = Self::new(0);
12366
12367 #[doc = "Enable input pull-up"]
12368 pub const _1: Self = Self::new(1);
12369 }
12370 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12371 pub struct Ncodr_SPEC;
12372 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12373 impl Ncodr {
12374 #[doc = "Output CMOS"]
12375 pub const _0: Self = Self::new(0);
12376
12377 #[doc = "Output NMOS open-drain"]
12378 pub const _1: Self = Self::new(1);
12379 }
12380}
12381#[doc(hidden)]
12382#[derive(Copy, Clone, Eq, PartialEq)]
12383pub struct P30Pfs_SPEC;
12384impl crate::sealed::RegSpec for P30Pfs_SPEC {
12385 type DataType = u32;
12386}
12387
12388#[doc = "Port 30%s Pin Function Select Register"]
12389pub type P30Pfs = crate::RegValueT<P30Pfs_SPEC>;
12390
12391impl P30Pfs {
12392 #[doc = "Port Output Data"]
12393 #[inline(always)]
12394 pub fn podr(
12395 self,
12396 ) -> crate::common::RegisterField<
12397 0,
12398 0x1,
12399 1,
12400 0,
12401 p30pfs::Podr,
12402 p30pfs::Podr,
12403 P30Pfs_SPEC,
12404 crate::common::RW,
12405 > {
12406 crate::common::RegisterField::<
12407 0,
12408 0x1,
12409 1,
12410 0,
12411 p30pfs::Podr,
12412 p30pfs::Podr,
12413 P30Pfs_SPEC,
12414 crate::common::RW,
12415 >::from_register(self, 0)
12416 }
12417
12418 #[doc = "Port State"]
12419 #[inline(always)]
12420 pub fn pidr(
12421 self,
12422 ) -> crate::common::RegisterField<
12423 1,
12424 0x1,
12425 1,
12426 0,
12427 p30pfs::Pidr,
12428 p30pfs::Pidr,
12429 P30Pfs_SPEC,
12430 crate::common::R,
12431 > {
12432 crate::common::RegisterField::<
12433 1,
12434 0x1,
12435 1,
12436 0,
12437 p30pfs::Pidr,
12438 p30pfs::Pidr,
12439 P30Pfs_SPEC,
12440 crate::common::R,
12441 >::from_register(self, 0)
12442 }
12443
12444 #[doc = "Port Direction"]
12445 #[inline(always)]
12446 pub fn pdr(
12447 self,
12448 ) -> crate::common::RegisterField<
12449 2,
12450 0x1,
12451 1,
12452 0,
12453 p30pfs::Pdr,
12454 p30pfs::Pdr,
12455 P30Pfs_SPEC,
12456 crate::common::RW,
12457 > {
12458 crate::common::RegisterField::<
12459 2,
12460 0x1,
12461 1,
12462 0,
12463 p30pfs::Pdr,
12464 p30pfs::Pdr,
12465 P30Pfs_SPEC,
12466 crate::common::RW,
12467 >::from_register(self, 0)
12468 }
12469
12470 #[doc = "Pull-up Control"]
12471 #[inline(always)]
12472 pub fn pcr(
12473 self,
12474 ) -> crate::common::RegisterField<
12475 4,
12476 0x1,
12477 1,
12478 0,
12479 p30pfs::Pcr,
12480 p30pfs::Pcr,
12481 P30Pfs_SPEC,
12482 crate::common::RW,
12483 > {
12484 crate::common::RegisterField::<
12485 4,
12486 0x1,
12487 1,
12488 0,
12489 p30pfs::Pcr,
12490 p30pfs::Pcr,
12491 P30Pfs_SPEC,
12492 crate::common::RW,
12493 >::from_register(self, 0)
12494 }
12495
12496 #[doc = "N-Channel Open-Drain Control"]
12497 #[inline(always)]
12498 pub fn ncodr(
12499 self,
12500 ) -> crate::common::RegisterField<
12501 6,
12502 0x1,
12503 1,
12504 0,
12505 p30pfs::Ncodr,
12506 p30pfs::Ncodr,
12507 P30Pfs_SPEC,
12508 crate::common::RW,
12509 > {
12510 crate::common::RegisterField::<
12511 6,
12512 0x1,
12513 1,
12514 0,
12515 p30pfs::Ncodr,
12516 p30pfs::Ncodr,
12517 P30Pfs_SPEC,
12518 crate::common::RW,
12519 >::from_register(self, 0)
12520 }
12521
12522 #[doc = "IRQ Input Enable"]
12523 #[inline(always)]
12524 pub fn isel(
12525 self,
12526 ) -> crate::common::RegisterField<
12527 14,
12528 0x1,
12529 1,
12530 0,
12531 p30pfs::Isel,
12532 p30pfs::Isel,
12533 P30Pfs_SPEC,
12534 crate::common::RW,
12535 > {
12536 crate::common::RegisterField::<
12537 14,
12538 0x1,
12539 1,
12540 0,
12541 p30pfs::Isel,
12542 p30pfs::Isel,
12543 P30Pfs_SPEC,
12544 crate::common::RW,
12545 >::from_register(self, 0)
12546 }
12547
12548 #[doc = "Analog Input Enable"]
12549 #[inline(always)]
12550 pub fn asel(
12551 self,
12552 ) -> crate::common::RegisterField<
12553 15,
12554 0x1,
12555 1,
12556 0,
12557 p30pfs::Asel,
12558 p30pfs::Asel,
12559 P30Pfs_SPEC,
12560 crate::common::RW,
12561 > {
12562 crate::common::RegisterField::<
12563 15,
12564 0x1,
12565 1,
12566 0,
12567 p30pfs::Asel,
12568 p30pfs::Asel,
12569 P30Pfs_SPEC,
12570 crate::common::RW,
12571 >::from_register(self, 0)
12572 }
12573
12574 #[doc = "Port Mode Control"]
12575 #[inline(always)]
12576 pub fn pmr(
12577 self,
12578 ) -> crate::common::RegisterField<
12579 16,
12580 0x1,
12581 1,
12582 0,
12583 p30pfs::Pmr,
12584 p30pfs::Pmr,
12585 P30Pfs_SPEC,
12586 crate::common::RW,
12587 > {
12588 crate::common::RegisterField::<
12589 16,
12590 0x1,
12591 1,
12592 0,
12593 p30pfs::Pmr,
12594 p30pfs::Pmr,
12595 P30Pfs_SPEC,
12596 crate::common::RW,
12597 >::from_register(self, 0)
12598 }
12599
12600 #[doc = "Peripheral Select"]
12601 #[inline(always)]
12602 pub fn psel(
12603 self,
12604 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P30Pfs_SPEC, crate::common::RW> {
12605 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P30Pfs_SPEC,crate::common::RW>::from_register(self,0)
12606 }
12607}
12608impl ::core::default::Default for P30Pfs {
12609 #[inline(always)]
12610 fn default() -> P30Pfs {
12611 <crate::RegValueT<P30Pfs_SPEC> as RegisterValue<_>>::new(0)
12612 }
12613}
12614pub mod p30pfs {
12615
12616 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12617 pub struct Podr_SPEC;
12618 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12619 impl Podr {
12620 #[doc = "Output low"]
12621 pub const _0: Self = Self::new(0);
12622
12623 #[doc = "Output high"]
12624 pub const _1: Self = Self::new(1);
12625 }
12626 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12627 pub struct Pidr_SPEC;
12628 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12629 impl Pidr {
12630 #[doc = "Low level"]
12631 pub const _0: Self = Self::new(0);
12632
12633 #[doc = "High level"]
12634 pub const _1: Self = Self::new(1);
12635 }
12636 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12637 pub struct Pdr_SPEC;
12638 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12639 impl Pdr {
12640 #[doc = "Input (functions as an input pin)"]
12641 pub const _0: Self = Self::new(0);
12642
12643 #[doc = "Output (functions as an output pin)"]
12644 pub const _1: Self = Self::new(1);
12645 }
12646 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12647 pub struct Pcr_SPEC;
12648 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12649 impl Pcr {
12650 #[doc = "Disable input pull-up"]
12651 pub const _0: Self = Self::new(0);
12652
12653 #[doc = "Enable input pull-up"]
12654 pub const _1: Self = Self::new(1);
12655 }
12656 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12657 pub struct Ncodr_SPEC;
12658 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12659 impl Ncodr {
12660 #[doc = "Output CMOS"]
12661 pub const _0: Self = Self::new(0);
12662
12663 #[doc = "Output NMOS open-drain"]
12664 pub const _1: Self = Self::new(1);
12665 }
12666 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12667 pub struct Isel_SPEC;
12668 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12669 impl Isel {
12670 #[doc = "Do not use as IRQn input pin"]
12671 pub const _0: Self = Self::new(0);
12672
12673 #[doc = "Use as IRQn input pin"]
12674 pub const _1: Self = Self::new(1);
12675 }
12676 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12677 pub struct Asel_SPEC;
12678 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12679 impl Asel {
12680 #[doc = "Do not use as analog pin"]
12681 pub const _0: Self = Self::new(0);
12682
12683 #[doc = "Use as analog pin"]
12684 pub const _1: Self = Self::new(1);
12685 }
12686 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12687 pub struct Pmr_SPEC;
12688 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
12689 impl Pmr {
12690 #[doc = "Use as general I/O pin"]
12691 pub const _0: Self = Self::new(0);
12692
12693 #[doc = "Use as I/O port for peripheral functions"]
12694 pub const _1: Self = Self::new(1);
12695 }
12696}
12697#[doc(hidden)]
12698#[derive(Copy, Clone, Eq, PartialEq)]
12699pub struct P30PfsHa_SPEC;
12700impl crate::sealed::RegSpec for P30PfsHa_SPEC {
12701 type DataType = u16;
12702}
12703
12704#[doc = "Port 30%s Pin Function Select Register"]
12705pub type P30PfsHa = crate::RegValueT<P30PfsHa_SPEC>;
12706
12707impl P30PfsHa {
12708 #[doc = "Port Output Data"]
12709 #[inline(always)]
12710 pub fn podr(
12711 self,
12712 ) -> crate::common::RegisterField<
12713 0,
12714 0x1,
12715 1,
12716 0,
12717 p30pfs_ha::Podr,
12718 p30pfs_ha::Podr,
12719 P30PfsHa_SPEC,
12720 crate::common::RW,
12721 > {
12722 crate::common::RegisterField::<
12723 0,
12724 0x1,
12725 1,
12726 0,
12727 p30pfs_ha::Podr,
12728 p30pfs_ha::Podr,
12729 P30PfsHa_SPEC,
12730 crate::common::RW,
12731 >::from_register(self, 0)
12732 }
12733
12734 #[doc = "Port State"]
12735 #[inline(always)]
12736 pub fn pidr(
12737 self,
12738 ) -> crate::common::RegisterField<
12739 1,
12740 0x1,
12741 1,
12742 0,
12743 p30pfs_ha::Pidr,
12744 p30pfs_ha::Pidr,
12745 P30PfsHa_SPEC,
12746 crate::common::R,
12747 > {
12748 crate::common::RegisterField::<
12749 1,
12750 0x1,
12751 1,
12752 0,
12753 p30pfs_ha::Pidr,
12754 p30pfs_ha::Pidr,
12755 P30PfsHa_SPEC,
12756 crate::common::R,
12757 >::from_register(self, 0)
12758 }
12759
12760 #[doc = "Port Direction"]
12761 #[inline(always)]
12762 pub fn pdr(
12763 self,
12764 ) -> crate::common::RegisterField<
12765 2,
12766 0x1,
12767 1,
12768 0,
12769 p30pfs_ha::Pdr,
12770 p30pfs_ha::Pdr,
12771 P30PfsHa_SPEC,
12772 crate::common::RW,
12773 > {
12774 crate::common::RegisterField::<
12775 2,
12776 0x1,
12777 1,
12778 0,
12779 p30pfs_ha::Pdr,
12780 p30pfs_ha::Pdr,
12781 P30PfsHa_SPEC,
12782 crate::common::RW,
12783 >::from_register(self, 0)
12784 }
12785
12786 #[doc = "Pull-up Control"]
12787 #[inline(always)]
12788 pub fn pcr(
12789 self,
12790 ) -> crate::common::RegisterField<
12791 4,
12792 0x1,
12793 1,
12794 0,
12795 p30pfs_ha::Pcr,
12796 p30pfs_ha::Pcr,
12797 P30PfsHa_SPEC,
12798 crate::common::RW,
12799 > {
12800 crate::common::RegisterField::<
12801 4,
12802 0x1,
12803 1,
12804 0,
12805 p30pfs_ha::Pcr,
12806 p30pfs_ha::Pcr,
12807 P30PfsHa_SPEC,
12808 crate::common::RW,
12809 >::from_register(self, 0)
12810 }
12811
12812 #[doc = "N-Channel Open-Drain Control"]
12813 #[inline(always)]
12814 pub fn ncodr(
12815 self,
12816 ) -> crate::common::RegisterField<
12817 6,
12818 0x1,
12819 1,
12820 0,
12821 p30pfs_ha::Ncodr,
12822 p30pfs_ha::Ncodr,
12823 P30PfsHa_SPEC,
12824 crate::common::RW,
12825 > {
12826 crate::common::RegisterField::<
12827 6,
12828 0x1,
12829 1,
12830 0,
12831 p30pfs_ha::Ncodr,
12832 p30pfs_ha::Ncodr,
12833 P30PfsHa_SPEC,
12834 crate::common::RW,
12835 >::from_register(self, 0)
12836 }
12837
12838 #[doc = "IRQ Input Enable"]
12839 #[inline(always)]
12840 pub fn isel(
12841 self,
12842 ) -> crate::common::RegisterField<
12843 14,
12844 0x1,
12845 1,
12846 0,
12847 p30pfs_ha::Isel,
12848 p30pfs_ha::Isel,
12849 P30PfsHa_SPEC,
12850 crate::common::RW,
12851 > {
12852 crate::common::RegisterField::<
12853 14,
12854 0x1,
12855 1,
12856 0,
12857 p30pfs_ha::Isel,
12858 p30pfs_ha::Isel,
12859 P30PfsHa_SPEC,
12860 crate::common::RW,
12861 >::from_register(self, 0)
12862 }
12863
12864 #[doc = "Analog Input Enable"]
12865 #[inline(always)]
12866 pub fn asel(
12867 self,
12868 ) -> crate::common::RegisterField<
12869 15,
12870 0x1,
12871 1,
12872 0,
12873 p30pfs_ha::Asel,
12874 p30pfs_ha::Asel,
12875 P30PfsHa_SPEC,
12876 crate::common::RW,
12877 > {
12878 crate::common::RegisterField::<
12879 15,
12880 0x1,
12881 1,
12882 0,
12883 p30pfs_ha::Asel,
12884 p30pfs_ha::Asel,
12885 P30PfsHa_SPEC,
12886 crate::common::RW,
12887 >::from_register(self, 0)
12888 }
12889}
12890impl ::core::default::Default for P30PfsHa {
12891 #[inline(always)]
12892 fn default() -> P30PfsHa {
12893 <crate::RegValueT<P30PfsHa_SPEC> as RegisterValue<_>>::new(0)
12894 }
12895}
12896pub mod p30pfs_ha {
12897
12898 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12899 pub struct Podr_SPEC;
12900 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12901 impl Podr {
12902 #[doc = "Output low"]
12903 pub const _0: Self = Self::new(0);
12904
12905 #[doc = "Output high"]
12906 pub const _1: Self = Self::new(1);
12907 }
12908 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12909 pub struct Pidr_SPEC;
12910 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12911 impl Pidr {
12912 #[doc = "Low level"]
12913 pub const _0: Self = Self::new(0);
12914
12915 #[doc = "High level"]
12916 pub const _1: Self = Self::new(1);
12917 }
12918 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12919 pub struct Pdr_SPEC;
12920 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12921 impl Pdr {
12922 #[doc = "Input (functions as an input pin)"]
12923 pub const _0: Self = Self::new(0);
12924
12925 #[doc = "Output (functions as an output pin)"]
12926 pub const _1: Self = Self::new(1);
12927 }
12928 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12929 pub struct Pcr_SPEC;
12930 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12931 impl Pcr {
12932 #[doc = "Disable input pull-up"]
12933 pub const _0: Self = Self::new(0);
12934
12935 #[doc = "Enable input pull-up"]
12936 pub const _1: Self = Self::new(1);
12937 }
12938 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12939 pub struct Ncodr_SPEC;
12940 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12941 impl Ncodr {
12942 #[doc = "Output CMOS"]
12943 pub const _0: Self = Self::new(0);
12944
12945 #[doc = "Output NMOS open-drain"]
12946 pub const _1: Self = Self::new(1);
12947 }
12948 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12949 pub struct Isel_SPEC;
12950 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12951 impl Isel {
12952 #[doc = "Do not use as IRQn input pin"]
12953 pub const _0: Self = Self::new(0);
12954
12955 #[doc = "Use as IRQn input pin"]
12956 pub const _1: Self = Self::new(1);
12957 }
12958 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12959 pub struct Asel_SPEC;
12960 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12961 impl Asel {
12962 #[doc = "Do not use as analog pin"]
12963 pub const _0: Self = Self::new(0);
12964
12965 #[doc = "Use as analog pin"]
12966 pub const _1: Self = Self::new(1);
12967 }
12968}
12969#[doc(hidden)]
12970#[derive(Copy, Clone, Eq, PartialEq)]
12971pub struct P30PfsBy_SPEC;
12972impl crate::sealed::RegSpec for P30PfsBy_SPEC {
12973 type DataType = u8;
12974}
12975
12976#[doc = "Port 30%s Pin Function Select Register"]
12977pub type P30PfsBy = crate::RegValueT<P30PfsBy_SPEC>;
12978
12979impl P30PfsBy {
12980 #[doc = "Port Output Data"]
12981 #[inline(always)]
12982 pub fn podr(
12983 self,
12984 ) -> crate::common::RegisterField<
12985 0,
12986 0x1,
12987 1,
12988 0,
12989 p30pfs_by::Podr,
12990 p30pfs_by::Podr,
12991 P30PfsBy_SPEC,
12992 crate::common::RW,
12993 > {
12994 crate::common::RegisterField::<
12995 0,
12996 0x1,
12997 1,
12998 0,
12999 p30pfs_by::Podr,
13000 p30pfs_by::Podr,
13001 P30PfsBy_SPEC,
13002 crate::common::RW,
13003 >::from_register(self, 0)
13004 }
13005
13006 #[doc = "Port State"]
13007 #[inline(always)]
13008 pub fn pidr(
13009 self,
13010 ) -> crate::common::RegisterField<
13011 1,
13012 0x1,
13013 1,
13014 0,
13015 p30pfs_by::Pidr,
13016 p30pfs_by::Pidr,
13017 P30PfsBy_SPEC,
13018 crate::common::R,
13019 > {
13020 crate::common::RegisterField::<
13021 1,
13022 0x1,
13023 1,
13024 0,
13025 p30pfs_by::Pidr,
13026 p30pfs_by::Pidr,
13027 P30PfsBy_SPEC,
13028 crate::common::R,
13029 >::from_register(self, 0)
13030 }
13031
13032 #[doc = "Port Direction"]
13033 #[inline(always)]
13034 pub fn pdr(
13035 self,
13036 ) -> crate::common::RegisterField<
13037 2,
13038 0x1,
13039 1,
13040 0,
13041 p30pfs_by::Pdr,
13042 p30pfs_by::Pdr,
13043 P30PfsBy_SPEC,
13044 crate::common::RW,
13045 > {
13046 crate::common::RegisterField::<
13047 2,
13048 0x1,
13049 1,
13050 0,
13051 p30pfs_by::Pdr,
13052 p30pfs_by::Pdr,
13053 P30PfsBy_SPEC,
13054 crate::common::RW,
13055 >::from_register(self, 0)
13056 }
13057
13058 #[doc = "Pull-up Control"]
13059 #[inline(always)]
13060 pub fn pcr(
13061 self,
13062 ) -> crate::common::RegisterField<
13063 4,
13064 0x1,
13065 1,
13066 0,
13067 p30pfs_by::Pcr,
13068 p30pfs_by::Pcr,
13069 P30PfsBy_SPEC,
13070 crate::common::RW,
13071 > {
13072 crate::common::RegisterField::<
13073 4,
13074 0x1,
13075 1,
13076 0,
13077 p30pfs_by::Pcr,
13078 p30pfs_by::Pcr,
13079 P30PfsBy_SPEC,
13080 crate::common::RW,
13081 >::from_register(self, 0)
13082 }
13083
13084 #[doc = "N-Channel Open-Drain Control"]
13085 #[inline(always)]
13086 pub fn ncodr(
13087 self,
13088 ) -> crate::common::RegisterField<
13089 6,
13090 0x1,
13091 1,
13092 0,
13093 p30pfs_by::Ncodr,
13094 p30pfs_by::Ncodr,
13095 P30PfsBy_SPEC,
13096 crate::common::RW,
13097 > {
13098 crate::common::RegisterField::<
13099 6,
13100 0x1,
13101 1,
13102 0,
13103 p30pfs_by::Ncodr,
13104 p30pfs_by::Ncodr,
13105 P30PfsBy_SPEC,
13106 crate::common::RW,
13107 >::from_register(self, 0)
13108 }
13109}
13110impl ::core::default::Default for P30PfsBy {
13111 #[inline(always)]
13112 fn default() -> P30PfsBy {
13113 <crate::RegValueT<P30PfsBy_SPEC> as RegisterValue<_>>::new(0)
13114 }
13115}
13116pub mod p30pfs_by {
13117
13118 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13119 pub struct Podr_SPEC;
13120 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13121 impl Podr {
13122 #[doc = "Output low"]
13123 pub const _0: Self = Self::new(0);
13124
13125 #[doc = "Output high"]
13126 pub const _1: Self = Self::new(1);
13127 }
13128 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13129 pub struct Pidr_SPEC;
13130 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13131 impl Pidr {
13132 #[doc = "Low level"]
13133 pub const _0: Self = Self::new(0);
13134
13135 #[doc = "High level"]
13136 pub const _1: Self = Self::new(1);
13137 }
13138 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13139 pub struct Pdr_SPEC;
13140 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13141 impl Pdr {
13142 #[doc = "Input (functions as an input pin)"]
13143 pub const _0: Self = Self::new(0);
13144
13145 #[doc = "Output (functions as an output pin)"]
13146 pub const _1: Self = Self::new(1);
13147 }
13148 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13149 pub struct Pcr_SPEC;
13150 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13151 impl Pcr {
13152 #[doc = "Disable input pull-up"]
13153 pub const _0: Self = Self::new(0);
13154
13155 #[doc = "Enable input pull-up"]
13156 pub const _1: Self = Self::new(1);
13157 }
13158 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13159 pub struct Ncodr_SPEC;
13160 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13161 impl Ncodr {
13162 #[doc = "Output CMOS"]
13163 pub const _0: Self = Self::new(0);
13164
13165 #[doc = "Output NMOS open-drain"]
13166 pub const _1: Self = Self::new(1);
13167 }
13168}
13169#[doc(hidden)]
13170#[derive(Copy, Clone, Eq, PartialEq)]
13171pub struct P40Pfs_SPEC;
13172impl crate::sealed::RegSpec for P40Pfs_SPEC {
13173 type DataType = u32;
13174}
13175
13176#[doc = "Port 40%s Pin Function Select Register"]
13177pub type P40Pfs = crate::RegValueT<P40Pfs_SPEC>;
13178
13179impl P40Pfs {
13180 #[doc = "Port Output Data"]
13181 #[inline(always)]
13182 pub fn podr(
13183 self,
13184 ) -> crate::common::RegisterField<
13185 0,
13186 0x1,
13187 1,
13188 0,
13189 p40pfs::Podr,
13190 p40pfs::Podr,
13191 P40Pfs_SPEC,
13192 crate::common::RW,
13193 > {
13194 crate::common::RegisterField::<
13195 0,
13196 0x1,
13197 1,
13198 0,
13199 p40pfs::Podr,
13200 p40pfs::Podr,
13201 P40Pfs_SPEC,
13202 crate::common::RW,
13203 >::from_register(self, 0)
13204 }
13205
13206 #[doc = "Port State"]
13207 #[inline(always)]
13208 pub fn pidr(
13209 self,
13210 ) -> crate::common::RegisterField<
13211 1,
13212 0x1,
13213 1,
13214 0,
13215 p40pfs::Pidr,
13216 p40pfs::Pidr,
13217 P40Pfs_SPEC,
13218 crate::common::R,
13219 > {
13220 crate::common::RegisterField::<
13221 1,
13222 0x1,
13223 1,
13224 0,
13225 p40pfs::Pidr,
13226 p40pfs::Pidr,
13227 P40Pfs_SPEC,
13228 crate::common::R,
13229 >::from_register(self, 0)
13230 }
13231
13232 #[doc = "Port Direction"]
13233 #[inline(always)]
13234 pub fn pdr(
13235 self,
13236 ) -> crate::common::RegisterField<
13237 2,
13238 0x1,
13239 1,
13240 0,
13241 p40pfs::Pdr,
13242 p40pfs::Pdr,
13243 P40Pfs_SPEC,
13244 crate::common::RW,
13245 > {
13246 crate::common::RegisterField::<
13247 2,
13248 0x1,
13249 1,
13250 0,
13251 p40pfs::Pdr,
13252 p40pfs::Pdr,
13253 P40Pfs_SPEC,
13254 crate::common::RW,
13255 >::from_register(self, 0)
13256 }
13257
13258 #[doc = "Pull-up Control"]
13259 #[inline(always)]
13260 pub fn pcr(
13261 self,
13262 ) -> crate::common::RegisterField<
13263 4,
13264 0x1,
13265 1,
13266 0,
13267 p40pfs::Pcr,
13268 p40pfs::Pcr,
13269 P40Pfs_SPEC,
13270 crate::common::RW,
13271 > {
13272 crate::common::RegisterField::<
13273 4,
13274 0x1,
13275 1,
13276 0,
13277 p40pfs::Pcr,
13278 p40pfs::Pcr,
13279 P40Pfs_SPEC,
13280 crate::common::RW,
13281 >::from_register(self, 0)
13282 }
13283
13284 #[doc = "N-Channel Open-Drain Control"]
13285 #[inline(always)]
13286 pub fn ncodr(
13287 self,
13288 ) -> crate::common::RegisterField<
13289 6,
13290 0x1,
13291 1,
13292 0,
13293 p40pfs::Ncodr,
13294 p40pfs::Ncodr,
13295 P40Pfs_SPEC,
13296 crate::common::RW,
13297 > {
13298 crate::common::RegisterField::<
13299 6,
13300 0x1,
13301 1,
13302 0,
13303 p40pfs::Ncodr,
13304 p40pfs::Ncodr,
13305 P40Pfs_SPEC,
13306 crate::common::RW,
13307 >::from_register(self, 0)
13308 }
13309
13310 #[doc = "IRQ Input Enable"]
13311 #[inline(always)]
13312 pub fn isel(
13313 self,
13314 ) -> crate::common::RegisterField<
13315 14,
13316 0x1,
13317 1,
13318 0,
13319 p40pfs::Isel,
13320 p40pfs::Isel,
13321 P40Pfs_SPEC,
13322 crate::common::RW,
13323 > {
13324 crate::common::RegisterField::<
13325 14,
13326 0x1,
13327 1,
13328 0,
13329 p40pfs::Isel,
13330 p40pfs::Isel,
13331 P40Pfs_SPEC,
13332 crate::common::RW,
13333 >::from_register(self, 0)
13334 }
13335
13336 #[doc = "Analog Input Enable"]
13337 #[inline(always)]
13338 pub fn asel(
13339 self,
13340 ) -> crate::common::RegisterField<
13341 15,
13342 0x1,
13343 1,
13344 0,
13345 p40pfs::Asel,
13346 p40pfs::Asel,
13347 P40Pfs_SPEC,
13348 crate::common::RW,
13349 > {
13350 crate::common::RegisterField::<
13351 15,
13352 0x1,
13353 1,
13354 0,
13355 p40pfs::Asel,
13356 p40pfs::Asel,
13357 P40Pfs_SPEC,
13358 crate::common::RW,
13359 >::from_register(self, 0)
13360 }
13361
13362 #[doc = "Port Mode Control"]
13363 #[inline(always)]
13364 pub fn pmr(
13365 self,
13366 ) -> crate::common::RegisterField<
13367 16,
13368 0x1,
13369 1,
13370 0,
13371 p40pfs::Pmr,
13372 p40pfs::Pmr,
13373 P40Pfs_SPEC,
13374 crate::common::RW,
13375 > {
13376 crate::common::RegisterField::<
13377 16,
13378 0x1,
13379 1,
13380 0,
13381 p40pfs::Pmr,
13382 p40pfs::Pmr,
13383 P40Pfs_SPEC,
13384 crate::common::RW,
13385 >::from_register(self, 0)
13386 }
13387
13388 #[doc = "Peripheral Select"]
13389 #[inline(always)]
13390 pub fn psel(
13391 self,
13392 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P40Pfs_SPEC, crate::common::RW> {
13393 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P40Pfs_SPEC,crate::common::RW>::from_register(self,0)
13394 }
13395}
13396impl ::core::default::Default for P40Pfs {
13397 #[inline(always)]
13398 fn default() -> P40Pfs {
13399 <crate::RegValueT<P40Pfs_SPEC> as RegisterValue<_>>::new(0)
13400 }
13401}
13402pub mod p40pfs {
13403
13404 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13405 pub struct Podr_SPEC;
13406 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13407 impl Podr {
13408 #[doc = "Output low"]
13409 pub const _0: Self = Self::new(0);
13410
13411 #[doc = "Output high"]
13412 pub const _1: Self = Self::new(1);
13413 }
13414 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13415 pub struct Pidr_SPEC;
13416 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13417 impl Pidr {
13418 #[doc = "Low level"]
13419 pub const _0: Self = Self::new(0);
13420
13421 #[doc = "High level"]
13422 pub const _1: Self = Self::new(1);
13423 }
13424 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13425 pub struct Pdr_SPEC;
13426 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13427 impl Pdr {
13428 #[doc = "Input (functions as an input pin)"]
13429 pub const _0: Self = Self::new(0);
13430
13431 #[doc = "Output (functions as an output pin)"]
13432 pub const _1: Self = Self::new(1);
13433 }
13434 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13435 pub struct Pcr_SPEC;
13436 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13437 impl Pcr {
13438 #[doc = "Disable input pull-up"]
13439 pub const _0: Self = Self::new(0);
13440
13441 #[doc = "Enable input pull-up"]
13442 pub const _1: Self = Self::new(1);
13443 }
13444 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13445 pub struct Ncodr_SPEC;
13446 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13447 impl Ncodr {
13448 #[doc = "Output CMOS"]
13449 pub const _0: Self = Self::new(0);
13450
13451 #[doc = "Output NMOS open-drain"]
13452 pub const _1: Self = Self::new(1);
13453 }
13454 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13455 pub struct Isel_SPEC;
13456 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13457 impl Isel {
13458 #[doc = "Do not use as IRQn input pin"]
13459 pub const _0: Self = Self::new(0);
13460
13461 #[doc = "Use as IRQn input pin"]
13462 pub const _1: Self = Self::new(1);
13463 }
13464 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13465 pub struct Asel_SPEC;
13466 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13467 impl Asel {
13468 #[doc = "Do not use as analog pin"]
13469 pub const _0: Self = Self::new(0);
13470
13471 #[doc = "Use as analog pin"]
13472 pub const _1: Self = Self::new(1);
13473 }
13474 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13475 pub struct Pmr_SPEC;
13476 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
13477 impl Pmr {
13478 #[doc = "Use as general I/O pin"]
13479 pub const _0: Self = Self::new(0);
13480
13481 #[doc = "Use as I/O port for peripheral functions"]
13482 pub const _1: Self = Self::new(1);
13483 }
13484}
13485#[doc(hidden)]
13486#[derive(Copy, Clone, Eq, PartialEq)]
13487pub struct P40PfsHa_SPEC;
13488impl crate::sealed::RegSpec for P40PfsHa_SPEC {
13489 type DataType = u16;
13490}
13491
13492#[doc = "Port 40%s Pin Function Select Register"]
13493pub type P40PfsHa = crate::RegValueT<P40PfsHa_SPEC>;
13494
13495impl P40PfsHa {
13496 #[doc = "Port Output Data"]
13497 #[inline(always)]
13498 pub fn podr(
13499 self,
13500 ) -> crate::common::RegisterField<
13501 0,
13502 0x1,
13503 1,
13504 0,
13505 p40pfs_ha::Podr,
13506 p40pfs_ha::Podr,
13507 P40PfsHa_SPEC,
13508 crate::common::RW,
13509 > {
13510 crate::common::RegisterField::<
13511 0,
13512 0x1,
13513 1,
13514 0,
13515 p40pfs_ha::Podr,
13516 p40pfs_ha::Podr,
13517 P40PfsHa_SPEC,
13518 crate::common::RW,
13519 >::from_register(self, 0)
13520 }
13521
13522 #[doc = "Port State"]
13523 #[inline(always)]
13524 pub fn pidr(
13525 self,
13526 ) -> crate::common::RegisterField<
13527 1,
13528 0x1,
13529 1,
13530 0,
13531 p40pfs_ha::Pidr,
13532 p40pfs_ha::Pidr,
13533 P40PfsHa_SPEC,
13534 crate::common::R,
13535 > {
13536 crate::common::RegisterField::<
13537 1,
13538 0x1,
13539 1,
13540 0,
13541 p40pfs_ha::Pidr,
13542 p40pfs_ha::Pidr,
13543 P40PfsHa_SPEC,
13544 crate::common::R,
13545 >::from_register(self, 0)
13546 }
13547
13548 #[doc = "Port Direction"]
13549 #[inline(always)]
13550 pub fn pdr(
13551 self,
13552 ) -> crate::common::RegisterField<
13553 2,
13554 0x1,
13555 1,
13556 0,
13557 p40pfs_ha::Pdr,
13558 p40pfs_ha::Pdr,
13559 P40PfsHa_SPEC,
13560 crate::common::RW,
13561 > {
13562 crate::common::RegisterField::<
13563 2,
13564 0x1,
13565 1,
13566 0,
13567 p40pfs_ha::Pdr,
13568 p40pfs_ha::Pdr,
13569 P40PfsHa_SPEC,
13570 crate::common::RW,
13571 >::from_register(self, 0)
13572 }
13573
13574 #[doc = "Pull-up Control"]
13575 #[inline(always)]
13576 pub fn pcr(
13577 self,
13578 ) -> crate::common::RegisterField<
13579 4,
13580 0x1,
13581 1,
13582 0,
13583 p40pfs_ha::Pcr,
13584 p40pfs_ha::Pcr,
13585 P40PfsHa_SPEC,
13586 crate::common::RW,
13587 > {
13588 crate::common::RegisterField::<
13589 4,
13590 0x1,
13591 1,
13592 0,
13593 p40pfs_ha::Pcr,
13594 p40pfs_ha::Pcr,
13595 P40PfsHa_SPEC,
13596 crate::common::RW,
13597 >::from_register(self, 0)
13598 }
13599
13600 #[doc = "N-Channel Open-Drain Control"]
13601 #[inline(always)]
13602 pub fn ncodr(
13603 self,
13604 ) -> crate::common::RegisterField<
13605 6,
13606 0x1,
13607 1,
13608 0,
13609 p40pfs_ha::Ncodr,
13610 p40pfs_ha::Ncodr,
13611 P40PfsHa_SPEC,
13612 crate::common::RW,
13613 > {
13614 crate::common::RegisterField::<
13615 6,
13616 0x1,
13617 1,
13618 0,
13619 p40pfs_ha::Ncodr,
13620 p40pfs_ha::Ncodr,
13621 P40PfsHa_SPEC,
13622 crate::common::RW,
13623 >::from_register(self, 0)
13624 }
13625
13626 #[doc = "IRQ Input Enable"]
13627 #[inline(always)]
13628 pub fn isel(
13629 self,
13630 ) -> crate::common::RegisterField<
13631 14,
13632 0x1,
13633 1,
13634 0,
13635 p40pfs_ha::Isel,
13636 p40pfs_ha::Isel,
13637 P40PfsHa_SPEC,
13638 crate::common::RW,
13639 > {
13640 crate::common::RegisterField::<
13641 14,
13642 0x1,
13643 1,
13644 0,
13645 p40pfs_ha::Isel,
13646 p40pfs_ha::Isel,
13647 P40PfsHa_SPEC,
13648 crate::common::RW,
13649 >::from_register(self, 0)
13650 }
13651
13652 #[doc = "Analog Input Enable"]
13653 #[inline(always)]
13654 pub fn asel(
13655 self,
13656 ) -> crate::common::RegisterField<
13657 15,
13658 0x1,
13659 1,
13660 0,
13661 p40pfs_ha::Asel,
13662 p40pfs_ha::Asel,
13663 P40PfsHa_SPEC,
13664 crate::common::RW,
13665 > {
13666 crate::common::RegisterField::<
13667 15,
13668 0x1,
13669 1,
13670 0,
13671 p40pfs_ha::Asel,
13672 p40pfs_ha::Asel,
13673 P40PfsHa_SPEC,
13674 crate::common::RW,
13675 >::from_register(self, 0)
13676 }
13677}
13678impl ::core::default::Default for P40PfsHa {
13679 #[inline(always)]
13680 fn default() -> P40PfsHa {
13681 <crate::RegValueT<P40PfsHa_SPEC> as RegisterValue<_>>::new(0)
13682 }
13683}
13684pub mod p40pfs_ha {
13685
13686 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13687 pub struct Podr_SPEC;
13688 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13689 impl Podr {
13690 #[doc = "Output low"]
13691 pub const _0: Self = Self::new(0);
13692
13693 #[doc = "Output high"]
13694 pub const _1: Self = Self::new(1);
13695 }
13696 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13697 pub struct Pidr_SPEC;
13698 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13699 impl Pidr {
13700 #[doc = "Low level"]
13701 pub const _0: Self = Self::new(0);
13702
13703 #[doc = "High level"]
13704 pub const _1: Self = Self::new(1);
13705 }
13706 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13707 pub struct Pdr_SPEC;
13708 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13709 impl Pdr {
13710 #[doc = "Input (functions as an input pin)"]
13711 pub const _0: Self = Self::new(0);
13712
13713 #[doc = "Output (functions as an output pin)"]
13714 pub const _1: Self = Self::new(1);
13715 }
13716 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13717 pub struct Pcr_SPEC;
13718 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13719 impl Pcr {
13720 #[doc = "Disable input pull-up"]
13721 pub const _0: Self = Self::new(0);
13722
13723 #[doc = "Enable input pull-up"]
13724 pub const _1: Self = Self::new(1);
13725 }
13726 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13727 pub struct Ncodr_SPEC;
13728 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13729 impl Ncodr {
13730 #[doc = "Output CMOS"]
13731 pub const _0: Self = Self::new(0);
13732
13733 #[doc = "Output NMOS open-drain"]
13734 pub const _1: Self = Self::new(1);
13735 }
13736 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13737 pub struct Isel_SPEC;
13738 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13739 impl Isel {
13740 #[doc = "Do not use as IRQn input pin"]
13741 pub const _0: Self = Self::new(0);
13742
13743 #[doc = "Use as IRQn input pin"]
13744 pub const _1: Self = Self::new(1);
13745 }
13746 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13747 pub struct Asel_SPEC;
13748 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13749 impl Asel {
13750 #[doc = "Do not use as analog pin"]
13751 pub const _0: Self = Self::new(0);
13752
13753 #[doc = "Use as analog pin"]
13754 pub const _1: Self = Self::new(1);
13755 }
13756}
13757#[doc(hidden)]
13758#[derive(Copy, Clone, Eq, PartialEq)]
13759pub struct P40PfsBy_SPEC;
13760impl crate::sealed::RegSpec for P40PfsBy_SPEC {
13761 type DataType = u8;
13762}
13763
13764#[doc = "Port 40%s Pin Function Select Register"]
13765pub type P40PfsBy = crate::RegValueT<P40PfsBy_SPEC>;
13766
13767impl P40PfsBy {
13768 #[doc = "Port Output Data"]
13769 #[inline(always)]
13770 pub fn podr(
13771 self,
13772 ) -> crate::common::RegisterField<
13773 0,
13774 0x1,
13775 1,
13776 0,
13777 p40pfs_by::Podr,
13778 p40pfs_by::Podr,
13779 P40PfsBy_SPEC,
13780 crate::common::RW,
13781 > {
13782 crate::common::RegisterField::<
13783 0,
13784 0x1,
13785 1,
13786 0,
13787 p40pfs_by::Podr,
13788 p40pfs_by::Podr,
13789 P40PfsBy_SPEC,
13790 crate::common::RW,
13791 >::from_register(self, 0)
13792 }
13793
13794 #[doc = "Port State"]
13795 #[inline(always)]
13796 pub fn pidr(
13797 self,
13798 ) -> crate::common::RegisterField<
13799 1,
13800 0x1,
13801 1,
13802 0,
13803 p40pfs_by::Pidr,
13804 p40pfs_by::Pidr,
13805 P40PfsBy_SPEC,
13806 crate::common::R,
13807 > {
13808 crate::common::RegisterField::<
13809 1,
13810 0x1,
13811 1,
13812 0,
13813 p40pfs_by::Pidr,
13814 p40pfs_by::Pidr,
13815 P40PfsBy_SPEC,
13816 crate::common::R,
13817 >::from_register(self, 0)
13818 }
13819
13820 #[doc = "Port Direction"]
13821 #[inline(always)]
13822 pub fn pdr(
13823 self,
13824 ) -> crate::common::RegisterField<
13825 2,
13826 0x1,
13827 1,
13828 0,
13829 p40pfs_by::Pdr,
13830 p40pfs_by::Pdr,
13831 P40PfsBy_SPEC,
13832 crate::common::RW,
13833 > {
13834 crate::common::RegisterField::<
13835 2,
13836 0x1,
13837 1,
13838 0,
13839 p40pfs_by::Pdr,
13840 p40pfs_by::Pdr,
13841 P40PfsBy_SPEC,
13842 crate::common::RW,
13843 >::from_register(self, 0)
13844 }
13845
13846 #[doc = "Pull-up Control"]
13847 #[inline(always)]
13848 pub fn pcr(
13849 self,
13850 ) -> crate::common::RegisterField<
13851 4,
13852 0x1,
13853 1,
13854 0,
13855 p40pfs_by::Pcr,
13856 p40pfs_by::Pcr,
13857 P40PfsBy_SPEC,
13858 crate::common::RW,
13859 > {
13860 crate::common::RegisterField::<
13861 4,
13862 0x1,
13863 1,
13864 0,
13865 p40pfs_by::Pcr,
13866 p40pfs_by::Pcr,
13867 P40PfsBy_SPEC,
13868 crate::common::RW,
13869 >::from_register(self, 0)
13870 }
13871
13872 #[doc = "N-Channel Open-Drain Control"]
13873 #[inline(always)]
13874 pub fn ncodr(
13875 self,
13876 ) -> crate::common::RegisterField<
13877 6,
13878 0x1,
13879 1,
13880 0,
13881 p40pfs_by::Ncodr,
13882 p40pfs_by::Ncodr,
13883 P40PfsBy_SPEC,
13884 crate::common::RW,
13885 > {
13886 crate::common::RegisterField::<
13887 6,
13888 0x1,
13889 1,
13890 0,
13891 p40pfs_by::Ncodr,
13892 p40pfs_by::Ncodr,
13893 P40PfsBy_SPEC,
13894 crate::common::RW,
13895 >::from_register(self, 0)
13896 }
13897}
13898impl ::core::default::Default for P40PfsBy {
13899 #[inline(always)]
13900 fn default() -> P40PfsBy {
13901 <crate::RegValueT<P40PfsBy_SPEC> as RegisterValue<_>>::new(0)
13902 }
13903}
13904pub mod p40pfs_by {
13905
13906 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13907 pub struct Podr_SPEC;
13908 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13909 impl Podr {
13910 #[doc = "Output low"]
13911 pub const _0: Self = Self::new(0);
13912
13913 #[doc = "Output high"]
13914 pub const _1: Self = Self::new(1);
13915 }
13916 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13917 pub struct Pidr_SPEC;
13918 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13919 impl Pidr {
13920 #[doc = "Low level"]
13921 pub const _0: Self = Self::new(0);
13922
13923 #[doc = "High level"]
13924 pub const _1: Self = Self::new(1);
13925 }
13926 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13927 pub struct Pdr_SPEC;
13928 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13929 impl Pdr {
13930 #[doc = "Input (functions as an input pin)"]
13931 pub const _0: Self = Self::new(0);
13932
13933 #[doc = "Output (functions as an output pin)"]
13934 pub const _1: Self = Self::new(1);
13935 }
13936 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13937 pub struct Pcr_SPEC;
13938 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13939 impl Pcr {
13940 #[doc = "Disable input pull-up"]
13941 pub const _0: Self = Self::new(0);
13942
13943 #[doc = "Enable input pull-up"]
13944 pub const _1: Self = Self::new(1);
13945 }
13946 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13947 pub struct Ncodr_SPEC;
13948 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13949 impl Ncodr {
13950 #[doc = "Output CMOS"]
13951 pub const _0: Self = Self::new(0);
13952
13953 #[doc = "Output NMOS open-drain"]
13954 pub const _1: Self = Self::new(1);
13955 }
13956}
13957#[doc(hidden)]
13958#[derive(Copy, Clone, Eq, PartialEq)]
13959pub struct P4Pfs_SPEC;
13960impl crate::sealed::RegSpec for P4Pfs_SPEC {
13961 type DataType = u32;
13962}
13963
13964#[doc = "Port 4%s Pin Function Select Register"]
13965pub type P4Pfs = crate::RegValueT<P4Pfs_SPEC>;
13966
13967impl P4Pfs {
13968 #[doc = "Port Output Data"]
13969 #[inline(always)]
13970 pub fn podr(
13971 self,
13972 ) -> crate::common::RegisterField<
13973 0,
13974 0x1,
13975 1,
13976 0,
13977 p4pfs::Podr,
13978 p4pfs::Podr,
13979 P4Pfs_SPEC,
13980 crate::common::RW,
13981 > {
13982 crate::common::RegisterField::<
13983 0,
13984 0x1,
13985 1,
13986 0,
13987 p4pfs::Podr,
13988 p4pfs::Podr,
13989 P4Pfs_SPEC,
13990 crate::common::RW,
13991 >::from_register(self, 0)
13992 }
13993
13994 #[doc = "Port State"]
13995 #[inline(always)]
13996 pub fn pidr(
13997 self,
13998 ) -> crate::common::RegisterField<
13999 1,
14000 0x1,
14001 1,
14002 0,
14003 p4pfs::Pidr,
14004 p4pfs::Pidr,
14005 P4Pfs_SPEC,
14006 crate::common::R,
14007 > {
14008 crate::common::RegisterField::<
14009 1,
14010 0x1,
14011 1,
14012 0,
14013 p4pfs::Pidr,
14014 p4pfs::Pidr,
14015 P4Pfs_SPEC,
14016 crate::common::R,
14017 >::from_register(self, 0)
14018 }
14019
14020 #[doc = "Port Direction"]
14021 #[inline(always)]
14022 pub fn pdr(
14023 self,
14024 ) -> crate::common::RegisterField<
14025 2,
14026 0x1,
14027 1,
14028 0,
14029 p4pfs::Pdr,
14030 p4pfs::Pdr,
14031 P4Pfs_SPEC,
14032 crate::common::RW,
14033 > {
14034 crate::common::RegisterField::<
14035 2,
14036 0x1,
14037 1,
14038 0,
14039 p4pfs::Pdr,
14040 p4pfs::Pdr,
14041 P4Pfs_SPEC,
14042 crate::common::RW,
14043 >::from_register(self, 0)
14044 }
14045
14046 #[doc = "Pull-up Control"]
14047 #[inline(always)]
14048 pub fn pcr(
14049 self,
14050 ) -> crate::common::RegisterField<
14051 4,
14052 0x1,
14053 1,
14054 0,
14055 p4pfs::Pcr,
14056 p4pfs::Pcr,
14057 P4Pfs_SPEC,
14058 crate::common::RW,
14059 > {
14060 crate::common::RegisterField::<
14061 4,
14062 0x1,
14063 1,
14064 0,
14065 p4pfs::Pcr,
14066 p4pfs::Pcr,
14067 P4Pfs_SPEC,
14068 crate::common::RW,
14069 >::from_register(self, 0)
14070 }
14071
14072 #[doc = "N-Channel Open-Drain Control"]
14073 #[inline(always)]
14074 pub fn ncodr(
14075 self,
14076 ) -> crate::common::RegisterField<
14077 6,
14078 0x1,
14079 1,
14080 0,
14081 p4pfs::Ncodr,
14082 p4pfs::Ncodr,
14083 P4Pfs_SPEC,
14084 crate::common::RW,
14085 > {
14086 crate::common::RegisterField::<
14087 6,
14088 0x1,
14089 1,
14090 0,
14091 p4pfs::Ncodr,
14092 p4pfs::Ncodr,
14093 P4Pfs_SPEC,
14094 crate::common::RW,
14095 >::from_register(self, 0)
14096 }
14097
14098 #[doc = "IRQ Input Enable"]
14099 #[inline(always)]
14100 pub fn isel(
14101 self,
14102 ) -> crate::common::RegisterField<
14103 14,
14104 0x1,
14105 1,
14106 0,
14107 p4pfs::Isel,
14108 p4pfs::Isel,
14109 P4Pfs_SPEC,
14110 crate::common::RW,
14111 > {
14112 crate::common::RegisterField::<
14113 14,
14114 0x1,
14115 1,
14116 0,
14117 p4pfs::Isel,
14118 p4pfs::Isel,
14119 P4Pfs_SPEC,
14120 crate::common::RW,
14121 >::from_register(self, 0)
14122 }
14123
14124 #[doc = "Analog Input Enable"]
14125 #[inline(always)]
14126 pub fn asel(
14127 self,
14128 ) -> crate::common::RegisterField<
14129 15,
14130 0x1,
14131 1,
14132 0,
14133 p4pfs::Asel,
14134 p4pfs::Asel,
14135 P4Pfs_SPEC,
14136 crate::common::RW,
14137 > {
14138 crate::common::RegisterField::<
14139 15,
14140 0x1,
14141 1,
14142 0,
14143 p4pfs::Asel,
14144 p4pfs::Asel,
14145 P4Pfs_SPEC,
14146 crate::common::RW,
14147 >::from_register(self, 0)
14148 }
14149
14150 #[doc = "Port Mode Control"]
14151 #[inline(always)]
14152 pub fn pmr(
14153 self,
14154 ) -> crate::common::RegisterField<
14155 16,
14156 0x1,
14157 1,
14158 0,
14159 p4pfs::Pmr,
14160 p4pfs::Pmr,
14161 P4Pfs_SPEC,
14162 crate::common::RW,
14163 > {
14164 crate::common::RegisterField::<
14165 16,
14166 0x1,
14167 1,
14168 0,
14169 p4pfs::Pmr,
14170 p4pfs::Pmr,
14171 P4Pfs_SPEC,
14172 crate::common::RW,
14173 >::from_register(self, 0)
14174 }
14175
14176 #[doc = "Peripheral Select"]
14177 #[inline(always)]
14178 pub fn psel(
14179 self,
14180 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P4Pfs_SPEC, crate::common::RW> {
14181 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P4Pfs_SPEC,crate::common::RW>::from_register(self,0)
14182 }
14183}
14184impl ::core::default::Default for P4Pfs {
14185 #[inline(always)]
14186 fn default() -> P4Pfs {
14187 <crate::RegValueT<P4Pfs_SPEC> as RegisterValue<_>>::new(0)
14188 }
14189}
14190pub mod p4pfs {
14191
14192 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14193 pub struct Podr_SPEC;
14194 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14195 impl Podr {
14196 #[doc = "Output low"]
14197 pub const _0: Self = Self::new(0);
14198
14199 #[doc = "Output high"]
14200 pub const _1: Self = Self::new(1);
14201 }
14202 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14203 pub struct Pidr_SPEC;
14204 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14205 impl Pidr {
14206 #[doc = "Low level"]
14207 pub const _0: Self = Self::new(0);
14208
14209 #[doc = "High level"]
14210 pub const _1: Self = Self::new(1);
14211 }
14212 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14213 pub struct Pdr_SPEC;
14214 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14215 impl Pdr {
14216 #[doc = "Input (functions as an input pin)"]
14217 pub const _0: Self = Self::new(0);
14218
14219 #[doc = "Output (functions as an output pin)"]
14220 pub const _1: Self = Self::new(1);
14221 }
14222 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14223 pub struct Pcr_SPEC;
14224 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14225 impl Pcr {
14226 #[doc = "Disable input pull-up"]
14227 pub const _0: Self = Self::new(0);
14228
14229 #[doc = "Enable input pull-up"]
14230 pub const _1: Self = Self::new(1);
14231 }
14232 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14233 pub struct Ncodr_SPEC;
14234 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14235 impl Ncodr {
14236 #[doc = "Output CMOS"]
14237 pub const _0: Self = Self::new(0);
14238
14239 #[doc = "Output NMOS open-drain"]
14240 pub const _1: Self = Self::new(1);
14241 }
14242 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14243 pub struct Isel_SPEC;
14244 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14245 impl Isel {
14246 #[doc = "Do not use as IRQn input pin"]
14247 pub const _0: Self = Self::new(0);
14248
14249 #[doc = "Use as IRQn input pin"]
14250 pub const _1: Self = Self::new(1);
14251 }
14252 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14253 pub struct Asel_SPEC;
14254 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14255 impl Asel {
14256 #[doc = "Do not use as analog pin"]
14257 pub const _0: Self = Self::new(0);
14258
14259 #[doc = "Use as analog pin"]
14260 pub const _1: Self = Self::new(1);
14261 }
14262 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14263 pub struct Pmr_SPEC;
14264 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
14265 impl Pmr {
14266 #[doc = "Use as general I/O pin"]
14267 pub const _0: Self = Self::new(0);
14268
14269 #[doc = "Use as I/O port for peripheral functions"]
14270 pub const _1: Self = Self::new(1);
14271 }
14272}
14273#[doc(hidden)]
14274#[derive(Copy, Clone, Eq, PartialEq)]
14275pub struct P4PfsHa_SPEC;
14276impl crate::sealed::RegSpec for P4PfsHa_SPEC {
14277 type DataType = u16;
14278}
14279
14280#[doc = "Port 4%s Pin Function Select Register"]
14281pub type P4PfsHa = crate::RegValueT<P4PfsHa_SPEC>;
14282
14283impl P4PfsHa {
14284 #[doc = "Port Output Data"]
14285 #[inline(always)]
14286 pub fn podr(
14287 self,
14288 ) -> crate::common::RegisterField<
14289 0,
14290 0x1,
14291 1,
14292 0,
14293 p4pfs_ha::Podr,
14294 p4pfs_ha::Podr,
14295 P4PfsHa_SPEC,
14296 crate::common::RW,
14297 > {
14298 crate::common::RegisterField::<
14299 0,
14300 0x1,
14301 1,
14302 0,
14303 p4pfs_ha::Podr,
14304 p4pfs_ha::Podr,
14305 P4PfsHa_SPEC,
14306 crate::common::RW,
14307 >::from_register(self, 0)
14308 }
14309
14310 #[doc = "Port State"]
14311 #[inline(always)]
14312 pub fn pidr(
14313 self,
14314 ) -> crate::common::RegisterField<
14315 1,
14316 0x1,
14317 1,
14318 0,
14319 p4pfs_ha::Pidr,
14320 p4pfs_ha::Pidr,
14321 P4PfsHa_SPEC,
14322 crate::common::R,
14323 > {
14324 crate::common::RegisterField::<
14325 1,
14326 0x1,
14327 1,
14328 0,
14329 p4pfs_ha::Pidr,
14330 p4pfs_ha::Pidr,
14331 P4PfsHa_SPEC,
14332 crate::common::R,
14333 >::from_register(self, 0)
14334 }
14335
14336 #[doc = "Port Direction"]
14337 #[inline(always)]
14338 pub fn pdr(
14339 self,
14340 ) -> crate::common::RegisterField<
14341 2,
14342 0x1,
14343 1,
14344 0,
14345 p4pfs_ha::Pdr,
14346 p4pfs_ha::Pdr,
14347 P4PfsHa_SPEC,
14348 crate::common::RW,
14349 > {
14350 crate::common::RegisterField::<
14351 2,
14352 0x1,
14353 1,
14354 0,
14355 p4pfs_ha::Pdr,
14356 p4pfs_ha::Pdr,
14357 P4PfsHa_SPEC,
14358 crate::common::RW,
14359 >::from_register(self, 0)
14360 }
14361
14362 #[doc = "Pull-up Control"]
14363 #[inline(always)]
14364 pub fn pcr(
14365 self,
14366 ) -> crate::common::RegisterField<
14367 4,
14368 0x1,
14369 1,
14370 0,
14371 p4pfs_ha::Pcr,
14372 p4pfs_ha::Pcr,
14373 P4PfsHa_SPEC,
14374 crate::common::RW,
14375 > {
14376 crate::common::RegisterField::<
14377 4,
14378 0x1,
14379 1,
14380 0,
14381 p4pfs_ha::Pcr,
14382 p4pfs_ha::Pcr,
14383 P4PfsHa_SPEC,
14384 crate::common::RW,
14385 >::from_register(self, 0)
14386 }
14387
14388 #[doc = "N-Channel Open-Drain Control"]
14389 #[inline(always)]
14390 pub fn ncodr(
14391 self,
14392 ) -> crate::common::RegisterField<
14393 6,
14394 0x1,
14395 1,
14396 0,
14397 p4pfs_ha::Ncodr,
14398 p4pfs_ha::Ncodr,
14399 P4PfsHa_SPEC,
14400 crate::common::RW,
14401 > {
14402 crate::common::RegisterField::<
14403 6,
14404 0x1,
14405 1,
14406 0,
14407 p4pfs_ha::Ncodr,
14408 p4pfs_ha::Ncodr,
14409 P4PfsHa_SPEC,
14410 crate::common::RW,
14411 >::from_register(self, 0)
14412 }
14413
14414 #[doc = "IRQ Input Enable"]
14415 #[inline(always)]
14416 pub fn isel(
14417 self,
14418 ) -> crate::common::RegisterField<
14419 14,
14420 0x1,
14421 1,
14422 0,
14423 p4pfs_ha::Isel,
14424 p4pfs_ha::Isel,
14425 P4PfsHa_SPEC,
14426 crate::common::RW,
14427 > {
14428 crate::common::RegisterField::<
14429 14,
14430 0x1,
14431 1,
14432 0,
14433 p4pfs_ha::Isel,
14434 p4pfs_ha::Isel,
14435 P4PfsHa_SPEC,
14436 crate::common::RW,
14437 >::from_register(self, 0)
14438 }
14439
14440 #[doc = "Analog Input Enable"]
14441 #[inline(always)]
14442 pub fn asel(
14443 self,
14444 ) -> crate::common::RegisterField<
14445 15,
14446 0x1,
14447 1,
14448 0,
14449 p4pfs_ha::Asel,
14450 p4pfs_ha::Asel,
14451 P4PfsHa_SPEC,
14452 crate::common::RW,
14453 > {
14454 crate::common::RegisterField::<
14455 15,
14456 0x1,
14457 1,
14458 0,
14459 p4pfs_ha::Asel,
14460 p4pfs_ha::Asel,
14461 P4PfsHa_SPEC,
14462 crate::common::RW,
14463 >::from_register(self, 0)
14464 }
14465}
14466impl ::core::default::Default for P4PfsHa {
14467 #[inline(always)]
14468 fn default() -> P4PfsHa {
14469 <crate::RegValueT<P4PfsHa_SPEC> as RegisterValue<_>>::new(0)
14470 }
14471}
14472pub mod p4pfs_ha {
14473
14474 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14475 pub struct Podr_SPEC;
14476 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14477 impl Podr {
14478 #[doc = "Output low"]
14479 pub const _0: Self = Self::new(0);
14480
14481 #[doc = "Output high"]
14482 pub const _1: Self = Self::new(1);
14483 }
14484 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14485 pub struct Pidr_SPEC;
14486 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14487 impl Pidr {
14488 #[doc = "Low level"]
14489 pub const _0: Self = Self::new(0);
14490
14491 #[doc = "High level"]
14492 pub const _1: Self = Self::new(1);
14493 }
14494 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14495 pub struct Pdr_SPEC;
14496 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14497 impl Pdr {
14498 #[doc = "Input (functions as an input pin)"]
14499 pub const _0: Self = Self::new(0);
14500
14501 #[doc = "Output (functions as an output pin)"]
14502 pub const _1: Self = Self::new(1);
14503 }
14504 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14505 pub struct Pcr_SPEC;
14506 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14507 impl Pcr {
14508 #[doc = "Disable input pull-up"]
14509 pub const _0: Self = Self::new(0);
14510
14511 #[doc = "Enable input pull-up"]
14512 pub const _1: Self = Self::new(1);
14513 }
14514 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14515 pub struct Ncodr_SPEC;
14516 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14517 impl Ncodr {
14518 #[doc = "Output CMOS"]
14519 pub const _0: Self = Self::new(0);
14520
14521 #[doc = "Output NMOS open-drain"]
14522 pub const _1: Self = Self::new(1);
14523 }
14524 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14525 pub struct Isel_SPEC;
14526 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14527 impl Isel {
14528 #[doc = "Do not use as IRQn input pin"]
14529 pub const _0: Self = Self::new(0);
14530
14531 #[doc = "Use as IRQn input pin"]
14532 pub const _1: Self = Self::new(1);
14533 }
14534 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14535 pub struct Asel_SPEC;
14536 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14537 impl Asel {
14538 #[doc = "Do not use as analog pin"]
14539 pub const _0: Self = Self::new(0);
14540
14541 #[doc = "Use as analog pin"]
14542 pub const _1: Self = Self::new(1);
14543 }
14544}
14545#[doc(hidden)]
14546#[derive(Copy, Clone, Eq, PartialEq)]
14547pub struct P4PfsBy_SPEC;
14548impl crate::sealed::RegSpec for P4PfsBy_SPEC {
14549 type DataType = u8;
14550}
14551
14552#[doc = "Port 4%s Pin Function Select Register"]
14553pub type P4PfsBy = crate::RegValueT<P4PfsBy_SPEC>;
14554
14555impl P4PfsBy {
14556 #[doc = "Port Output Data"]
14557 #[inline(always)]
14558 pub fn podr(
14559 self,
14560 ) -> crate::common::RegisterField<
14561 0,
14562 0x1,
14563 1,
14564 0,
14565 p4pfs_by::Podr,
14566 p4pfs_by::Podr,
14567 P4PfsBy_SPEC,
14568 crate::common::RW,
14569 > {
14570 crate::common::RegisterField::<
14571 0,
14572 0x1,
14573 1,
14574 0,
14575 p4pfs_by::Podr,
14576 p4pfs_by::Podr,
14577 P4PfsBy_SPEC,
14578 crate::common::RW,
14579 >::from_register(self, 0)
14580 }
14581
14582 #[doc = "Port State"]
14583 #[inline(always)]
14584 pub fn pidr(
14585 self,
14586 ) -> crate::common::RegisterField<
14587 1,
14588 0x1,
14589 1,
14590 0,
14591 p4pfs_by::Pidr,
14592 p4pfs_by::Pidr,
14593 P4PfsBy_SPEC,
14594 crate::common::R,
14595 > {
14596 crate::common::RegisterField::<
14597 1,
14598 0x1,
14599 1,
14600 0,
14601 p4pfs_by::Pidr,
14602 p4pfs_by::Pidr,
14603 P4PfsBy_SPEC,
14604 crate::common::R,
14605 >::from_register(self, 0)
14606 }
14607
14608 #[doc = "Port Direction"]
14609 #[inline(always)]
14610 pub fn pdr(
14611 self,
14612 ) -> crate::common::RegisterField<
14613 2,
14614 0x1,
14615 1,
14616 0,
14617 p4pfs_by::Pdr,
14618 p4pfs_by::Pdr,
14619 P4PfsBy_SPEC,
14620 crate::common::RW,
14621 > {
14622 crate::common::RegisterField::<
14623 2,
14624 0x1,
14625 1,
14626 0,
14627 p4pfs_by::Pdr,
14628 p4pfs_by::Pdr,
14629 P4PfsBy_SPEC,
14630 crate::common::RW,
14631 >::from_register(self, 0)
14632 }
14633
14634 #[doc = "Pull-up Control"]
14635 #[inline(always)]
14636 pub fn pcr(
14637 self,
14638 ) -> crate::common::RegisterField<
14639 4,
14640 0x1,
14641 1,
14642 0,
14643 p4pfs_by::Pcr,
14644 p4pfs_by::Pcr,
14645 P4PfsBy_SPEC,
14646 crate::common::RW,
14647 > {
14648 crate::common::RegisterField::<
14649 4,
14650 0x1,
14651 1,
14652 0,
14653 p4pfs_by::Pcr,
14654 p4pfs_by::Pcr,
14655 P4PfsBy_SPEC,
14656 crate::common::RW,
14657 >::from_register(self, 0)
14658 }
14659
14660 #[doc = "N-Channel Open-Drain Control"]
14661 #[inline(always)]
14662 pub fn ncodr(
14663 self,
14664 ) -> crate::common::RegisterField<
14665 6,
14666 0x1,
14667 1,
14668 0,
14669 p4pfs_by::Ncodr,
14670 p4pfs_by::Ncodr,
14671 P4PfsBy_SPEC,
14672 crate::common::RW,
14673 > {
14674 crate::common::RegisterField::<
14675 6,
14676 0x1,
14677 1,
14678 0,
14679 p4pfs_by::Ncodr,
14680 p4pfs_by::Ncodr,
14681 P4PfsBy_SPEC,
14682 crate::common::RW,
14683 >::from_register(self, 0)
14684 }
14685}
14686impl ::core::default::Default for P4PfsBy {
14687 #[inline(always)]
14688 fn default() -> P4PfsBy {
14689 <crate::RegValueT<P4PfsBy_SPEC> as RegisterValue<_>>::new(0)
14690 }
14691}
14692pub mod p4pfs_by {
14693
14694 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14695 pub struct Podr_SPEC;
14696 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14697 impl Podr {
14698 #[doc = "Output low"]
14699 pub const _0: Self = Self::new(0);
14700
14701 #[doc = "Output high"]
14702 pub const _1: Self = Self::new(1);
14703 }
14704 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14705 pub struct Pidr_SPEC;
14706 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14707 impl Pidr {
14708 #[doc = "Low level"]
14709 pub const _0: Self = Self::new(0);
14710
14711 #[doc = "High level"]
14712 pub const _1: Self = Self::new(1);
14713 }
14714 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14715 pub struct Pdr_SPEC;
14716 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14717 impl Pdr {
14718 #[doc = "Input (functions as an input pin)"]
14719 pub const _0: Self = Self::new(0);
14720
14721 #[doc = "Output (functions as an output pin)"]
14722 pub const _1: Self = Self::new(1);
14723 }
14724 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14725 pub struct Pcr_SPEC;
14726 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14727 impl Pcr {
14728 #[doc = "Disable input pull-up"]
14729 pub const _0: Self = Self::new(0);
14730
14731 #[doc = "Enable input pull-up"]
14732 pub const _1: Self = Self::new(1);
14733 }
14734 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14735 pub struct Ncodr_SPEC;
14736 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14737 impl Ncodr {
14738 #[doc = "Output CMOS"]
14739 pub const _0: Self = Self::new(0);
14740
14741 #[doc = "Output NMOS open-drain"]
14742 pub const _1: Self = Self::new(1);
14743 }
14744}
14745#[doc(hidden)]
14746#[derive(Copy, Clone, Eq, PartialEq)]
14747pub struct P50Pfs_SPEC;
14748impl crate::sealed::RegSpec for P50Pfs_SPEC {
14749 type DataType = u32;
14750}
14751
14752#[doc = "Port 50%s Pin Function Select Register"]
14753pub type P50Pfs = crate::RegValueT<P50Pfs_SPEC>;
14754
14755impl P50Pfs {
14756 #[doc = "Port Output Data"]
14757 #[inline(always)]
14758 pub fn podr(
14759 self,
14760 ) -> crate::common::RegisterField<
14761 0,
14762 0x1,
14763 1,
14764 0,
14765 p50pfs::Podr,
14766 p50pfs::Podr,
14767 P50Pfs_SPEC,
14768 crate::common::RW,
14769 > {
14770 crate::common::RegisterField::<
14771 0,
14772 0x1,
14773 1,
14774 0,
14775 p50pfs::Podr,
14776 p50pfs::Podr,
14777 P50Pfs_SPEC,
14778 crate::common::RW,
14779 >::from_register(self, 0)
14780 }
14781
14782 #[doc = "Port State"]
14783 #[inline(always)]
14784 pub fn pidr(
14785 self,
14786 ) -> crate::common::RegisterField<
14787 1,
14788 0x1,
14789 1,
14790 0,
14791 p50pfs::Pidr,
14792 p50pfs::Pidr,
14793 P50Pfs_SPEC,
14794 crate::common::R,
14795 > {
14796 crate::common::RegisterField::<
14797 1,
14798 0x1,
14799 1,
14800 0,
14801 p50pfs::Pidr,
14802 p50pfs::Pidr,
14803 P50Pfs_SPEC,
14804 crate::common::R,
14805 >::from_register(self, 0)
14806 }
14807
14808 #[doc = "Port Direction"]
14809 #[inline(always)]
14810 pub fn pdr(
14811 self,
14812 ) -> crate::common::RegisterField<
14813 2,
14814 0x1,
14815 1,
14816 0,
14817 p50pfs::Pdr,
14818 p50pfs::Pdr,
14819 P50Pfs_SPEC,
14820 crate::common::RW,
14821 > {
14822 crate::common::RegisterField::<
14823 2,
14824 0x1,
14825 1,
14826 0,
14827 p50pfs::Pdr,
14828 p50pfs::Pdr,
14829 P50Pfs_SPEC,
14830 crate::common::RW,
14831 >::from_register(self, 0)
14832 }
14833
14834 #[doc = "Pull-up Control"]
14835 #[inline(always)]
14836 pub fn pcr(
14837 self,
14838 ) -> crate::common::RegisterField<
14839 4,
14840 0x1,
14841 1,
14842 0,
14843 p50pfs::Pcr,
14844 p50pfs::Pcr,
14845 P50Pfs_SPEC,
14846 crate::common::RW,
14847 > {
14848 crate::common::RegisterField::<
14849 4,
14850 0x1,
14851 1,
14852 0,
14853 p50pfs::Pcr,
14854 p50pfs::Pcr,
14855 P50Pfs_SPEC,
14856 crate::common::RW,
14857 >::from_register(self, 0)
14858 }
14859
14860 #[doc = "N-Channel Open-Drain Control"]
14861 #[inline(always)]
14862 pub fn ncodr(
14863 self,
14864 ) -> crate::common::RegisterField<
14865 6,
14866 0x1,
14867 1,
14868 0,
14869 p50pfs::Ncodr,
14870 p50pfs::Ncodr,
14871 P50Pfs_SPEC,
14872 crate::common::RW,
14873 > {
14874 crate::common::RegisterField::<
14875 6,
14876 0x1,
14877 1,
14878 0,
14879 p50pfs::Ncodr,
14880 p50pfs::Ncodr,
14881 P50Pfs_SPEC,
14882 crate::common::RW,
14883 >::from_register(self, 0)
14884 }
14885
14886 #[doc = "IRQ Input Enable"]
14887 #[inline(always)]
14888 pub fn isel(
14889 self,
14890 ) -> crate::common::RegisterField<
14891 14,
14892 0x1,
14893 1,
14894 0,
14895 p50pfs::Isel,
14896 p50pfs::Isel,
14897 P50Pfs_SPEC,
14898 crate::common::RW,
14899 > {
14900 crate::common::RegisterField::<
14901 14,
14902 0x1,
14903 1,
14904 0,
14905 p50pfs::Isel,
14906 p50pfs::Isel,
14907 P50Pfs_SPEC,
14908 crate::common::RW,
14909 >::from_register(self, 0)
14910 }
14911
14912 #[doc = "Analog Input Enable"]
14913 #[inline(always)]
14914 pub fn asel(
14915 self,
14916 ) -> crate::common::RegisterField<
14917 15,
14918 0x1,
14919 1,
14920 0,
14921 p50pfs::Asel,
14922 p50pfs::Asel,
14923 P50Pfs_SPEC,
14924 crate::common::RW,
14925 > {
14926 crate::common::RegisterField::<
14927 15,
14928 0x1,
14929 1,
14930 0,
14931 p50pfs::Asel,
14932 p50pfs::Asel,
14933 P50Pfs_SPEC,
14934 crate::common::RW,
14935 >::from_register(self, 0)
14936 }
14937
14938 #[doc = "Port Mode Control"]
14939 #[inline(always)]
14940 pub fn pmr(
14941 self,
14942 ) -> crate::common::RegisterField<
14943 16,
14944 0x1,
14945 1,
14946 0,
14947 p50pfs::Pmr,
14948 p50pfs::Pmr,
14949 P50Pfs_SPEC,
14950 crate::common::RW,
14951 > {
14952 crate::common::RegisterField::<
14953 16,
14954 0x1,
14955 1,
14956 0,
14957 p50pfs::Pmr,
14958 p50pfs::Pmr,
14959 P50Pfs_SPEC,
14960 crate::common::RW,
14961 >::from_register(self, 0)
14962 }
14963
14964 #[doc = "Peripheral Select"]
14965 #[inline(always)]
14966 pub fn psel(
14967 self,
14968 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P50Pfs_SPEC, crate::common::RW> {
14969 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P50Pfs_SPEC,crate::common::RW>::from_register(self,0)
14970 }
14971}
14972impl ::core::default::Default for P50Pfs {
14973 #[inline(always)]
14974 fn default() -> P50Pfs {
14975 <crate::RegValueT<P50Pfs_SPEC> as RegisterValue<_>>::new(0)
14976 }
14977}
14978pub mod p50pfs {
14979
14980 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14981 pub struct Podr_SPEC;
14982 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14983 impl Podr {
14984 #[doc = "Output low"]
14985 pub const _0: Self = Self::new(0);
14986
14987 #[doc = "Output high"]
14988 pub const _1: Self = Self::new(1);
14989 }
14990 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14991 pub struct Pidr_SPEC;
14992 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14993 impl Pidr {
14994 #[doc = "Low level"]
14995 pub const _0: Self = Self::new(0);
14996
14997 #[doc = "High level"]
14998 pub const _1: Self = Self::new(1);
14999 }
15000 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15001 pub struct Pdr_SPEC;
15002 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15003 impl Pdr {
15004 #[doc = "Input (functions as an input pin)"]
15005 pub const _0: Self = Self::new(0);
15006
15007 #[doc = "Output (functions as an output pin)"]
15008 pub const _1: Self = Self::new(1);
15009 }
15010 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15011 pub struct Pcr_SPEC;
15012 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15013 impl Pcr {
15014 #[doc = "Disable input pull-up"]
15015 pub const _0: Self = Self::new(0);
15016
15017 #[doc = "Enable input pull-up"]
15018 pub const _1: Self = Self::new(1);
15019 }
15020 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15021 pub struct Ncodr_SPEC;
15022 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15023 impl Ncodr {
15024 #[doc = "Output CMOS"]
15025 pub const _0: Self = Self::new(0);
15026
15027 #[doc = "Output NMOS open-drain"]
15028 pub const _1: Self = Self::new(1);
15029 }
15030 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15031 pub struct Isel_SPEC;
15032 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15033 impl Isel {
15034 #[doc = "Do not use as IRQn input pin"]
15035 pub const _0: Self = Self::new(0);
15036
15037 #[doc = "Use as IRQn input pin"]
15038 pub const _1: Self = Self::new(1);
15039 }
15040 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15041 pub struct Asel_SPEC;
15042 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15043 impl Asel {
15044 #[doc = "Do not use as analog pin"]
15045 pub const _0: Self = Self::new(0);
15046
15047 #[doc = "Use as analog pin"]
15048 pub const _1: Self = Self::new(1);
15049 }
15050 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15051 pub struct Pmr_SPEC;
15052 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
15053 impl Pmr {
15054 #[doc = "Use as general I/O pin"]
15055 pub const _0: Self = Self::new(0);
15056
15057 #[doc = "Use as I/O port for peripheral functions"]
15058 pub const _1: Self = Self::new(1);
15059 }
15060}
15061#[doc(hidden)]
15062#[derive(Copy, Clone, Eq, PartialEq)]
15063pub struct P50PfsHa_SPEC;
15064impl crate::sealed::RegSpec for P50PfsHa_SPEC {
15065 type DataType = u16;
15066}
15067
15068#[doc = "Port 50%s Pin Function Select Register"]
15069pub type P50PfsHa = crate::RegValueT<P50PfsHa_SPEC>;
15070
15071impl P50PfsHa {
15072 #[doc = "Port Output Data"]
15073 #[inline(always)]
15074 pub fn podr(
15075 self,
15076 ) -> crate::common::RegisterField<
15077 0,
15078 0x1,
15079 1,
15080 0,
15081 p50pfs_ha::Podr,
15082 p50pfs_ha::Podr,
15083 P50PfsHa_SPEC,
15084 crate::common::RW,
15085 > {
15086 crate::common::RegisterField::<
15087 0,
15088 0x1,
15089 1,
15090 0,
15091 p50pfs_ha::Podr,
15092 p50pfs_ha::Podr,
15093 P50PfsHa_SPEC,
15094 crate::common::RW,
15095 >::from_register(self, 0)
15096 }
15097
15098 #[doc = "Port State"]
15099 #[inline(always)]
15100 pub fn pidr(
15101 self,
15102 ) -> crate::common::RegisterField<
15103 1,
15104 0x1,
15105 1,
15106 0,
15107 p50pfs_ha::Pidr,
15108 p50pfs_ha::Pidr,
15109 P50PfsHa_SPEC,
15110 crate::common::R,
15111 > {
15112 crate::common::RegisterField::<
15113 1,
15114 0x1,
15115 1,
15116 0,
15117 p50pfs_ha::Pidr,
15118 p50pfs_ha::Pidr,
15119 P50PfsHa_SPEC,
15120 crate::common::R,
15121 >::from_register(self, 0)
15122 }
15123
15124 #[doc = "Port Direction"]
15125 #[inline(always)]
15126 pub fn pdr(
15127 self,
15128 ) -> crate::common::RegisterField<
15129 2,
15130 0x1,
15131 1,
15132 0,
15133 p50pfs_ha::Pdr,
15134 p50pfs_ha::Pdr,
15135 P50PfsHa_SPEC,
15136 crate::common::RW,
15137 > {
15138 crate::common::RegisterField::<
15139 2,
15140 0x1,
15141 1,
15142 0,
15143 p50pfs_ha::Pdr,
15144 p50pfs_ha::Pdr,
15145 P50PfsHa_SPEC,
15146 crate::common::RW,
15147 >::from_register(self, 0)
15148 }
15149
15150 #[doc = "Pull-up Control"]
15151 #[inline(always)]
15152 pub fn pcr(
15153 self,
15154 ) -> crate::common::RegisterField<
15155 4,
15156 0x1,
15157 1,
15158 0,
15159 p50pfs_ha::Pcr,
15160 p50pfs_ha::Pcr,
15161 P50PfsHa_SPEC,
15162 crate::common::RW,
15163 > {
15164 crate::common::RegisterField::<
15165 4,
15166 0x1,
15167 1,
15168 0,
15169 p50pfs_ha::Pcr,
15170 p50pfs_ha::Pcr,
15171 P50PfsHa_SPEC,
15172 crate::common::RW,
15173 >::from_register(self, 0)
15174 }
15175
15176 #[doc = "N-Channel Open-Drain Control"]
15177 #[inline(always)]
15178 pub fn ncodr(
15179 self,
15180 ) -> crate::common::RegisterField<
15181 6,
15182 0x1,
15183 1,
15184 0,
15185 p50pfs_ha::Ncodr,
15186 p50pfs_ha::Ncodr,
15187 P50PfsHa_SPEC,
15188 crate::common::RW,
15189 > {
15190 crate::common::RegisterField::<
15191 6,
15192 0x1,
15193 1,
15194 0,
15195 p50pfs_ha::Ncodr,
15196 p50pfs_ha::Ncodr,
15197 P50PfsHa_SPEC,
15198 crate::common::RW,
15199 >::from_register(self, 0)
15200 }
15201
15202 #[doc = "IRQ Input Enable"]
15203 #[inline(always)]
15204 pub fn isel(
15205 self,
15206 ) -> crate::common::RegisterField<
15207 14,
15208 0x1,
15209 1,
15210 0,
15211 p50pfs_ha::Isel,
15212 p50pfs_ha::Isel,
15213 P50PfsHa_SPEC,
15214 crate::common::RW,
15215 > {
15216 crate::common::RegisterField::<
15217 14,
15218 0x1,
15219 1,
15220 0,
15221 p50pfs_ha::Isel,
15222 p50pfs_ha::Isel,
15223 P50PfsHa_SPEC,
15224 crate::common::RW,
15225 >::from_register(self, 0)
15226 }
15227
15228 #[doc = "Analog Input Enable"]
15229 #[inline(always)]
15230 pub fn asel(
15231 self,
15232 ) -> crate::common::RegisterField<
15233 15,
15234 0x1,
15235 1,
15236 0,
15237 p50pfs_ha::Asel,
15238 p50pfs_ha::Asel,
15239 P50PfsHa_SPEC,
15240 crate::common::RW,
15241 > {
15242 crate::common::RegisterField::<
15243 15,
15244 0x1,
15245 1,
15246 0,
15247 p50pfs_ha::Asel,
15248 p50pfs_ha::Asel,
15249 P50PfsHa_SPEC,
15250 crate::common::RW,
15251 >::from_register(self, 0)
15252 }
15253}
15254impl ::core::default::Default for P50PfsHa {
15255 #[inline(always)]
15256 fn default() -> P50PfsHa {
15257 <crate::RegValueT<P50PfsHa_SPEC> as RegisterValue<_>>::new(0)
15258 }
15259}
15260pub mod p50pfs_ha {
15261
15262 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15263 pub struct Podr_SPEC;
15264 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15265 impl Podr {
15266 #[doc = "Output low"]
15267 pub const _0: Self = Self::new(0);
15268
15269 #[doc = "Output high"]
15270 pub const _1: Self = Self::new(1);
15271 }
15272 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15273 pub struct Pidr_SPEC;
15274 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15275 impl Pidr {
15276 #[doc = "Low level"]
15277 pub const _0: Self = Self::new(0);
15278
15279 #[doc = "High level"]
15280 pub const _1: Self = Self::new(1);
15281 }
15282 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15283 pub struct Pdr_SPEC;
15284 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15285 impl Pdr {
15286 #[doc = "Input (functions as an input pin)"]
15287 pub const _0: Self = Self::new(0);
15288
15289 #[doc = "Output (functions as an output pin)"]
15290 pub const _1: Self = Self::new(1);
15291 }
15292 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15293 pub struct Pcr_SPEC;
15294 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15295 impl Pcr {
15296 #[doc = "Disable input pull-up"]
15297 pub const _0: Self = Self::new(0);
15298
15299 #[doc = "Enable input pull-up"]
15300 pub const _1: Self = Self::new(1);
15301 }
15302 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15303 pub struct Ncodr_SPEC;
15304 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15305 impl Ncodr {
15306 #[doc = "Output CMOS"]
15307 pub const _0: Self = Self::new(0);
15308
15309 #[doc = "Output NMOS open-drain"]
15310 pub const _1: Self = Self::new(1);
15311 }
15312 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15313 pub struct Isel_SPEC;
15314 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15315 impl Isel {
15316 #[doc = "Do not use as IRQn input pin"]
15317 pub const _0: Self = Self::new(0);
15318
15319 #[doc = "Use as IRQn input pin"]
15320 pub const _1: Self = Self::new(1);
15321 }
15322 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15323 pub struct Asel_SPEC;
15324 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15325 impl Asel {
15326 #[doc = "Do not use as analog pin"]
15327 pub const _0: Self = Self::new(0);
15328
15329 #[doc = "Use as analog pin"]
15330 pub const _1: Self = Self::new(1);
15331 }
15332}
15333#[doc(hidden)]
15334#[derive(Copy, Clone, Eq, PartialEq)]
15335pub struct P50PfsBy_SPEC;
15336impl crate::sealed::RegSpec for P50PfsBy_SPEC {
15337 type DataType = u8;
15338}
15339
15340#[doc = "Port 50%s Pin Function Select Register"]
15341pub type P50PfsBy = crate::RegValueT<P50PfsBy_SPEC>;
15342
15343impl P50PfsBy {
15344 #[doc = "Port Output Data"]
15345 #[inline(always)]
15346 pub fn podr(
15347 self,
15348 ) -> crate::common::RegisterField<
15349 0,
15350 0x1,
15351 1,
15352 0,
15353 p50pfs_by::Podr,
15354 p50pfs_by::Podr,
15355 P50PfsBy_SPEC,
15356 crate::common::RW,
15357 > {
15358 crate::common::RegisterField::<
15359 0,
15360 0x1,
15361 1,
15362 0,
15363 p50pfs_by::Podr,
15364 p50pfs_by::Podr,
15365 P50PfsBy_SPEC,
15366 crate::common::RW,
15367 >::from_register(self, 0)
15368 }
15369
15370 #[doc = "Port State"]
15371 #[inline(always)]
15372 pub fn pidr(
15373 self,
15374 ) -> crate::common::RegisterField<
15375 1,
15376 0x1,
15377 1,
15378 0,
15379 p50pfs_by::Pidr,
15380 p50pfs_by::Pidr,
15381 P50PfsBy_SPEC,
15382 crate::common::R,
15383 > {
15384 crate::common::RegisterField::<
15385 1,
15386 0x1,
15387 1,
15388 0,
15389 p50pfs_by::Pidr,
15390 p50pfs_by::Pidr,
15391 P50PfsBy_SPEC,
15392 crate::common::R,
15393 >::from_register(self, 0)
15394 }
15395
15396 #[doc = "Port Direction"]
15397 #[inline(always)]
15398 pub fn pdr(
15399 self,
15400 ) -> crate::common::RegisterField<
15401 2,
15402 0x1,
15403 1,
15404 0,
15405 p50pfs_by::Pdr,
15406 p50pfs_by::Pdr,
15407 P50PfsBy_SPEC,
15408 crate::common::RW,
15409 > {
15410 crate::common::RegisterField::<
15411 2,
15412 0x1,
15413 1,
15414 0,
15415 p50pfs_by::Pdr,
15416 p50pfs_by::Pdr,
15417 P50PfsBy_SPEC,
15418 crate::common::RW,
15419 >::from_register(self, 0)
15420 }
15421
15422 #[doc = "Pull-up Control"]
15423 #[inline(always)]
15424 pub fn pcr(
15425 self,
15426 ) -> crate::common::RegisterField<
15427 4,
15428 0x1,
15429 1,
15430 0,
15431 p50pfs_by::Pcr,
15432 p50pfs_by::Pcr,
15433 P50PfsBy_SPEC,
15434 crate::common::RW,
15435 > {
15436 crate::common::RegisterField::<
15437 4,
15438 0x1,
15439 1,
15440 0,
15441 p50pfs_by::Pcr,
15442 p50pfs_by::Pcr,
15443 P50PfsBy_SPEC,
15444 crate::common::RW,
15445 >::from_register(self, 0)
15446 }
15447
15448 #[doc = "N-Channel Open-Drain Control"]
15449 #[inline(always)]
15450 pub fn ncodr(
15451 self,
15452 ) -> crate::common::RegisterField<
15453 6,
15454 0x1,
15455 1,
15456 0,
15457 p50pfs_by::Ncodr,
15458 p50pfs_by::Ncodr,
15459 P50PfsBy_SPEC,
15460 crate::common::RW,
15461 > {
15462 crate::common::RegisterField::<
15463 6,
15464 0x1,
15465 1,
15466 0,
15467 p50pfs_by::Ncodr,
15468 p50pfs_by::Ncodr,
15469 P50PfsBy_SPEC,
15470 crate::common::RW,
15471 >::from_register(self, 0)
15472 }
15473}
15474impl ::core::default::Default for P50PfsBy {
15475 #[inline(always)]
15476 fn default() -> P50PfsBy {
15477 <crate::RegValueT<P50PfsBy_SPEC> as RegisterValue<_>>::new(0)
15478 }
15479}
15480pub mod p50pfs_by {
15481
15482 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15483 pub struct Podr_SPEC;
15484 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15485 impl Podr {
15486 #[doc = "Output low"]
15487 pub const _0: Self = Self::new(0);
15488
15489 #[doc = "Output high"]
15490 pub const _1: Self = Self::new(1);
15491 }
15492 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15493 pub struct Pidr_SPEC;
15494 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15495 impl Pidr {
15496 #[doc = "Low level"]
15497 pub const _0: Self = Self::new(0);
15498
15499 #[doc = "High level"]
15500 pub const _1: Self = Self::new(1);
15501 }
15502 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15503 pub struct Pdr_SPEC;
15504 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15505 impl Pdr {
15506 #[doc = "Input (functions as an input pin)"]
15507 pub const _0: Self = Self::new(0);
15508
15509 #[doc = "Output (functions as an output pin)"]
15510 pub const _1: Self = Self::new(1);
15511 }
15512 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15513 pub struct Pcr_SPEC;
15514 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15515 impl Pcr {
15516 #[doc = "Disable input pull-up"]
15517 pub const _0: Self = Self::new(0);
15518
15519 #[doc = "Enable input pull-up"]
15520 pub const _1: Self = Self::new(1);
15521 }
15522 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15523 pub struct Ncodr_SPEC;
15524 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15525 impl Ncodr {
15526 #[doc = "Output CMOS"]
15527 pub const _0: Self = Self::new(0);
15528
15529 #[doc = "Output NMOS open-drain"]
15530 pub const _1: Self = Self::new(1);
15531 }
15532}
15533#[doc(hidden)]
15534#[derive(Copy, Clone, Eq, PartialEq)]
15535pub struct P60Pfs_SPEC;
15536impl crate::sealed::RegSpec for P60Pfs_SPEC {
15537 type DataType = u32;
15538}
15539
15540#[doc = "Port 60%s Pin Function Select Register"]
15541pub type P60Pfs = crate::RegValueT<P60Pfs_SPEC>;
15542
15543impl P60Pfs {
15544 #[doc = "Port Output Data"]
15545 #[inline(always)]
15546 pub fn podr(
15547 self,
15548 ) -> crate::common::RegisterField<
15549 0,
15550 0x1,
15551 1,
15552 0,
15553 p60pfs::Podr,
15554 p60pfs::Podr,
15555 P60Pfs_SPEC,
15556 crate::common::RW,
15557 > {
15558 crate::common::RegisterField::<
15559 0,
15560 0x1,
15561 1,
15562 0,
15563 p60pfs::Podr,
15564 p60pfs::Podr,
15565 P60Pfs_SPEC,
15566 crate::common::RW,
15567 >::from_register(self, 0)
15568 }
15569
15570 #[doc = "Port State"]
15571 #[inline(always)]
15572 pub fn pidr(
15573 self,
15574 ) -> crate::common::RegisterField<
15575 1,
15576 0x1,
15577 1,
15578 0,
15579 p60pfs::Pidr,
15580 p60pfs::Pidr,
15581 P60Pfs_SPEC,
15582 crate::common::R,
15583 > {
15584 crate::common::RegisterField::<
15585 1,
15586 0x1,
15587 1,
15588 0,
15589 p60pfs::Pidr,
15590 p60pfs::Pidr,
15591 P60Pfs_SPEC,
15592 crate::common::R,
15593 >::from_register(self, 0)
15594 }
15595
15596 #[doc = "Port Direction"]
15597 #[inline(always)]
15598 pub fn pdr(
15599 self,
15600 ) -> crate::common::RegisterField<
15601 2,
15602 0x1,
15603 1,
15604 0,
15605 p60pfs::Pdr,
15606 p60pfs::Pdr,
15607 P60Pfs_SPEC,
15608 crate::common::RW,
15609 > {
15610 crate::common::RegisterField::<
15611 2,
15612 0x1,
15613 1,
15614 0,
15615 p60pfs::Pdr,
15616 p60pfs::Pdr,
15617 P60Pfs_SPEC,
15618 crate::common::RW,
15619 >::from_register(self, 0)
15620 }
15621
15622 #[doc = "Pull-up Control"]
15623 #[inline(always)]
15624 pub fn pcr(
15625 self,
15626 ) -> crate::common::RegisterField<
15627 4,
15628 0x1,
15629 1,
15630 0,
15631 p60pfs::Pcr,
15632 p60pfs::Pcr,
15633 P60Pfs_SPEC,
15634 crate::common::RW,
15635 > {
15636 crate::common::RegisterField::<
15637 4,
15638 0x1,
15639 1,
15640 0,
15641 p60pfs::Pcr,
15642 p60pfs::Pcr,
15643 P60Pfs_SPEC,
15644 crate::common::RW,
15645 >::from_register(self, 0)
15646 }
15647
15648 #[doc = "N-Channel Open-Drain Control"]
15649 #[inline(always)]
15650 pub fn ncodr(
15651 self,
15652 ) -> crate::common::RegisterField<
15653 6,
15654 0x1,
15655 1,
15656 0,
15657 p60pfs::Ncodr,
15658 p60pfs::Ncodr,
15659 P60Pfs_SPEC,
15660 crate::common::RW,
15661 > {
15662 crate::common::RegisterField::<
15663 6,
15664 0x1,
15665 1,
15666 0,
15667 p60pfs::Ncodr,
15668 p60pfs::Ncodr,
15669 P60Pfs_SPEC,
15670 crate::common::RW,
15671 >::from_register(self, 0)
15672 }
15673
15674 #[doc = "IRQ Input Enable"]
15675 #[inline(always)]
15676 pub fn isel(
15677 self,
15678 ) -> crate::common::RegisterField<
15679 14,
15680 0x1,
15681 1,
15682 0,
15683 p60pfs::Isel,
15684 p60pfs::Isel,
15685 P60Pfs_SPEC,
15686 crate::common::RW,
15687 > {
15688 crate::common::RegisterField::<
15689 14,
15690 0x1,
15691 1,
15692 0,
15693 p60pfs::Isel,
15694 p60pfs::Isel,
15695 P60Pfs_SPEC,
15696 crate::common::RW,
15697 >::from_register(self, 0)
15698 }
15699
15700 #[doc = "Analog Input Enable"]
15701 #[inline(always)]
15702 pub fn asel(
15703 self,
15704 ) -> crate::common::RegisterField<
15705 15,
15706 0x1,
15707 1,
15708 0,
15709 p60pfs::Asel,
15710 p60pfs::Asel,
15711 P60Pfs_SPEC,
15712 crate::common::RW,
15713 > {
15714 crate::common::RegisterField::<
15715 15,
15716 0x1,
15717 1,
15718 0,
15719 p60pfs::Asel,
15720 p60pfs::Asel,
15721 P60Pfs_SPEC,
15722 crate::common::RW,
15723 >::from_register(self, 0)
15724 }
15725
15726 #[doc = "Port Mode Control"]
15727 #[inline(always)]
15728 pub fn pmr(
15729 self,
15730 ) -> crate::common::RegisterField<
15731 16,
15732 0x1,
15733 1,
15734 0,
15735 p60pfs::Pmr,
15736 p60pfs::Pmr,
15737 P60Pfs_SPEC,
15738 crate::common::RW,
15739 > {
15740 crate::common::RegisterField::<
15741 16,
15742 0x1,
15743 1,
15744 0,
15745 p60pfs::Pmr,
15746 p60pfs::Pmr,
15747 P60Pfs_SPEC,
15748 crate::common::RW,
15749 >::from_register(self, 0)
15750 }
15751
15752 #[doc = "Peripheral Select"]
15753 #[inline(always)]
15754 pub fn psel(
15755 self,
15756 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P60Pfs_SPEC, crate::common::RW> {
15757 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P60Pfs_SPEC,crate::common::RW>::from_register(self,0)
15758 }
15759}
15760impl ::core::default::Default for P60Pfs {
15761 #[inline(always)]
15762 fn default() -> P60Pfs {
15763 <crate::RegValueT<P60Pfs_SPEC> as RegisterValue<_>>::new(0)
15764 }
15765}
15766pub mod p60pfs {
15767
15768 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15769 pub struct Podr_SPEC;
15770 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15771 impl Podr {
15772 #[doc = "Output low"]
15773 pub const _0: Self = Self::new(0);
15774
15775 #[doc = "Output high"]
15776 pub const _1: Self = Self::new(1);
15777 }
15778 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15779 pub struct Pidr_SPEC;
15780 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15781 impl Pidr {
15782 #[doc = "Low level"]
15783 pub const _0: Self = Self::new(0);
15784
15785 #[doc = "High level"]
15786 pub const _1: Self = Self::new(1);
15787 }
15788 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15789 pub struct Pdr_SPEC;
15790 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15791 impl Pdr {
15792 #[doc = "Input (functions as an input pin)"]
15793 pub const _0: Self = Self::new(0);
15794
15795 #[doc = "Output (functions as an output pin)"]
15796 pub const _1: Self = Self::new(1);
15797 }
15798 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15799 pub struct Pcr_SPEC;
15800 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15801 impl Pcr {
15802 #[doc = "Disable input pull-up"]
15803 pub const _0: Self = Self::new(0);
15804
15805 #[doc = "Enable input pull-up"]
15806 pub const _1: Self = Self::new(1);
15807 }
15808 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15809 pub struct Ncodr_SPEC;
15810 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15811 impl Ncodr {
15812 #[doc = "Output CMOS"]
15813 pub const _0: Self = Self::new(0);
15814
15815 #[doc = "Output NMOS open-drain"]
15816 pub const _1: Self = Self::new(1);
15817 }
15818 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15819 pub struct Isel_SPEC;
15820 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15821 impl Isel {
15822 #[doc = "Do not use as IRQn input pin"]
15823 pub const _0: Self = Self::new(0);
15824
15825 #[doc = "Use as IRQn input pin"]
15826 pub const _1: Self = Self::new(1);
15827 }
15828 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15829 pub struct Asel_SPEC;
15830 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15831 impl Asel {
15832 #[doc = "Do not use as analog pin"]
15833 pub const _0: Self = Self::new(0);
15834
15835 #[doc = "Use as analog pin"]
15836 pub const _1: Self = Self::new(1);
15837 }
15838 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15839 pub struct Pmr_SPEC;
15840 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
15841 impl Pmr {
15842 #[doc = "Use as general I/O pin"]
15843 pub const _0: Self = Self::new(0);
15844
15845 #[doc = "Use as I/O port for peripheral functions"]
15846 pub const _1: Self = Self::new(1);
15847 }
15848}
15849#[doc(hidden)]
15850#[derive(Copy, Clone, Eq, PartialEq)]
15851pub struct P60PfsHa_SPEC;
15852impl crate::sealed::RegSpec for P60PfsHa_SPEC {
15853 type DataType = u16;
15854}
15855
15856#[doc = "Port 60%s Pin Function Select Register"]
15857pub type P60PfsHa = crate::RegValueT<P60PfsHa_SPEC>;
15858
15859impl P60PfsHa {
15860 #[doc = "Port Output Data"]
15861 #[inline(always)]
15862 pub fn podr(
15863 self,
15864 ) -> crate::common::RegisterField<
15865 0,
15866 0x1,
15867 1,
15868 0,
15869 p60pfs_ha::Podr,
15870 p60pfs_ha::Podr,
15871 P60PfsHa_SPEC,
15872 crate::common::RW,
15873 > {
15874 crate::common::RegisterField::<
15875 0,
15876 0x1,
15877 1,
15878 0,
15879 p60pfs_ha::Podr,
15880 p60pfs_ha::Podr,
15881 P60PfsHa_SPEC,
15882 crate::common::RW,
15883 >::from_register(self, 0)
15884 }
15885
15886 #[doc = "Port State"]
15887 #[inline(always)]
15888 pub fn pidr(
15889 self,
15890 ) -> crate::common::RegisterField<
15891 1,
15892 0x1,
15893 1,
15894 0,
15895 p60pfs_ha::Pidr,
15896 p60pfs_ha::Pidr,
15897 P60PfsHa_SPEC,
15898 crate::common::R,
15899 > {
15900 crate::common::RegisterField::<
15901 1,
15902 0x1,
15903 1,
15904 0,
15905 p60pfs_ha::Pidr,
15906 p60pfs_ha::Pidr,
15907 P60PfsHa_SPEC,
15908 crate::common::R,
15909 >::from_register(self, 0)
15910 }
15911
15912 #[doc = "Port Direction"]
15913 #[inline(always)]
15914 pub fn pdr(
15915 self,
15916 ) -> crate::common::RegisterField<
15917 2,
15918 0x1,
15919 1,
15920 0,
15921 p60pfs_ha::Pdr,
15922 p60pfs_ha::Pdr,
15923 P60PfsHa_SPEC,
15924 crate::common::RW,
15925 > {
15926 crate::common::RegisterField::<
15927 2,
15928 0x1,
15929 1,
15930 0,
15931 p60pfs_ha::Pdr,
15932 p60pfs_ha::Pdr,
15933 P60PfsHa_SPEC,
15934 crate::common::RW,
15935 >::from_register(self, 0)
15936 }
15937
15938 #[doc = "Pull-up Control"]
15939 #[inline(always)]
15940 pub fn pcr(
15941 self,
15942 ) -> crate::common::RegisterField<
15943 4,
15944 0x1,
15945 1,
15946 0,
15947 p60pfs_ha::Pcr,
15948 p60pfs_ha::Pcr,
15949 P60PfsHa_SPEC,
15950 crate::common::RW,
15951 > {
15952 crate::common::RegisterField::<
15953 4,
15954 0x1,
15955 1,
15956 0,
15957 p60pfs_ha::Pcr,
15958 p60pfs_ha::Pcr,
15959 P60PfsHa_SPEC,
15960 crate::common::RW,
15961 >::from_register(self, 0)
15962 }
15963
15964 #[doc = "N-Channel Open-Drain Control"]
15965 #[inline(always)]
15966 pub fn ncodr(
15967 self,
15968 ) -> crate::common::RegisterField<
15969 6,
15970 0x1,
15971 1,
15972 0,
15973 p60pfs_ha::Ncodr,
15974 p60pfs_ha::Ncodr,
15975 P60PfsHa_SPEC,
15976 crate::common::RW,
15977 > {
15978 crate::common::RegisterField::<
15979 6,
15980 0x1,
15981 1,
15982 0,
15983 p60pfs_ha::Ncodr,
15984 p60pfs_ha::Ncodr,
15985 P60PfsHa_SPEC,
15986 crate::common::RW,
15987 >::from_register(self, 0)
15988 }
15989
15990 #[doc = "IRQ Input Enable"]
15991 #[inline(always)]
15992 pub fn isel(
15993 self,
15994 ) -> crate::common::RegisterField<
15995 14,
15996 0x1,
15997 1,
15998 0,
15999 p60pfs_ha::Isel,
16000 p60pfs_ha::Isel,
16001 P60PfsHa_SPEC,
16002 crate::common::RW,
16003 > {
16004 crate::common::RegisterField::<
16005 14,
16006 0x1,
16007 1,
16008 0,
16009 p60pfs_ha::Isel,
16010 p60pfs_ha::Isel,
16011 P60PfsHa_SPEC,
16012 crate::common::RW,
16013 >::from_register(self, 0)
16014 }
16015
16016 #[doc = "Analog Input Enable"]
16017 #[inline(always)]
16018 pub fn asel(
16019 self,
16020 ) -> crate::common::RegisterField<
16021 15,
16022 0x1,
16023 1,
16024 0,
16025 p60pfs_ha::Asel,
16026 p60pfs_ha::Asel,
16027 P60PfsHa_SPEC,
16028 crate::common::RW,
16029 > {
16030 crate::common::RegisterField::<
16031 15,
16032 0x1,
16033 1,
16034 0,
16035 p60pfs_ha::Asel,
16036 p60pfs_ha::Asel,
16037 P60PfsHa_SPEC,
16038 crate::common::RW,
16039 >::from_register(self, 0)
16040 }
16041}
16042impl ::core::default::Default for P60PfsHa {
16043 #[inline(always)]
16044 fn default() -> P60PfsHa {
16045 <crate::RegValueT<P60PfsHa_SPEC> as RegisterValue<_>>::new(0)
16046 }
16047}
16048pub mod p60pfs_ha {
16049
16050 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16051 pub struct Podr_SPEC;
16052 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16053 impl Podr {
16054 #[doc = "Output low"]
16055 pub const _0: Self = Self::new(0);
16056
16057 #[doc = "Output high"]
16058 pub const _1: Self = Self::new(1);
16059 }
16060 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16061 pub struct Pidr_SPEC;
16062 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16063 impl Pidr {
16064 #[doc = "Low level"]
16065 pub const _0: Self = Self::new(0);
16066
16067 #[doc = "High level"]
16068 pub const _1: Self = Self::new(1);
16069 }
16070 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16071 pub struct Pdr_SPEC;
16072 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16073 impl Pdr {
16074 #[doc = "Input (functions as an input pin)"]
16075 pub const _0: Self = Self::new(0);
16076
16077 #[doc = "Output (functions as an output pin)"]
16078 pub const _1: Self = Self::new(1);
16079 }
16080 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16081 pub struct Pcr_SPEC;
16082 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16083 impl Pcr {
16084 #[doc = "Disable input pull-up"]
16085 pub const _0: Self = Self::new(0);
16086
16087 #[doc = "Enable input pull-up"]
16088 pub const _1: Self = Self::new(1);
16089 }
16090 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16091 pub struct Ncodr_SPEC;
16092 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16093 impl Ncodr {
16094 #[doc = "Output CMOS"]
16095 pub const _0: Self = Self::new(0);
16096
16097 #[doc = "Output NMOS open-drain"]
16098 pub const _1: Self = Self::new(1);
16099 }
16100 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16101 pub struct Isel_SPEC;
16102 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16103 impl Isel {
16104 #[doc = "Do not use as IRQn input pin"]
16105 pub const _0: Self = Self::new(0);
16106
16107 #[doc = "Use as IRQn input pin"]
16108 pub const _1: Self = Self::new(1);
16109 }
16110 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16111 pub struct Asel_SPEC;
16112 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16113 impl Asel {
16114 #[doc = "Do not use as analog pin"]
16115 pub const _0: Self = Self::new(0);
16116
16117 #[doc = "Use as analog pin"]
16118 pub const _1: Self = Self::new(1);
16119 }
16120}
16121#[doc(hidden)]
16122#[derive(Copy, Clone, Eq, PartialEq)]
16123pub struct P60PfsBy_SPEC;
16124impl crate::sealed::RegSpec for P60PfsBy_SPEC {
16125 type DataType = u8;
16126}
16127
16128#[doc = "Port 60%s Pin Function Select Register"]
16129pub type P60PfsBy = crate::RegValueT<P60PfsBy_SPEC>;
16130
16131impl P60PfsBy {
16132 #[doc = "Port Output Data"]
16133 #[inline(always)]
16134 pub fn podr(
16135 self,
16136 ) -> crate::common::RegisterField<
16137 0,
16138 0x1,
16139 1,
16140 0,
16141 p60pfs_by::Podr,
16142 p60pfs_by::Podr,
16143 P60PfsBy_SPEC,
16144 crate::common::RW,
16145 > {
16146 crate::common::RegisterField::<
16147 0,
16148 0x1,
16149 1,
16150 0,
16151 p60pfs_by::Podr,
16152 p60pfs_by::Podr,
16153 P60PfsBy_SPEC,
16154 crate::common::RW,
16155 >::from_register(self, 0)
16156 }
16157
16158 #[doc = "Port State"]
16159 #[inline(always)]
16160 pub fn pidr(
16161 self,
16162 ) -> crate::common::RegisterField<
16163 1,
16164 0x1,
16165 1,
16166 0,
16167 p60pfs_by::Pidr,
16168 p60pfs_by::Pidr,
16169 P60PfsBy_SPEC,
16170 crate::common::R,
16171 > {
16172 crate::common::RegisterField::<
16173 1,
16174 0x1,
16175 1,
16176 0,
16177 p60pfs_by::Pidr,
16178 p60pfs_by::Pidr,
16179 P60PfsBy_SPEC,
16180 crate::common::R,
16181 >::from_register(self, 0)
16182 }
16183
16184 #[doc = "Port Direction"]
16185 #[inline(always)]
16186 pub fn pdr(
16187 self,
16188 ) -> crate::common::RegisterField<
16189 2,
16190 0x1,
16191 1,
16192 0,
16193 p60pfs_by::Pdr,
16194 p60pfs_by::Pdr,
16195 P60PfsBy_SPEC,
16196 crate::common::RW,
16197 > {
16198 crate::common::RegisterField::<
16199 2,
16200 0x1,
16201 1,
16202 0,
16203 p60pfs_by::Pdr,
16204 p60pfs_by::Pdr,
16205 P60PfsBy_SPEC,
16206 crate::common::RW,
16207 >::from_register(self, 0)
16208 }
16209
16210 #[doc = "Pull-up Control"]
16211 #[inline(always)]
16212 pub fn pcr(
16213 self,
16214 ) -> crate::common::RegisterField<
16215 4,
16216 0x1,
16217 1,
16218 0,
16219 p60pfs_by::Pcr,
16220 p60pfs_by::Pcr,
16221 P60PfsBy_SPEC,
16222 crate::common::RW,
16223 > {
16224 crate::common::RegisterField::<
16225 4,
16226 0x1,
16227 1,
16228 0,
16229 p60pfs_by::Pcr,
16230 p60pfs_by::Pcr,
16231 P60PfsBy_SPEC,
16232 crate::common::RW,
16233 >::from_register(self, 0)
16234 }
16235
16236 #[doc = "N-Channel Open-Drain Control"]
16237 #[inline(always)]
16238 pub fn ncodr(
16239 self,
16240 ) -> crate::common::RegisterField<
16241 6,
16242 0x1,
16243 1,
16244 0,
16245 p60pfs_by::Ncodr,
16246 p60pfs_by::Ncodr,
16247 P60PfsBy_SPEC,
16248 crate::common::RW,
16249 > {
16250 crate::common::RegisterField::<
16251 6,
16252 0x1,
16253 1,
16254 0,
16255 p60pfs_by::Ncodr,
16256 p60pfs_by::Ncodr,
16257 P60PfsBy_SPEC,
16258 crate::common::RW,
16259 >::from_register(self, 0)
16260 }
16261}
16262impl ::core::default::Default for P60PfsBy {
16263 #[inline(always)]
16264 fn default() -> P60PfsBy {
16265 <crate::RegValueT<P60PfsBy_SPEC> as RegisterValue<_>>::new(0)
16266 }
16267}
16268pub mod p60pfs_by {
16269
16270 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16271 pub struct Podr_SPEC;
16272 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16273 impl Podr {
16274 #[doc = "Output low"]
16275 pub const _0: Self = Self::new(0);
16276
16277 #[doc = "Output high"]
16278 pub const _1: Self = Self::new(1);
16279 }
16280 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16281 pub struct Pidr_SPEC;
16282 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16283 impl Pidr {
16284 #[doc = "Low level"]
16285 pub const _0: Self = Self::new(0);
16286
16287 #[doc = "High level"]
16288 pub const _1: Self = Self::new(1);
16289 }
16290 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16291 pub struct Pdr_SPEC;
16292 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16293 impl Pdr {
16294 #[doc = "Input (functions as an input pin)"]
16295 pub const _0: Self = Self::new(0);
16296
16297 #[doc = "Output (functions as an output pin)"]
16298 pub const _1: Self = Self::new(1);
16299 }
16300 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16301 pub struct Pcr_SPEC;
16302 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16303 impl Pcr {
16304 #[doc = "Disable input pull-up"]
16305 pub const _0: Self = Self::new(0);
16306
16307 #[doc = "Enable input pull-up"]
16308 pub const _1: Self = Self::new(1);
16309 }
16310 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16311 pub struct Ncodr_SPEC;
16312 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16313 impl Ncodr {
16314 #[doc = "Output CMOS"]
16315 pub const _0: Self = Self::new(0);
16316
16317 #[doc = "Output NMOS open-drain"]
16318 pub const _1: Self = Self::new(1);
16319 }
16320}
16321#[doc(hidden)]
16322#[derive(Copy, Clone, Eq, PartialEq)]
16323pub struct P610Pfs_SPEC;
16324impl crate::sealed::RegSpec for P610Pfs_SPEC {
16325 type DataType = u32;
16326}
16327
16328#[doc = "Port 610 Pin Function Select Register"]
16329pub type P610Pfs = crate::RegValueT<P610Pfs_SPEC>;
16330
16331impl P610Pfs {
16332 #[doc = "Port Output Data"]
16333 #[inline(always)]
16334 pub fn podr(
16335 self,
16336 ) -> crate::common::RegisterField<
16337 0,
16338 0x1,
16339 1,
16340 0,
16341 p610pfs::Podr,
16342 p610pfs::Podr,
16343 P610Pfs_SPEC,
16344 crate::common::RW,
16345 > {
16346 crate::common::RegisterField::<
16347 0,
16348 0x1,
16349 1,
16350 0,
16351 p610pfs::Podr,
16352 p610pfs::Podr,
16353 P610Pfs_SPEC,
16354 crate::common::RW,
16355 >::from_register(self, 0)
16356 }
16357
16358 #[doc = "Port State"]
16359 #[inline(always)]
16360 pub fn pidr(
16361 self,
16362 ) -> crate::common::RegisterField<
16363 1,
16364 0x1,
16365 1,
16366 0,
16367 p610pfs::Pidr,
16368 p610pfs::Pidr,
16369 P610Pfs_SPEC,
16370 crate::common::R,
16371 > {
16372 crate::common::RegisterField::<
16373 1,
16374 0x1,
16375 1,
16376 0,
16377 p610pfs::Pidr,
16378 p610pfs::Pidr,
16379 P610Pfs_SPEC,
16380 crate::common::R,
16381 >::from_register(self, 0)
16382 }
16383
16384 #[doc = "Port Direction"]
16385 #[inline(always)]
16386 pub fn pdr(
16387 self,
16388 ) -> crate::common::RegisterField<
16389 2,
16390 0x1,
16391 1,
16392 0,
16393 p610pfs::Pdr,
16394 p610pfs::Pdr,
16395 P610Pfs_SPEC,
16396 crate::common::RW,
16397 > {
16398 crate::common::RegisterField::<
16399 2,
16400 0x1,
16401 1,
16402 0,
16403 p610pfs::Pdr,
16404 p610pfs::Pdr,
16405 P610Pfs_SPEC,
16406 crate::common::RW,
16407 >::from_register(self, 0)
16408 }
16409
16410 #[doc = "Pull-up Control"]
16411 #[inline(always)]
16412 pub fn pcr(
16413 self,
16414 ) -> crate::common::RegisterField<
16415 4,
16416 0x1,
16417 1,
16418 0,
16419 p610pfs::Pcr,
16420 p610pfs::Pcr,
16421 P610Pfs_SPEC,
16422 crate::common::RW,
16423 > {
16424 crate::common::RegisterField::<
16425 4,
16426 0x1,
16427 1,
16428 0,
16429 p610pfs::Pcr,
16430 p610pfs::Pcr,
16431 P610Pfs_SPEC,
16432 crate::common::RW,
16433 >::from_register(self, 0)
16434 }
16435
16436 #[doc = "N-Channel Open-Drain Control"]
16437 #[inline(always)]
16438 pub fn ncodr(
16439 self,
16440 ) -> crate::common::RegisterField<
16441 6,
16442 0x1,
16443 1,
16444 0,
16445 p610pfs::Ncodr,
16446 p610pfs::Ncodr,
16447 P610Pfs_SPEC,
16448 crate::common::RW,
16449 > {
16450 crate::common::RegisterField::<
16451 6,
16452 0x1,
16453 1,
16454 0,
16455 p610pfs::Ncodr,
16456 p610pfs::Ncodr,
16457 P610Pfs_SPEC,
16458 crate::common::RW,
16459 >::from_register(self, 0)
16460 }
16461
16462 #[doc = "IRQ Input Enable"]
16463 #[inline(always)]
16464 pub fn isel(
16465 self,
16466 ) -> crate::common::RegisterField<
16467 14,
16468 0x1,
16469 1,
16470 0,
16471 p610pfs::Isel,
16472 p610pfs::Isel,
16473 P610Pfs_SPEC,
16474 crate::common::RW,
16475 > {
16476 crate::common::RegisterField::<
16477 14,
16478 0x1,
16479 1,
16480 0,
16481 p610pfs::Isel,
16482 p610pfs::Isel,
16483 P610Pfs_SPEC,
16484 crate::common::RW,
16485 >::from_register(self, 0)
16486 }
16487
16488 #[doc = "Analog Input Enable"]
16489 #[inline(always)]
16490 pub fn asel(
16491 self,
16492 ) -> crate::common::RegisterField<
16493 15,
16494 0x1,
16495 1,
16496 0,
16497 p610pfs::Asel,
16498 p610pfs::Asel,
16499 P610Pfs_SPEC,
16500 crate::common::RW,
16501 > {
16502 crate::common::RegisterField::<
16503 15,
16504 0x1,
16505 1,
16506 0,
16507 p610pfs::Asel,
16508 p610pfs::Asel,
16509 P610Pfs_SPEC,
16510 crate::common::RW,
16511 >::from_register(self, 0)
16512 }
16513
16514 #[doc = "Port Mode Control"]
16515 #[inline(always)]
16516 pub fn pmr(
16517 self,
16518 ) -> crate::common::RegisterField<
16519 16,
16520 0x1,
16521 1,
16522 0,
16523 p610pfs::Pmr,
16524 p610pfs::Pmr,
16525 P610Pfs_SPEC,
16526 crate::common::RW,
16527 > {
16528 crate::common::RegisterField::<
16529 16,
16530 0x1,
16531 1,
16532 0,
16533 p610pfs::Pmr,
16534 p610pfs::Pmr,
16535 P610Pfs_SPEC,
16536 crate::common::RW,
16537 >::from_register(self, 0)
16538 }
16539
16540 #[doc = "Peripheral Select"]
16541 #[inline(always)]
16542 pub fn psel(
16543 self,
16544 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P610Pfs_SPEC, crate::common::RW> {
16545 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P610Pfs_SPEC,crate::common::RW>::from_register(self,0)
16546 }
16547}
16548impl ::core::default::Default for P610Pfs {
16549 #[inline(always)]
16550 fn default() -> P610Pfs {
16551 <crate::RegValueT<P610Pfs_SPEC> as RegisterValue<_>>::new(0)
16552 }
16553}
16554pub mod p610pfs {
16555
16556 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16557 pub struct Podr_SPEC;
16558 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16559 impl Podr {
16560 #[doc = "Output low"]
16561 pub const _0: Self = Self::new(0);
16562
16563 #[doc = "Output high"]
16564 pub const _1: Self = Self::new(1);
16565 }
16566 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16567 pub struct Pidr_SPEC;
16568 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16569 impl Pidr {
16570 #[doc = "Low level"]
16571 pub const _0: Self = Self::new(0);
16572
16573 #[doc = "High level"]
16574 pub const _1: Self = Self::new(1);
16575 }
16576 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16577 pub struct Pdr_SPEC;
16578 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16579 impl Pdr {
16580 #[doc = "Input (functions as an input pin)"]
16581 pub const _0: Self = Self::new(0);
16582
16583 #[doc = "Output (functions as an output pin)"]
16584 pub const _1: Self = Self::new(1);
16585 }
16586 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16587 pub struct Pcr_SPEC;
16588 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16589 impl Pcr {
16590 #[doc = "Disable input pull-up"]
16591 pub const _0: Self = Self::new(0);
16592
16593 #[doc = "Enable input pull-up"]
16594 pub const _1: Self = Self::new(1);
16595 }
16596 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16597 pub struct Ncodr_SPEC;
16598 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16599 impl Ncodr {
16600 #[doc = "Output CMOS"]
16601 pub const _0: Self = Self::new(0);
16602
16603 #[doc = "Output NMOS open-drain"]
16604 pub const _1: Self = Self::new(1);
16605 }
16606 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16607 pub struct Isel_SPEC;
16608 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16609 impl Isel {
16610 #[doc = "Do not use as IRQn input pin"]
16611 pub const _0: Self = Self::new(0);
16612
16613 #[doc = "Use as IRQn input pin"]
16614 pub const _1: Self = Self::new(1);
16615 }
16616 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16617 pub struct Asel_SPEC;
16618 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16619 impl Asel {
16620 #[doc = "Do not use as analog pin"]
16621 pub const _0: Self = Self::new(0);
16622
16623 #[doc = "Use as analog pin"]
16624 pub const _1: Self = Self::new(1);
16625 }
16626 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16627 pub struct Pmr_SPEC;
16628 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
16629 impl Pmr {
16630 #[doc = "Use as general I/O pin"]
16631 pub const _0: Self = Self::new(0);
16632
16633 #[doc = "Use as I/O port for peripheral functions"]
16634 pub const _1: Self = Self::new(1);
16635 }
16636}
16637#[doc(hidden)]
16638#[derive(Copy, Clone, Eq, PartialEq)]
16639pub struct P610PfsHa_SPEC;
16640impl crate::sealed::RegSpec for P610PfsHa_SPEC {
16641 type DataType = u16;
16642}
16643
16644#[doc = "Port 610 Pin Function Select Register"]
16645pub type P610PfsHa = crate::RegValueT<P610PfsHa_SPEC>;
16646
16647impl P610PfsHa {
16648 #[doc = "Port Output Data"]
16649 #[inline(always)]
16650 pub fn podr(
16651 self,
16652 ) -> crate::common::RegisterField<
16653 0,
16654 0x1,
16655 1,
16656 0,
16657 p610pfs_ha::Podr,
16658 p610pfs_ha::Podr,
16659 P610PfsHa_SPEC,
16660 crate::common::RW,
16661 > {
16662 crate::common::RegisterField::<
16663 0,
16664 0x1,
16665 1,
16666 0,
16667 p610pfs_ha::Podr,
16668 p610pfs_ha::Podr,
16669 P610PfsHa_SPEC,
16670 crate::common::RW,
16671 >::from_register(self, 0)
16672 }
16673
16674 #[doc = "Port State"]
16675 #[inline(always)]
16676 pub fn pidr(
16677 self,
16678 ) -> crate::common::RegisterField<
16679 1,
16680 0x1,
16681 1,
16682 0,
16683 p610pfs_ha::Pidr,
16684 p610pfs_ha::Pidr,
16685 P610PfsHa_SPEC,
16686 crate::common::R,
16687 > {
16688 crate::common::RegisterField::<
16689 1,
16690 0x1,
16691 1,
16692 0,
16693 p610pfs_ha::Pidr,
16694 p610pfs_ha::Pidr,
16695 P610PfsHa_SPEC,
16696 crate::common::R,
16697 >::from_register(self, 0)
16698 }
16699
16700 #[doc = "Port Direction"]
16701 #[inline(always)]
16702 pub fn pdr(
16703 self,
16704 ) -> crate::common::RegisterField<
16705 2,
16706 0x1,
16707 1,
16708 0,
16709 p610pfs_ha::Pdr,
16710 p610pfs_ha::Pdr,
16711 P610PfsHa_SPEC,
16712 crate::common::RW,
16713 > {
16714 crate::common::RegisterField::<
16715 2,
16716 0x1,
16717 1,
16718 0,
16719 p610pfs_ha::Pdr,
16720 p610pfs_ha::Pdr,
16721 P610PfsHa_SPEC,
16722 crate::common::RW,
16723 >::from_register(self, 0)
16724 }
16725
16726 #[doc = "Pull-up Control"]
16727 #[inline(always)]
16728 pub fn pcr(
16729 self,
16730 ) -> crate::common::RegisterField<
16731 4,
16732 0x1,
16733 1,
16734 0,
16735 p610pfs_ha::Pcr,
16736 p610pfs_ha::Pcr,
16737 P610PfsHa_SPEC,
16738 crate::common::RW,
16739 > {
16740 crate::common::RegisterField::<
16741 4,
16742 0x1,
16743 1,
16744 0,
16745 p610pfs_ha::Pcr,
16746 p610pfs_ha::Pcr,
16747 P610PfsHa_SPEC,
16748 crate::common::RW,
16749 >::from_register(self, 0)
16750 }
16751
16752 #[doc = "N-Channel Open-Drain Control"]
16753 #[inline(always)]
16754 pub fn ncodr(
16755 self,
16756 ) -> crate::common::RegisterField<
16757 6,
16758 0x1,
16759 1,
16760 0,
16761 p610pfs_ha::Ncodr,
16762 p610pfs_ha::Ncodr,
16763 P610PfsHa_SPEC,
16764 crate::common::RW,
16765 > {
16766 crate::common::RegisterField::<
16767 6,
16768 0x1,
16769 1,
16770 0,
16771 p610pfs_ha::Ncodr,
16772 p610pfs_ha::Ncodr,
16773 P610PfsHa_SPEC,
16774 crate::common::RW,
16775 >::from_register(self, 0)
16776 }
16777
16778 #[doc = "IRQ Input Enable"]
16779 #[inline(always)]
16780 pub fn isel(
16781 self,
16782 ) -> crate::common::RegisterField<
16783 14,
16784 0x1,
16785 1,
16786 0,
16787 p610pfs_ha::Isel,
16788 p610pfs_ha::Isel,
16789 P610PfsHa_SPEC,
16790 crate::common::RW,
16791 > {
16792 crate::common::RegisterField::<
16793 14,
16794 0x1,
16795 1,
16796 0,
16797 p610pfs_ha::Isel,
16798 p610pfs_ha::Isel,
16799 P610PfsHa_SPEC,
16800 crate::common::RW,
16801 >::from_register(self, 0)
16802 }
16803
16804 #[doc = "Analog Input Enable"]
16805 #[inline(always)]
16806 pub fn asel(
16807 self,
16808 ) -> crate::common::RegisterField<
16809 15,
16810 0x1,
16811 1,
16812 0,
16813 p610pfs_ha::Asel,
16814 p610pfs_ha::Asel,
16815 P610PfsHa_SPEC,
16816 crate::common::RW,
16817 > {
16818 crate::common::RegisterField::<
16819 15,
16820 0x1,
16821 1,
16822 0,
16823 p610pfs_ha::Asel,
16824 p610pfs_ha::Asel,
16825 P610PfsHa_SPEC,
16826 crate::common::RW,
16827 >::from_register(self, 0)
16828 }
16829}
16830impl ::core::default::Default for P610PfsHa {
16831 #[inline(always)]
16832 fn default() -> P610PfsHa {
16833 <crate::RegValueT<P610PfsHa_SPEC> as RegisterValue<_>>::new(0)
16834 }
16835}
16836pub mod p610pfs_ha {
16837
16838 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16839 pub struct Podr_SPEC;
16840 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
16841 impl Podr {
16842 #[doc = "Output low"]
16843 pub const _0: Self = Self::new(0);
16844
16845 #[doc = "Output high"]
16846 pub const _1: Self = Self::new(1);
16847 }
16848 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16849 pub struct Pidr_SPEC;
16850 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
16851 impl Pidr {
16852 #[doc = "Low level"]
16853 pub const _0: Self = Self::new(0);
16854
16855 #[doc = "High level"]
16856 pub const _1: Self = Self::new(1);
16857 }
16858 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16859 pub struct Pdr_SPEC;
16860 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
16861 impl Pdr {
16862 #[doc = "Input (functions as an input pin)"]
16863 pub const _0: Self = Self::new(0);
16864
16865 #[doc = "Output (functions as an output pin)"]
16866 pub const _1: Self = Self::new(1);
16867 }
16868 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16869 pub struct Pcr_SPEC;
16870 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16871 impl Pcr {
16872 #[doc = "Disable input pull-up"]
16873 pub const _0: Self = Self::new(0);
16874
16875 #[doc = "Enable input pull-up"]
16876 pub const _1: Self = Self::new(1);
16877 }
16878 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16879 pub struct Ncodr_SPEC;
16880 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16881 impl Ncodr {
16882 #[doc = "Output CMOS"]
16883 pub const _0: Self = Self::new(0);
16884
16885 #[doc = "Output NMOS open-drain"]
16886 pub const _1: Self = Self::new(1);
16887 }
16888 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16889 pub struct Isel_SPEC;
16890 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
16891 impl Isel {
16892 #[doc = "Do not use as IRQn input pin"]
16893 pub const _0: Self = Self::new(0);
16894
16895 #[doc = "Use as IRQn input pin"]
16896 pub const _1: Self = Self::new(1);
16897 }
16898 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16899 pub struct Asel_SPEC;
16900 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
16901 impl Asel {
16902 #[doc = "Do not use as analog pin"]
16903 pub const _0: Self = Self::new(0);
16904
16905 #[doc = "Use as analog pin"]
16906 pub const _1: Self = Self::new(1);
16907 }
16908}
16909#[doc(hidden)]
16910#[derive(Copy, Clone, Eq, PartialEq)]
16911pub struct P610PfsBy_SPEC;
16912impl crate::sealed::RegSpec for P610PfsBy_SPEC {
16913 type DataType = u8;
16914}
16915
16916#[doc = "Port 610 Pin Function Select Register"]
16917pub type P610PfsBy = crate::RegValueT<P610PfsBy_SPEC>;
16918
16919impl P610PfsBy {
16920 #[doc = "Port Output Data"]
16921 #[inline(always)]
16922 pub fn podr(
16923 self,
16924 ) -> crate::common::RegisterField<
16925 0,
16926 0x1,
16927 1,
16928 0,
16929 p610pfs_by::Podr,
16930 p610pfs_by::Podr,
16931 P610PfsBy_SPEC,
16932 crate::common::RW,
16933 > {
16934 crate::common::RegisterField::<
16935 0,
16936 0x1,
16937 1,
16938 0,
16939 p610pfs_by::Podr,
16940 p610pfs_by::Podr,
16941 P610PfsBy_SPEC,
16942 crate::common::RW,
16943 >::from_register(self, 0)
16944 }
16945
16946 #[doc = "Port State"]
16947 #[inline(always)]
16948 pub fn pidr(
16949 self,
16950 ) -> crate::common::RegisterField<
16951 1,
16952 0x1,
16953 1,
16954 0,
16955 p610pfs_by::Pidr,
16956 p610pfs_by::Pidr,
16957 P610PfsBy_SPEC,
16958 crate::common::R,
16959 > {
16960 crate::common::RegisterField::<
16961 1,
16962 0x1,
16963 1,
16964 0,
16965 p610pfs_by::Pidr,
16966 p610pfs_by::Pidr,
16967 P610PfsBy_SPEC,
16968 crate::common::R,
16969 >::from_register(self, 0)
16970 }
16971
16972 #[doc = "Port Direction"]
16973 #[inline(always)]
16974 pub fn pdr(
16975 self,
16976 ) -> crate::common::RegisterField<
16977 2,
16978 0x1,
16979 1,
16980 0,
16981 p610pfs_by::Pdr,
16982 p610pfs_by::Pdr,
16983 P610PfsBy_SPEC,
16984 crate::common::RW,
16985 > {
16986 crate::common::RegisterField::<
16987 2,
16988 0x1,
16989 1,
16990 0,
16991 p610pfs_by::Pdr,
16992 p610pfs_by::Pdr,
16993 P610PfsBy_SPEC,
16994 crate::common::RW,
16995 >::from_register(self, 0)
16996 }
16997
16998 #[doc = "Pull-up Control"]
16999 #[inline(always)]
17000 pub fn pcr(
17001 self,
17002 ) -> crate::common::RegisterField<
17003 4,
17004 0x1,
17005 1,
17006 0,
17007 p610pfs_by::Pcr,
17008 p610pfs_by::Pcr,
17009 P610PfsBy_SPEC,
17010 crate::common::RW,
17011 > {
17012 crate::common::RegisterField::<
17013 4,
17014 0x1,
17015 1,
17016 0,
17017 p610pfs_by::Pcr,
17018 p610pfs_by::Pcr,
17019 P610PfsBy_SPEC,
17020 crate::common::RW,
17021 >::from_register(self, 0)
17022 }
17023
17024 #[doc = "N-Channel Open-Drain Control"]
17025 #[inline(always)]
17026 pub fn ncodr(
17027 self,
17028 ) -> crate::common::RegisterField<
17029 6,
17030 0x1,
17031 1,
17032 0,
17033 p610pfs_by::Ncodr,
17034 p610pfs_by::Ncodr,
17035 P610PfsBy_SPEC,
17036 crate::common::RW,
17037 > {
17038 crate::common::RegisterField::<
17039 6,
17040 0x1,
17041 1,
17042 0,
17043 p610pfs_by::Ncodr,
17044 p610pfs_by::Ncodr,
17045 P610PfsBy_SPEC,
17046 crate::common::RW,
17047 >::from_register(self, 0)
17048 }
17049}
17050impl ::core::default::Default for P610PfsBy {
17051 #[inline(always)]
17052 fn default() -> P610PfsBy {
17053 <crate::RegValueT<P610PfsBy_SPEC> as RegisterValue<_>>::new(0)
17054 }
17055}
17056pub mod p610pfs_by {
17057
17058 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17059 pub struct Podr_SPEC;
17060 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
17061 impl Podr {
17062 #[doc = "Output low"]
17063 pub const _0: Self = Self::new(0);
17064
17065 #[doc = "Output high"]
17066 pub const _1: Self = Self::new(1);
17067 }
17068 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17069 pub struct Pidr_SPEC;
17070 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
17071 impl Pidr {
17072 #[doc = "Low level"]
17073 pub const _0: Self = Self::new(0);
17074
17075 #[doc = "High level"]
17076 pub const _1: Self = Self::new(1);
17077 }
17078 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17079 pub struct Pdr_SPEC;
17080 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
17081 impl Pdr {
17082 #[doc = "Input (functions as an input pin)"]
17083 pub const _0: Self = Self::new(0);
17084
17085 #[doc = "Output (functions as an output pin)"]
17086 pub const _1: Self = Self::new(1);
17087 }
17088 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17089 pub struct Pcr_SPEC;
17090 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
17091 impl Pcr {
17092 #[doc = "Disable input pull-up"]
17093 pub const _0: Self = Self::new(0);
17094
17095 #[doc = "Enable input pull-up"]
17096 pub const _1: Self = Self::new(1);
17097 }
17098 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17099 pub struct Ncodr_SPEC;
17100 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
17101 impl Ncodr {
17102 #[doc = "Output CMOS"]
17103 pub const _0: Self = Self::new(0);
17104
17105 #[doc = "Output NMOS open-drain"]
17106 pub const _1: Self = Self::new(1);
17107 }
17108}
17109#[doc(hidden)]
17110#[derive(Copy, Clone, Eq, PartialEq)]
17111pub struct P708Pfs_SPEC;
17112impl crate::sealed::RegSpec for P708Pfs_SPEC {
17113 type DataType = u32;
17114}
17115
17116#[doc = "Port 708 Pin Function Select Register"]
17117pub type P708Pfs = crate::RegValueT<P708Pfs_SPEC>;
17118
17119impl P708Pfs {
17120 #[doc = "Port Output Data"]
17121 #[inline(always)]
17122 pub fn podr(
17123 self,
17124 ) -> crate::common::RegisterField<
17125 0,
17126 0x1,
17127 1,
17128 0,
17129 p708pfs::Podr,
17130 p708pfs::Podr,
17131 P708Pfs_SPEC,
17132 crate::common::RW,
17133 > {
17134 crate::common::RegisterField::<
17135 0,
17136 0x1,
17137 1,
17138 0,
17139 p708pfs::Podr,
17140 p708pfs::Podr,
17141 P708Pfs_SPEC,
17142 crate::common::RW,
17143 >::from_register(self, 0)
17144 }
17145
17146 #[doc = "Port State"]
17147 #[inline(always)]
17148 pub fn pidr(
17149 self,
17150 ) -> crate::common::RegisterField<
17151 1,
17152 0x1,
17153 1,
17154 0,
17155 p708pfs::Pidr,
17156 p708pfs::Pidr,
17157 P708Pfs_SPEC,
17158 crate::common::R,
17159 > {
17160 crate::common::RegisterField::<
17161 1,
17162 0x1,
17163 1,
17164 0,
17165 p708pfs::Pidr,
17166 p708pfs::Pidr,
17167 P708Pfs_SPEC,
17168 crate::common::R,
17169 >::from_register(self, 0)
17170 }
17171
17172 #[doc = "Port Direction"]
17173 #[inline(always)]
17174 pub fn pdr(
17175 self,
17176 ) -> crate::common::RegisterField<
17177 2,
17178 0x1,
17179 1,
17180 0,
17181 p708pfs::Pdr,
17182 p708pfs::Pdr,
17183 P708Pfs_SPEC,
17184 crate::common::RW,
17185 > {
17186 crate::common::RegisterField::<
17187 2,
17188 0x1,
17189 1,
17190 0,
17191 p708pfs::Pdr,
17192 p708pfs::Pdr,
17193 P708Pfs_SPEC,
17194 crate::common::RW,
17195 >::from_register(self, 0)
17196 }
17197
17198 #[doc = "Pull-up Control"]
17199 #[inline(always)]
17200 pub fn pcr(
17201 self,
17202 ) -> crate::common::RegisterField<
17203 4,
17204 0x1,
17205 1,
17206 0,
17207 p708pfs::Pcr,
17208 p708pfs::Pcr,
17209 P708Pfs_SPEC,
17210 crate::common::RW,
17211 > {
17212 crate::common::RegisterField::<
17213 4,
17214 0x1,
17215 1,
17216 0,
17217 p708pfs::Pcr,
17218 p708pfs::Pcr,
17219 P708Pfs_SPEC,
17220 crate::common::RW,
17221 >::from_register(self, 0)
17222 }
17223
17224 #[doc = "N-Channel Open-Drain Control"]
17225 #[inline(always)]
17226 pub fn ncodr(
17227 self,
17228 ) -> crate::common::RegisterField<
17229 6,
17230 0x1,
17231 1,
17232 0,
17233 p708pfs::Ncodr,
17234 p708pfs::Ncodr,
17235 P708Pfs_SPEC,
17236 crate::common::RW,
17237 > {
17238 crate::common::RegisterField::<
17239 6,
17240 0x1,
17241 1,
17242 0,
17243 p708pfs::Ncodr,
17244 p708pfs::Ncodr,
17245 P708Pfs_SPEC,
17246 crate::common::RW,
17247 >::from_register(self, 0)
17248 }
17249
17250 #[doc = "IRQ Input Enable"]
17251 #[inline(always)]
17252 pub fn isel(
17253 self,
17254 ) -> crate::common::RegisterField<
17255 14,
17256 0x1,
17257 1,
17258 0,
17259 p708pfs::Isel,
17260 p708pfs::Isel,
17261 P708Pfs_SPEC,
17262 crate::common::RW,
17263 > {
17264 crate::common::RegisterField::<
17265 14,
17266 0x1,
17267 1,
17268 0,
17269 p708pfs::Isel,
17270 p708pfs::Isel,
17271 P708Pfs_SPEC,
17272 crate::common::RW,
17273 >::from_register(self, 0)
17274 }
17275
17276 #[doc = "Analog Input Enable"]
17277 #[inline(always)]
17278 pub fn asel(
17279 self,
17280 ) -> crate::common::RegisterField<
17281 15,
17282 0x1,
17283 1,
17284 0,
17285 p708pfs::Asel,
17286 p708pfs::Asel,
17287 P708Pfs_SPEC,
17288 crate::common::RW,
17289 > {
17290 crate::common::RegisterField::<
17291 15,
17292 0x1,
17293 1,
17294 0,
17295 p708pfs::Asel,
17296 p708pfs::Asel,
17297 P708Pfs_SPEC,
17298 crate::common::RW,
17299 >::from_register(self, 0)
17300 }
17301
17302 #[doc = "Port Mode Control"]
17303 #[inline(always)]
17304 pub fn pmr(
17305 self,
17306 ) -> crate::common::RegisterField<
17307 16,
17308 0x1,
17309 1,
17310 0,
17311 p708pfs::Pmr,
17312 p708pfs::Pmr,
17313 P708Pfs_SPEC,
17314 crate::common::RW,
17315 > {
17316 crate::common::RegisterField::<
17317 16,
17318 0x1,
17319 1,
17320 0,
17321 p708pfs::Pmr,
17322 p708pfs::Pmr,
17323 P708Pfs_SPEC,
17324 crate::common::RW,
17325 >::from_register(self, 0)
17326 }
17327
17328 #[doc = "Peripheral Select"]
17329 #[inline(always)]
17330 pub fn psel(
17331 self,
17332 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P708Pfs_SPEC, crate::common::RW> {
17333 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P708Pfs_SPEC,crate::common::RW>::from_register(self,0)
17334 }
17335}
17336impl ::core::default::Default for P708Pfs {
17337 #[inline(always)]
17338 fn default() -> P708Pfs {
17339 <crate::RegValueT<P708Pfs_SPEC> as RegisterValue<_>>::new(0)
17340 }
17341}
17342pub mod p708pfs {
17343
17344 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17345 pub struct Podr_SPEC;
17346 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
17347 impl Podr {
17348 #[doc = "Output low"]
17349 pub const _0: Self = Self::new(0);
17350
17351 #[doc = "Output high"]
17352 pub const _1: Self = Self::new(1);
17353 }
17354 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17355 pub struct Pidr_SPEC;
17356 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
17357 impl Pidr {
17358 #[doc = "Low level"]
17359 pub const _0: Self = Self::new(0);
17360
17361 #[doc = "High level"]
17362 pub const _1: Self = Self::new(1);
17363 }
17364 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17365 pub struct Pdr_SPEC;
17366 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
17367 impl Pdr {
17368 #[doc = "Input (functions as an input pin)"]
17369 pub const _0: Self = Self::new(0);
17370
17371 #[doc = "Output (functions as an output pin)"]
17372 pub const _1: Self = Self::new(1);
17373 }
17374 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17375 pub struct Pcr_SPEC;
17376 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
17377 impl Pcr {
17378 #[doc = "Disable input pull-up"]
17379 pub const _0: Self = Self::new(0);
17380
17381 #[doc = "Enable input pull-up"]
17382 pub const _1: Self = Self::new(1);
17383 }
17384 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17385 pub struct Ncodr_SPEC;
17386 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
17387 impl Ncodr {
17388 #[doc = "Output CMOS"]
17389 pub const _0: Self = Self::new(0);
17390
17391 #[doc = "Output NMOS open-drain"]
17392 pub const _1: Self = Self::new(1);
17393 }
17394 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17395 pub struct Isel_SPEC;
17396 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
17397 impl Isel {
17398 #[doc = "Do not use as IRQn input pin"]
17399 pub const _0: Self = Self::new(0);
17400
17401 #[doc = "Use as IRQn input pin"]
17402 pub const _1: Self = Self::new(1);
17403 }
17404 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17405 pub struct Asel_SPEC;
17406 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
17407 impl Asel {
17408 #[doc = "Do not use as analog pin"]
17409 pub const _0: Self = Self::new(0);
17410
17411 #[doc = "Use as analog pin"]
17412 pub const _1: Self = Self::new(1);
17413 }
17414 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17415 pub struct Pmr_SPEC;
17416 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
17417 impl Pmr {
17418 #[doc = "Use as general I/O pin"]
17419 pub const _0: Self = Self::new(0);
17420
17421 #[doc = "Use as I/O port for peripheral functions"]
17422 pub const _1: Self = Self::new(1);
17423 }
17424}
17425#[doc(hidden)]
17426#[derive(Copy, Clone, Eq, PartialEq)]
17427pub struct P708PfsHa_SPEC;
17428impl crate::sealed::RegSpec for P708PfsHa_SPEC {
17429 type DataType = u16;
17430}
17431
17432#[doc = "Port 708 Pin Function Select Register"]
17433pub type P708PfsHa = crate::RegValueT<P708PfsHa_SPEC>;
17434
17435impl P708PfsHa {
17436 #[doc = "Port Output Data"]
17437 #[inline(always)]
17438 pub fn podr(
17439 self,
17440 ) -> crate::common::RegisterField<
17441 0,
17442 0x1,
17443 1,
17444 0,
17445 p708pfs_ha::Podr,
17446 p708pfs_ha::Podr,
17447 P708PfsHa_SPEC,
17448 crate::common::RW,
17449 > {
17450 crate::common::RegisterField::<
17451 0,
17452 0x1,
17453 1,
17454 0,
17455 p708pfs_ha::Podr,
17456 p708pfs_ha::Podr,
17457 P708PfsHa_SPEC,
17458 crate::common::RW,
17459 >::from_register(self, 0)
17460 }
17461
17462 #[doc = "Port State"]
17463 #[inline(always)]
17464 pub fn pidr(
17465 self,
17466 ) -> crate::common::RegisterField<
17467 1,
17468 0x1,
17469 1,
17470 0,
17471 p708pfs_ha::Pidr,
17472 p708pfs_ha::Pidr,
17473 P708PfsHa_SPEC,
17474 crate::common::R,
17475 > {
17476 crate::common::RegisterField::<
17477 1,
17478 0x1,
17479 1,
17480 0,
17481 p708pfs_ha::Pidr,
17482 p708pfs_ha::Pidr,
17483 P708PfsHa_SPEC,
17484 crate::common::R,
17485 >::from_register(self, 0)
17486 }
17487
17488 #[doc = "Port Direction"]
17489 #[inline(always)]
17490 pub fn pdr(
17491 self,
17492 ) -> crate::common::RegisterField<
17493 2,
17494 0x1,
17495 1,
17496 0,
17497 p708pfs_ha::Pdr,
17498 p708pfs_ha::Pdr,
17499 P708PfsHa_SPEC,
17500 crate::common::RW,
17501 > {
17502 crate::common::RegisterField::<
17503 2,
17504 0x1,
17505 1,
17506 0,
17507 p708pfs_ha::Pdr,
17508 p708pfs_ha::Pdr,
17509 P708PfsHa_SPEC,
17510 crate::common::RW,
17511 >::from_register(self, 0)
17512 }
17513
17514 #[doc = "Pull-up Control"]
17515 #[inline(always)]
17516 pub fn pcr(
17517 self,
17518 ) -> crate::common::RegisterField<
17519 4,
17520 0x1,
17521 1,
17522 0,
17523 p708pfs_ha::Pcr,
17524 p708pfs_ha::Pcr,
17525 P708PfsHa_SPEC,
17526 crate::common::RW,
17527 > {
17528 crate::common::RegisterField::<
17529 4,
17530 0x1,
17531 1,
17532 0,
17533 p708pfs_ha::Pcr,
17534 p708pfs_ha::Pcr,
17535 P708PfsHa_SPEC,
17536 crate::common::RW,
17537 >::from_register(self, 0)
17538 }
17539
17540 #[doc = "N-Channel Open-Drain Control"]
17541 #[inline(always)]
17542 pub fn ncodr(
17543 self,
17544 ) -> crate::common::RegisterField<
17545 6,
17546 0x1,
17547 1,
17548 0,
17549 p708pfs_ha::Ncodr,
17550 p708pfs_ha::Ncodr,
17551 P708PfsHa_SPEC,
17552 crate::common::RW,
17553 > {
17554 crate::common::RegisterField::<
17555 6,
17556 0x1,
17557 1,
17558 0,
17559 p708pfs_ha::Ncodr,
17560 p708pfs_ha::Ncodr,
17561 P708PfsHa_SPEC,
17562 crate::common::RW,
17563 >::from_register(self, 0)
17564 }
17565
17566 #[doc = "IRQ Input Enable"]
17567 #[inline(always)]
17568 pub fn isel(
17569 self,
17570 ) -> crate::common::RegisterField<
17571 14,
17572 0x1,
17573 1,
17574 0,
17575 p708pfs_ha::Isel,
17576 p708pfs_ha::Isel,
17577 P708PfsHa_SPEC,
17578 crate::common::RW,
17579 > {
17580 crate::common::RegisterField::<
17581 14,
17582 0x1,
17583 1,
17584 0,
17585 p708pfs_ha::Isel,
17586 p708pfs_ha::Isel,
17587 P708PfsHa_SPEC,
17588 crate::common::RW,
17589 >::from_register(self, 0)
17590 }
17591
17592 #[doc = "Analog Input Enable"]
17593 #[inline(always)]
17594 pub fn asel(
17595 self,
17596 ) -> crate::common::RegisterField<
17597 15,
17598 0x1,
17599 1,
17600 0,
17601 p708pfs_ha::Asel,
17602 p708pfs_ha::Asel,
17603 P708PfsHa_SPEC,
17604 crate::common::RW,
17605 > {
17606 crate::common::RegisterField::<
17607 15,
17608 0x1,
17609 1,
17610 0,
17611 p708pfs_ha::Asel,
17612 p708pfs_ha::Asel,
17613 P708PfsHa_SPEC,
17614 crate::common::RW,
17615 >::from_register(self, 0)
17616 }
17617}
17618impl ::core::default::Default for P708PfsHa {
17619 #[inline(always)]
17620 fn default() -> P708PfsHa {
17621 <crate::RegValueT<P708PfsHa_SPEC> as RegisterValue<_>>::new(0)
17622 }
17623}
17624pub mod p708pfs_ha {
17625
17626 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17627 pub struct Podr_SPEC;
17628 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
17629 impl Podr {
17630 #[doc = "Output low"]
17631 pub const _0: Self = Self::new(0);
17632
17633 #[doc = "Output high"]
17634 pub const _1: Self = Self::new(1);
17635 }
17636 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17637 pub struct Pidr_SPEC;
17638 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
17639 impl Pidr {
17640 #[doc = "Low level"]
17641 pub const _0: Self = Self::new(0);
17642
17643 #[doc = "High level"]
17644 pub const _1: Self = Self::new(1);
17645 }
17646 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17647 pub struct Pdr_SPEC;
17648 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
17649 impl Pdr {
17650 #[doc = "Input (functions as an input pin)"]
17651 pub const _0: Self = Self::new(0);
17652
17653 #[doc = "Output (functions as an output pin)"]
17654 pub const _1: Self = Self::new(1);
17655 }
17656 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17657 pub struct Pcr_SPEC;
17658 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
17659 impl Pcr {
17660 #[doc = "Disable input pull-up"]
17661 pub const _0: Self = Self::new(0);
17662
17663 #[doc = "Enable input pull-up"]
17664 pub const _1: Self = Self::new(1);
17665 }
17666 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17667 pub struct Ncodr_SPEC;
17668 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
17669 impl Ncodr {
17670 #[doc = "Output CMOS"]
17671 pub const _0: Self = Self::new(0);
17672
17673 #[doc = "Output NMOS open-drain"]
17674 pub const _1: Self = Self::new(1);
17675 }
17676 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17677 pub struct Isel_SPEC;
17678 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
17679 impl Isel {
17680 #[doc = "Do not use as IRQn input pin"]
17681 pub const _0: Self = Self::new(0);
17682
17683 #[doc = "Use as IRQn input pin"]
17684 pub const _1: Self = Self::new(1);
17685 }
17686 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17687 pub struct Asel_SPEC;
17688 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
17689 impl Asel {
17690 #[doc = "Do not use as analog pin"]
17691 pub const _0: Self = Self::new(0);
17692
17693 #[doc = "Use as analog pin"]
17694 pub const _1: Self = Self::new(1);
17695 }
17696}
17697#[doc(hidden)]
17698#[derive(Copy, Clone, Eq, PartialEq)]
17699pub struct P708PfsBy_SPEC;
17700impl crate::sealed::RegSpec for P708PfsBy_SPEC {
17701 type DataType = u8;
17702}
17703
17704#[doc = "Port 708 Pin Function Select Register"]
17705pub type P708PfsBy = crate::RegValueT<P708PfsBy_SPEC>;
17706
17707impl P708PfsBy {
17708 #[doc = "Port Output Data"]
17709 #[inline(always)]
17710 pub fn podr(
17711 self,
17712 ) -> crate::common::RegisterField<
17713 0,
17714 0x1,
17715 1,
17716 0,
17717 p708pfs_by::Podr,
17718 p708pfs_by::Podr,
17719 P708PfsBy_SPEC,
17720 crate::common::RW,
17721 > {
17722 crate::common::RegisterField::<
17723 0,
17724 0x1,
17725 1,
17726 0,
17727 p708pfs_by::Podr,
17728 p708pfs_by::Podr,
17729 P708PfsBy_SPEC,
17730 crate::common::RW,
17731 >::from_register(self, 0)
17732 }
17733
17734 #[doc = "Port State"]
17735 #[inline(always)]
17736 pub fn pidr(
17737 self,
17738 ) -> crate::common::RegisterField<
17739 1,
17740 0x1,
17741 1,
17742 0,
17743 p708pfs_by::Pidr,
17744 p708pfs_by::Pidr,
17745 P708PfsBy_SPEC,
17746 crate::common::R,
17747 > {
17748 crate::common::RegisterField::<
17749 1,
17750 0x1,
17751 1,
17752 0,
17753 p708pfs_by::Pidr,
17754 p708pfs_by::Pidr,
17755 P708PfsBy_SPEC,
17756 crate::common::R,
17757 >::from_register(self, 0)
17758 }
17759
17760 #[doc = "Port Direction"]
17761 #[inline(always)]
17762 pub fn pdr(
17763 self,
17764 ) -> crate::common::RegisterField<
17765 2,
17766 0x1,
17767 1,
17768 0,
17769 p708pfs_by::Pdr,
17770 p708pfs_by::Pdr,
17771 P708PfsBy_SPEC,
17772 crate::common::RW,
17773 > {
17774 crate::common::RegisterField::<
17775 2,
17776 0x1,
17777 1,
17778 0,
17779 p708pfs_by::Pdr,
17780 p708pfs_by::Pdr,
17781 P708PfsBy_SPEC,
17782 crate::common::RW,
17783 >::from_register(self, 0)
17784 }
17785
17786 #[doc = "Pull-up Control"]
17787 #[inline(always)]
17788 pub fn pcr(
17789 self,
17790 ) -> crate::common::RegisterField<
17791 4,
17792 0x1,
17793 1,
17794 0,
17795 p708pfs_by::Pcr,
17796 p708pfs_by::Pcr,
17797 P708PfsBy_SPEC,
17798 crate::common::RW,
17799 > {
17800 crate::common::RegisterField::<
17801 4,
17802 0x1,
17803 1,
17804 0,
17805 p708pfs_by::Pcr,
17806 p708pfs_by::Pcr,
17807 P708PfsBy_SPEC,
17808 crate::common::RW,
17809 >::from_register(self, 0)
17810 }
17811
17812 #[doc = "N-Channel Open-Drain Control"]
17813 #[inline(always)]
17814 pub fn ncodr(
17815 self,
17816 ) -> crate::common::RegisterField<
17817 6,
17818 0x1,
17819 1,
17820 0,
17821 p708pfs_by::Ncodr,
17822 p708pfs_by::Ncodr,
17823 P708PfsBy_SPEC,
17824 crate::common::RW,
17825 > {
17826 crate::common::RegisterField::<
17827 6,
17828 0x1,
17829 1,
17830 0,
17831 p708pfs_by::Ncodr,
17832 p708pfs_by::Ncodr,
17833 P708PfsBy_SPEC,
17834 crate::common::RW,
17835 >::from_register(self, 0)
17836 }
17837}
17838impl ::core::default::Default for P708PfsBy {
17839 #[inline(always)]
17840 fn default() -> P708PfsBy {
17841 <crate::RegValueT<P708PfsBy_SPEC> as RegisterValue<_>>::new(0)
17842 }
17843}
17844pub mod p708pfs_by {
17845
17846 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17847 pub struct Podr_SPEC;
17848 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
17849 impl Podr {
17850 #[doc = "Output low"]
17851 pub const _0: Self = Self::new(0);
17852
17853 #[doc = "Output high"]
17854 pub const _1: Self = Self::new(1);
17855 }
17856 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17857 pub struct Pidr_SPEC;
17858 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
17859 impl Pidr {
17860 #[doc = "Low level"]
17861 pub const _0: Self = Self::new(0);
17862
17863 #[doc = "High level"]
17864 pub const _1: Self = Self::new(1);
17865 }
17866 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17867 pub struct Pdr_SPEC;
17868 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
17869 impl Pdr {
17870 #[doc = "Input (functions as an input pin)"]
17871 pub const _0: Self = Self::new(0);
17872
17873 #[doc = "Output (functions as an output pin)"]
17874 pub const _1: Self = Self::new(1);
17875 }
17876 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17877 pub struct Pcr_SPEC;
17878 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
17879 impl Pcr {
17880 #[doc = "Disable input pull-up"]
17881 pub const _0: Self = Self::new(0);
17882
17883 #[doc = "Enable input pull-up"]
17884 pub const _1: Self = Self::new(1);
17885 }
17886 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
17887 pub struct Ncodr_SPEC;
17888 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
17889 impl Ncodr {
17890 #[doc = "Output CMOS"]
17891 pub const _0: Self = Self::new(0);
17892
17893 #[doc = "Output NMOS open-drain"]
17894 pub const _1: Self = Self::new(1);
17895 }
17896}
17897#[doc(hidden)]
17898#[derive(Copy, Clone, Eq, PartialEq)]
17899pub struct P714Pfs_SPEC;
17900impl crate::sealed::RegSpec for P714Pfs_SPEC {
17901 type DataType = u32;
17902}
17903
17904#[doc = "Port 714 Pin Function Select Register"]
17905pub type P714Pfs = crate::RegValueT<P714Pfs_SPEC>;
17906
17907impl P714Pfs {
17908 #[doc = "Port Output Data"]
17909 #[inline(always)]
17910 pub fn podr(
17911 self,
17912 ) -> crate::common::RegisterField<
17913 0,
17914 0x1,
17915 1,
17916 0,
17917 p714pfs::Podr,
17918 p714pfs::Podr,
17919 P714Pfs_SPEC,
17920 crate::common::RW,
17921 > {
17922 crate::common::RegisterField::<
17923 0,
17924 0x1,
17925 1,
17926 0,
17927 p714pfs::Podr,
17928 p714pfs::Podr,
17929 P714Pfs_SPEC,
17930 crate::common::RW,
17931 >::from_register(self, 0)
17932 }
17933
17934 #[doc = "Port State"]
17935 #[inline(always)]
17936 pub fn pidr(
17937 self,
17938 ) -> crate::common::RegisterField<
17939 1,
17940 0x1,
17941 1,
17942 0,
17943 p714pfs::Pidr,
17944 p714pfs::Pidr,
17945 P714Pfs_SPEC,
17946 crate::common::R,
17947 > {
17948 crate::common::RegisterField::<
17949 1,
17950 0x1,
17951 1,
17952 0,
17953 p714pfs::Pidr,
17954 p714pfs::Pidr,
17955 P714Pfs_SPEC,
17956 crate::common::R,
17957 >::from_register(self, 0)
17958 }
17959
17960 #[doc = "Port Direction"]
17961 #[inline(always)]
17962 pub fn pdr(
17963 self,
17964 ) -> crate::common::RegisterField<
17965 2,
17966 0x1,
17967 1,
17968 0,
17969 p714pfs::Pdr,
17970 p714pfs::Pdr,
17971 P714Pfs_SPEC,
17972 crate::common::RW,
17973 > {
17974 crate::common::RegisterField::<
17975 2,
17976 0x1,
17977 1,
17978 0,
17979 p714pfs::Pdr,
17980 p714pfs::Pdr,
17981 P714Pfs_SPEC,
17982 crate::common::RW,
17983 >::from_register(self, 0)
17984 }
17985
17986 #[doc = "Pull-up Control"]
17987 #[inline(always)]
17988 pub fn pcr(
17989 self,
17990 ) -> crate::common::RegisterField<
17991 4,
17992 0x1,
17993 1,
17994 0,
17995 p714pfs::Pcr,
17996 p714pfs::Pcr,
17997 P714Pfs_SPEC,
17998 crate::common::RW,
17999 > {
18000 crate::common::RegisterField::<
18001 4,
18002 0x1,
18003 1,
18004 0,
18005 p714pfs::Pcr,
18006 p714pfs::Pcr,
18007 P714Pfs_SPEC,
18008 crate::common::RW,
18009 >::from_register(self, 0)
18010 }
18011
18012 #[doc = "N-Channel Open-Drain Control"]
18013 #[inline(always)]
18014 pub fn ncodr(
18015 self,
18016 ) -> crate::common::RegisterField<
18017 6,
18018 0x1,
18019 1,
18020 0,
18021 p714pfs::Ncodr,
18022 p714pfs::Ncodr,
18023 P714Pfs_SPEC,
18024 crate::common::RW,
18025 > {
18026 crate::common::RegisterField::<
18027 6,
18028 0x1,
18029 1,
18030 0,
18031 p714pfs::Ncodr,
18032 p714pfs::Ncodr,
18033 P714Pfs_SPEC,
18034 crate::common::RW,
18035 >::from_register(self, 0)
18036 }
18037
18038 #[doc = "IRQ Input Enable"]
18039 #[inline(always)]
18040 pub fn isel(
18041 self,
18042 ) -> crate::common::RegisterField<
18043 14,
18044 0x1,
18045 1,
18046 0,
18047 p714pfs::Isel,
18048 p714pfs::Isel,
18049 P714Pfs_SPEC,
18050 crate::common::RW,
18051 > {
18052 crate::common::RegisterField::<
18053 14,
18054 0x1,
18055 1,
18056 0,
18057 p714pfs::Isel,
18058 p714pfs::Isel,
18059 P714Pfs_SPEC,
18060 crate::common::RW,
18061 >::from_register(self, 0)
18062 }
18063
18064 #[doc = "Analog Input Enable"]
18065 #[inline(always)]
18066 pub fn asel(
18067 self,
18068 ) -> crate::common::RegisterField<
18069 15,
18070 0x1,
18071 1,
18072 0,
18073 p714pfs::Asel,
18074 p714pfs::Asel,
18075 P714Pfs_SPEC,
18076 crate::common::RW,
18077 > {
18078 crate::common::RegisterField::<
18079 15,
18080 0x1,
18081 1,
18082 0,
18083 p714pfs::Asel,
18084 p714pfs::Asel,
18085 P714Pfs_SPEC,
18086 crate::common::RW,
18087 >::from_register(self, 0)
18088 }
18089
18090 #[doc = "Port Mode Control"]
18091 #[inline(always)]
18092 pub fn pmr(
18093 self,
18094 ) -> crate::common::RegisterField<
18095 16,
18096 0x1,
18097 1,
18098 0,
18099 p714pfs::Pmr,
18100 p714pfs::Pmr,
18101 P714Pfs_SPEC,
18102 crate::common::RW,
18103 > {
18104 crate::common::RegisterField::<
18105 16,
18106 0x1,
18107 1,
18108 0,
18109 p714pfs::Pmr,
18110 p714pfs::Pmr,
18111 P714Pfs_SPEC,
18112 crate::common::RW,
18113 >::from_register(self, 0)
18114 }
18115
18116 #[doc = "Peripheral Select"]
18117 #[inline(always)]
18118 pub fn psel(
18119 self,
18120 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P714Pfs_SPEC, crate::common::RW> {
18121 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P714Pfs_SPEC,crate::common::RW>::from_register(self,0)
18122 }
18123}
18124impl ::core::default::Default for P714Pfs {
18125 #[inline(always)]
18126 fn default() -> P714Pfs {
18127 <crate::RegValueT<P714Pfs_SPEC> as RegisterValue<_>>::new(0)
18128 }
18129}
18130pub mod p714pfs {
18131
18132 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18133 pub struct Podr_SPEC;
18134 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
18135 impl Podr {
18136 #[doc = "Output low"]
18137 pub const _0: Self = Self::new(0);
18138
18139 #[doc = "Output high"]
18140 pub const _1: Self = Self::new(1);
18141 }
18142 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18143 pub struct Pidr_SPEC;
18144 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
18145 impl Pidr {
18146 #[doc = "Low level"]
18147 pub const _0: Self = Self::new(0);
18148
18149 #[doc = "High level"]
18150 pub const _1: Self = Self::new(1);
18151 }
18152 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18153 pub struct Pdr_SPEC;
18154 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
18155 impl Pdr {
18156 #[doc = "Input (functions as an input pin)"]
18157 pub const _0: Self = Self::new(0);
18158
18159 #[doc = "Output (functions as an output pin)"]
18160 pub const _1: Self = Self::new(1);
18161 }
18162 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18163 pub struct Pcr_SPEC;
18164 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
18165 impl Pcr {
18166 #[doc = "Disable input pull-up"]
18167 pub const _0: Self = Self::new(0);
18168
18169 #[doc = "Enable input pull-up"]
18170 pub const _1: Self = Self::new(1);
18171 }
18172 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18173 pub struct Ncodr_SPEC;
18174 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
18175 impl Ncodr {
18176 #[doc = "Output CMOS"]
18177 pub const _0: Self = Self::new(0);
18178
18179 #[doc = "Output NMOS open-drain"]
18180 pub const _1: Self = Self::new(1);
18181 }
18182 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18183 pub struct Isel_SPEC;
18184 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
18185 impl Isel {
18186 #[doc = "Do not use as IRQn input pin"]
18187 pub const _0: Self = Self::new(0);
18188
18189 #[doc = "Use as IRQn input pin"]
18190 pub const _1: Self = Self::new(1);
18191 }
18192 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18193 pub struct Asel_SPEC;
18194 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
18195 impl Asel {
18196 #[doc = "Do not use as analog pin"]
18197 pub const _0: Self = Self::new(0);
18198
18199 #[doc = "Use as analog pin"]
18200 pub const _1: Self = Self::new(1);
18201 }
18202 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18203 pub struct Pmr_SPEC;
18204 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
18205 impl Pmr {
18206 #[doc = "Use as general I/O pin"]
18207 pub const _0: Self = Self::new(0);
18208
18209 #[doc = "Use as I/O port for peripheral functions"]
18210 pub const _1: Self = Self::new(1);
18211 }
18212}
18213#[doc(hidden)]
18214#[derive(Copy, Clone, Eq, PartialEq)]
18215pub struct P714PfsHa_SPEC;
18216impl crate::sealed::RegSpec for P714PfsHa_SPEC {
18217 type DataType = u16;
18218}
18219
18220#[doc = "Port 714 Pin Function Select Register"]
18221pub type P714PfsHa = crate::RegValueT<P714PfsHa_SPEC>;
18222
18223impl P714PfsHa {
18224 #[doc = "Port Output Data"]
18225 #[inline(always)]
18226 pub fn podr(
18227 self,
18228 ) -> crate::common::RegisterField<
18229 0,
18230 0x1,
18231 1,
18232 0,
18233 p714pfs_ha::Podr,
18234 p714pfs_ha::Podr,
18235 P714PfsHa_SPEC,
18236 crate::common::RW,
18237 > {
18238 crate::common::RegisterField::<
18239 0,
18240 0x1,
18241 1,
18242 0,
18243 p714pfs_ha::Podr,
18244 p714pfs_ha::Podr,
18245 P714PfsHa_SPEC,
18246 crate::common::RW,
18247 >::from_register(self, 0)
18248 }
18249
18250 #[doc = "Port State"]
18251 #[inline(always)]
18252 pub fn pidr(
18253 self,
18254 ) -> crate::common::RegisterField<
18255 1,
18256 0x1,
18257 1,
18258 0,
18259 p714pfs_ha::Pidr,
18260 p714pfs_ha::Pidr,
18261 P714PfsHa_SPEC,
18262 crate::common::R,
18263 > {
18264 crate::common::RegisterField::<
18265 1,
18266 0x1,
18267 1,
18268 0,
18269 p714pfs_ha::Pidr,
18270 p714pfs_ha::Pidr,
18271 P714PfsHa_SPEC,
18272 crate::common::R,
18273 >::from_register(self, 0)
18274 }
18275
18276 #[doc = "Port Direction"]
18277 #[inline(always)]
18278 pub fn pdr(
18279 self,
18280 ) -> crate::common::RegisterField<
18281 2,
18282 0x1,
18283 1,
18284 0,
18285 p714pfs_ha::Pdr,
18286 p714pfs_ha::Pdr,
18287 P714PfsHa_SPEC,
18288 crate::common::RW,
18289 > {
18290 crate::common::RegisterField::<
18291 2,
18292 0x1,
18293 1,
18294 0,
18295 p714pfs_ha::Pdr,
18296 p714pfs_ha::Pdr,
18297 P714PfsHa_SPEC,
18298 crate::common::RW,
18299 >::from_register(self, 0)
18300 }
18301
18302 #[doc = "Pull-up Control"]
18303 #[inline(always)]
18304 pub fn pcr(
18305 self,
18306 ) -> crate::common::RegisterField<
18307 4,
18308 0x1,
18309 1,
18310 0,
18311 p714pfs_ha::Pcr,
18312 p714pfs_ha::Pcr,
18313 P714PfsHa_SPEC,
18314 crate::common::RW,
18315 > {
18316 crate::common::RegisterField::<
18317 4,
18318 0x1,
18319 1,
18320 0,
18321 p714pfs_ha::Pcr,
18322 p714pfs_ha::Pcr,
18323 P714PfsHa_SPEC,
18324 crate::common::RW,
18325 >::from_register(self, 0)
18326 }
18327
18328 #[doc = "N-Channel Open-Drain Control"]
18329 #[inline(always)]
18330 pub fn ncodr(
18331 self,
18332 ) -> crate::common::RegisterField<
18333 6,
18334 0x1,
18335 1,
18336 0,
18337 p714pfs_ha::Ncodr,
18338 p714pfs_ha::Ncodr,
18339 P714PfsHa_SPEC,
18340 crate::common::RW,
18341 > {
18342 crate::common::RegisterField::<
18343 6,
18344 0x1,
18345 1,
18346 0,
18347 p714pfs_ha::Ncodr,
18348 p714pfs_ha::Ncodr,
18349 P714PfsHa_SPEC,
18350 crate::common::RW,
18351 >::from_register(self, 0)
18352 }
18353
18354 #[doc = "IRQ Input Enable"]
18355 #[inline(always)]
18356 pub fn isel(
18357 self,
18358 ) -> crate::common::RegisterField<
18359 14,
18360 0x1,
18361 1,
18362 0,
18363 p714pfs_ha::Isel,
18364 p714pfs_ha::Isel,
18365 P714PfsHa_SPEC,
18366 crate::common::RW,
18367 > {
18368 crate::common::RegisterField::<
18369 14,
18370 0x1,
18371 1,
18372 0,
18373 p714pfs_ha::Isel,
18374 p714pfs_ha::Isel,
18375 P714PfsHa_SPEC,
18376 crate::common::RW,
18377 >::from_register(self, 0)
18378 }
18379
18380 #[doc = "Analog Input Enable"]
18381 #[inline(always)]
18382 pub fn asel(
18383 self,
18384 ) -> crate::common::RegisterField<
18385 15,
18386 0x1,
18387 1,
18388 0,
18389 p714pfs_ha::Asel,
18390 p714pfs_ha::Asel,
18391 P714PfsHa_SPEC,
18392 crate::common::RW,
18393 > {
18394 crate::common::RegisterField::<
18395 15,
18396 0x1,
18397 1,
18398 0,
18399 p714pfs_ha::Asel,
18400 p714pfs_ha::Asel,
18401 P714PfsHa_SPEC,
18402 crate::common::RW,
18403 >::from_register(self, 0)
18404 }
18405}
18406impl ::core::default::Default for P714PfsHa {
18407 #[inline(always)]
18408 fn default() -> P714PfsHa {
18409 <crate::RegValueT<P714PfsHa_SPEC> as RegisterValue<_>>::new(0)
18410 }
18411}
18412pub mod p714pfs_ha {
18413
18414 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18415 pub struct Podr_SPEC;
18416 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
18417 impl Podr {
18418 #[doc = "Output low"]
18419 pub const _0: Self = Self::new(0);
18420
18421 #[doc = "Output high"]
18422 pub const _1: Self = Self::new(1);
18423 }
18424 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18425 pub struct Pidr_SPEC;
18426 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
18427 impl Pidr {
18428 #[doc = "Low level"]
18429 pub const _0: Self = Self::new(0);
18430
18431 #[doc = "High level"]
18432 pub const _1: Self = Self::new(1);
18433 }
18434 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18435 pub struct Pdr_SPEC;
18436 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
18437 impl Pdr {
18438 #[doc = "Input (functions as an input pin)"]
18439 pub const _0: Self = Self::new(0);
18440
18441 #[doc = "Output (functions as an output pin)"]
18442 pub const _1: Self = Self::new(1);
18443 }
18444 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18445 pub struct Pcr_SPEC;
18446 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
18447 impl Pcr {
18448 #[doc = "Disable input pull-up"]
18449 pub const _0: Self = Self::new(0);
18450
18451 #[doc = "Enable input pull-up"]
18452 pub const _1: Self = Self::new(1);
18453 }
18454 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18455 pub struct Ncodr_SPEC;
18456 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
18457 impl Ncodr {
18458 #[doc = "Output CMOS"]
18459 pub const _0: Self = Self::new(0);
18460
18461 #[doc = "Output NMOS open-drain"]
18462 pub const _1: Self = Self::new(1);
18463 }
18464 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18465 pub struct Isel_SPEC;
18466 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
18467 impl Isel {
18468 #[doc = "Do not use as IRQn input pin"]
18469 pub const _0: Self = Self::new(0);
18470
18471 #[doc = "Use as IRQn input pin"]
18472 pub const _1: Self = Self::new(1);
18473 }
18474 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18475 pub struct Asel_SPEC;
18476 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
18477 impl Asel {
18478 #[doc = "Do not use as analog pin"]
18479 pub const _0: Self = Self::new(0);
18480
18481 #[doc = "Use as analog pin"]
18482 pub const _1: Self = Self::new(1);
18483 }
18484}
18485#[doc(hidden)]
18486#[derive(Copy, Clone, Eq, PartialEq)]
18487pub struct P714PfsBy_SPEC;
18488impl crate::sealed::RegSpec for P714PfsBy_SPEC {
18489 type DataType = u8;
18490}
18491
18492#[doc = "Port 714 Pin Function Select Register"]
18493pub type P714PfsBy = crate::RegValueT<P714PfsBy_SPEC>;
18494
18495impl P714PfsBy {
18496 #[doc = "Port Output Data"]
18497 #[inline(always)]
18498 pub fn podr(
18499 self,
18500 ) -> crate::common::RegisterField<
18501 0,
18502 0x1,
18503 1,
18504 0,
18505 p714pfs_by::Podr,
18506 p714pfs_by::Podr,
18507 P714PfsBy_SPEC,
18508 crate::common::RW,
18509 > {
18510 crate::common::RegisterField::<
18511 0,
18512 0x1,
18513 1,
18514 0,
18515 p714pfs_by::Podr,
18516 p714pfs_by::Podr,
18517 P714PfsBy_SPEC,
18518 crate::common::RW,
18519 >::from_register(self, 0)
18520 }
18521
18522 #[doc = "Port State"]
18523 #[inline(always)]
18524 pub fn pidr(
18525 self,
18526 ) -> crate::common::RegisterField<
18527 1,
18528 0x1,
18529 1,
18530 0,
18531 p714pfs_by::Pidr,
18532 p714pfs_by::Pidr,
18533 P714PfsBy_SPEC,
18534 crate::common::R,
18535 > {
18536 crate::common::RegisterField::<
18537 1,
18538 0x1,
18539 1,
18540 0,
18541 p714pfs_by::Pidr,
18542 p714pfs_by::Pidr,
18543 P714PfsBy_SPEC,
18544 crate::common::R,
18545 >::from_register(self, 0)
18546 }
18547
18548 #[doc = "Port Direction"]
18549 #[inline(always)]
18550 pub fn pdr(
18551 self,
18552 ) -> crate::common::RegisterField<
18553 2,
18554 0x1,
18555 1,
18556 0,
18557 p714pfs_by::Pdr,
18558 p714pfs_by::Pdr,
18559 P714PfsBy_SPEC,
18560 crate::common::RW,
18561 > {
18562 crate::common::RegisterField::<
18563 2,
18564 0x1,
18565 1,
18566 0,
18567 p714pfs_by::Pdr,
18568 p714pfs_by::Pdr,
18569 P714PfsBy_SPEC,
18570 crate::common::RW,
18571 >::from_register(self, 0)
18572 }
18573
18574 #[doc = "Pull-up Control"]
18575 #[inline(always)]
18576 pub fn pcr(
18577 self,
18578 ) -> crate::common::RegisterField<
18579 4,
18580 0x1,
18581 1,
18582 0,
18583 p714pfs_by::Pcr,
18584 p714pfs_by::Pcr,
18585 P714PfsBy_SPEC,
18586 crate::common::RW,
18587 > {
18588 crate::common::RegisterField::<
18589 4,
18590 0x1,
18591 1,
18592 0,
18593 p714pfs_by::Pcr,
18594 p714pfs_by::Pcr,
18595 P714PfsBy_SPEC,
18596 crate::common::RW,
18597 >::from_register(self, 0)
18598 }
18599
18600 #[doc = "N-Channel Open-Drain Control"]
18601 #[inline(always)]
18602 pub fn ncodr(
18603 self,
18604 ) -> crate::common::RegisterField<
18605 6,
18606 0x1,
18607 1,
18608 0,
18609 p714pfs_by::Ncodr,
18610 p714pfs_by::Ncodr,
18611 P714PfsBy_SPEC,
18612 crate::common::RW,
18613 > {
18614 crate::common::RegisterField::<
18615 6,
18616 0x1,
18617 1,
18618 0,
18619 p714pfs_by::Ncodr,
18620 p714pfs_by::Ncodr,
18621 P714PfsBy_SPEC,
18622 crate::common::RW,
18623 >::from_register(self, 0)
18624 }
18625}
18626impl ::core::default::Default for P714PfsBy {
18627 #[inline(always)]
18628 fn default() -> P714PfsBy {
18629 <crate::RegValueT<P714PfsBy_SPEC> as RegisterValue<_>>::new(0)
18630 }
18631}
18632pub mod p714pfs_by {
18633
18634 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18635 pub struct Podr_SPEC;
18636 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
18637 impl Podr {
18638 #[doc = "Output low"]
18639 pub const _0: Self = Self::new(0);
18640
18641 #[doc = "Output high"]
18642 pub const _1: Self = Self::new(1);
18643 }
18644 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18645 pub struct Pidr_SPEC;
18646 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
18647 impl Pidr {
18648 #[doc = "Low level"]
18649 pub const _0: Self = Self::new(0);
18650
18651 #[doc = "High level"]
18652 pub const _1: Self = Self::new(1);
18653 }
18654 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18655 pub struct Pdr_SPEC;
18656 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
18657 impl Pdr {
18658 #[doc = "Input (functions as an input pin)"]
18659 pub const _0: Self = Self::new(0);
18660
18661 #[doc = "Output (functions as an output pin)"]
18662 pub const _1: Self = Self::new(1);
18663 }
18664 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18665 pub struct Pcr_SPEC;
18666 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
18667 impl Pcr {
18668 #[doc = "Disable input pull-up"]
18669 pub const _0: Self = Self::new(0);
18670
18671 #[doc = "Enable input pull-up"]
18672 pub const _1: Self = Self::new(1);
18673 }
18674 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18675 pub struct Ncodr_SPEC;
18676 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
18677 impl Ncodr {
18678 #[doc = "Output CMOS"]
18679 pub const _0: Self = Self::new(0);
18680
18681 #[doc = "Output NMOS open-drain"]
18682 pub const _1: Self = Self::new(1);
18683 }
18684}
18685#[doc(hidden)]
18686#[derive(Copy, Clone, Eq, PartialEq)]
18687pub struct P80Pfs_SPEC;
18688impl crate::sealed::RegSpec for P80Pfs_SPEC {
18689 type DataType = u32;
18690}
18691
18692#[doc = "Port 80%s Pin Function Select Register"]
18693pub type P80Pfs = crate::RegValueT<P80Pfs_SPEC>;
18694
18695impl P80Pfs {
18696 #[doc = "Port Output Data"]
18697 #[inline(always)]
18698 pub fn podr(
18699 self,
18700 ) -> crate::common::RegisterField<
18701 0,
18702 0x1,
18703 1,
18704 0,
18705 p80pfs::Podr,
18706 p80pfs::Podr,
18707 P80Pfs_SPEC,
18708 crate::common::RW,
18709 > {
18710 crate::common::RegisterField::<
18711 0,
18712 0x1,
18713 1,
18714 0,
18715 p80pfs::Podr,
18716 p80pfs::Podr,
18717 P80Pfs_SPEC,
18718 crate::common::RW,
18719 >::from_register(self, 0)
18720 }
18721
18722 #[doc = "Port State"]
18723 #[inline(always)]
18724 pub fn pidr(
18725 self,
18726 ) -> crate::common::RegisterField<
18727 1,
18728 0x1,
18729 1,
18730 0,
18731 p80pfs::Pidr,
18732 p80pfs::Pidr,
18733 P80Pfs_SPEC,
18734 crate::common::R,
18735 > {
18736 crate::common::RegisterField::<
18737 1,
18738 0x1,
18739 1,
18740 0,
18741 p80pfs::Pidr,
18742 p80pfs::Pidr,
18743 P80Pfs_SPEC,
18744 crate::common::R,
18745 >::from_register(self, 0)
18746 }
18747
18748 #[doc = "Port Direction"]
18749 #[inline(always)]
18750 pub fn pdr(
18751 self,
18752 ) -> crate::common::RegisterField<
18753 2,
18754 0x1,
18755 1,
18756 0,
18757 p80pfs::Pdr,
18758 p80pfs::Pdr,
18759 P80Pfs_SPEC,
18760 crate::common::RW,
18761 > {
18762 crate::common::RegisterField::<
18763 2,
18764 0x1,
18765 1,
18766 0,
18767 p80pfs::Pdr,
18768 p80pfs::Pdr,
18769 P80Pfs_SPEC,
18770 crate::common::RW,
18771 >::from_register(self, 0)
18772 }
18773
18774 #[doc = "Pull-up Control"]
18775 #[inline(always)]
18776 pub fn pcr(
18777 self,
18778 ) -> crate::common::RegisterField<
18779 4,
18780 0x1,
18781 1,
18782 0,
18783 p80pfs::Pcr,
18784 p80pfs::Pcr,
18785 P80Pfs_SPEC,
18786 crate::common::RW,
18787 > {
18788 crate::common::RegisterField::<
18789 4,
18790 0x1,
18791 1,
18792 0,
18793 p80pfs::Pcr,
18794 p80pfs::Pcr,
18795 P80Pfs_SPEC,
18796 crate::common::RW,
18797 >::from_register(self, 0)
18798 }
18799
18800 #[doc = "N-Channel Open-Drain Control"]
18801 #[inline(always)]
18802 pub fn ncodr(
18803 self,
18804 ) -> crate::common::RegisterField<
18805 6,
18806 0x1,
18807 1,
18808 0,
18809 p80pfs::Ncodr,
18810 p80pfs::Ncodr,
18811 P80Pfs_SPEC,
18812 crate::common::RW,
18813 > {
18814 crate::common::RegisterField::<
18815 6,
18816 0x1,
18817 1,
18818 0,
18819 p80pfs::Ncodr,
18820 p80pfs::Ncodr,
18821 P80Pfs_SPEC,
18822 crate::common::RW,
18823 >::from_register(self, 0)
18824 }
18825
18826 #[doc = "IRQ Input Enable"]
18827 #[inline(always)]
18828 pub fn isel(
18829 self,
18830 ) -> crate::common::RegisterField<
18831 14,
18832 0x1,
18833 1,
18834 0,
18835 p80pfs::Isel,
18836 p80pfs::Isel,
18837 P80Pfs_SPEC,
18838 crate::common::RW,
18839 > {
18840 crate::common::RegisterField::<
18841 14,
18842 0x1,
18843 1,
18844 0,
18845 p80pfs::Isel,
18846 p80pfs::Isel,
18847 P80Pfs_SPEC,
18848 crate::common::RW,
18849 >::from_register(self, 0)
18850 }
18851
18852 #[doc = "Analog Input Enable"]
18853 #[inline(always)]
18854 pub fn asel(
18855 self,
18856 ) -> crate::common::RegisterField<
18857 15,
18858 0x1,
18859 1,
18860 0,
18861 p80pfs::Asel,
18862 p80pfs::Asel,
18863 P80Pfs_SPEC,
18864 crate::common::RW,
18865 > {
18866 crate::common::RegisterField::<
18867 15,
18868 0x1,
18869 1,
18870 0,
18871 p80pfs::Asel,
18872 p80pfs::Asel,
18873 P80Pfs_SPEC,
18874 crate::common::RW,
18875 >::from_register(self, 0)
18876 }
18877
18878 #[doc = "Port Mode Control"]
18879 #[inline(always)]
18880 pub fn pmr(
18881 self,
18882 ) -> crate::common::RegisterField<
18883 16,
18884 0x1,
18885 1,
18886 0,
18887 p80pfs::Pmr,
18888 p80pfs::Pmr,
18889 P80Pfs_SPEC,
18890 crate::common::RW,
18891 > {
18892 crate::common::RegisterField::<
18893 16,
18894 0x1,
18895 1,
18896 0,
18897 p80pfs::Pmr,
18898 p80pfs::Pmr,
18899 P80Pfs_SPEC,
18900 crate::common::RW,
18901 >::from_register(self, 0)
18902 }
18903
18904 #[doc = "Peripheral Select"]
18905 #[inline(always)]
18906 pub fn psel(
18907 self,
18908 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P80Pfs_SPEC, crate::common::RW> {
18909 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P80Pfs_SPEC,crate::common::RW>::from_register(self,0)
18910 }
18911}
18912impl ::core::default::Default for P80Pfs {
18913 #[inline(always)]
18914 fn default() -> P80Pfs {
18915 <crate::RegValueT<P80Pfs_SPEC> as RegisterValue<_>>::new(0)
18916 }
18917}
18918pub mod p80pfs {
18919
18920 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18921 pub struct Podr_SPEC;
18922 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
18923 impl Podr {
18924 #[doc = "Output low"]
18925 pub const _0: Self = Self::new(0);
18926
18927 #[doc = "Output high"]
18928 pub const _1: Self = Self::new(1);
18929 }
18930 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18931 pub struct Pidr_SPEC;
18932 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
18933 impl Pidr {
18934 #[doc = "Low level"]
18935 pub const _0: Self = Self::new(0);
18936
18937 #[doc = "High level"]
18938 pub const _1: Self = Self::new(1);
18939 }
18940 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18941 pub struct Pdr_SPEC;
18942 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
18943 impl Pdr {
18944 #[doc = "Input (functions as an input pin)"]
18945 pub const _0: Self = Self::new(0);
18946
18947 #[doc = "Output (functions as an output pin)"]
18948 pub const _1: Self = Self::new(1);
18949 }
18950 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18951 pub struct Pcr_SPEC;
18952 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
18953 impl Pcr {
18954 #[doc = "Disable input pull-up"]
18955 pub const _0: Self = Self::new(0);
18956
18957 #[doc = "Enable input pull-up"]
18958 pub const _1: Self = Self::new(1);
18959 }
18960 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18961 pub struct Ncodr_SPEC;
18962 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
18963 impl Ncodr {
18964 #[doc = "Output CMOS"]
18965 pub const _0: Self = Self::new(0);
18966
18967 #[doc = "Output NMOS open-drain"]
18968 pub const _1: Self = Self::new(1);
18969 }
18970 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18971 pub struct Isel_SPEC;
18972 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
18973 impl Isel {
18974 #[doc = "Do not use as IRQn input pin"]
18975 pub const _0: Self = Self::new(0);
18976
18977 #[doc = "Use as IRQn input pin"]
18978 pub const _1: Self = Self::new(1);
18979 }
18980 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18981 pub struct Asel_SPEC;
18982 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
18983 impl Asel {
18984 #[doc = "Do not use as analog pin"]
18985 pub const _0: Self = Self::new(0);
18986
18987 #[doc = "Use as analog pin"]
18988 pub const _1: Self = Self::new(1);
18989 }
18990 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
18991 pub struct Pmr_SPEC;
18992 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
18993 impl Pmr {
18994 #[doc = "Use as general I/O pin"]
18995 pub const _0: Self = Self::new(0);
18996
18997 #[doc = "Use as I/O port for peripheral functions"]
18998 pub const _1: Self = Self::new(1);
18999 }
19000}
19001#[doc(hidden)]
19002#[derive(Copy, Clone, Eq, PartialEq)]
19003pub struct P80PfsHa_SPEC;
19004impl crate::sealed::RegSpec for P80PfsHa_SPEC {
19005 type DataType = u16;
19006}
19007
19008#[doc = "Port 80%s Pin Function Select Register"]
19009pub type P80PfsHa = crate::RegValueT<P80PfsHa_SPEC>;
19010
19011impl P80PfsHa {
19012 #[doc = "Port Output Data"]
19013 #[inline(always)]
19014 pub fn podr(
19015 self,
19016 ) -> crate::common::RegisterField<
19017 0,
19018 0x1,
19019 1,
19020 0,
19021 p80pfs_ha::Podr,
19022 p80pfs_ha::Podr,
19023 P80PfsHa_SPEC,
19024 crate::common::RW,
19025 > {
19026 crate::common::RegisterField::<
19027 0,
19028 0x1,
19029 1,
19030 0,
19031 p80pfs_ha::Podr,
19032 p80pfs_ha::Podr,
19033 P80PfsHa_SPEC,
19034 crate::common::RW,
19035 >::from_register(self, 0)
19036 }
19037
19038 #[doc = "Port State"]
19039 #[inline(always)]
19040 pub fn pidr(
19041 self,
19042 ) -> crate::common::RegisterField<
19043 1,
19044 0x1,
19045 1,
19046 0,
19047 p80pfs_ha::Pidr,
19048 p80pfs_ha::Pidr,
19049 P80PfsHa_SPEC,
19050 crate::common::R,
19051 > {
19052 crate::common::RegisterField::<
19053 1,
19054 0x1,
19055 1,
19056 0,
19057 p80pfs_ha::Pidr,
19058 p80pfs_ha::Pidr,
19059 P80PfsHa_SPEC,
19060 crate::common::R,
19061 >::from_register(self, 0)
19062 }
19063
19064 #[doc = "Port Direction"]
19065 #[inline(always)]
19066 pub fn pdr(
19067 self,
19068 ) -> crate::common::RegisterField<
19069 2,
19070 0x1,
19071 1,
19072 0,
19073 p80pfs_ha::Pdr,
19074 p80pfs_ha::Pdr,
19075 P80PfsHa_SPEC,
19076 crate::common::RW,
19077 > {
19078 crate::common::RegisterField::<
19079 2,
19080 0x1,
19081 1,
19082 0,
19083 p80pfs_ha::Pdr,
19084 p80pfs_ha::Pdr,
19085 P80PfsHa_SPEC,
19086 crate::common::RW,
19087 >::from_register(self, 0)
19088 }
19089
19090 #[doc = "Pull-up Control"]
19091 #[inline(always)]
19092 pub fn pcr(
19093 self,
19094 ) -> crate::common::RegisterField<
19095 4,
19096 0x1,
19097 1,
19098 0,
19099 p80pfs_ha::Pcr,
19100 p80pfs_ha::Pcr,
19101 P80PfsHa_SPEC,
19102 crate::common::RW,
19103 > {
19104 crate::common::RegisterField::<
19105 4,
19106 0x1,
19107 1,
19108 0,
19109 p80pfs_ha::Pcr,
19110 p80pfs_ha::Pcr,
19111 P80PfsHa_SPEC,
19112 crate::common::RW,
19113 >::from_register(self, 0)
19114 }
19115
19116 #[doc = "N-Channel Open-Drain Control"]
19117 #[inline(always)]
19118 pub fn ncodr(
19119 self,
19120 ) -> crate::common::RegisterField<
19121 6,
19122 0x1,
19123 1,
19124 0,
19125 p80pfs_ha::Ncodr,
19126 p80pfs_ha::Ncodr,
19127 P80PfsHa_SPEC,
19128 crate::common::RW,
19129 > {
19130 crate::common::RegisterField::<
19131 6,
19132 0x1,
19133 1,
19134 0,
19135 p80pfs_ha::Ncodr,
19136 p80pfs_ha::Ncodr,
19137 P80PfsHa_SPEC,
19138 crate::common::RW,
19139 >::from_register(self, 0)
19140 }
19141
19142 #[doc = "IRQ Input Enable"]
19143 #[inline(always)]
19144 pub fn isel(
19145 self,
19146 ) -> crate::common::RegisterField<
19147 14,
19148 0x1,
19149 1,
19150 0,
19151 p80pfs_ha::Isel,
19152 p80pfs_ha::Isel,
19153 P80PfsHa_SPEC,
19154 crate::common::RW,
19155 > {
19156 crate::common::RegisterField::<
19157 14,
19158 0x1,
19159 1,
19160 0,
19161 p80pfs_ha::Isel,
19162 p80pfs_ha::Isel,
19163 P80PfsHa_SPEC,
19164 crate::common::RW,
19165 >::from_register(self, 0)
19166 }
19167
19168 #[doc = "Analog Input Enable"]
19169 #[inline(always)]
19170 pub fn asel(
19171 self,
19172 ) -> crate::common::RegisterField<
19173 15,
19174 0x1,
19175 1,
19176 0,
19177 p80pfs_ha::Asel,
19178 p80pfs_ha::Asel,
19179 P80PfsHa_SPEC,
19180 crate::common::RW,
19181 > {
19182 crate::common::RegisterField::<
19183 15,
19184 0x1,
19185 1,
19186 0,
19187 p80pfs_ha::Asel,
19188 p80pfs_ha::Asel,
19189 P80PfsHa_SPEC,
19190 crate::common::RW,
19191 >::from_register(self, 0)
19192 }
19193}
19194impl ::core::default::Default for P80PfsHa {
19195 #[inline(always)]
19196 fn default() -> P80PfsHa {
19197 <crate::RegValueT<P80PfsHa_SPEC> as RegisterValue<_>>::new(0)
19198 }
19199}
19200pub mod p80pfs_ha {
19201
19202 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19203 pub struct Podr_SPEC;
19204 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
19205 impl Podr {
19206 #[doc = "Output low"]
19207 pub const _0: Self = Self::new(0);
19208
19209 #[doc = "Output high"]
19210 pub const _1: Self = Self::new(1);
19211 }
19212 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19213 pub struct Pidr_SPEC;
19214 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
19215 impl Pidr {
19216 #[doc = "Low level"]
19217 pub const _0: Self = Self::new(0);
19218
19219 #[doc = "High level"]
19220 pub const _1: Self = Self::new(1);
19221 }
19222 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19223 pub struct Pdr_SPEC;
19224 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
19225 impl Pdr {
19226 #[doc = "Input (functions as an input pin)"]
19227 pub const _0: Self = Self::new(0);
19228
19229 #[doc = "Output (functions as an output pin)"]
19230 pub const _1: Self = Self::new(1);
19231 }
19232 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19233 pub struct Pcr_SPEC;
19234 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
19235 impl Pcr {
19236 #[doc = "Disable input pull-up"]
19237 pub const _0: Self = Self::new(0);
19238
19239 #[doc = "Enable input pull-up"]
19240 pub const _1: Self = Self::new(1);
19241 }
19242 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19243 pub struct Ncodr_SPEC;
19244 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
19245 impl Ncodr {
19246 #[doc = "Output CMOS"]
19247 pub const _0: Self = Self::new(0);
19248
19249 #[doc = "Output NMOS open-drain"]
19250 pub const _1: Self = Self::new(1);
19251 }
19252 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19253 pub struct Isel_SPEC;
19254 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
19255 impl Isel {
19256 #[doc = "Do not use as IRQn input pin"]
19257 pub const _0: Self = Self::new(0);
19258
19259 #[doc = "Use as IRQn input pin"]
19260 pub const _1: Self = Self::new(1);
19261 }
19262 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19263 pub struct Asel_SPEC;
19264 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
19265 impl Asel {
19266 #[doc = "Do not use as analog pin"]
19267 pub const _0: Self = Self::new(0);
19268
19269 #[doc = "Use as analog pin"]
19270 pub const _1: Self = Self::new(1);
19271 }
19272}
19273#[doc(hidden)]
19274#[derive(Copy, Clone, Eq, PartialEq)]
19275pub struct P80PfsBy_SPEC;
19276impl crate::sealed::RegSpec for P80PfsBy_SPEC {
19277 type DataType = u8;
19278}
19279
19280#[doc = "Port 80%s Pin Function Select Register"]
19281pub type P80PfsBy = crate::RegValueT<P80PfsBy_SPEC>;
19282
19283impl P80PfsBy {
19284 #[doc = "Port Output Data"]
19285 #[inline(always)]
19286 pub fn podr(
19287 self,
19288 ) -> crate::common::RegisterField<
19289 0,
19290 0x1,
19291 1,
19292 0,
19293 p80pfs_by::Podr,
19294 p80pfs_by::Podr,
19295 P80PfsBy_SPEC,
19296 crate::common::RW,
19297 > {
19298 crate::common::RegisterField::<
19299 0,
19300 0x1,
19301 1,
19302 0,
19303 p80pfs_by::Podr,
19304 p80pfs_by::Podr,
19305 P80PfsBy_SPEC,
19306 crate::common::RW,
19307 >::from_register(self, 0)
19308 }
19309
19310 #[doc = "Port State"]
19311 #[inline(always)]
19312 pub fn pidr(
19313 self,
19314 ) -> crate::common::RegisterField<
19315 1,
19316 0x1,
19317 1,
19318 0,
19319 p80pfs_by::Pidr,
19320 p80pfs_by::Pidr,
19321 P80PfsBy_SPEC,
19322 crate::common::R,
19323 > {
19324 crate::common::RegisterField::<
19325 1,
19326 0x1,
19327 1,
19328 0,
19329 p80pfs_by::Pidr,
19330 p80pfs_by::Pidr,
19331 P80PfsBy_SPEC,
19332 crate::common::R,
19333 >::from_register(self, 0)
19334 }
19335
19336 #[doc = "Port Direction"]
19337 #[inline(always)]
19338 pub fn pdr(
19339 self,
19340 ) -> crate::common::RegisterField<
19341 2,
19342 0x1,
19343 1,
19344 0,
19345 p80pfs_by::Pdr,
19346 p80pfs_by::Pdr,
19347 P80PfsBy_SPEC,
19348 crate::common::RW,
19349 > {
19350 crate::common::RegisterField::<
19351 2,
19352 0x1,
19353 1,
19354 0,
19355 p80pfs_by::Pdr,
19356 p80pfs_by::Pdr,
19357 P80PfsBy_SPEC,
19358 crate::common::RW,
19359 >::from_register(self, 0)
19360 }
19361
19362 #[doc = "Pull-up Control"]
19363 #[inline(always)]
19364 pub fn pcr(
19365 self,
19366 ) -> crate::common::RegisterField<
19367 4,
19368 0x1,
19369 1,
19370 0,
19371 p80pfs_by::Pcr,
19372 p80pfs_by::Pcr,
19373 P80PfsBy_SPEC,
19374 crate::common::RW,
19375 > {
19376 crate::common::RegisterField::<
19377 4,
19378 0x1,
19379 1,
19380 0,
19381 p80pfs_by::Pcr,
19382 p80pfs_by::Pcr,
19383 P80PfsBy_SPEC,
19384 crate::common::RW,
19385 >::from_register(self, 0)
19386 }
19387
19388 #[doc = "N-Channel Open-Drain Control"]
19389 #[inline(always)]
19390 pub fn ncodr(
19391 self,
19392 ) -> crate::common::RegisterField<
19393 6,
19394 0x1,
19395 1,
19396 0,
19397 p80pfs_by::Ncodr,
19398 p80pfs_by::Ncodr,
19399 P80PfsBy_SPEC,
19400 crate::common::RW,
19401 > {
19402 crate::common::RegisterField::<
19403 6,
19404 0x1,
19405 1,
19406 0,
19407 p80pfs_by::Ncodr,
19408 p80pfs_by::Ncodr,
19409 P80PfsBy_SPEC,
19410 crate::common::RW,
19411 >::from_register(self, 0)
19412 }
19413}
19414impl ::core::default::Default for P80PfsBy {
19415 #[inline(always)]
19416 fn default() -> P80PfsBy {
19417 <crate::RegValueT<P80PfsBy_SPEC> as RegisterValue<_>>::new(0)
19418 }
19419}
19420pub mod p80pfs_by {
19421
19422 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19423 pub struct Podr_SPEC;
19424 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
19425 impl Podr {
19426 #[doc = "Output low"]
19427 pub const _0: Self = Self::new(0);
19428
19429 #[doc = "Output high"]
19430 pub const _1: Self = Self::new(1);
19431 }
19432 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19433 pub struct Pidr_SPEC;
19434 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
19435 impl Pidr {
19436 #[doc = "Low level"]
19437 pub const _0: Self = Self::new(0);
19438
19439 #[doc = "High level"]
19440 pub const _1: Self = Self::new(1);
19441 }
19442 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19443 pub struct Pdr_SPEC;
19444 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
19445 impl Pdr {
19446 #[doc = "Input (functions as an input pin)"]
19447 pub const _0: Self = Self::new(0);
19448
19449 #[doc = "Output (functions as an output pin)"]
19450 pub const _1: Self = Self::new(1);
19451 }
19452 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19453 pub struct Pcr_SPEC;
19454 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
19455 impl Pcr {
19456 #[doc = "Disable input pull-up"]
19457 pub const _0: Self = Self::new(0);
19458
19459 #[doc = "Enable input pull-up"]
19460 pub const _1: Self = Self::new(1);
19461 }
19462 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19463 pub struct Ncodr_SPEC;
19464 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
19465 impl Ncodr {
19466 #[doc = "Output CMOS"]
19467 pub const _0: Self = Self::new(0);
19468
19469 #[doc = "Output NMOS open-drain"]
19470 pub const _1: Self = Self::new(1);
19471 }
19472}
19473#[doc(hidden)]
19474#[derive(Copy, Clone, Eq, PartialEq)]
19475pub struct Pwpr_SPEC;
19476impl crate::sealed::RegSpec for Pwpr_SPEC {
19477 type DataType = u8;
19478}
19479
19480#[doc = "Write-Protect Register"]
19481pub type Pwpr = crate::RegValueT<Pwpr_SPEC>;
19482
19483impl Pwpr {
19484 #[doc = "PmnPFS Register Write Enable"]
19485 #[inline(always)]
19486 pub fn pfswe(
19487 self,
19488 ) -> crate::common::RegisterField<
19489 6,
19490 0x1,
19491 1,
19492 0,
19493 pwpr::Pfswe,
19494 pwpr::Pfswe,
19495 Pwpr_SPEC,
19496 crate::common::RW,
19497 > {
19498 crate::common::RegisterField::<
19499 6,
19500 0x1,
19501 1,
19502 0,
19503 pwpr::Pfswe,
19504 pwpr::Pfswe,
19505 Pwpr_SPEC,
19506 crate::common::RW,
19507 >::from_register(self, 0)
19508 }
19509
19510 #[doc = "PFSWE Bit Write Disable"]
19511 #[inline(always)]
19512 pub fn b0wi(
19513 self,
19514 ) -> crate::common::RegisterField<
19515 7,
19516 0x1,
19517 1,
19518 0,
19519 pwpr::B0Wi,
19520 pwpr::B0Wi,
19521 Pwpr_SPEC,
19522 crate::common::RW,
19523 > {
19524 crate::common::RegisterField::<
19525 7,
19526 0x1,
19527 1,
19528 0,
19529 pwpr::B0Wi,
19530 pwpr::B0Wi,
19531 Pwpr_SPEC,
19532 crate::common::RW,
19533 >::from_register(self, 0)
19534 }
19535}
19536impl ::core::default::Default for Pwpr {
19537 #[inline(always)]
19538 fn default() -> Pwpr {
19539 <crate::RegValueT<Pwpr_SPEC> as RegisterValue<_>>::new(128)
19540 }
19541}
19542pub mod pwpr {
19543
19544 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19545 pub struct Pfswe_SPEC;
19546 pub type Pfswe = crate::EnumBitfieldStruct<u8, Pfswe_SPEC>;
19547 impl Pfswe {
19548 #[doc = "Writing to the PmnPFS register is disabled"]
19549 pub const _0: Self = Self::new(0);
19550
19551 #[doc = "Writing to the PmnPFS register is enabled"]
19552 pub const _1: Self = Self::new(1);
19553 }
19554 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19555 pub struct B0Wi_SPEC;
19556 pub type B0Wi = crate::EnumBitfieldStruct<u8, B0Wi_SPEC>;
19557 impl B0Wi {
19558 #[doc = "Writing to the PFSWE bit is enabled"]
19559 pub const _0: Self = Self::new(0);
19560
19561 #[doc = "Writing to the PFSWE bit is disabled"]
19562 pub const _1: Self = Self::new(1);
19563 }
19564}
19565#[doc(hidden)]
19566#[derive(Copy, Clone, Eq, PartialEq)]
19567pub struct Prwcntr_SPEC;
19568impl crate::sealed::RegSpec for Prwcntr_SPEC {
19569 type DataType = u8;
19570}
19571
19572#[doc = "Port Read Wait Control Register"]
19573pub type Prwcntr = crate::RegValueT<Prwcntr_SPEC>;
19574
19575impl Prwcntr {
19576 #[doc = "Wait Cycle Control"]
19577 #[inline(always)]
19578 pub fn wait(
19579 self,
19580 ) -> crate::common::RegisterField<
19581 0,
19582 0x3,
19583 1,
19584 0,
19585 prwcntr::Wait,
19586 prwcntr::Wait,
19587 Prwcntr_SPEC,
19588 crate::common::RW,
19589 > {
19590 crate::common::RegisterField::<
19591 0,
19592 0x3,
19593 1,
19594 0,
19595 prwcntr::Wait,
19596 prwcntr::Wait,
19597 Prwcntr_SPEC,
19598 crate::common::RW,
19599 >::from_register(self, 0)
19600 }
19601}
19602impl ::core::default::Default for Prwcntr {
19603 #[inline(always)]
19604 fn default() -> Prwcntr {
19605 <crate::RegValueT<Prwcntr_SPEC> as RegisterValue<_>>::new(1)
19606 }
19607}
19608pub mod prwcntr {
19609
19610 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
19611 pub struct Wait_SPEC;
19612 pub type Wait = crate::EnumBitfieldStruct<u8, Wait_SPEC>;
19613 impl Wait {
19614 #[doc = "Setting prohibited"]
19615 pub const _00: Self = Self::new(0);
19616
19617 #[doc = "Insert a 1-cycle wait"]
19618 pub const _01: Self = Self::new(1);
19619
19620 #[doc = "Insert a 2-cycle wait"]
19621 pub const _10: Self = Self::new(2);
19622
19623 #[doc = "Insert a 3-cycle wait"]
19624 pub const _11: Self = Self::new(3);
19625 }
19626}