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 2,
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
2297 #[doc = "Port 4%s Pin Function Select Register"]
2298 #[inline(always)]
2299 pub const fn p4pfs_ha(
2300 &self,
2301 ) -> &'static crate::common::ClusterRegisterArray<
2302 crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW>,
2303 2,
2304 0x4,
2305 > {
2306 unsafe {
2307 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x12ausize))
2308 }
2309 }
2310 #[inline(always)]
2311 pub const fn p410pfs_ha(
2312 &self,
2313 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2314 unsafe {
2315 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2316 self._svd2pac_as_ptr().add(0x12ausize),
2317 )
2318 }
2319 }
2320 #[inline(always)]
2321 pub const fn p411pfs_ha(
2322 &self,
2323 ) -> &'static crate::common::Reg<self::P4PfsHa_SPEC, crate::common::RW> {
2324 unsafe {
2325 crate::common::Reg::<self::P4PfsHa_SPEC, crate::common::RW>::from_ptr(
2326 self._svd2pac_as_ptr().add(0x12eusize),
2327 )
2328 }
2329 }
2330
2331 #[doc = "Port 4%s Pin Function Select Register"]
2332 #[inline(always)]
2333 pub const fn p4pfs_by(
2334 &self,
2335 ) -> &'static crate::common::ClusterRegisterArray<
2336 crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW>,
2337 2,
2338 0x4,
2339 > {
2340 unsafe {
2341 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x12busize))
2342 }
2343 }
2344 #[inline(always)]
2345 pub const fn p410pfs_by(
2346 &self,
2347 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2348 unsafe {
2349 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2350 self._svd2pac_as_ptr().add(0x12busize),
2351 )
2352 }
2353 }
2354 #[inline(always)]
2355 pub const fn p411pfs_by(
2356 &self,
2357 ) -> &'static crate::common::Reg<self::P4PfsBy_SPEC, crate::common::RW> {
2358 unsafe {
2359 crate::common::Reg::<self::P4PfsBy_SPEC, crate::common::RW>::from_ptr(
2360 self._svd2pac_as_ptr().add(0x12fusize),
2361 )
2362 }
2363 }
2364
2365 #[doc = "Port 50%s Pin Function Select Register"]
2366 #[inline(always)]
2367 pub const fn p50pfs(
2368 &self,
2369 ) -> &'static crate::common::ClusterRegisterArray<
2370 crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW>,
2371 6,
2372 0x4,
2373 > {
2374 unsafe {
2375 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x140usize))
2376 }
2377 }
2378 #[inline(always)]
2379 pub const fn p500pfs(
2380 &self,
2381 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2382 unsafe {
2383 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2384 self._svd2pac_as_ptr().add(0x140usize),
2385 )
2386 }
2387 }
2388 #[inline(always)]
2389 pub const fn p501pfs(
2390 &self,
2391 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2392 unsafe {
2393 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2394 self._svd2pac_as_ptr().add(0x144usize),
2395 )
2396 }
2397 }
2398 #[inline(always)]
2399 pub const fn p502pfs(
2400 &self,
2401 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2402 unsafe {
2403 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2404 self._svd2pac_as_ptr().add(0x148usize),
2405 )
2406 }
2407 }
2408 #[inline(always)]
2409 pub const fn p503pfs(
2410 &self,
2411 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2412 unsafe {
2413 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2414 self._svd2pac_as_ptr().add(0x14cusize),
2415 )
2416 }
2417 }
2418 #[inline(always)]
2419 pub const fn p504pfs(
2420 &self,
2421 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2422 unsafe {
2423 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2424 self._svd2pac_as_ptr().add(0x150usize),
2425 )
2426 }
2427 }
2428 #[inline(always)]
2429 pub const fn p505pfs(
2430 &self,
2431 ) -> &'static crate::common::Reg<self::P50Pfs_SPEC, crate::common::RW> {
2432 unsafe {
2433 crate::common::Reg::<self::P50Pfs_SPEC, crate::common::RW>::from_ptr(
2434 self._svd2pac_as_ptr().add(0x154usize),
2435 )
2436 }
2437 }
2438
2439 #[doc = "Port 50%s Pin Function Select Register"]
2440 #[inline(always)]
2441 pub const fn p50pfs_ha(
2442 &self,
2443 ) -> &'static crate::common::ClusterRegisterArray<
2444 crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW>,
2445 6,
2446 0x4,
2447 > {
2448 unsafe {
2449 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x142usize))
2450 }
2451 }
2452 #[inline(always)]
2453 pub const fn p500pfs_ha(
2454 &self,
2455 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2456 unsafe {
2457 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2458 self._svd2pac_as_ptr().add(0x142usize),
2459 )
2460 }
2461 }
2462 #[inline(always)]
2463 pub const fn p501pfs_ha(
2464 &self,
2465 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2466 unsafe {
2467 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2468 self._svd2pac_as_ptr().add(0x146usize),
2469 )
2470 }
2471 }
2472 #[inline(always)]
2473 pub const fn p502pfs_ha(
2474 &self,
2475 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2476 unsafe {
2477 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2478 self._svd2pac_as_ptr().add(0x14ausize),
2479 )
2480 }
2481 }
2482 #[inline(always)]
2483 pub const fn p503pfs_ha(
2484 &self,
2485 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2486 unsafe {
2487 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2488 self._svd2pac_as_ptr().add(0x14eusize),
2489 )
2490 }
2491 }
2492 #[inline(always)]
2493 pub const fn p504pfs_ha(
2494 &self,
2495 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2496 unsafe {
2497 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2498 self._svd2pac_as_ptr().add(0x152usize),
2499 )
2500 }
2501 }
2502 #[inline(always)]
2503 pub const fn p505pfs_ha(
2504 &self,
2505 ) -> &'static crate::common::Reg<self::P50PfsHa_SPEC, crate::common::RW> {
2506 unsafe {
2507 crate::common::Reg::<self::P50PfsHa_SPEC, crate::common::RW>::from_ptr(
2508 self._svd2pac_as_ptr().add(0x156usize),
2509 )
2510 }
2511 }
2512
2513 #[doc = "Port 50%s Pin Function Select Register"]
2514 #[inline(always)]
2515 pub const fn p50pfs_by(
2516 &self,
2517 ) -> &'static crate::common::ClusterRegisterArray<
2518 crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW>,
2519 6,
2520 0x4,
2521 > {
2522 unsafe {
2523 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x143usize))
2524 }
2525 }
2526 #[inline(always)]
2527 pub const fn p500pfs_by(
2528 &self,
2529 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2530 unsafe {
2531 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2532 self._svd2pac_as_ptr().add(0x143usize),
2533 )
2534 }
2535 }
2536 #[inline(always)]
2537 pub const fn p501pfs_by(
2538 &self,
2539 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2540 unsafe {
2541 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2542 self._svd2pac_as_ptr().add(0x147usize),
2543 )
2544 }
2545 }
2546 #[inline(always)]
2547 pub const fn p502pfs_by(
2548 &self,
2549 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2550 unsafe {
2551 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2552 self._svd2pac_as_ptr().add(0x14busize),
2553 )
2554 }
2555 }
2556 #[inline(always)]
2557 pub const fn p503pfs_by(
2558 &self,
2559 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2560 unsafe {
2561 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2562 self._svd2pac_as_ptr().add(0x14fusize),
2563 )
2564 }
2565 }
2566 #[inline(always)]
2567 pub const fn p504pfs_by(
2568 &self,
2569 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2570 unsafe {
2571 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2572 self._svd2pac_as_ptr().add(0x153usize),
2573 )
2574 }
2575 }
2576 #[inline(always)]
2577 pub const fn p505pfs_by(
2578 &self,
2579 ) -> &'static crate::common::Reg<self::P50PfsBy_SPEC, crate::common::RW> {
2580 unsafe {
2581 crate::common::Reg::<self::P50PfsBy_SPEC, crate::common::RW>::from_ptr(
2582 self._svd2pac_as_ptr().add(0x157usize),
2583 )
2584 }
2585 }
2586
2587 #[doc = "Port 9%s Pin Function Select Register"]
2588 #[inline(always)]
2589 pub const fn p9pfs(
2590 &self,
2591 ) -> &'static crate::common::ClusterRegisterArray<
2592 crate::common::Reg<self::P9Pfs_SPEC, crate::common::RW>,
2593 3,
2594 0x4,
2595 > {
2596 unsafe {
2597 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x274usize))
2598 }
2599 }
2600 #[inline(always)]
2601 pub const fn p913pfs(
2602 &self,
2603 ) -> &'static crate::common::Reg<self::P9Pfs_SPEC, crate::common::RW> {
2604 unsafe {
2605 crate::common::Reg::<self::P9Pfs_SPEC, crate::common::RW>::from_ptr(
2606 self._svd2pac_as_ptr().add(0x274usize),
2607 )
2608 }
2609 }
2610 #[inline(always)]
2611 pub const fn p914pfs(
2612 &self,
2613 ) -> &'static crate::common::Reg<self::P9Pfs_SPEC, crate::common::RW> {
2614 unsafe {
2615 crate::common::Reg::<self::P9Pfs_SPEC, crate::common::RW>::from_ptr(
2616 self._svd2pac_as_ptr().add(0x278usize),
2617 )
2618 }
2619 }
2620 #[inline(always)]
2621 pub const fn p915pfs(
2622 &self,
2623 ) -> &'static crate::common::Reg<self::P9Pfs_SPEC, crate::common::RW> {
2624 unsafe {
2625 crate::common::Reg::<self::P9Pfs_SPEC, crate::common::RW>::from_ptr(
2626 self._svd2pac_as_ptr().add(0x27cusize),
2627 )
2628 }
2629 }
2630
2631 #[doc = "Port 9%s Pin Function Select Register"]
2632 #[inline(always)]
2633 pub const fn p9pfs_ha(
2634 &self,
2635 ) -> &'static crate::common::ClusterRegisterArray<
2636 crate::common::Reg<self::P9PfsHa_SPEC, crate::common::RW>,
2637 3,
2638 0x4,
2639 > {
2640 unsafe {
2641 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x276usize))
2642 }
2643 }
2644 #[inline(always)]
2645 pub const fn p913pfs_ha(
2646 &self,
2647 ) -> &'static crate::common::Reg<self::P9PfsHa_SPEC, crate::common::RW> {
2648 unsafe {
2649 crate::common::Reg::<self::P9PfsHa_SPEC, crate::common::RW>::from_ptr(
2650 self._svd2pac_as_ptr().add(0x276usize),
2651 )
2652 }
2653 }
2654 #[inline(always)]
2655 pub const fn p914pfs_ha(
2656 &self,
2657 ) -> &'static crate::common::Reg<self::P9PfsHa_SPEC, crate::common::RW> {
2658 unsafe {
2659 crate::common::Reg::<self::P9PfsHa_SPEC, crate::common::RW>::from_ptr(
2660 self._svd2pac_as_ptr().add(0x27ausize),
2661 )
2662 }
2663 }
2664 #[inline(always)]
2665 pub const fn p915pfs_ha(
2666 &self,
2667 ) -> &'static crate::common::Reg<self::P9PfsHa_SPEC, crate::common::RW> {
2668 unsafe {
2669 crate::common::Reg::<self::P9PfsHa_SPEC, crate::common::RW>::from_ptr(
2670 self._svd2pac_as_ptr().add(0x27eusize),
2671 )
2672 }
2673 }
2674
2675 #[doc = "Port 9%s Pin Function Select Register"]
2676 #[inline(always)]
2677 pub const fn p9pfs_by(
2678 &self,
2679 ) -> &'static crate::common::ClusterRegisterArray<
2680 crate::common::Reg<self::P9PfsBy_SPEC, crate::common::RW>,
2681 3,
2682 0x4,
2683 > {
2684 unsafe {
2685 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x277usize))
2686 }
2687 }
2688 #[inline(always)]
2689 pub const fn p913pfs_by(
2690 &self,
2691 ) -> &'static crate::common::Reg<self::P9PfsBy_SPEC, crate::common::RW> {
2692 unsafe {
2693 crate::common::Reg::<self::P9PfsBy_SPEC, crate::common::RW>::from_ptr(
2694 self._svd2pac_as_ptr().add(0x277usize),
2695 )
2696 }
2697 }
2698 #[inline(always)]
2699 pub const fn p914pfs_by(
2700 &self,
2701 ) -> &'static crate::common::Reg<self::P9PfsBy_SPEC, crate::common::RW> {
2702 unsafe {
2703 crate::common::Reg::<self::P9PfsBy_SPEC, crate::common::RW>::from_ptr(
2704 self._svd2pac_as_ptr().add(0x27busize),
2705 )
2706 }
2707 }
2708 #[inline(always)]
2709 pub const fn p915pfs_by(
2710 &self,
2711 ) -> &'static crate::common::Reg<self::P9PfsBy_SPEC, crate::common::RW> {
2712 unsafe {
2713 crate::common::Reg::<self::P9PfsBy_SPEC, crate::common::RW>::from_ptr(
2714 self._svd2pac_as_ptr().add(0x27fusize),
2715 )
2716 }
2717 }
2718
2719 #[doc = "Write-Protect Register"]
2720 #[inline(always)]
2721 pub const fn pwpr(&self) -> &'static crate::common::Reg<self::Pwpr_SPEC, crate::common::RW> {
2722 unsafe {
2723 crate::common::Reg::<self::Pwpr_SPEC, crate::common::RW>::from_ptr(
2724 self._svd2pac_as_ptr().add(1283usize),
2725 )
2726 }
2727 }
2728
2729 #[doc = "Port Read Wait Control Register"]
2730 #[inline(always)]
2731 pub const fn prwcntr(
2732 &self,
2733 ) -> &'static crate::common::Reg<self::Prwcntr_SPEC, crate::common::RW> {
2734 unsafe {
2735 crate::common::Reg::<self::Prwcntr_SPEC, crate::common::RW>::from_ptr(
2736 self._svd2pac_as_ptr().add(1295usize),
2737 )
2738 }
2739 }
2740}
2741#[doc(hidden)]
2742#[derive(Copy, Clone, Eq, PartialEq)]
2743pub struct P00Pfs_SPEC;
2744impl crate::sealed::RegSpec for P00Pfs_SPEC {
2745 type DataType = u32;
2746}
2747
2748#[doc = "Port 00%s Pin Function Select Register"]
2749pub type P00Pfs = crate::RegValueT<P00Pfs_SPEC>;
2750
2751impl P00Pfs {
2752 #[doc = "Port Output Data"]
2753 #[inline(always)]
2754 pub fn podr(
2755 self,
2756 ) -> crate::common::RegisterField<
2757 0,
2758 0x1,
2759 1,
2760 0,
2761 p00pfs::Podr,
2762 p00pfs::Podr,
2763 P00Pfs_SPEC,
2764 crate::common::RW,
2765 > {
2766 crate::common::RegisterField::<
2767 0,
2768 0x1,
2769 1,
2770 0,
2771 p00pfs::Podr,
2772 p00pfs::Podr,
2773 P00Pfs_SPEC,
2774 crate::common::RW,
2775 >::from_register(self, 0)
2776 }
2777
2778 #[doc = "Port State"]
2779 #[inline(always)]
2780 pub fn pidr(
2781 self,
2782 ) -> crate::common::RegisterField<
2783 1,
2784 0x1,
2785 1,
2786 0,
2787 p00pfs::Pidr,
2788 p00pfs::Pidr,
2789 P00Pfs_SPEC,
2790 crate::common::R,
2791 > {
2792 crate::common::RegisterField::<
2793 1,
2794 0x1,
2795 1,
2796 0,
2797 p00pfs::Pidr,
2798 p00pfs::Pidr,
2799 P00Pfs_SPEC,
2800 crate::common::R,
2801 >::from_register(self, 0)
2802 }
2803
2804 #[doc = "Port Direction"]
2805 #[inline(always)]
2806 pub fn pdr(
2807 self,
2808 ) -> crate::common::RegisterField<
2809 2,
2810 0x1,
2811 1,
2812 0,
2813 p00pfs::Pdr,
2814 p00pfs::Pdr,
2815 P00Pfs_SPEC,
2816 crate::common::RW,
2817 > {
2818 crate::common::RegisterField::<
2819 2,
2820 0x1,
2821 1,
2822 0,
2823 p00pfs::Pdr,
2824 p00pfs::Pdr,
2825 P00Pfs_SPEC,
2826 crate::common::RW,
2827 >::from_register(self, 0)
2828 }
2829
2830 #[doc = "Pull-up Control"]
2831 #[inline(always)]
2832 pub fn pcr(
2833 self,
2834 ) -> crate::common::RegisterField<
2835 4,
2836 0x1,
2837 1,
2838 0,
2839 p00pfs::Pcr,
2840 p00pfs::Pcr,
2841 P00Pfs_SPEC,
2842 crate::common::RW,
2843 > {
2844 crate::common::RegisterField::<
2845 4,
2846 0x1,
2847 1,
2848 0,
2849 p00pfs::Pcr,
2850 p00pfs::Pcr,
2851 P00Pfs_SPEC,
2852 crate::common::RW,
2853 >::from_register(self, 0)
2854 }
2855
2856 #[doc = "N-Channel Open-Drain Control"]
2857 #[inline(always)]
2858 pub fn ncodr(
2859 self,
2860 ) -> crate::common::RegisterField<
2861 6,
2862 0x1,
2863 1,
2864 0,
2865 p00pfs::Ncodr,
2866 p00pfs::Ncodr,
2867 P00Pfs_SPEC,
2868 crate::common::RW,
2869 > {
2870 crate::common::RegisterField::<
2871 6,
2872 0x1,
2873 1,
2874 0,
2875 p00pfs::Ncodr,
2876 p00pfs::Ncodr,
2877 P00Pfs_SPEC,
2878 crate::common::RW,
2879 >::from_register(self, 0)
2880 }
2881
2882 #[doc = "IRQ Input Enable"]
2883 #[inline(always)]
2884 pub fn isel(
2885 self,
2886 ) -> crate::common::RegisterField<
2887 14,
2888 0x1,
2889 1,
2890 0,
2891 p00pfs::Isel,
2892 p00pfs::Isel,
2893 P00Pfs_SPEC,
2894 crate::common::RW,
2895 > {
2896 crate::common::RegisterField::<
2897 14,
2898 0x1,
2899 1,
2900 0,
2901 p00pfs::Isel,
2902 p00pfs::Isel,
2903 P00Pfs_SPEC,
2904 crate::common::RW,
2905 >::from_register(self, 0)
2906 }
2907
2908 #[doc = "Analog Input Enable"]
2909 #[inline(always)]
2910 pub fn asel(
2911 self,
2912 ) -> crate::common::RegisterField<
2913 15,
2914 0x1,
2915 1,
2916 0,
2917 p00pfs::Asel,
2918 p00pfs::Asel,
2919 P00Pfs_SPEC,
2920 crate::common::RW,
2921 > {
2922 crate::common::RegisterField::<
2923 15,
2924 0x1,
2925 1,
2926 0,
2927 p00pfs::Asel,
2928 p00pfs::Asel,
2929 P00Pfs_SPEC,
2930 crate::common::RW,
2931 >::from_register(self, 0)
2932 }
2933
2934 #[doc = "Port Mode Control"]
2935 #[inline(always)]
2936 pub fn pmr(
2937 self,
2938 ) -> crate::common::RegisterField<
2939 16,
2940 0x1,
2941 1,
2942 0,
2943 p00pfs::Pmr,
2944 p00pfs::Pmr,
2945 P00Pfs_SPEC,
2946 crate::common::RW,
2947 > {
2948 crate::common::RegisterField::<
2949 16,
2950 0x1,
2951 1,
2952 0,
2953 p00pfs::Pmr,
2954 p00pfs::Pmr,
2955 P00Pfs_SPEC,
2956 crate::common::RW,
2957 >::from_register(self, 0)
2958 }
2959
2960 #[doc = "Peripheral Select"]
2961 #[inline(always)]
2962 pub fn psel(
2963 self,
2964 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P00Pfs_SPEC, crate::common::RW> {
2965 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P00Pfs_SPEC,crate::common::RW>::from_register(self,0)
2966 }
2967}
2968impl ::core::default::Default for P00Pfs {
2969 #[inline(always)]
2970 fn default() -> P00Pfs {
2971 <crate::RegValueT<P00Pfs_SPEC> as RegisterValue<_>>::new(0)
2972 }
2973}
2974pub mod p00pfs {
2975
2976 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2977 pub struct Podr_SPEC;
2978 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
2979 impl Podr {
2980 #[doc = "Output low"]
2981 pub const _0: Self = Self::new(0);
2982
2983 #[doc = "Output high"]
2984 pub const _1: Self = Self::new(1);
2985 }
2986 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2987 pub struct Pidr_SPEC;
2988 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
2989 impl Pidr {
2990 #[doc = "Low level"]
2991 pub const _0: Self = Self::new(0);
2992
2993 #[doc = "High level"]
2994 pub const _1: Self = Self::new(1);
2995 }
2996 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2997 pub struct Pdr_SPEC;
2998 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
2999 impl Pdr {
3000 #[doc = "Input (functions as an input pin)"]
3001 pub const _0: Self = Self::new(0);
3002
3003 #[doc = "Output (functions as an output pin)"]
3004 pub const _1: Self = Self::new(1);
3005 }
3006 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3007 pub struct Pcr_SPEC;
3008 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3009 impl Pcr {
3010 #[doc = "Disable input pull-up"]
3011 pub const _0: Self = Self::new(0);
3012
3013 #[doc = "Enable input pull-up"]
3014 pub const _1: Self = Self::new(1);
3015 }
3016 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3017 pub struct Ncodr_SPEC;
3018 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3019 impl Ncodr {
3020 #[doc = "Output CMOS"]
3021 pub const _0: Self = Self::new(0);
3022
3023 #[doc = "Output NMOS open-drain"]
3024 pub const _1: Self = Self::new(1);
3025 }
3026 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3027 pub struct Isel_SPEC;
3028 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3029 impl Isel {
3030 #[doc = "Do not use as IRQn input pin"]
3031 pub const _0: Self = Self::new(0);
3032
3033 #[doc = "Use as IRQn input pin"]
3034 pub const _1: Self = Self::new(1);
3035 }
3036 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3037 pub struct Asel_SPEC;
3038 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
3039 impl Asel {
3040 #[doc = "Do not use as analog pin"]
3041 pub const _0: Self = Self::new(0);
3042
3043 #[doc = "Use as analog pin"]
3044 pub const _1: Self = Self::new(1);
3045 }
3046 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3047 pub struct Pmr_SPEC;
3048 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
3049 impl Pmr {
3050 #[doc = "Use as general I/O pin"]
3051 pub const _0: Self = Self::new(0);
3052
3053 #[doc = "Use as I/O port for peripheral functions"]
3054 pub const _1: Self = Self::new(1);
3055 }
3056}
3057#[doc(hidden)]
3058#[derive(Copy, Clone, Eq, PartialEq)]
3059pub struct P00PfsHa_SPEC;
3060impl crate::sealed::RegSpec for P00PfsHa_SPEC {
3061 type DataType = u16;
3062}
3063
3064#[doc = "Port 00%s Pin Function Select Register"]
3065pub type P00PfsHa = crate::RegValueT<P00PfsHa_SPEC>;
3066
3067impl P00PfsHa {
3068 #[doc = "Port Output Data"]
3069 #[inline(always)]
3070 pub fn podr(
3071 self,
3072 ) -> crate::common::RegisterField<
3073 0,
3074 0x1,
3075 1,
3076 0,
3077 p00pfs_ha::Podr,
3078 p00pfs_ha::Podr,
3079 P00PfsHa_SPEC,
3080 crate::common::RW,
3081 > {
3082 crate::common::RegisterField::<
3083 0,
3084 0x1,
3085 1,
3086 0,
3087 p00pfs_ha::Podr,
3088 p00pfs_ha::Podr,
3089 P00PfsHa_SPEC,
3090 crate::common::RW,
3091 >::from_register(self, 0)
3092 }
3093
3094 #[doc = "Port State"]
3095 #[inline(always)]
3096 pub fn pidr(
3097 self,
3098 ) -> crate::common::RegisterField<
3099 1,
3100 0x1,
3101 1,
3102 0,
3103 p00pfs_ha::Pidr,
3104 p00pfs_ha::Pidr,
3105 P00PfsHa_SPEC,
3106 crate::common::R,
3107 > {
3108 crate::common::RegisterField::<
3109 1,
3110 0x1,
3111 1,
3112 0,
3113 p00pfs_ha::Pidr,
3114 p00pfs_ha::Pidr,
3115 P00PfsHa_SPEC,
3116 crate::common::R,
3117 >::from_register(self, 0)
3118 }
3119
3120 #[doc = "Port Direction"]
3121 #[inline(always)]
3122 pub fn pdr(
3123 self,
3124 ) -> crate::common::RegisterField<
3125 2,
3126 0x1,
3127 1,
3128 0,
3129 p00pfs_ha::Pdr,
3130 p00pfs_ha::Pdr,
3131 P00PfsHa_SPEC,
3132 crate::common::RW,
3133 > {
3134 crate::common::RegisterField::<
3135 2,
3136 0x1,
3137 1,
3138 0,
3139 p00pfs_ha::Pdr,
3140 p00pfs_ha::Pdr,
3141 P00PfsHa_SPEC,
3142 crate::common::RW,
3143 >::from_register(self, 0)
3144 }
3145
3146 #[doc = "Pull-up Control"]
3147 #[inline(always)]
3148 pub fn pcr(
3149 self,
3150 ) -> crate::common::RegisterField<
3151 4,
3152 0x1,
3153 1,
3154 0,
3155 p00pfs_ha::Pcr,
3156 p00pfs_ha::Pcr,
3157 P00PfsHa_SPEC,
3158 crate::common::RW,
3159 > {
3160 crate::common::RegisterField::<
3161 4,
3162 0x1,
3163 1,
3164 0,
3165 p00pfs_ha::Pcr,
3166 p00pfs_ha::Pcr,
3167 P00PfsHa_SPEC,
3168 crate::common::RW,
3169 >::from_register(self, 0)
3170 }
3171
3172 #[doc = "N-Channel Open-Drain Control"]
3173 #[inline(always)]
3174 pub fn ncodr(
3175 self,
3176 ) -> crate::common::RegisterField<
3177 6,
3178 0x1,
3179 1,
3180 0,
3181 p00pfs_ha::Ncodr,
3182 p00pfs_ha::Ncodr,
3183 P00PfsHa_SPEC,
3184 crate::common::RW,
3185 > {
3186 crate::common::RegisterField::<
3187 6,
3188 0x1,
3189 1,
3190 0,
3191 p00pfs_ha::Ncodr,
3192 p00pfs_ha::Ncodr,
3193 P00PfsHa_SPEC,
3194 crate::common::RW,
3195 >::from_register(self, 0)
3196 }
3197
3198 #[doc = "IRQ Input Enable"]
3199 #[inline(always)]
3200 pub fn isel(
3201 self,
3202 ) -> crate::common::RegisterField<
3203 14,
3204 0x1,
3205 1,
3206 0,
3207 p00pfs_ha::Isel,
3208 p00pfs_ha::Isel,
3209 P00PfsHa_SPEC,
3210 crate::common::RW,
3211 > {
3212 crate::common::RegisterField::<
3213 14,
3214 0x1,
3215 1,
3216 0,
3217 p00pfs_ha::Isel,
3218 p00pfs_ha::Isel,
3219 P00PfsHa_SPEC,
3220 crate::common::RW,
3221 >::from_register(self, 0)
3222 }
3223
3224 #[doc = "Analog Input Enable"]
3225 #[inline(always)]
3226 pub fn asel(
3227 self,
3228 ) -> crate::common::RegisterField<
3229 15,
3230 0x1,
3231 1,
3232 0,
3233 p00pfs_ha::Asel,
3234 p00pfs_ha::Asel,
3235 P00PfsHa_SPEC,
3236 crate::common::RW,
3237 > {
3238 crate::common::RegisterField::<
3239 15,
3240 0x1,
3241 1,
3242 0,
3243 p00pfs_ha::Asel,
3244 p00pfs_ha::Asel,
3245 P00PfsHa_SPEC,
3246 crate::common::RW,
3247 >::from_register(self, 0)
3248 }
3249}
3250impl ::core::default::Default for P00PfsHa {
3251 #[inline(always)]
3252 fn default() -> P00PfsHa {
3253 <crate::RegValueT<P00PfsHa_SPEC> as RegisterValue<_>>::new(0)
3254 }
3255}
3256pub mod p00pfs_ha {
3257
3258 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3259 pub struct Podr_SPEC;
3260 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3261 impl Podr {
3262 #[doc = "Output low"]
3263 pub const _0: Self = Self::new(0);
3264
3265 #[doc = "Output high"]
3266 pub const _1: Self = Self::new(1);
3267 }
3268 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3269 pub struct Pidr_SPEC;
3270 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3271 impl Pidr {
3272 #[doc = "Low level"]
3273 pub const _0: Self = Self::new(0);
3274
3275 #[doc = "High level"]
3276 pub const _1: Self = Self::new(1);
3277 }
3278 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3279 pub struct Pdr_SPEC;
3280 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3281 impl Pdr {
3282 #[doc = "Input (functions as an input pin)"]
3283 pub const _0: Self = Self::new(0);
3284
3285 #[doc = "Output (functions as an output pin)"]
3286 pub const _1: Self = Self::new(1);
3287 }
3288 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3289 pub struct Pcr_SPEC;
3290 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3291 impl Pcr {
3292 #[doc = "Disable input pull-up"]
3293 pub const _0: Self = Self::new(0);
3294
3295 #[doc = "Enable input pull-up"]
3296 pub const _1: Self = Self::new(1);
3297 }
3298 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3299 pub struct Ncodr_SPEC;
3300 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3301 impl Ncodr {
3302 #[doc = "Output CMOS"]
3303 pub const _0: Self = Self::new(0);
3304
3305 #[doc = "Output NMOS open-drain"]
3306 pub const _1: Self = Self::new(1);
3307 }
3308 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3309 pub struct Isel_SPEC;
3310 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3311 impl Isel {
3312 #[doc = "Do not use as IRQn input pin"]
3313 pub const _0: Self = Self::new(0);
3314
3315 #[doc = "Use as IRQn input pin"]
3316 pub const _1: Self = Self::new(1);
3317 }
3318 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3319 pub struct Asel_SPEC;
3320 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
3321 impl Asel {
3322 #[doc = "Do not use as analog pin"]
3323 pub const _0: Self = Self::new(0);
3324
3325 #[doc = "Use as analog pin"]
3326 pub const _1: Self = Self::new(1);
3327 }
3328}
3329#[doc(hidden)]
3330#[derive(Copy, Clone, Eq, PartialEq)]
3331pub struct P00PfsBy_SPEC;
3332impl crate::sealed::RegSpec for P00PfsBy_SPEC {
3333 type DataType = u8;
3334}
3335
3336#[doc = "Port 00%s Pin Function Select Register"]
3337pub type P00PfsBy = crate::RegValueT<P00PfsBy_SPEC>;
3338
3339impl P00PfsBy {
3340 #[doc = "Port Output Data"]
3341 #[inline(always)]
3342 pub fn podr(
3343 self,
3344 ) -> crate::common::RegisterField<
3345 0,
3346 0x1,
3347 1,
3348 0,
3349 p00pfs_by::Podr,
3350 p00pfs_by::Podr,
3351 P00PfsBy_SPEC,
3352 crate::common::RW,
3353 > {
3354 crate::common::RegisterField::<
3355 0,
3356 0x1,
3357 1,
3358 0,
3359 p00pfs_by::Podr,
3360 p00pfs_by::Podr,
3361 P00PfsBy_SPEC,
3362 crate::common::RW,
3363 >::from_register(self, 0)
3364 }
3365
3366 #[doc = "Port State"]
3367 #[inline(always)]
3368 pub fn pidr(
3369 self,
3370 ) -> crate::common::RegisterField<
3371 1,
3372 0x1,
3373 1,
3374 0,
3375 p00pfs_by::Pidr,
3376 p00pfs_by::Pidr,
3377 P00PfsBy_SPEC,
3378 crate::common::R,
3379 > {
3380 crate::common::RegisterField::<
3381 1,
3382 0x1,
3383 1,
3384 0,
3385 p00pfs_by::Pidr,
3386 p00pfs_by::Pidr,
3387 P00PfsBy_SPEC,
3388 crate::common::R,
3389 >::from_register(self, 0)
3390 }
3391
3392 #[doc = "Port Direction"]
3393 #[inline(always)]
3394 pub fn pdr(
3395 self,
3396 ) -> crate::common::RegisterField<
3397 2,
3398 0x1,
3399 1,
3400 0,
3401 p00pfs_by::Pdr,
3402 p00pfs_by::Pdr,
3403 P00PfsBy_SPEC,
3404 crate::common::RW,
3405 > {
3406 crate::common::RegisterField::<
3407 2,
3408 0x1,
3409 1,
3410 0,
3411 p00pfs_by::Pdr,
3412 p00pfs_by::Pdr,
3413 P00PfsBy_SPEC,
3414 crate::common::RW,
3415 >::from_register(self, 0)
3416 }
3417
3418 #[doc = "Pull-up Control"]
3419 #[inline(always)]
3420 pub fn pcr(
3421 self,
3422 ) -> crate::common::RegisterField<
3423 4,
3424 0x1,
3425 1,
3426 0,
3427 p00pfs_by::Pcr,
3428 p00pfs_by::Pcr,
3429 P00PfsBy_SPEC,
3430 crate::common::RW,
3431 > {
3432 crate::common::RegisterField::<
3433 4,
3434 0x1,
3435 1,
3436 0,
3437 p00pfs_by::Pcr,
3438 p00pfs_by::Pcr,
3439 P00PfsBy_SPEC,
3440 crate::common::RW,
3441 >::from_register(self, 0)
3442 }
3443
3444 #[doc = "N-Channel Open-Drain Control"]
3445 #[inline(always)]
3446 pub fn ncodr(
3447 self,
3448 ) -> crate::common::RegisterField<
3449 6,
3450 0x1,
3451 1,
3452 0,
3453 p00pfs_by::Ncodr,
3454 p00pfs_by::Ncodr,
3455 P00PfsBy_SPEC,
3456 crate::common::RW,
3457 > {
3458 crate::common::RegisterField::<
3459 6,
3460 0x1,
3461 1,
3462 0,
3463 p00pfs_by::Ncodr,
3464 p00pfs_by::Ncodr,
3465 P00PfsBy_SPEC,
3466 crate::common::RW,
3467 >::from_register(self, 0)
3468 }
3469}
3470impl ::core::default::Default for P00PfsBy {
3471 #[inline(always)]
3472 fn default() -> P00PfsBy {
3473 <crate::RegValueT<P00PfsBy_SPEC> as RegisterValue<_>>::new(0)
3474 }
3475}
3476pub mod p00pfs_by {
3477
3478 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3479 pub struct Podr_SPEC;
3480 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3481 impl Podr {
3482 #[doc = "Output low"]
3483 pub const _0: Self = Self::new(0);
3484
3485 #[doc = "Output high"]
3486 pub const _1: Self = Self::new(1);
3487 }
3488 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3489 pub struct Pidr_SPEC;
3490 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3491 impl Pidr {
3492 #[doc = "Low level"]
3493 pub const _0: Self = Self::new(0);
3494
3495 #[doc = "High level"]
3496 pub const _1: Self = Self::new(1);
3497 }
3498 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3499 pub struct Pdr_SPEC;
3500 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3501 impl Pdr {
3502 #[doc = "Input (functions as an input pin)"]
3503 pub const _0: Self = Self::new(0);
3504
3505 #[doc = "Output (functions as an output pin)"]
3506 pub const _1: Self = Self::new(1);
3507 }
3508 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3509 pub struct Pcr_SPEC;
3510 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3511 impl Pcr {
3512 #[doc = "Disable input pull-up"]
3513 pub const _0: Self = Self::new(0);
3514
3515 #[doc = "Enable input pull-up"]
3516 pub const _1: Self = Self::new(1);
3517 }
3518 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3519 pub struct Ncodr_SPEC;
3520 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3521 impl Ncodr {
3522 #[doc = "Output CMOS"]
3523 pub const _0: Self = Self::new(0);
3524
3525 #[doc = "Output NMOS open-drain"]
3526 pub const _1: Self = Self::new(1);
3527 }
3528}
3529#[doc(hidden)]
3530#[derive(Copy, Clone, Eq, PartialEq)]
3531pub struct P0Pfs_SPEC;
3532impl crate::sealed::RegSpec for P0Pfs_SPEC {
3533 type DataType = u32;
3534}
3535
3536#[doc = "Port 0%s Pin Function Select Register"]
3537pub type P0Pfs = crate::RegValueT<P0Pfs_SPEC>;
3538
3539impl P0Pfs {
3540 #[doc = "Port Output Data"]
3541 #[inline(always)]
3542 pub fn podr(
3543 self,
3544 ) -> crate::common::RegisterField<
3545 0,
3546 0x1,
3547 1,
3548 0,
3549 p0pfs::Podr,
3550 p0pfs::Podr,
3551 P0Pfs_SPEC,
3552 crate::common::RW,
3553 > {
3554 crate::common::RegisterField::<
3555 0,
3556 0x1,
3557 1,
3558 0,
3559 p0pfs::Podr,
3560 p0pfs::Podr,
3561 P0Pfs_SPEC,
3562 crate::common::RW,
3563 >::from_register(self, 0)
3564 }
3565
3566 #[doc = "Port State"]
3567 #[inline(always)]
3568 pub fn pidr(
3569 self,
3570 ) -> crate::common::RegisterField<
3571 1,
3572 0x1,
3573 1,
3574 0,
3575 p0pfs::Pidr,
3576 p0pfs::Pidr,
3577 P0Pfs_SPEC,
3578 crate::common::R,
3579 > {
3580 crate::common::RegisterField::<
3581 1,
3582 0x1,
3583 1,
3584 0,
3585 p0pfs::Pidr,
3586 p0pfs::Pidr,
3587 P0Pfs_SPEC,
3588 crate::common::R,
3589 >::from_register(self, 0)
3590 }
3591
3592 #[doc = "Port Direction"]
3593 #[inline(always)]
3594 pub fn pdr(
3595 self,
3596 ) -> crate::common::RegisterField<
3597 2,
3598 0x1,
3599 1,
3600 0,
3601 p0pfs::Pdr,
3602 p0pfs::Pdr,
3603 P0Pfs_SPEC,
3604 crate::common::RW,
3605 > {
3606 crate::common::RegisterField::<
3607 2,
3608 0x1,
3609 1,
3610 0,
3611 p0pfs::Pdr,
3612 p0pfs::Pdr,
3613 P0Pfs_SPEC,
3614 crate::common::RW,
3615 >::from_register(self, 0)
3616 }
3617
3618 #[doc = "Pull-up Control"]
3619 #[inline(always)]
3620 pub fn pcr(
3621 self,
3622 ) -> crate::common::RegisterField<
3623 4,
3624 0x1,
3625 1,
3626 0,
3627 p0pfs::Pcr,
3628 p0pfs::Pcr,
3629 P0Pfs_SPEC,
3630 crate::common::RW,
3631 > {
3632 crate::common::RegisterField::<
3633 4,
3634 0x1,
3635 1,
3636 0,
3637 p0pfs::Pcr,
3638 p0pfs::Pcr,
3639 P0Pfs_SPEC,
3640 crate::common::RW,
3641 >::from_register(self, 0)
3642 }
3643
3644 #[doc = "N-Channel Open-Drain Control"]
3645 #[inline(always)]
3646 pub fn ncodr(
3647 self,
3648 ) -> crate::common::RegisterField<
3649 6,
3650 0x1,
3651 1,
3652 0,
3653 p0pfs::Ncodr,
3654 p0pfs::Ncodr,
3655 P0Pfs_SPEC,
3656 crate::common::RW,
3657 > {
3658 crate::common::RegisterField::<
3659 6,
3660 0x1,
3661 1,
3662 0,
3663 p0pfs::Ncodr,
3664 p0pfs::Ncodr,
3665 P0Pfs_SPEC,
3666 crate::common::RW,
3667 >::from_register(self, 0)
3668 }
3669
3670 #[doc = "IRQ Input Enable"]
3671 #[inline(always)]
3672 pub fn isel(
3673 self,
3674 ) -> crate::common::RegisterField<
3675 14,
3676 0x1,
3677 1,
3678 0,
3679 p0pfs::Isel,
3680 p0pfs::Isel,
3681 P0Pfs_SPEC,
3682 crate::common::RW,
3683 > {
3684 crate::common::RegisterField::<
3685 14,
3686 0x1,
3687 1,
3688 0,
3689 p0pfs::Isel,
3690 p0pfs::Isel,
3691 P0Pfs_SPEC,
3692 crate::common::RW,
3693 >::from_register(self, 0)
3694 }
3695
3696 #[doc = "Analog Input Enable"]
3697 #[inline(always)]
3698 pub fn asel(
3699 self,
3700 ) -> crate::common::RegisterField<
3701 15,
3702 0x1,
3703 1,
3704 0,
3705 p0pfs::Asel,
3706 p0pfs::Asel,
3707 P0Pfs_SPEC,
3708 crate::common::RW,
3709 > {
3710 crate::common::RegisterField::<
3711 15,
3712 0x1,
3713 1,
3714 0,
3715 p0pfs::Asel,
3716 p0pfs::Asel,
3717 P0Pfs_SPEC,
3718 crate::common::RW,
3719 >::from_register(self, 0)
3720 }
3721
3722 #[doc = "Port Mode Control"]
3723 #[inline(always)]
3724 pub fn pmr(
3725 self,
3726 ) -> crate::common::RegisterField<
3727 16,
3728 0x1,
3729 1,
3730 0,
3731 p0pfs::Pmr,
3732 p0pfs::Pmr,
3733 P0Pfs_SPEC,
3734 crate::common::RW,
3735 > {
3736 crate::common::RegisterField::<
3737 16,
3738 0x1,
3739 1,
3740 0,
3741 p0pfs::Pmr,
3742 p0pfs::Pmr,
3743 P0Pfs_SPEC,
3744 crate::common::RW,
3745 >::from_register(self, 0)
3746 }
3747
3748 #[doc = "Peripheral Select"]
3749 #[inline(always)]
3750 pub fn psel(
3751 self,
3752 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P0Pfs_SPEC, crate::common::RW> {
3753 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P0Pfs_SPEC,crate::common::RW>::from_register(self,0)
3754 }
3755}
3756impl ::core::default::Default for P0Pfs {
3757 #[inline(always)]
3758 fn default() -> P0Pfs {
3759 <crate::RegValueT<P0Pfs_SPEC> as RegisterValue<_>>::new(0)
3760 }
3761}
3762pub mod p0pfs {
3763
3764 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3765 pub struct Podr_SPEC;
3766 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
3767 impl Podr {
3768 #[doc = "Output low"]
3769 pub const _0: Self = Self::new(0);
3770
3771 #[doc = "Output high"]
3772 pub const _1: Self = Self::new(1);
3773 }
3774 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3775 pub struct Pidr_SPEC;
3776 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
3777 impl Pidr {
3778 #[doc = "Low level"]
3779 pub const _0: Self = Self::new(0);
3780
3781 #[doc = "High level"]
3782 pub const _1: Self = Self::new(1);
3783 }
3784 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3785 pub struct Pdr_SPEC;
3786 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
3787 impl Pdr {
3788 #[doc = "Input (functions as an input pin)"]
3789 pub const _0: Self = Self::new(0);
3790
3791 #[doc = "Output (functions as an output pin)"]
3792 pub const _1: Self = Self::new(1);
3793 }
3794 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3795 pub struct Pcr_SPEC;
3796 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
3797 impl Pcr {
3798 #[doc = "Disable input pull-up"]
3799 pub const _0: Self = Self::new(0);
3800
3801 #[doc = "Enable input pull-up"]
3802 pub const _1: Self = Self::new(1);
3803 }
3804 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3805 pub struct Ncodr_SPEC;
3806 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
3807 impl Ncodr {
3808 #[doc = "Output CMOS"]
3809 pub const _0: Self = Self::new(0);
3810
3811 #[doc = "Output NMOS open-drain"]
3812 pub const _1: Self = Self::new(1);
3813 }
3814 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3815 pub struct Isel_SPEC;
3816 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
3817 impl Isel {
3818 #[doc = "Do not use as IRQn input pin"]
3819 pub const _0: Self = Self::new(0);
3820
3821 #[doc = "Use as IRQn input pin"]
3822 pub const _1: Self = Self::new(1);
3823 }
3824 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3825 pub struct Asel_SPEC;
3826 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
3827 impl Asel {
3828 #[doc = "Do not use as analog pin"]
3829 pub const _0: Self = Self::new(0);
3830
3831 #[doc = "Use as analog pin"]
3832 pub const _1: Self = Self::new(1);
3833 }
3834 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3835 pub struct Pmr_SPEC;
3836 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
3837 impl Pmr {
3838 #[doc = "Use as general I/O pin"]
3839 pub const _0: Self = Self::new(0);
3840
3841 #[doc = "Use as I/O port for peripheral functions"]
3842 pub const _1: Self = Self::new(1);
3843 }
3844}
3845#[doc(hidden)]
3846#[derive(Copy, Clone, Eq, PartialEq)]
3847pub struct P0PfsHa_SPEC;
3848impl crate::sealed::RegSpec for P0PfsHa_SPEC {
3849 type DataType = u16;
3850}
3851
3852#[doc = "Port 0%s Pin Function Select Register"]
3853pub type P0PfsHa = crate::RegValueT<P0PfsHa_SPEC>;
3854
3855impl P0PfsHa {
3856 #[doc = "Port Output Data"]
3857 #[inline(always)]
3858 pub fn podr(
3859 self,
3860 ) -> crate::common::RegisterField<
3861 0,
3862 0x1,
3863 1,
3864 0,
3865 p0pfs_ha::Podr,
3866 p0pfs_ha::Podr,
3867 P0PfsHa_SPEC,
3868 crate::common::RW,
3869 > {
3870 crate::common::RegisterField::<
3871 0,
3872 0x1,
3873 1,
3874 0,
3875 p0pfs_ha::Podr,
3876 p0pfs_ha::Podr,
3877 P0PfsHa_SPEC,
3878 crate::common::RW,
3879 >::from_register(self, 0)
3880 }
3881
3882 #[doc = "Port State"]
3883 #[inline(always)]
3884 pub fn pidr(
3885 self,
3886 ) -> crate::common::RegisterField<
3887 1,
3888 0x1,
3889 1,
3890 0,
3891 p0pfs_ha::Pidr,
3892 p0pfs_ha::Pidr,
3893 P0PfsHa_SPEC,
3894 crate::common::R,
3895 > {
3896 crate::common::RegisterField::<
3897 1,
3898 0x1,
3899 1,
3900 0,
3901 p0pfs_ha::Pidr,
3902 p0pfs_ha::Pidr,
3903 P0PfsHa_SPEC,
3904 crate::common::R,
3905 >::from_register(self, 0)
3906 }
3907
3908 #[doc = "Port Direction"]
3909 #[inline(always)]
3910 pub fn pdr(
3911 self,
3912 ) -> crate::common::RegisterField<
3913 2,
3914 0x1,
3915 1,
3916 0,
3917 p0pfs_ha::Pdr,
3918 p0pfs_ha::Pdr,
3919 P0PfsHa_SPEC,
3920 crate::common::RW,
3921 > {
3922 crate::common::RegisterField::<
3923 2,
3924 0x1,
3925 1,
3926 0,
3927 p0pfs_ha::Pdr,
3928 p0pfs_ha::Pdr,
3929 P0PfsHa_SPEC,
3930 crate::common::RW,
3931 >::from_register(self, 0)
3932 }
3933
3934 #[doc = "Pull-up Control"]
3935 #[inline(always)]
3936 pub fn pcr(
3937 self,
3938 ) -> crate::common::RegisterField<
3939 4,
3940 0x1,
3941 1,
3942 0,
3943 p0pfs_ha::Pcr,
3944 p0pfs_ha::Pcr,
3945 P0PfsHa_SPEC,
3946 crate::common::RW,
3947 > {
3948 crate::common::RegisterField::<
3949 4,
3950 0x1,
3951 1,
3952 0,
3953 p0pfs_ha::Pcr,
3954 p0pfs_ha::Pcr,
3955 P0PfsHa_SPEC,
3956 crate::common::RW,
3957 >::from_register(self, 0)
3958 }
3959
3960 #[doc = "N-Channel Open-Drain Control"]
3961 #[inline(always)]
3962 pub fn ncodr(
3963 self,
3964 ) -> crate::common::RegisterField<
3965 6,
3966 0x1,
3967 1,
3968 0,
3969 p0pfs_ha::Ncodr,
3970 p0pfs_ha::Ncodr,
3971 P0PfsHa_SPEC,
3972 crate::common::RW,
3973 > {
3974 crate::common::RegisterField::<
3975 6,
3976 0x1,
3977 1,
3978 0,
3979 p0pfs_ha::Ncodr,
3980 p0pfs_ha::Ncodr,
3981 P0PfsHa_SPEC,
3982 crate::common::RW,
3983 >::from_register(self, 0)
3984 }
3985
3986 #[doc = "IRQ Input Enable"]
3987 #[inline(always)]
3988 pub fn isel(
3989 self,
3990 ) -> crate::common::RegisterField<
3991 14,
3992 0x1,
3993 1,
3994 0,
3995 p0pfs_ha::Isel,
3996 p0pfs_ha::Isel,
3997 P0PfsHa_SPEC,
3998 crate::common::RW,
3999 > {
4000 crate::common::RegisterField::<
4001 14,
4002 0x1,
4003 1,
4004 0,
4005 p0pfs_ha::Isel,
4006 p0pfs_ha::Isel,
4007 P0PfsHa_SPEC,
4008 crate::common::RW,
4009 >::from_register(self, 0)
4010 }
4011
4012 #[doc = "Analog Input Enable"]
4013 #[inline(always)]
4014 pub fn asel(
4015 self,
4016 ) -> crate::common::RegisterField<
4017 15,
4018 0x1,
4019 1,
4020 0,
4021 p0pfs_ha::Asel,
4022 p0pfs_ha::Asel,
4023 P0PfsHa_SPEC,
4024 crate::common::RW,
4025 > {
4026 crate::common::RegisterField::<
4027 15,
4028 0x1,
4029 1,
4030 0,
4031 p0pfs_ha::Asel,
4032 p0pfs_ha::Asel,
4033 P0PfsHa_SPEC,
4034 crate::common::RW,
4035 >::from_register(self, 0)
4036 }
4037}
4038impl ::core::default::Default for P0PfsHa {
4039 #[inline(always)]
4040 fn default() -> P0PfsHa {
4041 <crate::RegValueT<P0PfsHa_SPEC> as RegisterValue<_>>::new(0)
4042 }
4043}
4044pub mod p0pfs_ha {
4045
4046 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4047 pub struct Podr_SPEC;
4048 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4049 impl Podr {
4050 #[doc = "Output low"]
4051 pub const _0: Self = Self::new(0);
4052
4053 #[doc = "Output high"]
4054 pub const _1: Self = Self::new(1);
4055 }
4056 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4057 pub struct Pidr_SPEC;
4058 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4059 impl Pidr {
4060 #[doc = "Low level"]
4061 pub const _0: Self = Self::new(0);
4062
4063 #[doc = "High level"]
4064 pub const _1: Self = Self::new(1);
4065 }
4066 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4067 pub struct Pdr_SPEC;
4068 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4069 impl Pdr {
4070 #[doc = "Input (functions as an input pin)"]
4071 pub const _0: Self = Self::new(0);
4072
4073 #[doc = "Output (functions as an output pin)"]
4074 pub const _1: Self = Self::new(1);
4075 }
4076 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4077 pub struct Pcr_SPEC;
4078 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4079 impl Pcr {
4080 #[doc = "Disable input pull-up"]
4081 pub const _0: Self = Self::new(0);
4082
4083 #[doc = "Enable input pull-up"]
4084 pub const _1: Self = Self::new(1);
4085 }
4086 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4087 pub struct Ncodr_SPEC;
4088 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4089 impl Ncodr {
4090 #[doc = "Output CMOS"]
4091 pub const _0: Self = Self::new(0);
4092
4093 #[doc = "Output NMOS open-drain"]
4094 pub const _1: Self = Self::new(1);
4095 }
4096 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4097 pub struct Isel_SPEC;
4098 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4099 impl Isel {
4100 #[doc = "Do not use as IRQn input pin"]
4101 pub const _0: Self = Self::new(0);
4102
4103 #[doc = "Use as IRQn input pin"]
4104 pub const _1: Self = Self::new(1);
4105 }
4106 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4107 pub struct Asel_SPEC;
4108 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4109 impl Asel {
4110 #[doc = "Do not use as analog pin"]
4111 pub const _0: Self = Self::new(0);
4112
4113 #[doc = "Use as analog pin"]
4114 pub const _1: Self = Self::new(1);
4115 }
4116}
4117#[doc(hidden)]
4118#[derive(Copy, Clone, Eq, PartialEq)]
4119pub struct P0PfsBy_SPEC;
4120impl crate::sealed::RegSpec for P0PfsBy_SPEC {
4121 type DataType = u8;
4122}
4123
4124#[doc = "Port 0%s Pin Function Select Register"]
4125pub type P0PfsBy = crate::RegValueT<P0PfsBy_SPEC>;
4126
4127impl P0PfsBy {
4128 #[doc = "Port Output Data"]
4129 #[inline(always)]
4130 pub fn podr(
4131 self,
4132 ) -> crate::common::RegisterField<
4133 0,
4134 0x1,
4135 1,
4136 0,
4137 p0pfs_by::Podr,
4138 p0pfs_by::Podr,
4139 P0PfsBy_SPEC,
4140 crate::common::RW,
4141 > {
4142 crate::common::RegisterField::<
4143 0,
4144 0x1,
4145 1,
4146 0,
4147 p0pfs_by::Podr,
4148 p0pfs_by::Podr,
4149 P0PfsBy_SPEC,
4150 crate::common::RW,
4151 >::from_register(self, 0)
4152 }
4153
4154 #[doc = "Port State"]
4155 #[inline(always)]
4156 pub fn pidr(
4157 self,
4158 ) -> crate::common::RegisterField<
4159 1,
4160 0x1,
4161 1,
4162 0,
4163 p0pfs_by::Pidr,
4164 p0pfs_by::Pidr,
4165 P0PfsBy_SPEC,
4166 crate::common::R,
4167 > {
4168 crate::common::RegisterField::<
4169 1,
4170 0x1,
4171 1,
4172 0,
4173 p0pfs_by::Pidr,
4174 p0pfs_by::Pidr,
4175 P0PfsBy_SPEC,
4176 crate::common::R,
4177 >::from_register(self, 0)
4178 }
4179
4180 #[doc = "Port Direction"]
4181 #[inline(always)]
4182 pub fn pdr(
4183 self,
4184 ) -> crate::common::RegisterField<
4185 2,
4186 0x1,
4187 1,
4188 0,
4189 p0pfs_by::Pdr,
4190 p0pfs_by::Pdr,
4191 P0PfsBy_SPEC,
4192 crate::common::RW,
4193 > {
4194 crate::common::RegisterField::<
4195 2,
4196 0x1,
4197 1,
4198 0,
4199 p0pfs_by::Pdr,
4200 p0pfs_by::Pdr,
4201 P0PfsBy_SPEC,
4202 crate::common::RW,
4203 >::from_register(self, 0)
4204 }
4205
4206 #[doc = "Pull-up Control"]
4207 #[inline(always)]
4208 pub fn pcr(
4209 self,
4210 ) -> crate::common::RegisterField<
4211 4,
4212 0x1,
4213 1,
4214 0,
4215 p0pfs_by::Pcr,
4216 p0pfs_by::Pcr,
4217 P0PfsBy_SPEC,
4218 crate::common::RW,
4219 > {
4220 crate::common::RegisterField::<
4221 4,
4222 0x1,
4223 1,
4224 0,
4225 p0pfs_by::Pcr,
4226 p0pfs_by::Pcr,
4227 P0PfsBy_SPEC,
4228 crate::common::RW,
4229 >::from_register(self, 0)
4230 }
4231
4232 #[doc = "N-Channel Open-Drain Control"]
4233 #[inline(always)]
4234 pub fn ncodr(
4235 self,
4236 ) -> crate::common::RegisterField<
4237 6,
4238 0x1,
4239 1,
4240 0,
4241 p0pfs_by::Ncodr,
4242 p0pfs_by::Ncodr,
4243 P0PfsBy_SPEC,
4244 crate::common::RW,
4245 > {
4246 crate::common::RegisterField::<
4247 6,
4248 0x1,
4249 1,
4250 0,
4251 p0pfs_by::Ncodr,
4252 p0pfs_by::Ncodr,
4253 P0PfsBy_SPEC,
4254 crate::common::RW,
4255 >::from_register(self, 0)
4256 }
4257}
4258impl ::core::default::Default for P0PfsBy {
4259 #[inline(always)]
4260 fn default() -> P0PfsBy {
4261 <crate::RegValueT<P0PfsBy_SPEC> as RegisterValue<_>>::new(0)
4262 }
4263}
4264pub mod p0pfs_by {
4265
4266 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4267 pub struct Podr_SPEC;
4268 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4269 impl Podr {
4270 #[doc = "Output low"]
4271 pub const _0: Self = Self::new(0);
4272
4273 #[doc = "Output high"]
4274 pub const _1: Self = Self::new(1);
4275 }
4276 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4277 pub struct Pidr_SPEC;
4278 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4279 impl Pidr {
4280 #[doc = "Low level"]
4281 pub const _0: Self = Self::new(0);
4282
4283 #[doc = "High level"]
4284 pub const _1: Self = Self::new(1);
4285 }
4286 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4287 pub struct Pdr_SPEC;
4288 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4289 impl Pdr {
4290 #[doc = "Input (functions as an input pin)"]
4291 pub const _0: Self = Self::new(0);
4292
4293 #[doc = "Output (functions as an output pin)"]
4294 pub const _1: Self = Self::new(1);
4295 }
4296 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4297 pub struct Pcr_SPEC;
4298 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4299 impl Pcr {
4300 #[doc = "Disable input pull-up"]
4301 pub const _0: Self = Self::new(0);
4302
4303 #[doc = "Enable input pull-up"]
4304 pub const _1: Self = Self::new(1);
4305 }
4306 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4307 pub struct Ncodr_SPEC;
4308 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4309 impl Ncodr {
4310 #[doc = "Output CMOS"]
4311 pub const _0: Self = Self::new(0);
4312
4313 #[doc = "Output NMOS open-drain"]
4314 pub const _1: Self = Self::new(1);
4315 }
4316}
4317#[doc(hidden)]
4318#[derive(Copy, Clone, Eq, PartialEq)]
4319pub struct P10Pfs_SPEC;
4320impl crate::sealed::RegSpec for P10Pfs_SPEC {
4321 type DataType = u32;
4322}
4323
4324#[doc = "Port 10%s Pin Function Select Register"]
4325pub type P10Pfs = crate::RegValueT<P10Pfs_SPEC>;
4326
4327impl P10Pfs {
4328 #[doc = "Port Output Data"]
4329 #[inline(always)]
4330 pub fn podr(
4331 self,
4332 ) -> crate::common::RegisterField<
4333 0,
4334 0x1,
4335 1,
4336 0,
4337 p10pfs::Podr,
4338 p10pfs::Podr,
4339 P10Pfs_SPEC,
4340 crate::common::RW,
4341 > {
4342 crate::common::RegisterField::<
4343 0,
4344 0x1,
4345 1,
4346 0,
4347 p10pfs::Podr,
4348 p10pfs::Podr,
4349 P10Pfs_SPEC,
4350 crate::common::RW,
4351 >::from_register(self, 0)
4352 }
4353
4354 #[doc = "Port State"]
4355 #[inline(always)]
4356 pub fn pidr(
4357 self,
4358 ) -> crate::common::RegisterField<
4359 1,
4360 0x1,
4361 1,
4362 0,
4363 p10pfs::Pidr,
4364 p10pfs::Pidr,
4365 P10Pfs_SPEC,
4366 crate::common::R,
4367 > {
4368 crate::common::RegisterField::<
4369 1,
4370 0x1,
4371 1,
4372 0,
4373 p10pfs::Pidr,
4374 p10pfs::Pidr,
4375 P10Pfs_SPEC,
4376 crate::common::R,
4377 >::from_register(self, 0)
4378 }
4379
4380 #[doc = "Port Direction"]
4381 #[inline(always)]
4382 pub fn pdr(
4383 self,
4384 ) -> crate::common::RegisterField<
4385 2,
4386 0x1,
4387 1,
4388 0,
4389 p10pfs::Pdr,
4390 p10pfs::Pdr,
4391 P10Pfs_SPEC,
4392 crate::common::RW,
4393 > {
4394 crate::common::RegisterField::<
4395 2,
4396 0x1,
4397 1,
4398 0,
4399 p10pfs::Pdr,
4400 p10pfs::Pdr,
4401 P10Pfs_SPEC,
4402 crate::common::RW,
4403 >::from_register(self, 0)
4404 }
4405
4406 #[doc = "Pull-up Control"]
4407 #[inline(always)]
4408 pub fn pcr(
4409 self,
4410 ) -> crate::common::RegisterField<
4411 4,
4412 0x1,
4413 1,
4414 0,
4415 p10pfs::Pcr,
4416 p10pfs::Pcr,
4417 P10Pfs_SPEC,
4418 crate::common::RW,
4419 > {
4420 crate::common::RegisterField::<
4421 4,
4422 0x1,
4423 1,
4424 0,
4425 p10pfs::Pcr,
4426 p10pfs::Pcr,
4427 P10Pfs_SPEC,
4428 crate::common::RW,
4429 >::from_register(self, 0)
4430 }
4431
4432 #[doc = "N-Channel Open-Drain Control"]
4433 #[inline(always)]
4434 pub fn ncodr(
4435 self,
4436 ) -> crate::common::RegisterField<
4437 6,
4438 0x1,
4439 1,
4440 0,
4441 p10pfs::Ncodr,
4442 p10pfs::Ncodr,
4443 P10Pfs_SPEC,
4444 crate::common::RW,
4445 > {
4446 crate::common::RegisterField::<
4447 6,
4448 0x1,
4449 1,
4450 0,
4451 p10pfs::Ncodr,
4452 p10pfs::Ncodr,
4453 P10Pfs_SPEC,
4454 crate::common::RW,
4455 >::from_register(self, 0)
4456 }
4457
4458 #[doc = "Event on Falling/Event on Rising"]
4459 #[inline(always)]
4460 pub fn eofr(
4461 self,
4462 ) -> crate::common::RegisterField<
4463 12,
4464 0x3,
4465 1,
4466 0,
4467 p10pfs::Eofr,
4468 p10pfs::Eofr,
4469 P10Pfs_SPEC,
4470 crate::common::RW,
4471 > {
4472 crate::common::RegisterField::<
4473 12,
4474 0x3,
4475 1,
4476 0,
4477 p10pfs::Eofr,
4478 p10pfs::Eofr,
4479 P10Pfs_SPEC,
4480 crate::common::RW,
4481 >::from_register(self, 0)
4482 }
4483
4484 #[doc = "IRQ Input Enable"]
4485 #[inline(always)]
4486 pub fn isel(
4487 self,
4488 ) -> crate::common::RegisterField<
4489 14,
4490 0x1,
4491 1,
4492 0,
4493 p10pfs::Isel,
4494 p10pfs::Isel,
4495 P10Pfs_SPEC,
4496 crate::common::RW,
4497 > {
4498 crate::common::RegisterField::<
4499 14,
4500 0x1,
4501 1,
4502 0,
4503 p10pfs::Isel,
4504 p10pfs::Isel,
4505 P10Pfs_SPEC,
4506 crate::common::RW,
4507 >::from_register(self, 0)
4508 }
4509
4510 #[doc = "Analog Input Enable"]
4511 #[inline(always)]
4512 pub fn asel(
4513 self,
4514 ) -> crate::common::RegisterField<
4515 15,
4516 0x1,
4517 1,
4518 0,
4519 p10pfs::Asel,
4520 p10pfs::Asel,
4521 P10Pfs_SPEC,
4522 crate::common::RW,
4523 > {
4524 crate::common::RegisterField::<
4525 15,
4526 0x1,
4527 1,
4528 0,
4529 p10pfs::Asel,
4530 p10pfs::Asel,
4531 P10Pfs_SPEC,
4532 crate::common::RW,
4533 >::from_register(self, 0)
4534 }
4535
4536 #[doc = "Port Mode Control"]
4537 #[inline(always)]
4538 pub fn pmr(
4539 self,
4540 ) -> crate::common::RegisterField<
4541 16,
4542 0x1,
4543 1,
4544 0,
4545 p10pfs::Pmr,
4546 p10pfs::Pmr,
4547 P10Pfs_SPEC,
4548 crate::common::RW,
4549 > {
4550 crate::common::RegisterField::<
4551 16,
4552 0x1,
4553 1,
4554 0,
4555 p10pfs::Pmr,
4556 p10pfs::Pmr,
4557 P10Pfs_SPEC,
4558 crate::common::RW,
4559 >::from_register(self, 0)
4560 }
4561
4562 #[doc = "Peripheral Select"]
4563 #[inline(always)]
4564 pub fn psel(
4565 self,
4566 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P10Pfs_SPEC, crate::common::RW> {
4567 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P10Pfs_SPEC,crate::common::RW>::from_register(self,0)
4568 }
4569}
4570impl ::core::default::Default for P10Pfs {
4571 #[inline(always)]
4572 fn default() -> P10Pfs {
4573 <crate::RegValueT<P10Pfs_SPEC> as RegisterValue<_>>::new(0)
4574 }
4575}
4576pub mod p10pfs {
4577
4578 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4579 pub struct Podr_SPEC;
4580 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4581 impl Podr {
4582 #[doc = "Output low"]
4583 pub const _0: Self = Self::new(0);
4584
4585 #[doc = "Output high"]
4586 pub const _1: Self = Self::new(1);
4587 }
4588 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4589 pub struct Pidr_SPEC;
4590 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4591 impl Pidr {
4592 #[doc = "Low level"]
4593 pub const _0: Self = Self::new(0);
4594
4595 #[doc = "High level"]
4596 pub const _1: Self = Self::new(1);
4597 }
4598 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4599 pub struct Pdr_SPEC;
4600 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4601 impl Pdr {
4602 #[doc = "Input (functions as an input pin)"]
4603 pub const _0: Self = Self::new(0);
4604
4605 #[doc = "Output (functions as an output pin)"]
4606 pub const _1: Self = Self::new(1);
4607 }
4608 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4609 pub struct Pcr_SPEC;
4610 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4611 impl Pcr {
4612 #[doc = "Disable input pull-up"]
4613 pub const _0: Self = Self::new(0);
4614
4615 #[doc = "Enable input pull-up"]
4616 pub const _1: Self = Self::new(1);
4617 }
4618 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4619 pub struct Ncodr_SPEC;
4620 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4621 impl Ncodr {
4622 #[doc = "Output CMOS"]
4623 pub const _0: Self = Self::new(0);
4624
4625 #[doc = "Output NMOS open-drain"]
4626 pub const _1: Self = Self::new(1);
4627 }
4628 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4629 pub struct Eofr_SPEC;
4630 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
4631 impl Eofr {
4632 #[doc = "Don\'t care"]
4633 pub const _00: Self = Self::new(0);
4634
4635 #[doc = "Detect rising edge"]
4636 pub const _01: Self = Self::new(1);
4637
4638 #[doc = "Detect falling edge"]
4639 pub const _10: Self = Self::new(2);
4640
4641 #[doc = "Detect both edges"]
4642 pub const _11: Self = Self::new(3);
4643 }
4644 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4645 pub struct Isel_SPEC;
4646 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4647 impl Isel {
4648 #[doc = "Do not use as IRQn input pin"]
4649 pub const _0: Self = Self::new(0);
4650
4651 #[doc = "Use as IRQn input pin"]
4652 pub const _1: Self = Self::new(1);
4653 }
4654 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4655 pub struct Asel_SPEC;
4656 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4657 impl Asel {
4658 #[doc = "Do not use as analog pin"]
4659 pub const _0: Self = Self::new(0);
4660
4661 #[doc = "Use as analog pin"]
4662 pub const _1: Self = Self::new(1);
4663 }
4664 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4665 pub struct Pmr_SPEC;
4666 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
4667 impl Pmr {
4668 #[doc = "Use as general I/O pin"]
4669 pub const _0: Self = Self::new(0);
4670
4671 #[doc = "Use as I/O port for peripheral functions"]
4672 pub const _1: Self = Self::new(1);
4673 }
4674}
4675#[doc(hidden)]
4676#[derive(Copy, Clone, Eq, PartialEq)]
4677pub struct P10PfsHa_SPEC;
4678impl crate::sealed::RegSpec for P10PfsHa_SPEC {
4679 type DataType = u16;
4680}
4681
4682#[doc = "Port 10%s Pin Function Select Register"]
4683pub type P10PfsHa = crate::RegValueT<P10PfsHa_SPEC>;
4684
4685impl P10PfsHa {
4686 #[doc = "Port Output Data"]
4687 #[inline(always)]
4688 pub fn podr(
4689 self,
4690 ) -> crate::common::RegisterField<
4691 0,
4692 0x1,
4693 1,
4694 0,
4695 p10pfs_ha::Podr,
4696 p10pfs_ha::Podr,
4697 P10PfsHa_SPEC,
4698 crate::common::RW,
4699 > {
4700 crate::common::RegisterField::<
4701 0,
4702 0x1,
4703 1,
4704 0,
4705 p10pfs_ha::Podr,
4706 p10pfs_ha::Podr,
4707 P10PfsHa_SPEC,
4708 crate::common::RW,
4709 >::from_register(self, 0)
4710 }
4711
4712 #[doc = "Port State"]
4713 #[inline(always)]
4714 pub fn pidr(
4715 self,
4716 ) -> crate::common::RegisterField<
4717 1,
4718 0x1,
4719 1,
4720 0,
4721 p10pfs_ha::Pidr,
4722 p10pfs_ha::Pidr,
4723 P10PfsHa_SPEC,
4724 crate::common::R,
4725 > {
4726 crate::common::RegisterField::<
4727 1,
4728 0x1,
4729 1,
4730 0,
4731 p10pfs_ha::Pidr,
4732 p10pfs_ha::Pidr,
4733 P10PfsHa_SPEC,
4734 crate::common::R,
4735 >::from_register(self, 0)
4736 }
4737
4738 #[doc = "Port Direction"]
4739 #[inline(always)]
4740 pub fn pdr(
4741 self,
4742 ) -> crate::common::RegisterField<
4743 2,
4744 0x1,
4745 1,
4746 0,
4747 p10pfs_ha::Pdr,
4748 p10pfs_ha::Pdr,
4749 P10PfsHa_SPEC,
4750 crate::common::RW,
4751 > {
4752 crate::common::RegisterField::<
4753 2,
4754 0x1,
4755 1,
4756 0,
4757 p10pfs_ha::Pdr,
4758 p10pfs_ha::Pdr,
4759 P10PfsHa_SPEC,
4760 crate::common::RW,
4761 >::from_register(self, 0)
4762 }
4763
4764 #[doc = "Pull-up Control"]
4765 #[inline(always)]
4766 pub fn pcr(
4767 self,
4768 ) -> crate::common::RegisterField<
4769 4,
4770 0x1,
4771 1,
4772 0,
4773 p10pfs_ha::Pcr,
4774 p10pfs_ha::Pcr,
4775 P10PfsHa_SPEC,
4776 crate::common::RW,
4777 > {
4778 crate::common::RegisterField::<
4779 4,
4780 0x1,
4781 1,
4782 0,
4783 p10pfs_ha::Pcr,
4784 p10pfs_ha::Pcr,
4785 P10PfsHa_SPEC,
4786 crate::common::RW,
4787 >::from_register(self, 0)
4788 }
4789
4790 #[doc = "N-Channel Open-Drain Control"]
4791 #[inline(always)]
4792 pub fn ncodr(
4793 self,
4794 ) -> crate::common::RegisterField<
4795 6,
4796 0x1,
4797 1,
4798 0,
4799 p10pfs_ha::Ncodr,
4800 p10pfs_ha::Ncodr,
4801 P10PfsHa_SPEC,
4802 crate::common::RW,
4803 > {
4804 crate::common::RegisterField::<
4805 6,
4806 0x1,
4807 1,
4808 0,
4809 p10pfs_ha::Ncodr,
4810 p10pfs_ha::Ncodr,
4811 P10PfsHa_SPEC,
4812 crate::common::RW,
4813 >::from_register(self, 0)
4814 }
4815
4816 #[doc = "Event on Falling/Event on Rising"]
4817 #[inline(always)]
4818 pub fn eofr(
4819 self,
4820 ) -> crate::common::RegisterField<
4821 12,
4822 0x3,
4823 1,
4824 0,
4825 p10pfs_ha::Eofr,
4826 p10pfs_ha::Eofr,
4827 P10PfsHa_SPEC,
4828 crate::common::RW,
4829 > {
4830 crate::common::RegisterField::<
4831 12,
4832 0x3,
4833 1,
4834 0,
4835 p10pfs_ha::Eofr,
4836 p10pfs_ha::Eofr,
4837 P10PfsHa_SPEC,
4838 crate::common::RW,
4839 >::from_register(self, 0)
4840 }
4841
4842 #[doc = "IRQ Input Enable"]
4843 #[inline(always)]
4844 pub fn isel(
4845 self,
4846 ) -> crate::common::RegisterField<
4847 14,
4848 0x1,
4849 1,
4850 0,
4851 p10pfs_ha::Isel,
4852 p10pfs_ha::Isel,
4853 P10PfsHa_SPEC,
4854 crate::common::RW,
4855 > {
4856 crate::common::RegisterField::<
4857 14,
4858 0x1,
4859 1,
4860 0,
4861 p10pfs_ha::Isel,
4862 p10pfs_ha::Isel,
4863 P10PfsHa_SPEC,
4864 crate::common::RW,
4865 >::from_register(self, 0)
4866 }
4867
4868 #[doc = "Analog Input Enable"]
4869 #[inline(always)]
4870 pub fn asel(
4871 self,
4872 ) -> crate::common::RegisterField<
4873 15,
4874 0x1,
4875 1,
4876 0,
4877 p10pfs_ha::Asel,
4878 p10pfs_ha::Asel,
4879 P10PfsHa_SPEC,
4880 crate::common::RW,
4881 > {
4882 crate::common::RegisterField::<
4883 15,
4884 0x1,
4885 1,
4886 0,
4887 p10pfs_ha::Asel,
4888 p10pfs_ha::Asel,
4889 P10PfsHa_SPEC,
4890 crate::common::RW,
4891 >::from_register(self, 0)
4892 }
4893}
4894impl ::core::default::Default for P10PfsHa {
4895 #[inline(always)]
4896 fn default() -> P10PfsHa {
4897 <crate::RegValueT<P10PfsHa_SPEC> as RegisterValue<_>>::new(0)
4898 }
4899}
4900pub mod p10pfs_ha {
4901
4902 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4903 pub struct Podr_SPEC;
4904 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
4905 impl Podr {
4906 #[doc = "Output low"]
4907 pub const _0: Self = Self::new(0);
4908
4909 #[doc = "Output high"]
4910 pub const _1: Self = Self::new(1);
4911 }
4912 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4913 pub struct Pidr_SPEC;
4914 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
4915 impl Pidr {
4916 #[doc = "Low level"]
4917 pub const _0: Self = Self::new(0);
4918
4919 #[doc = "High level"]
4920 pub const _1: Self = Self::new(1);
4921 }
4922 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4923 pub struct Pdr_SPEC;
4924 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
4925 impl Pdr {
4926 #[doc = "Input (functions as an input pin)"]
4927 pub const _0: Self = Self::new(0);
4928
4929 #[doc = "Output (functions as an output pin)"]
4930 pub const _1: Self = Self::new(1);
4931 }
4932 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4933 pub struct Pcr_SPEC;
4934 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
4935 impl Pcr {
4936 #[doc = "Disable input pull-up"]
4937 pub const _0: Self = Self::new(0);
4938
4939 #[doc = "Enable input pull-up"]
4940 pub const _1: Self = Self::new(1);
4941 }
4942 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4943 pub struct Ncodr_SPEC;
4944 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
4945 impl Ncodr {
4946 #[doc = "Output CMOS"]
4947 pub const _0: Self = Self::new(0);
4948
4949 #[doc = "Output NMOS open-drain"]
4950 pub const _1: Self = Self::new(1);
4951 }
4952 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4953 pub struct Eofr_SPEC;
4954 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
4955 impl Eofr {
4956 #[doc = "Don\'t care"]
4957 pub const _00: Self = Self::new(0);
4958
4959 #[doc = "Detect rising edge"]
4960 pub const _01: Self = Self::new(1);
4961
4962 #[doc = "Detect falling edge"]
4963 pub const _10: Self = Self::new(2);
4964
4965 #[doc = "Detect both edges"]
4966 pub const _11: Self = Self::new(3);
4967 }
4968 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4969 pub struct Isel_SPEC;
4970 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
4971 impl Isel {
4972 #[doc = "Do not use as IRQn input pin"]
4973 pub const _0: Self = Self::new(0);
4974
4975 #[doc = "Use as IRQn input pin"]
4976 pub const _1: Self = Self::new(1);
4977 }
4978 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4979 pub struct Asel_SPEC;
4980 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
4981 impl Asel {
4982 #[doc = "Do not use as analog pin"]
4983 pub const _0: Self = Self::new(0);
4984
4985 #[doc = "Use as analog pin"]
4986 pub const _1: Self = Self::new(1);
4987 }
4988}
4989#[doc(hidden)]
4990#[derive(Copy, Clone, Eq, PartialEq)]
4991pub struct P10PfsBy_SPEC;
4992impl crate::sealed::RegSpec for P10PfsBy_SPEC {
4993 type DataType = u8;
4994}
4995
4996#[doc = "Port 10%s Pin Function Select Register"]
4997pub type P10PfsBy = crate::RegValueT<P10PfsBy_SPEC>;
4998
4999impl P10PfsBy {
5000 #[doc = "Port Output Data"]
5001 #[inline(always)]
5002 pub fn podr(
5003 self,
5004 ) -> crate::common::RegisterField<
5005 0,
5006 0x1,
5007 1,
5008 0,
5009 p10pfs_by::Podr,
5010 p10pfs_by::Podr,
5011 P10PfsBy_SPEC,
5012 crate::common::RW,
5013 > {
5014 crate::common::RegisterField::<
5015 0,
5016 0x1,
5017 1,
5018 0,
5019 p10pfs_by::Podr,
5020 p10pfs_by::Podr,
5021 P10PfsBy_SPEC,
5022 crate::common::RW,
5023 >::from_register(self, 0)
5024 }
5025
5026 #[doc = "Port State"]
5027 #[inline(always)]
5028 pub fn pidr(
5029 self,
5030 ) -> crate::common::RegisterField<
5031 1,
5032 0x1,
5033 1,
5034 0,
5035 p10pfs_by::Pidr,
5036 p10pfs_by::Pidr,
5037 P10PfsBy_SPEC,
5038 crate::common::R,
5039 > {
5040 crate::common::RegisterField::<
5041 1,
5042 0x1,
5043 1,
5044 0,
5045 p10pfs_by::Pidr,
5046 p10pfs_by::Pidr,
5047 P10PfsBy_SPEC,
5048 crate::common::R,
5049 >::from_register(self, 0)
5050 }
5051
5052 #[doc = "Port Direction"]
5053 #[inline(always)]
5054 pub fn pdr(
5055 self,
5056 ) -> crate::common::RegisterField<
5057 2,
5058 0x1,
5059 1,
5060 0,
5061 p10pfs_by::Pdr,
5062 p10pfs_by::Pdr,
5063 P10PfsBy_SPEC,
5064 crate::common::RW,
5065 > {
5066 crate::common::RegisterField::<
5067 2,
5068 0x1,
5069 1,
5070 0,
5071 p10pfs_by::Pdr,
5072 p10pfs_by::Pdr,
5073 P10PfsBy_SPEC,
5074 crate::common::RW,
5075 >::from_register(self, 0)
5076 }
5077
5078 #[doc = "Pull-up Control"]
5079 #[inline(always)]
5080 pub fn pcr(
5081 self,
5082 ) -> crate::common::RegisterField<
5083 4,
5084 0x1,
5085 1,
5086 0,
5087 p10pfs_by::Pcr,
5088 p10pfs_by::Pcr,
5089 P10PfsBy_SPEC,
5090 crate::common::RW,
5091 > {
5092 crate::common::RegisterField::<
5093 4,
5094 0x1,
5095 1,
5096 0,
5097 p10pfs_by::Pcr,
5098 p10pfs_by::Pcr,
5099 P10PfsBy_SPEC,
5100 crate::common::RW,
5101 >::from_register(self, 0)
5102 }
5103
5104 #[doc = "N-Channel Open-Drain Control"]
5105 #[inline(always)]
5106 pub fn ncodr(
5107 self,
5108 ) -> crate::common::RegisterField<
5109 6,
5110 0x1,
5111 1,
5112 0,
5113 p10pfs_by::Ncodr,
5114 p10pfs_by::Ncodr,
5115 P10PfsBy_SPEC,
5116 crate::common::RW,
5117 > {
5118 crate::common::RegisterField::<
5119 6,
5120 0x1,
5121 1,
5122 0,
5123 p10pfs_by::Ncodr,
5124 p10pfs_by::Ncodr,
5125 P10PfsBy_SPEC,
5126 crate::common::RW,
5127 >::from_register(self, 0)
5128 }
5129}
5130impl ::core::default::Default for P10PfsBy {
5131 #[inline(always)]
5132 fn default() -> P10PfsBy {
5133 <crate::RegValueT<P10PfsBy_SPEC> as RegisterValue<_>>::new(0)
5134 }
5135}
5136pub mod p10pfs_by {
5137
5138 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5139 pub struct Podr_SPEC;
5140 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5141 impl Podr {
5142 #[doc = "Output low"]
5143 pub const _0: Self = Self::new(0);
5144
5145 #[doc = "Output high"]
5146 pub const _1: Self = Self::new(1);
5147 }
5148 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5149 pub struct Pidr_SPEC;
5150 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5151 impl Pidr {
5152 #[doc = "Low level"]
5153 pub const _0: Self = Self::new(0);
5154
5155 #[doc = "High level"]
5156 pub const _1: Self = Self::new(1);
5157 }
5158 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5159 pub struct Pdr_SPEC;
5160 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5161 impl Pdr {
5162 #[doc = "Input (functions as an input pin)"]
5163 pub const _0: Self = Self::new(0);
5164
5165 #[doc = "Output (functions as an output pin)"]
5166 pub const _1: Self = Self::new(1);
5167 }
5168 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5169 pub struct Pcr_SPEC;
5170 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5171 impl Pcr {
5172 #[doc = "Disable input pull-up"]
5173 pub const _0: Self = Self::new(0);
5174
5175 #[doc = "Enable input pull-up"]
5176 pub const _1: Self = Self::new(1);
5177 }
5178 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5179 pub struct Ncodr_SPEC;
5180 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5181 impl Ncodr {
5182 #[doc = "Output CMOS"]
5183 pub const _0: Self = Self::new(0);
5184
5185 #[doc = "Output NMOS open-drain"]
5186 pub const _1: Self = Self::new(1);
5187 }
5188}
5189#[doc(hidden)]
5190#[derive(Copy, Clone, Eq, PartialEq)]
5191pub struct P108Pfs_SPEC;
5192impl crate::sealed::RegSpec for P108Pfs_SPEC {
5193 type DataType = u32;
5194}
5195
5196#[doc = "Port 108 Pin Function Select Register"]
5197pub type P108Pfs = crate::RegValueT<P108Pfs_SPEC>;
5198
5199impl P108Pfs {
5200 #[doc = "Port Output Data"]
5201 #[inline(always)]
5202 pub fn podr(
5203 self,
5204 ) -> crate::common::RegisterField<
5205 0,
5206 0x1,
5207 1,
5208 0,
5209 p108pfs::Podr,
5210 p108pfs::Podr,
5211 P108Pfs_SPEC,
5212 crate::common::RW,
5213 > {
5214 crate::common::RegisterField::<
5215 0,
5216 0x1,
5217 1,
5218 0,
5219 p108pfs::Podr,
5220 p108pfs::Podr,
5221 P108Pfs_SPEC,
5222 crate::common::RW,
5223 >::from_register(self, 0)
5224 }
5225
5226 #[doc = "Port State"]
5227 #[inline(always)]
5228 pub fn pidr(
5229 self,
5230 ) -> crate::common::RegisterField<
5231 1,
5232 0x1,
5233 1,
5234 0,
5235 p108pfs::Pidr,
5236 p108pfs::Pidr,
5237 P108Pfs_SPEC,
5238 crate::common::R,
5239 > {
5240 crate::common::RegisterField::<
5241 1,
5242 0x1,
5243 1,
5244 0,
5245 p108pfs::Pidr,
5246 p108pfs::Pidr,
5247 P108Pfs_SPEC,
5248 crate::common::R,
5249 >::from_register(self, 0)
5250 }
5251
5252 #[doc = "Port Direction"]
5253 #[inline(always)]
5254 pub fn pdr(
5255 self,
5256 ) -> crate::common::RegisterField<
5257 2,
5258 0x1,
5259 1,
5260 0,
5261 p108pfs::Pdr,
5262 p108pfs::Pdr,
5263 P108Pfs_SPEC,
5264 crate::common::RW,
5265 > {
5266 crate::common::RegisterField::<
5267 2,
5268 0x1,
5269 1,
5270 0,
5271 p108pfs::Pdr,
5272 p108pfs::Pdr,
5273 P108Pfs_SPEC,
5274 crate::common::RW,
5275 >::from_register(self, 0)
5276 }
5277
5278 #[doc = "Pull-up Control"]
5279 #[inline(always)]
5280 pub fn pcr(
5281 self,
5282 ) -> crate::common::RegisterField<
5283 4,
5284 0x1,
5285 1,
5286 0,
5287 p108pfs::Pcr,
5288 p108pfs::Pcr,
5289 P108Pfs_SPEC,
5290 crate::common::RW,
5291 > {
5292 crate::common::RegisterField::<
5293 4,
5294 0x1,
5295 1,
5296 0,
5297 p108pfs::Pcr,
5298 p108pfs::Pcr,
5299 P108Pfs_SPEC,
5300 crate::common::RW,
5301 >::from_register(self, 0)
5302 }
5303
5304 #[doc = "N-Channel Open-Drain Control"]
5305 #[inline(always)]
5306 pub fn ncodr(
5307 self,
5308 ) -> crate::common::RegisterField<
5309 6,
5310 0x1,
5311 1,
5312 0,
5313 p108pfs::Ncodr,
5314 p108pfs::Ncodr,
5315 P108Pfs_SPEC,
5316 crate::common::RW,
5317 > {
5318 crate::common::RegisterField::<
5319 6,
5320 0x1,
5321 1,
5322 0,
5323 p108pfs::Ncodr,
5324 p108pfs::Ncodr,
5325 P108Pfs_SPEC,
5326 crate::common::RW,
5327 >::from_register(self, 0)
5328 }
5329
5330 #[doc = "Event on Falling/Event on Rising"]
5331 #[inline(always)]
5332 pub fn eofr(
5333 self,
5334 ) -> crate::common::RegisterField<
5335 12,
5336 0x3,
5337 1,
5338 0,
5339 p108pfs::Eofr,
5340 p108pfs::Eofr,
5341 P108Pfs_SPEC,
5342 crate::common::RW,
5343 > {
5344 crate::common::RegisterField::<
5345 12,
5346 0x3,
5347 1,
5348 0,
5349 p108pfs::Eofr,
5350 p108pfs::Eofr,
5351 P108Pfs_SPEC,
5352 crate::common::RW,
5353 >::from_register(self, 0)
5354 }
5355
5356 #[doc = "IRQ Input Enable"]
5357 #[inline(always)]
5358 pub fn isel(
5359 self,
5360 ) -> crate::common::RegisterField<
5361 14,
5362 0x1,
5363 1,
5364 0,
5365 p108pfs::Isel,
5366 p108pfs::Isel,
5367 P108Pfs_SPEC,
5368 crate::common::RW,
5369 > {
5370 crate::common::RegisterField::<
5371 14,
5372 0x1,
5373 1,
5374 0,
5375 p108pfs::Isel,
5376 p108pfs::Isel,
5377 P108Pfs_SPEC,
5378 crate::common::RW,
5379 >::from_register(self, 0)
5380 }
5381
5382 #[doc = "Analog Input Enable"]
5383 #[inline(always)]
5384 pub fn asel(
5385 self,
5386 ) -> crate::common::RegisterField<
5387 15,
5388 0x1,
5389 1,
5390 0,
5391 p108pfs::Asel,
5392 p108pfs::Asel,
5393 P108Pfs_SPEC,
5394 crate::common::RW,
5395 > {
5396 crate::common::RegisterField::<
5397 15,
5398 0x1,
5399 1,
5400 0,
5401 p108pfs::Asel,
5402 p108pfs::Asel,
5403 P108Pfs_SPEC,
5404 crate::common::RW,
5405 >::from_register(self, 0)
5406 }
5407
5408 #[doc = "Port Mode Control"]
5409 #[inline(always)]
5410 pub fn pmr(
5411 self,
5412 ) -> crate::common::RegisterField<
5413 16,
5414 0x1,
5415 1,
5416 0,
5417 p108pfs::Pmr,
5418 p108pfs::Pmr,
5419 P108Pfs_SPEC,
5420 crate::common::RW,
5421 > {
5422 crate::common::RegisterField::<
5423 16,
5424 0x1,
5425 1,
5426 0,
5427 p108pfs::Pmr,
5428 p108pfs::Pmr,
5429 P108Pfs_SPEC,
5430 crate::common::RW,
5431 >::from_register(self, 0)
5432 }
5433
5434 #[doc = "Peripheral Select"]
5435 #[inline(always)]
5436 pub fn psel(
5437 self,
5438 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P108Pfs_SPEC, crate::common::RW> {
5439 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P108Pfs_SPEC,crate::common::RW>::from_register(self,0)
5440 }
5441}
5442impl ::core::default::Default for P108Pfs {
5443 #[inline(always)]
5444 fn default() -> P108Pfs {
5445 <crate::RegValueT<P108Pfs_SPEC> as RegisterValue<_>>::new(65552)
5446 }
5447}
5448pub mod p108pfs {
5449
5450 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5451 pub struct Podr_SPEC;
5452 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5453 impl Podr {
5454 #[doc = "Output low"]
5455 pub const _0: Self = Self::new(0);
5456
5457 #[doc = "Output high"]
5458 pub const _1: Self = Self::new(1);
5459 }
5460 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5461 pub struct Pidr_SPEC;
5462 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5463 impl Pidr {
5464 #[doc = "Low level"]
5465 pub const _0: Self = Self::new(0);
5466
5467 #[doc = "High level"]
5468 pub const _1: Self = Self::new(1);
5469 }
5470 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5471 pub struct Pdr_SPEC;
5472 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5473 impl Pdr {
5474 #[doc = "Input (functions as an input pin)"]
5475 pub const _0: Self = Self::new(0);
5476
5477 #[doc = "Output (functions as an output pin)"]
5478 pub const _1: Self = Self::new(1);
5479 }
5480 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5481 pub struct Pcr_SPEC;
5482 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5483 impl Pcr {
5484 #[doc = "Disable input pull-up"]
5485 pub const _0: Self = Self::new(0);
5486
5487 #[doc = "Enable input pull-up"]
5488 pub const _1: Self = Self::new(1);
5489 }
5490 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5491 pub struct Ncodr_SPEC;
5492 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5493 impl Ncodr {
5494 #[doc = "Output CMOS"]
5495 pub const _0: Self = Self::new(0);
5496
5497 #[doc = "Output NMOS open-drain"]
5498 pub const _1: Self = Self::new(1);
5499 }
5500 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5501 pub struct Eofr_SPEC;
5502 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
5503 impl Eofr {
5504 #[doc = "Don\'t care"]
5505 pub const _00: Self = Self::new(0);
5506
5507 #[doc = "Detect rising edge"]
5508 pub const _01: Self = Self::new(1);
5509
5510 #[doc = "Detect falling edge"]
5511 pub const _10: Self = Self::new(2);
5512
5513 #[doc = "Detect both edges"]
5514 pub const _11: Self = Self::new(3);
5515 }
5516 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5517 pub struct Isel_SPEC;
5518 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5519 impl Isel {
5520 #[doc = "Do not use as IRQn input pin"]
5521 pub const _0: Self = Self::new(0);
5522
5523 #[doc = "Use as IRQn input pin"]
5524 pub const _1: Self = Self::new(1);
5525 }
5526 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5527 pub struct Asel_SPEC;
5528 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5529 impl Asel {
5530 #[doc = "Do not use as analog pin"]
5531 pub const _0: Self = Self::new(0);
5532
5533 #[doc = "Use as analog pin"]
5534 pub const _1: Self = Self::new(1);
5535 }
5536 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5537 pub struct Pmr_SPEC;
5538 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
5539 impl Pmr {
5540 #[doc = "Use as general I/O pin"]
5541 pub const _0: Self = Self::new(0);
5542
5543 #[doc = "Use as I/O port for peripheral functions"]
5544 pub const _1: Self = Self::new(1);
5545 }
5546}
5547#[doc(hidden)]
5548#[derive(Copy, Clone, Eq, PartialEq)]
5549pub struct P108PfsHa_SPEC;
5550impl crate::sealed::RegSpec for P108PfsHa_SPEC {
5551 type DataType = u16;
5552}
5553
5554#[doc = "Port 108 Pin Function Select Register"]
5555pub type P108PfsHa = crate::RegValueT<P108PfsHa_SPEC>;
5556
5557impl P108PfsHa {
5558 #[doc = "Port Output Data"]
5559 #[inline(always)]
5560 pub fn podr(
5561 self,
5562 ) -> crate::common::RegisterField<
5563 0,
5564 0x1,
5565 1,
5566 0,
5567 p108pfs_ha::Podr,
5568 p108pfs_ha::Podr,
5569 P108PfsHa_SPEC,
5570 crate::common::RW,
5571 > {
5572 crate::common::RegisterField::<
5573 0,
5574 0x1,
5575 1,
5576 0,
5577 p108pfs_ha::Podr,
5578 p108pfs_ha::Podr,
5579 P108PfsHa_SPEC,
5580 crate::common::RW,
5581 >::from_register(self, 0)
5582 }
5583
5584 #[doc = "Port State"]
5585 #[inline(always)]
5586 pub fn pidr(
5587 self,
5588 ) -> crate::common::RegisterField<
5589 1,
5590 0x1,
5591 1,
5592 0,
5593 p108pfs_ha::Pidr,
5594 p108pfs_ha::Pidr,
5595 P108PfsHa_SPEC,
5596 crate::common::R,
5597 > {
5598 crate::common::RegisterField::<
5599 1,
5600 0x1,
5601 1,
5602 0,
5603 p108pfs_ha::Pidr,
5604 p108pfs_ha::Pidr,
5605 P108PfsHa_SPEC,
5606 crate::common::R,
5607 >::from_register(self, 0)
5608 }
5609
5610 #[doc = "Port Direction"]
5611 #[inline(always)]
5612 pub fn pdr(
5613 self,
5614 ) -> crate::common::RegisterField<
5615 2,
5616 0x1,
5617 1,
5618 0,
5619 p108pfs_ha::Pdr,
5620 p108pfs_ha::Pdr,
5621 P108PfsHa_SPEC,
5622 crate::common::RW,
5623 > {
5624 crate::common::RegisterField::<
5625 2,
5626 0x1,
5627 1,
5628 0,
5629 p108pfs_ha::Pdr,
5630 p108pfs_ha::Pdr,
5631 P108PfsHa_SPEC,
5632 crate::common::RW,
5633 >::from_register(self, 0)
5634 }
5635
5636 #[doc = "Pull-up Control"]
5637 #[inline(always)]
5638 pub fn pcr(
5639 self,
5640 ) -> crate::common::RegisterField<
5641 4,
5642 0x1,
5643 1,
5644 0,
5645 p108pfs_ha::Pcr,
5646 p108pfs_ha::Pcr,
5647 P108PfsHa_SPEC,
5648 crate::common::RW,
5649 > {
5650 crate::common::RegisterField::<
5651 4,
5652 0x1,
5653 1,
5654 0,
5655 p108pfs_ha::Pcr,
5656 p108pfs_ha::Pcr,
5657 P108PfsHa_SPEC,
5658 crate::common::RW,
5659 >::from_register(self, 0)
5660 }
5661
5662 #[doc = "N-Channel Open-Drain Control"]
5663 #[inline(always)]
5664 pub fn ncodr(
5665 self,
5666 ) -> crate::common::RegisterField<
5667 6,
5668 0x1,
5669 1,
5670 0,
5671 p108pfs_ha::Ncodr,
5672 p108pfs_ha::Ncodr,
5673 P108PfsHa_SPEC,
5674 crate::common::RW,
5675 > {
5676 crate::common::RegisterField::<
5677 6,
5678 0x1,
5679 1,
5680 0,
5681 p108pfs_ha::Ncodr,
5682 p108pfs_ha::Ncodr,
5683 P108PfsHa_SPEC,
5684 crate::common::RW,
5685 >::from_register(self, 0)
5686 }
5687
5688 #[doc = "Event on Falling/Event on Rising"]
5689 #[inline(always)]
5690 pub fn eofr(
5691 self,
5692 ) -> crate::common::RegisterField<
5693 12,
5694 0x3,
5695 1,
5696 0,
5697 p108pfs_ha::Eofr,
5698 p108pfs_ha::Eofr,
5699 P108PfsHa_SPEC,
5700 crate::common::RW,
5701 > {
5702 crate::common::RegisterField::<
5703 12,
5704 0x3,
5705 1,
5706 0,
5707 p108pfs_ha::Eofr,
5708 p108pfs_ha::Eofr,
5709 P108PfsHa_SPEC,
5710 crate::common::RW,
5711 >::from_register(self, 0)
5712 }
5713
5714 #[doc = "IRQ Input Enable"]
5715 #[inline(always)]
5716 pub fn isel(
5717 self,
5718 ) -> crate::common::RegisterField<
5719 14,
5720 0x1,
5721 1,
5722 0,
5723 p108pfs_ha::Isel,
5724 p108pfs_ha::Isel,
5725 P108PfsHa_SPEC,
5726 crate::common::RW,
5727 > {
5728 crate::common::RegisterField::<
5729 14,
5730 0x1,
5731 1,
5732 0,
5733 p108pfs_ha::Isel,
5734 p108pfs_ha::Isel,
5735 P108PfsHa_SPEC,
5736 crate::common::RW,
5737 >::from_register(self, 0)
5738 }
5739
5740 #[doc = "Analog Input Enable"]
5741 #[inline(always)]
5742 pub fn asel(
5743 self,
5744 ) -> crate::common::RegisterField<
5745 15,
5746 0x1,
5747 1,
5748 0,
5749 p108pfs_ha::Asel,
5750 p108pfs_ha::Asel,
5751 P108PfsHa_SPEC,
5752 crate::common::RW,
5753 > {
5754 crate::common::RegisterField::<
5755 15,
5756 0x1,
5757 1,
5758 0,
5759 p108pfs_ha::Asel,
5760 p108pfs_ha::Asel,
5761 P108PfsHa_SPEC,
5762 crate::common::RW,
5763 >::from_register(self, 0)
5764 }
5765}
5766impl ::core::default::Default for P108PfsHa {
5767 #[inline(always)]
5768 fn default() -> P108PfsHa {
5769 <crate::RegValueT<P108PfsHa_SPEC> as RegisterValue<_>>::new(16)
5770 }
5771}
5772pub mod p108pfs_ha {
5773
5774 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5775 pub struct Podr_SPEC;
5776 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
5777 impl Podr {
5778 #[doc = "Output low"]
5779 pub const _0: Self = Self::new(0);
5780
5781 #[doc = "Output high"]
5782 pub const _1: Self = Self::new(1);
5783 }
5784 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5785 pub struct Pidr_SPEC;
5786 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
5787 impl Pidr {
5788 #[doc = "Low level"]
5789 pub const _0: Self = Self::new(0);
5790
5791 #[doc = "High level"]
5792 pub const _1: Self = Self::new(1);
5793 }
5794 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5795 pub struct Pdr_SPEC;
5796 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
5797 impl Pdr {
5798 #[doc = "Input (functions as an input pin)"]
5799 pub const _0: Self = Self::new(0);
5800
5801 #[doc = "Output (functions as an output pin)"]
5802 pub const _1: Self = Self::new(1);
5803 }
5804 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5805 pub struct Pcr_SPEC;
5806 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
5807 impl Pcr {
5808 #[doc = "Disable input pull-up"]
5809 pub const _0: Self = Self::new(0);
5810
5811 #[doc = "Enable input pull-up"]
5812 pub const _1: Self = Self::new(1);
5813 }
5814 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5815 pub struct Ncodr_SPEC;
5816 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
5817 impl Ncodr {
5818 #[doc = "Output CMOS"]
5819 pub const _0: Self = Self::new(0);
5820
5821 #[doc = "Output NMOS open-drain"]
5822 pub const _1: Self = Self::new(1);
5823 }
5824 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5825 pub struct Eofr_SPEC;
5826 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
5827 impl Eofr {
5828 #[doc = "Don\'t care"]
5829 pub const _00: Self = Self::new(0);
5830
5831 #[doc = "Detect rising edge"]
5832 pub const _01: Self = Self::new(1);
5833
5834 #[doc = "Detect falling edge"]
5835 pub const _10: Self = Self::new(2);
5836
5837 #[doc = "Detect both edges"]
5838 pub const _11: Self = Self::new(3);
5839 }
5840 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5841 pub struct Isel_SPEC;
5842 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
5843 impl Isel {
5844 #[doc = "Do not use as IRQn input pin"]
5845 pub const _0: Self = Self::new(0);
5846
5847 #[doc = "Use as IRQn input pin"]
5848 pub const _1: Self = Self::new(1);
5849 }
5850 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5851 pub struct Asel_SPEC;
5852 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
5853 impl Asel {
5854 #[doc = "Do not use as analog pin"]
5855 pub const _0: Self = Self::new(0);
5856
5857 #[doc = "Use as analog pin"]
5858 pub const _1: Self = Self::new(1);
5859 }
5860}
5861#[doc(hidden)]
5862#[derive(Copy, Clone, Eq, PartialEq)]
5863pub struct P108PfsBy_SPEC;
5864impl crate::sealed::RegSpec for P108PfsBy_SPEC {
5865 type DataType = u8;
5866}
5867
5868#[doc = "Port 108 Pin Function Select Register"]
5869pub type P108PfsBy = crate::RegValueT<P108PfsBy_SPEC>;
5870
5871impl P108PfsBy {
5872 #[doc = "Port Output Data"]
5873 #[inline(always)]
5874 pub fn podr(
5875 self,
5876 ) -> crate::common::RegisterField<
5877 0,
5878 0x1,
5879 1,
5880 0,
5881 p108pfs_by::Podr,
5882 p108pfs_by::Podr,
5883 P108PfsBy_SPEC,
5884 crate::common::RW,
5885 > {
5886 crate::common::RegisterField::<
5887 0,
5888 0x1,
5889 1,
5890 0,
5891 p108pfs_by::Podr,
5892 p108pfs_by::Podr,
5893 P108PfsBy_SPEC,
5894 crate::common::RW,
5895 >::from_register(self, 0)
5896 }
5897
5898 #[doc = "Port State"]
5899 #[inline(always)]
5900 pub fn pidr(
5901 self,
5902 ) -> crate::common::RegisterField<
5903 1,
5904 0x1,
5905 1,
5906 0,
5907 p108pfs_by::Pidr,
5908 p108pfs_by::Pidr,
5909 P108PfsBy_SPEC,
5910 crate::common::R,
5911 > {
5912 crate::common::RegisterField::<
5913 1,
5914 0x1,
5915 1,
5916 0,
5917 p108pfs_by::Pidr,
5918 p108pfs_by::Pidr,
5919 P108PfsBy_SPEC,
5920 crate::common::R,
5921 >::from_register(self, 0)
5922 }
5923
5924 #[doc = "Port Direction"]
5925 #[inline(always)]
5926 pub fn pdr(
5927 self,
5928 ) -> crate::common::RegisterField<
5929 2,
5930 0x1,
5931 1,
5932 0,
5933 p108pfs_by::Pdr,
5934 p108pfs_by::Pdr,
5935 P108PfsBy_SPEC,
5936 crate::common::RW,
5937 > {
5938 crate::common::RegisterField::<
5939 2,
5940 0x1,
5941 1,
5942 0,
5943 p108pfs_by::Pdr,
5944 p108pfs_by::Pdr,
5945 P108PfsBy_SPEC,
5946 crate::common::RW,
5947 >::from_register(self, 0)
5948 }
5949
5950 #[doc = "Pull-up Control"]
5951 #[inline(always)]
5952 pub fn pcr(
5953 self,
5954 ) -> crate::common::RegisterField<
5955 4,
5956 0x1,
5957 1,
5958 0,
5959 p108pfs_by::Pcr,
5960 p108pfs_by::Pcr,
5961 P108PfsBy_SPEC,
5962 crate::common::RW,
5963 > {
5964 crate::common::RegisterField::<
5965 4,
5966 0x1,
5967 1,
5968 0,
5969 p108pfs_by::Pcr,
5970 p108pfs_by::Pcr,
5971 P108PfsBy_SPEC,
5972 crate::common::RW,
5973 >::from_register(self, 0)
5974 }
5975
5976 #[doc = "N-Channel Open-Drain Control"]
5977 #[inline(always)]
5978 pub fn ncodr(
5979 self,
5980 ) -> crate::common::RegisterField<
5981 6,
5982 0x1,
5983 1,
5984 0,
5985 p108pfs_by::Ncodr,
5986 p108pfs_by::Ncodr,
5987 P108PfsBy_SPEC,
5988 crate::common::RW,
5989 > {
5990 crate::common::RegisterField::<
5991 6,
5992 0x1,
5993 1,
5994 0,
5995 p108pfs_by::Ncodr,
5996 p108pfs_by::Ncodr,
5997 P108PfsBy_SPEC,
5998 crate::common::RW,
5999 >::from_register(self, 0)
6000 }
6001}
6002impl ::core::default::Default for P108PfsBy {
6003 #[inline(always)]
6004 fn default() -> P108PfsBy {
6005 <crate::RegValueT<P108PfsBy_SPEC> as RegisterValue<_>>::new(16)
6006 }
6007}
6008pub mod p108pfs_by {
6009
6010 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6011 pub struct Podr_SPEC;
6012 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6013 impl Podr {
6014 #[doc = "Output low"]
6015 pub const _0: Self = Self::new(0);
6016
6017 #[doc = "Output high"]
6018 pub const _1: Self = Self::new(1);
6019 }
6020 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6021 pub struct Pidr_SPEC;
6022 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6023 impl Pidr {
6024 #[doc = "Low level"]
6025 pub const _0: Self = Self::new(0);
6026
6027 #[doc = "High level"]
6028 pub const _1: Self = Self::new(1);
6029 }
6030 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6031 pub struct Pdr_SPEC;
6032 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6033 impl Pdr {
6034 #[doc = "Input (functions as an input pin)"]
6035 pub const _0: Self = Self::new(0);
6036
6037 #[doc = "Output (functions as an output pin)"]
6038 pub const _1: Self = Self::new(1);
6039 }
6040 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6041 pub struct Pcr_SPEC;
6042 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6043 impl Pcr {
6044 #[doc = "Disable input pull-up"]
6045 pub const _0: Self = Self::new(0);
6046
6047 #[doc = "Enable input pull-up"]
6048 pub const _1: Self = Self::new(1);
6049 }
6050 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6051 pub struct Ncodr_SPEC;
6052 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6053 impl Ncodr {
6054 #[doc = "Output CMOS"]
6055 pub const _0: Self = Self::new(0);
6056
6057 #[doc = "Output NMOS open-drain"]
6058 pub const _1: Self = Self::new(1);
6059 }
6060}
6061#[doc(hidden)]
6062#[derive(Copy, Clone, Eq, PartialEq)]
6063pub struct P109Pfs_SPEC;
6064impl crate::sealed::RegSpec for P109Pfs_SPEC {
6065 type DataType = u32;
6066}
6067
6068#[doc = "Port 109 Pin Function Select Register"]
6069pub type P109Pfs = crate::RegValueT<P109Pfs_SPEC>;
6070
6071impl P109Pfs {
6072 #[doc = "Port Output Data"]
6073 #[inline(always)]
6074 pub fn podr(
6075 self,
6076 ) -> crate::common::RegisterField<
6077 0,
6078 0x1,
6079 1,
6080 0,
6081 p109pfs::Podr,
6082 p109pfs::Podr,
6083 P109Pfs_SPEC,
6084 crate::common::RW,
6085 > {
6086 crate::common::RegisterField::<
6087 0,
6088 0x1,
6089 1,
6090 0,
6091 p109pfs::Podr,
6092 p109pfs::Podr,
6093 P109Pfs_SPEC,
6094 crate::common::RW,
6095 >::from_register(self, 0)
6096 }
6097
6098 #[doc = "Port State"]
6099 #[inline(always)]
6100 pub fn pidr(
6101 self,
6102 ) -> crate::common::RegisterField<
6103 1,
6104 0x1,
6105 1,
6106 0,
6107 p109pfs::Pidr,
6108 p109pfs::Pidr,
6109 P109Pfs_SPEC,
6110 crate::common::R,
6111 > {
6112 crate::common::RegisterField::<
6113 1,
6114 0x1,
6115 1,
6116 0,
6117 p109pfs::Pidr,
6118 p109pfs::Pidr,
6119 P109Pfs_SPEC,
6120 crate::common::R,
6121 >::from_register(self, 0)
6122 }
6123
6124 #[doc = "Port Direction"]
6125 #[inline(always)]
6126 pub fn pdr(
6127 self,
6128 ) -> crate::common::RegisterField<
6129 2,
6130 0x1,
6131 1,
6132 0,
6133 p109pfs::Pdr,
6134 p109pfs::Pdr,
6135 P109Pfs_SPEC,
6136 crate::common::RW,
6137 > {
6138 crate::common::RegisterField::<
6139 2,
6140 0x1,
6141 1,
6142 0,
6143 p109pfs::Pdr,
6144 p109pfs::Pdr,
6145 P109Pfs_SPEC,
6146 crate::common::RW,
6147 >::from_register(self, 0)
6148 }
6149
6150 #[doc = "Pull-up Control"]
6151 #[inline(always)]
6152 pub fn pcr(
6153 self,
6154 ) -> crate::common::RegisterField<
6155 4,
6156 0x1,
6157 1,
6158 0,
6159 p109pfs::Pcr,
6160 p109pfs::Pcr,
6161 P109Pfs_SPEC,
6162 crate::common::RW,
6163 > {
6164 crate::common::RegisterField::<
6165 4,
6166 0x1,
6167 1,
6168 0,
6169 p109pfs::Pcr,
6170 p109pfs::Pcr,
6171 P109Pfs_SPEC,
6172 crate::common::RW,
6173 >::from_register(self, 0)
6174 }
6175
6176 #[doc = "N-Channel Open-Drain Control"]
6177 #[inline(always)]
6178 pub fn ncodr(
6179 self,
6180 ) -> crate::common::RegisterField<
6181 6,
6182 0x1,
6183 1,
6184 0,
6185 p109pfs::Ncodr,
6186 p109pfs::Ncodr,
6187 P109Pfs_SPEC,
6188 crate::common::RW,
6189 > {
6190 crate::common::RegisterField::<
6191 6,
6192 0x1,
6193 1,
6194 0,
6195 p109pfs::Ncodr,
6196 p109pfs::Ncodr,
6197 P109Pfs_SPEC,
6198 crate::common::RW,
6199 >::from_register(self, 0)
6200 }
6201
6202 #[doc = "Event on Falling/Event on Rising"]
6203 #[inline(always)]
6204 pub fn eofr(
6205 self,
6206 ) -> crate::common::RegisterField<
6207 12,
6208 0x3,
6209 1,
6210 0,
6211 p109pfs::Eofr,
6212 p109pfs::Eofr,
6213 P109Pfs_SPEC,
6214 crate::common::RW,
6215 > {
6216 crate::common::RegisterField::<
6217 12,
6218 0x3,
6219 1,
6220 0,
6221 p109pfs::Eofr,
6222 p109pfs::Eofr,
6223 P109Pfs_SPEC,
6224 crate::common::RW,
6225 >::from_register(self, 0)
6226 }
6227
6228 #[doc = "IRQ Input Enable"]
6229 #[inline(always)]
6230 pub fn isel(
6231 self,
6232 ) -> crate::common::RegisterField<
6233 14,
6234 0x1,
6235 1,
6236 0,
6237 p109pfs::Isel,
6238 p109pfs::Isel,
6239 P109Pfs_SPEC,
6240 crate::common::RW,
6241 > {
6242 crate::common::RegisterField::<
6243 14,
6244 0x1,
6245 1,
6246 0,
6247 p109pfs::Isel,
6248 p109pfs::Isel,
6249 P109Pfs_SPEC,
6250 crate::common::RW,
6251 >::from_register(self, 0)
6252 }
6253
6254 #[doc = "Analog Input Enable"]
6255 #[inline(always)]
6256 pub fn asel(
6257 self,
6258 ) -> crate::common::RegisterField<
6259 15,
6260 0x1,
6261 1,
6262 0,
6263 p109pfs::Asel,
6264 p109pfs::Asel,
6265 P109Pfs_SPEC,
6266 crate::common::RW,
6267 > {
6268 crate::common::RegisterField::<
6269 15,
6270 0x1,
6271 1,
6272 0,
6273 p109pfs::Asel,
6274 p109pfs::Asel,
6275 P109Pfs_SPEC,
6276 crate::common::RW,
6277 >::from_register(self, 0)
6278 }
6279
6280 #[doc = "Port Mode Control"]
6281 #[inline(always)]
6282 pub fn pmr(
6283 self,
6284 ) -> crate::common::RegisterField<
6285 16,
6286 0x1,
6287 1,
6288 0,
6289 p109pfs::Pmr,
6290 p109pfs::Pmr,
6291 P109Pfs_SPEC,
6292 crate::common::RW,
6293 > {
6294 crate::common::RegisterField::<
6295 16,
6296 0x1,
6297 1,
6298 0,
6299 p109pfs::Pmr,
6300 p109pfs::Pmr,
6301 P109Pfs_SPEC,
6302 crate::common::RW,
6303 >::from_register(self, 0)
6304 }
6305
6306 #[doc = "Peripheral Select"]
6307 #[inline(always)]
6308 pub fn psel(
6309 self,
6310 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P109Pfs_SPEC, crate::common::RW> {
6311 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P109Pfs_SPEC,crate::common::RW>::from_register(self,0)
6312 }
6313}
6314impl ::core::default::Default for P109Pfs {
6315 #[inline(always)]
6316 fn default() -> P109Pfs {
6317 <crate::RegValueT<P109Pfs_SPEC> as RegisterValue<_>>::new(0)
6318 }
6319}
6320pub mod p109pfs {
6321
6322 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6323 pub struct Podr_SPEC;
6324 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6325 impl Podr {
6326 #[doc = "Output low"]
6327 pub const _0: Self = Self::new(0);
6328
6329 #[doc = "Output high"]
6330 pub const _1: Self = Self::new(1);
6331 }
6332 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6333 pub struct Pidr_SPEC;
6334 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6335 impl Pidr {
6336 #[doc = "Low level"]
6337 pub const _0: Self = Self::new(0);
6338
6339 #[doc = "High level"]
6340 pub const _1: Self = Self::new(1);
6341 }
6342 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6343 pub struct Pdr_SPEC;
6344 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6345 impl Pdr {
6346 #[doc = "Input (functions as an input pin)"]
6347 pub const _0: Self = Self::new(0);
6348
6349 #[doc = "Output (functions as an output pin)"]
6350 pub const _1: Self = Self::new(1);
6351 }
6352 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6353 pub struct Pcr_SPEC;
6354 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6355 impl Pcr {
6356 #[doc = "Disable input pull-up"]
6357 pub const _0: Self = Self::new(0);
6358
6359 #[doc = "Enable input pull-up"]
6360 pub const _1: Self = Self::new(1);
6361 }
6362 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6363 pub struct Ncodr_SPEC;
6364 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6365 impl Ncodr {
6366 #[doc = "Output CMOS"]
6367 pub const _0: Self = Self::new(0);
6368
6369 #[doc = "Output NMOS open-drain"]
6370 pub const _1: Self = Self::new(1);
6371 }
6372 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6373 pub struct Eofr_SPEC;
6374 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
6375 impl Eofr {
6376 #[doc = "Don\'t care"]
6377 pub const _00: Self = Self::new(0);
6378
6379 #[doc = "Detect rising edge"]
6380 pub const _01: Self = Self::new(1);
6381
6382 #[doc = "Detect falling edge"]
6383 pub const _10: Self = Self::new(2);
6384
6385 #[doc = "Detect both edges"]
6386 pub const _11: Self = Self::new(3);
6387 }
6388 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6389 pub struct Isel_SPEC;
6390 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6391 impl Isel {
6392 #[doc = "Do not use as IRQn input pin"]
6393 pub const _0: Self = Self::new(0);
6394
6395 #[doc = "Use as IRQn input pin"]
6396 pub const _1: Self = Self::new(1);
6397 }
6398 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6399 pub struct Asel_SPEC;
6400 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6401 impl Asel {
6402 #[doc = "Do not use as analog pin"]
6403 pub const _0: Self = Self::new(0);
6404
6405 #[doc = "Use as analog pin"]
6406 pub const _1: Self = Self::new(1);
6407 }
6408 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6409 pub struct Pmr_SPEC;
6410 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
6411 impl Pmr {
6412 #[doc = "Use as general I/O pin"]
6413 pub const _0: Self = Self::new(0);
6414
6415 #[doc = "Use as I/O port for peripheral functions"]
6416 pub const _1: Self = Self::new(1);
6417 }
6418}
6419#[doc(hidden)]
6420#[derive(Copy, Clone, Eq, PartialEq)]
6421pub struct P109PfsHa_SPEC;
6422impl crate::sealed::RegSpec for P109PfsHa_SPEC {
6423 type DataType = u16;
6424}
6425
6426#[doc = "Port 109 Pin Function Select Register"]
6427pub type P109PfsHa = crate::RegValueT<P109PfsHa_SPEC>;
6428
6429impl P109PfsHa {
6430 #[doc = "Port Output Data"]
6431 #[inline(always)]
6432 pub fn podr(
6433 self,
6434 ) -> crate::common::RegisterField<
6435 0,
6436 0x1,
6437 1,
6438 0,
6439 p109pfs_ha::Podr,
6440 p109pfs_ha::Podr,
6441 P109PfsHa_SPEC,
6442 crate::common::RW,
6443 > {
6444 crate::common::RegisterField::<
6445 0,
6446 0x1,
6447 1,
6448 0,
6449 p109pfs_ha::Podr,
6450 p109pfs_ha::Podr,
6451 P109PfsHa_SPEC,
6452 crate::common::RW,
6453 >::from_register(self, 0)
6454 }
6455
6456 #[doc = "Port State"]
6457 #[inline(always)]
6458 pub fn pidr(
6459 self,
6460 ) -> crate::common::RegisterField<
6461 1,
6462 0x1,
6463 1,
6464 0,
6465 p109pfs_ha::Pidr,
6466 p109pfs_ha::Pidr,
6467 P109PfsHa_SPEC,
6468 crate::common::R,
6469 > {
6470 crate::common::RegisterField::<
6471 1,
6472 0x1,
6473 1,
6474 0,
6475 p109pfs_ha::Pidr,
6476 p109pfs_ha::Pidr,
6477 P109PfsHa_SPEC,
6478 crate::common::R,
6479 >::from_register(self, 0)
6480 }
6481
6482 #[doc = "Port Direction"]
6483 #[inline(always)]
6484 pub fn pdr(
6485 self,
6486 ) -> crate::common::RegisterField<
6487 2,
6488 0x1,
6489 1,
6490 0,
6491 p109pfs_ha::Pdr,
6492 p109pfs_ha::Pdr,
6493 P109PfsHa_SPEC,
6494 crate::common::RW,
6495 > {
6496 crate::common::RegisterField::<
6497 2,
6498 0x1,
6499 1,
6500 0,
6501 p109pfs_ha::Pdr,
6502 p109pfs_ha::Pdr,
6503 P109PfsHa_SPEC,
6504 crate::common::RW,
6505 >::from_register(self, 0)
6506 }
6507
6508 #[doc = "Pull-up Control"]
6509 #[inline(always)]
6510 pub fn pcr(
6511 self,
6512 ) -> crate::common::RegisterField<
6513 4,
6514 0x1,
6515 1,
6516 0,
6517 p109pfs_ha::Pcr,
6518 p109pfs_ha::Pcr,
6519 P109PfsHa_SPEC,
6520 crate::common::RW,
6521 > {
6522 crate::common::RegisterField::<
6523 4,
6524 0x1,
6525 1,
6526 0,
6527 p109pfs_ha::Pcr,
6528 p109pfs_ha::Pcr,
6529 P109PfsHa_SPEC,
6530 crate::common::RW,
6531 >::from_register(self, 0)
6532 }
6533
6534 #[doc = "N-Channel Open-Drain Control"]
6535 #[inline(always)]
6536 pub fn ncodr(
6537 self,
6538 ) -> crate::common::RegisterField<
6539 6,
6540 0x1,
6541 1,
6542 0,
6543 p109pfs_ha::Ncodr,
6544 p109pfs_ha::Ncodr,
6545 P109PfsHa_SPEC,
6546 crate::common::RW,
6547 > {
6548 crate::common::RegisterField::<
6549 6,
6550 0x1,
6551 1,
6552 0,
6553 p109pfs_ha::Ncodr,
6554 p109pfs_ha::Ncodr,
6555 P109PfsHa_SPEC,
6556 crate::common::RW,
6557 >::from_register(self, 0)
6558 }
6559
6560 #[doc = "Event on Falling/Event on Rising"]
6561 #[inline(always)]
6562 pub fn eofr(
6563 self,
6564 ) -> crate::common::RegisterField<
6565 12,
6566 0x3,
6567 1,
6568 0,
6569 p109pfs_ha::Eofr,
6570 p109pfs_ha::Eofr,
6571 P109PfsHa_SPEC,
6572 crate::common::RW,
6573 > {
6574 crate::common::RegisterField::<
6575 12,
6576 0x3,
6577 1,
6578 0,
6579 p109pfs_ha::Eofr,
6580 p109pfs_ha::Eofr,
6581 P109PfsHa_SPEC,
6582 crate::common::RW,
6583 >::from_register(self, 0)
6584 }
6585
6586 #[doc = "IRQ Input Enable"]
6587 #[inline(always)]
6588 pub fn isel(
6589 self,
6590 ) -> crate::common::RegisterField<
6591 14,
6592 0x1,
6593 1,
6594 0,
6595 p109pfs_ha::Isel,
6596 p109pfs_ha::Isel,
6597 P109PfsHa_SPEC,
6598 crate::common::RW,
6599 > {
6600 crate::common::RegisterField::<
6601 14,
6602 0x1,
6603 1,
6604 0,
6605 p109pfs_ha::Isel,
6606 p109pfs_ha::Isel,
6607 P109PfsHa_SPEC,
6608 crate::common::RW,
6609 >::from_register(self, 0)
6610 }
6611
6612 #[doc = "Analog Input Enable"]
6613 #[inline(always)]
6614 pub fn asel(
6615 self,
6616 ) -> crate::common::RegisterField<
6617 15,
6618 0x1,
6619 1,
6620 0,
6621 p109pfs_ha::Asel,
6622 p109pfs_ha::Asel,
6623 P109PfsHa_SPEC,
6624 crate::common::RW,
6625 > {
6626 crate::common::RegisterField::<
6627 15,
6628 0x1,
6629 1,
6630 0,
6631 p109pfs_ha::Asel,
6632 p109pfs_ha::Asel,
6633 P109PfsHa_SPEC,
6634 crate::common::RW,
6635 >::from_register(self, 0)
6636 }
6637}
6638impl ::core::default::Default for P109PfsHa {
6639 #[inline(always)]
6640 fn default() -> P109PfsHa {
6641 <crate::RegValueT<P109PfsHa_SPEC> as RegisterValue<_>>::new(0)
6642 }
6643}
6644pub mod p109pfs_ha {
6645
6646 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6647 pub struct Podr_SPEC;
6648 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6649 impl Podr {
6650 #[doc = "Output low"]
6651 pub const _0: Self = Self::new(0);
6652
6653 #[doc = "Output high"]
6654 pub const _1: Self = Self::new(1);
6655 }
6656 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6657 pub struct Pidr_SPEC;
6658 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6659 impl Pidr {
6660 #[doc = "Low level"]
6661 pub const _0: Self = Self::new(0);
6662
6663 #[doc = "High level"]
6664 pub const _1: Self = Self::new(1);
6665 }
6666 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6667 pub struct Pdr_SPEC;
6668 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6669 impl Pdr {
6670 #[doc = "Input (functions as an input pin)"]
6671 pub const _0: Self = Self::new(0);
6672
6673 #[doc = "Output (functions as an output pin)"]
6674 pub const _1: Self = Self::new(1);
6675 }
6676 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6677 pub struct Pcr_SPEC;
6678 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6679 impl Pcr {
6680 #[doc = "Disable input pull-up"]
6681 pub const _0: Self = Self::new(0);
6682
6683 #[doc = "Enable input pull-up"]
6684 pub const _1: Self = Self::new(1);
6685 }
6686 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6687 pub struct Ncodr_SPEC;
6688 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6689 impl Ncodr {
6690 #[doc = "Output CMOS"]
6691 pub const _0: Self = Self::new(0);
6692
6693 #[doc = "Output NMOS open-drain"]
6694 pub const _1: Self = Self::new(1);
6695 }
6696 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6697 pub struct Eofr_SPEC;
6698 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
6699 impl Eofr {
6700 #[doc = "Don\'t care"]
6701 pub const _00: Self = Self::new(0);
6702
6703 #[doc = "Detect rising edge"]
6704 pub const _01: Self = Self::new(1);
6705
6706 #[doc = "Detect falling edge"]
6707 pub const _10: Self = Self::new(2);
6708
6709 #[doc = "Detect both edges"]
6710 pub const _11: Self = Self::new(3);
6711 }
6712 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6713 pub struct Isel_SPEC;
6714 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
6715 impl Isel {
6716 #[doc = "Do not use as IRQn input pin"]
6717 pub const _0: Self = Self::new(0);
6718
6719 #[doc = "Use as IRQn input pin"]
6720 pub const _1: Self = Self::new(1);
6721 }
6722 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6723 pub struct Asel_SPEC;
6724 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
6725 impl Asel {
6726 #[doc = "Do not use as analog pin"]
6727 pub const _0: Self = Self::new(0);
6728
6729 #[doc = "Use as analog pin"]
6730 pub const _1: Self = Self::new(1);
6731 }
6732}
6733#[doc(hidden)]
6734#[derive(Copy, Clone, Eq, PartialEq)]
6735pub struct P109PfsBy_SPEC;
6736impl crate::sealed::RegSpec for P109PfsBy_SPEC {
6737 type DataType = u8;
6738}
6739
6740#[doc = "Port 109 Pin Function Select Register"]
6741pub type P109PfsBy = crate::RegValueT<P109PfsBy_SPEC>;
6742
6743impl P109PfsBy {
6744 #[doc = "Port Output Data"]
6745 #[inline(always)]
6746 pub fn podr(
6747 self,
6748 ) -> crate::common::RegisterField<
6749 0,
6750 0x1,
6751 1,
6752 0,
6753 p109pfs_by::Podr,
6754 p109pfs_by::Podr,
6755 P109PfsBy_SPEC,
6756 crate::common::RW,
6757 > {
6758 crate::common::RegisterField::<
6759 0,
6760 0x1,
6761 1,
6762 0,
6763 p109pfs_by::Podr,
6764 p109pfs_by::Podr,
6765 P109PfsBy_SPEC,
6766 crate::common::RW,
6767 >::from_register(self, 0)
6768 }
6769
6770 #[doc = "Port State"]
6771 #[inline(always)]
6772 pub fn pidr(
6773 self,
6774 ) -> crate::common::RegisterField<
6775 1,
6776 0x1,
6777 1,
6778 0,
6779 p109pfs_by::Pidr,
6780 p109pfs_by::Pidr,
6781 P109PfsBy_SPEC,
6782 crate::common::R,
6783 > {
6784 crate::common::RegisterField::<
6785 1,
6786 0x1,
6787 1,
6788 0,
6789 p109pfs_by::Pidr,
6790 p109pfs_by::Pidr,
6791 P109PfsBy_SPEC,
6792 crate::common::R,
6793 >::from_register(self, 0)
6794 }
6795
6796 #[doc = "Port Direction"]
6797 #[inline(always)]
6798 pub fn pdr(
6799 self,
6800 ) -> crate::common::RegisterField<
6801 2,
6802 0x1,
6803 1,
6804 0,
6805 p109pfs_by::Pdr,
6806 p109pfs_by::Pdr,
6807 P109PfsBy_SPEC,
6808 crate::common::RW,
6809 > {
6810 crate::common::RegisterField::<
6811 2,
6812 0x1,
6813 1,
6814 0,
6815 p109pfs_by::Pdr,
6816 p109pfs_by::Pdr,
6817 P109PfsBy_SPEC,
6818 crate::common::RW,
6819 >::from_register(self, 0)
6820 }
6821
6822 #[doc = "Pull-up Control"]
6823 #[inline(always)]
6824 pub fn pcr(
6825 self,
6826 ) -> crate::common::RegisterField<
6827 4,
6828 0x1,
6829 1,
6830 0,
6831 p109pfs_by::Pcr,
6832 p109pfs_by::Pcr,
6833 P109PfsBy_SPEC,
6834 crate::common::RW,
6835 > {
6836 crate::common::RegisterField::<
6837 4,
6838 0x1,
6839 1,
6840 0,
6841 p109pfs_by::Pcr,
6842 p109pfs_by::Pcr,
6843 P109PfsBy_SPEC,
6844 crate::common::RW,
6845 >::from_register(self, 0)
6846 }
6847
6848 #[doc = "N-Channel Open-Drain Control"]
6849 #[inline(always)]
6850 pub fn ncodr(
6851 self,
6852 ) -> crate::common::RegisterField<
6853 6,
6854 0x1,
6855 1,
6856 0,
6857 p109pfs_by::Ncodr,
6858 p109pfs_by::Ncodr,
6859 P109PfsBy_SPEC,
6860 crate::common::RW,
6861 > {
6862 crate::common::RegisterField::<
6863 6,
6864 0x1,
6865 1,
6866 0,
6867 p109pfs_by::Ncodr,
6868 p109pfs_by::Ncodr,
6869 P109PfsBy_SPEC,
6870 crate::common::RW,
6871 >::from_register(self, 0)
6872 }
6873}
6874impl ::core::default::Default for P109PfsBy {
6875 #[inline(always)]
6876 fn default() -> P109PfsBy {
6877 <crate::RegValueT<P109PfsBy_SPEC> as RegisterValue<_>>::new(0)
6878 }
6879}
6880pub mod p109pfs_by {
6881
6882 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6883 pub struct Podr_SPEC;
6884 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
6885 impl Podr {
6886 #[doc = "Output low"]
6887 pub const _0: Self = Self::new(0);
6888
6889 #[doc = "Output high"]
6890 pub const _1: Self = Self::new(1);
6891 }
6892 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6893 pub struct Pidr_SPEC;
6894 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
6895 impl Pidr {
6896 #[doc = "Low level"]
6897 pub const _0: Self = Self::new(0);
6898
6899 #[doc = "High level"]
6900 pub const _1: Self = Self::new(1);
6901 }
6902 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6903 pub struct Pdr_SPEC;
6904 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
6905 impl Pdr {
6906 #[doc = "Input (functions as an input pin)"]
6907 pub const _0: Self = Self::new(0);
6908
6909 #[doc = "Output (functions as an output pin)"]
6910 pub const _1: Self = Self::new(1);
6911 }
6912 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6913 pub struct Pcr_SPEC;
6914 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
6915 impl Pcr {
6916 #[doc = "Disable input pull-up"]
6917 pub const _0: Self = Self::new(0);
6918
6919 #[doc = "Enable input pull-up"]
6920 pub const _1: Self = Self::new(1);
6921 }
6922 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6923 pub struct Ncodr_SPEC;
6924 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
6925 impl Ncodr {
6926 #[doc = "Output CMOS"]
6927 pub const _0: Self = Self::new(0);
6928
6929 #[doc = "Output NMOS open-drain"]
6930 pub const _1: Self = Self::new(1);
6931 }
6932}
6933#[doc(hidden)]
6934#[derive(Copy, Clone, Eq, PartialEq)]
6935pub struct P1Pfs_SPEC;
6936impl crate::sealed::RegSpec for P1Pfs_SPEC {
6937 type DataType = u32;
6938}
6939
6940#[doc = "Port 1%s Pin Function Select Register"]
6941pub type P1Pfs = crate::RegValueT<P1Pfs_SPEC>;
6942
6943impl P1Pfs {
6944 #[doc = "Port Output Data"]
6945 #[inline(always)]
6946 pub fn podr(
6947 self,
6948 ) -> crate::common::RegisterField<
6949 0,
6950 0x1,
6951 1,
6952 0,
6953 p1pfs::Podr,
6954 p1pfs::Podr,
6955 P1Pfs_SPEC,
6956 crate::common::RW,
6957 > {
6958 crate::common::RegisterField::<
6959 0,
6960 0x1,
6961 1,
6962 0,
6963 p1pfs::Podr,
6964 p1pfs::Podr,
6965 P1Pfs_SPEC,
6966 crate::common::RW,
6967 >::from_register(self, 0)
6968 }
6969
6970 #[doc = "Port State"]
6971 #[inline(always)]
6972 pub fn pidr(
6973 self,
6974 ) -> crate::common::RegisterField<
6975 1,
6976 0x1,
6977 1,
6978 0,
6979 p1pfs::Pidr,
6980 p1pfs::Pidr,
6981 P1Pfs_SPEC,
6982 crate::common::R,
6983 > {
6984 crate::common::RegisterField::<
6985 1,
6986 0x1,
6987 1,
6988 0,
6989 p1pfs::Pidr,
6990 p1pfs::Pidr,
6991 P1Pfs_SPEC,
6992 crate::common::R,
6993 >::from_register(self, 0)
6994 }
6995
6996 #[doc = "Port Direction"]
6997 #[inline(always)]
6998 pub fn pdr(
6999 self,
7000 ) -> crate::common::RegisterField<
7001 2,
7002 0x1,
7003 1,
7004 0,
7005 p1pfs::Pdr,
7006 p1pfs::Pdr,
7007 P1Pfs_SPEC,
7008 crate::common::RW,
7009 > {
7010 crate::common::RegisterField::<
7011 2,
7012 0x1,
7013 1,
7014 0,
7015 p1pfs::Pdr,
7016 p1pfs::Pdr,
7017 P1Pfs_SPEC,
7018 crate::common::RW,
7019 >::from_register(self, 0)
7020 }
7021
7022 #[doc = "Pull-up Control"]
7023 #[inline(always)]
7024 pub fn pcr(
7025 self,
7026 ) -> crate::common::RegisterField<
7027 4,
7028 0x1,
7029 1,
7030 0,
7031 p1pfs::Pcr,
7032 p1pfs::Pcr,
7033 P1Pfs_SPEC,
7034 crate::common::RW,
7035 > {
7036 crate::common::RegisterField::<
7037 4,
7038 0x1,
7039 1,
7040 0,
7041 p1pfs::Pcr,
7042 p1pfs::Pcr,
7043 P1Pfs_SPEC,
7044 crate::common::RW,
7045 >::from_register(self, 0)
7046 }
7047
7048 #[doc = "N-Channel Open-Drain Control"]
7049 #[inline(always)]
7050 pub fn ncodr(
7051 self,
7052 ) -> crate::common::RegisterField<
7053 6,
7054 0x1,
7055 1,
7056 0,
7057 p1pfs::Ncodr,
7058 p1pfs::Ncodr,
7059 P1Pfs_SPEC,
7060 crate::common::RW,
7061 > {
7062 crate::common::RegisterField::<
7063 6,
7064 0x1,
7065 1,
7066 0,
7067 p1pfs::Ncodr,
7068 p1pfs::Ncodr,
7069 P1Pfs_SPEC,
7070 crate::common::RW,
7071 >::from_register(self, 0)
7072 }
7073
7074 #[doc = "Event on Falling/Event on Rising"]
7075 #[inline(always)]
7076 pub fn eofr(
7077 self,
7078 ) -> crate::common::RegisterField<
7079 12,
7080 0x3,
7081 1,
7082 0,
7083 p1pfs::Eofr,
7084 p1pfs::Eofr,
7085 P1Pfs_SPEC,
7086 crate::common::RW,
7087 > {
7088 crate::common::RegisterField::<
7089 12,
7090 0x3,
7091 1,
7092 0,
7093 p1pfs::Eofr,
7094 p1pfs::Eofr,
7095 P1Pfs_SPEC,
7096 crate::common::RW,
7097 >::from_register(self, 0)
7098 }
7099
7100 #[doc = "IRQ Input Enable"]
7101 #[inline(always)]
7102 pub fn isel(
7103 self,
7104 ) -> crate::common::RegisterField<
7105 14,
7106 0x1,
7107 1,
7108 0,
7109 p1pfs::Isel,
7110 p1pfs::Isel,
7111 P1Pfs_SPEC,
7112 crate::common::RW,
7113 > {
7114 crate::common::RegisterField::<
7115 14,
7116 0x1,
7117 1,
7118 0,
7119 p1pfs::Isel,
7120 p1pfs::Isel,
7121 P1Pfs_SPEC,
7122 crate::common::RW,
7123 >::from_register(self, 0)
7124 }
7125
7126 #[doc = "Analog Input Enable"]
7127 #[inline(always)]
7128 pub fn asel(
7129 self,
7130 ) -> crate::common::RegisterField<
7131 15,
7132 0x1,
7133 1,
7134 0,
7135 p1pfs::Asel,
7136 p1pfs::Asel,
7137 P1Pfs_SPEC,
7138 crate::common::RW,
7139 > {
7140 crate::common::RegisterField::<
7141 15,
7142 0x1,
7143 1,
7144 0,
7145 p1pfs::Asel,
7146 p1pfs::Asel,
7147 P1Pfs_SPEC,
7148 crate::common::RW,
7149 >::from_register(self, 0)
7150 }
7151
7152 #[doc = "Port Mode Control"]
7153 #[inline(always)]
7154 pub fn pmr(
7155 self,
7156 ) -> crate::common::RegisterField<
7157 16,
7158 0x1,
7159 1,
7160 0,
7161 p1pfs::Pmr,
7162 p1pfs::Pmr,
7163 P1Pfs_SPEC,
7164 crate::common::RW,
7165 > {
7166 crate::common::RegisterField::<
7167 16,
7168 0x1,
7169 1,
7170 0,
7171 p1pfs::Pmr,
7172 p1pfs::Pmr,
7173 P1Pfs_SPEC,
7174 crate::common::RW,
7175 >::from_register(self, 0)
7176 }
7177
7178 #[doc = "Peripheral Select"]
7179 #[inline(always)]
7180 pub fn psel(
7181 self,
7182 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P1Pfs_SPEC, crate::common::RW> {
7183 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P1Pfs_SPEC,crate::common::RW>::from_register(self,0)
7184 }
7185}
7186impl ::core::default::Default for P1Pfs {
7187 #[inline(always)]
7188 fn default() -> P1Pfs {
7189 <crate::RegValueT<P1Pfs_SPEC> as RegisterValue<_>>::new(0)
7190 }
7191}
7192pub mod p1pfs {
7193
7194 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7195 pub struct Podr_SPEC;
7196 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7197 impl Podr {
7198 #[doc = "Output low"]
7199 pub const _0: Self = Self::new(0);
7200
7201 #[doc = "Output high"]
7202 pub const _1: Self = Self::new(1);
7203 }
7204 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7205 pub struct Pidr_SPEC;
7206 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7207 impl Pidr {
7208 #[doc = "Low level"]
7209 pub const _0: Self = Self::new(0);
7210
7211 #[doc = "High level"]
7212 pub const _1: Self = Self::new(1);
7213 }
7214 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7215 pub struct Pdr_SPEC;
7216 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7217 impl Pdr {
7218 #[doc = "Input (functions as an input pin)"]
7219 pub const _0: Self = Self::new(0);
7220
7221 #[doc = "Output (functions as an output pin)"]
7222 pub const _1: Self = Self::new(1);
7223 }
7224 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7225 pub struct Pcr_SPEC;
7226 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7227 impl Pcr {
7228 #[doc = "Disable input pull-up"]
7229 pub const _0: Self = Self::new(0);
7230
7231 #[doc = "Enable input pull-up"]
7232 pub const _1: Self = Self::new(1);
7233 }
7234 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7235 pub struct Ncodr_SPEC;
7236 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7237 impl Ncodr {
7238 #[doc = "Output CMOS"]
7239 pub const _0: Self = Self::new(0);
7240
7241 #[doc = "Output NMOS open-drain"]
7242 pub const _1: Self = Self::new(1);
7243 }
7244 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7245 pub struct Eofr_SPEC;
7246 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7247 impl Eofr {
7248 #[doc = "Don\'t care"]
7249 pub const _00: Self = Self::new(0);
7250
7251 #[doc = "Detect rising edge"]
7252 pub const _01: Self = Self::new(1);
7253
7254 #[doc = "Detect falling edge"]
7255 pub const _10: Self = Self::new(2);
7256
7257 #[doc = "Detect both edges"]
7258 pub const _11: Self = Self::new(3);
7259 }
7260 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7261 pub struct Isel_SPEC;
7262 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7263 impl Isel {
7264 #[doc = "Do not use as IRQn input pin"]
7265 pub const _0: Self = Self::new(0);
7266
7267 #[doc = "Use as IRQn input pin"]
7268 pub const _1: Self = Self::new(1);
7269 }
7270 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7271 pub struct Asel_SPEC;
7272 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7273 impl Asel {
7274 #[doc = "Do not use as analog pin"]
7275 pub const _0: Self = Self::new(0);
7276
7277 #[doc = "Use as analog pin"]
7278 pub const _1: Self = Self::new(1);
7279 }
7280 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7281 pub struct Pmr_SPEC;
7282 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
7283 impl Pmr {
7284 #[doc = "Use as general I/O pin"]
7285 pub const _0: Self = Self::new(0);
7286
7287 #[doc = "Use as I/O port for peripheral functions"]
7288 pub const _1: Self = Self::new(1);
7289 }
7290}
7291#[doc(hidden)]
7292#[derive(Copy, Clone, Eq, PartialEq)]
7293pub struct P1PfsHa_SPEC;
7294impl crate::sealed::RegSpec for P1PfsHa_SPEC {
7295 type DataType = u16;
7296}
7297
7298#[doc = "Port 1%s Pin Function Select Register"]
7299pub type P1PfsHa = crate::RegValueT<P1PfsHa_SPEC>;
7300
7301impl P1PfsHa {
7302 #[doc = "Port Output Data"]
7303 #[inline(always)]
7304 pub fn podr(
7305 self,
7306 ) -> crate::common::RegisterField<
7307 0,
7308 0x1,
7309 1,
7310 0,
7311 p1pfs_ha::Podr,
7312 p1pfs_ha::Podr,
7313 P1PfsHa_SPEC,
7314 crate::common::RW,
7315 > {
7316 crate::common::RegisterField::<
7317 0,
7318 0x1,
7319 1,
7320 0,
7321 p1pfs_ha::Podr,
7322 p1pfs_ha::Podr,
7323 P1PfsHa_SPEC,
7324 crate::common::RW,
7325 >::from_register(self, 0)
7326 }
7327
7328 #[doc = "Port State"]
7329 #[inline(always)]
7330 pub fn pidr(
7331 self,
7332 ) -> crate::common::RegisterField<
7333 1,
7334 0x1,
7335 1,
7336 0,
7337 p1pfs_ha::Pidr,
7338 p1pfs_ha::Pidr,
7339 P1PfsHa_SPEC,
7340 crate::common::R,
7341 > {
7342 crate::common::RegisterField::<
7343 1,
7344 0x1,
7345 1,
7346 0,
7347 p1pfs_ha::Pidr,
7348 p1pfs_ha::Pidr,
7349 P1PfsHa_SPEC,
7350 crate::common::R,
7351 >::from_register(self, 0)
7352 }
7353
7354 #[doc = "Port Direction"]
7355 #[inline(always)]
7356 pub fn pdr(
7357 self,
7358 ) -> crate::common::RegisterField<
7359 2,
7360 0x1,
7361 1,
7362 0,
7363 p1pfs_ha::Pdr,
7364 p1pfs_ha::Pdr,
7365 P1PfsHa_SPEC,
7366 crate::common::RW,
7367 > {
7368 crate::common::RegisterField::<
7369 2,
7370 0x1,
7371 1,
7372 0,
7373 p1pfs_ha::Pdr,
7374 p1pfs_ha::Pdr,
7375 P1PfsHa_SPEC,
7376 crate::common::RW,
7377 >::from_register(self, 0)
7378 }
7379
7380 #[doc = "Pull-up Control"]
7381 #[inline(always)]
7382 pub fn pcr(
7383 self,
7384 ) -> crate::common::RegisterField<
7385 4,
7386 0x1,
7387 1,
7388 0,
7389 p1pfs_ha::Pcr,
7390 p1pfs_ha::Pcr,
7391 P1PfsHa_SPEC,
7392 crate::common::RW,
7393 > {
7394 crate::common::RegisterField::<
7395 4,
7396 0x1,
7397 1,
7398 0,
7399 p1pfs_ha::Pcr,
7400 p1pfs_ha::Pcr,
7401 P1PfsHa_SPEC,
7402 crate::common::RW,
7403 >::from_register(self, 0)
7404 }
7405
7406 #[doc = "N-Channel Open-Drain Control"]
7407 #[inline(always)]
7408 pub fn ncodr(
7409 self,
7410 ) -> crate::common::RegisterField<
7411 6,
7412 0x1,
7413 1,
7414 0,
7415 p1pfs_ha::Ncodr,
7416 p1pfs_ha::Ncodr,
7417 P1PfsHa_SPEC,
7418 crate::common::RW,
7419 > {
7420 crate::common::RegisterField::<
7421 6,
7422 0x1,
7423 1,
7424 0,
7425 p1pfs_ha::Ncodr,
7426 p1pfs_ha::Ncodr,
7427 P1PfsHa_SPEC,
7428 crate::common::RW,
7429 >::from_register(self, 0)
7430 }
7431
7432 #[doc = "Event on Falling/Event on Rising"]
7433 #[inline(always)]
7434 pub fn eofr(
7435 self,
7436 ) -> crate::common::RegisterField<
7437 12,
7438 0x3,
7439 1,
7440 0,
7441 p1pfs_ha::Eofr,
7442 p1pfs_ha::Eofr,
7443 P1PfsHa_SPEC,
7444 crate::common::RW,
7445 > {
7446 crate::common::RegisterField::<
7447 12,
7448 0x3,
7449 1,
7450 0,
7451 p1pfs_ha::Eofr,
7452 p1pfs_ha::Eofr,
7453 P1PfsHa_SPEC,
7454 crate::common::RW,
7455 >::from_register(self, 0)
7456 }
7457
7458 #[doc = "IRQ Input Enable"]
7459 #[inline(always)]
7460 pub fn isel(
7461 self,
7462 ) -> crate::common::RegisterField<
7463 14,
7464 0x1,
7465 1,
7466 0,
7467 p1pfs_ha::Isel,
7468 p1pfs_ha::Isel,
7469 P1PfsHa_SPEC,
7470 crate::common::RW,
7471 > {
7472 crate::common::RegisterField::<
7473 14,
7474 0x1,
7475 1,
7476 0,
7477 p1pfs_ha::Isel,
7478 p1pfs_ha::Isel,
7479 P1PfsHa_SPEC,
7480 crate::common::RW,
7481 >::from_register(self, 0)
7482 }
7483
7484 #[doc = "Analog Input Enable"]
7485 #[inline(always)]
7486 pub fn asel(
7487 self,
7488 ) -> crate::common::RegisterField<
7489 15,
7490 0x1,
7491 1,
7492 0,
7493 p1pfs_ha::Asel,
7494 p1pfs_ha::Asel,
7495 P1PfsHa_SPEC,
7496 crate::common::RW,
7497 > {
7498 crate::common::RegisterField::<
7499 15,
7500 0x1,
7501 1,
7502 0,
7503 p1pfs_ha::Asel,
7504 p1pfs_ha::Asel,
7505 P1PfsHa_SPEC,
7506 crate::common::RW,
7507 >::from_register(self, 0)
7508 }
7509}
7510impl ::core::default::Default for P1PfsHa {
7511 #[inline(always)]
7512 fn default() -> P1PfsHa {
7513 <crate::RegValueT<P1PfsHa_SPEC> as RegisterValue<_>>::new(0)
7514 }
7515}
7516pub mod p1pfs_ha {
7517
7518 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7519 pub struct Podr_SPEC;
7520 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7521 impl Podr {
7522 #[doc = "Output low"]
7523 pub const _0: Self = Self::new(0);
7524
7525 #[doc = "Output high"]
7526 pub const _1: Self = Self::new(1);
7527 }
7528 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7529 pub struct Pidr_SPEC;
7530 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7531 impl Pidr {
7532 #[doc = "Low level"]
7533 pub const _0: Self = Self::new(0);
7534
7535 #[doc = "High level"]
7536 pub const _1: Self = Self::new(1);
7537 }
7538 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7539 pub struct Pdr_SPEC;
7540 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7541 impl Pdr {
7542 #[doc = "Input (functions as an input pin)"]
7543 pub const _0: Self = Self::new(0);
7544
7545 #[doc = "Output (functions as an output pin)"]
7546 pub const _1: Self = Self::new(1);
7547 }
7548 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7549 pub struct Pcr_SPEC;
7550 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7551 impl Pcr {
7552 #[doc = "Disable input pull-up"]
7553 pub const _0: Self = Self::new(0);
7554
7555 #[doc = "Enable input pull-up"]
7556 pub const _1: Self = Self::new(1);
7557 }
7558 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7559 pub struct Ncodr_SPEC;
7560 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7561 impl Ncodr {
7562 #[doc = "Output CMOS"]
7563 pub const _0: Self = Self::new(0);
7564
7565 #[doc = "Output NMOS open-drain"]
7566 pub const _1: Self = Self::new(1);
7567 }
7568 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7569 pub struct Eofr_SPEC;
7570 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
7571 impl Eofr {
7572 #[doc = "Don\'t care"]
7573 pub const _00: Self = Self::new(0);
7574
7575 #[doc = "Detect rising edge"]
7576 pub const _01: Self = Self::new(1);
7577
7578 #[doc = "Detect falling edge"]
7579 pub const _10: Self = Self::new(2);
7580
7581 #[doc = "Detect both edges"]
7582 pub const _11: Self = Self::new(3);
7583 }
7584 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7585 pub struct Isel_SPEC;
7586 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
7587 impl Isel {
7588 #[doc = "Do not use as IRQn input pin"]
7589 pub const _0: Self = Self::new(0);
7590
7591 #[doc = "Use as IRQn input pin"]
7592 pub const _1: Self = Self::new(1);
7593 }
7594 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7595 pub struct Asel_SPEC;
7596 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
7597 impl Asel {
7598 #[doc = "Do not use as analog pin"]
7599 pub const _0: Self = Self::new(0);
7600
7601 #[doc = "Use as analog pin"]
7602 pub const _1: Self = Self::new(1);
7603 }
7604}
7605#[doc(hidden)]
7606#[derive(Copy, Clone, Eq, PartialEq)]
7607pub struct P1PfsBy_SPEC;
7608impl crate::sealed::RegSpec for P1PfsBy_SPEC {
7609 type DataType = u8;
7610}
7611
7612#[doc = "Port 1%s Pin Function Select Register"]
7613pub type P1PfsBy = crate::RegValueT<P1PfsBy_SPEC>;
7614
7615impl P1PfsBy {
7616 #[doc = "Port Output Data"]
7617 #[inline(always)]
7618 pub fn podr(
7619 self,
7620 ) -> crate::common::RegisterField<
7621 0,
7622 0x1,
7623 1,
7624 0,
7625 p1pfs_by::Podr,
7626 p1pfs_by::Podr,
7627 P1PfsBy_SPEC,
7628 crate::common::RW,
7629 > {
7630 crate::common::RegisterField::<
7631 0,
7632 0x1,
7633 1,
7634 0,
7635 p1pfs_by::Podr,
7636 p1pfs_by::Podr,
7637 P1PfsBy_SPEC,
7638 crate::common::RW,
7639 >::from_register(self, 0)
7640 }
7641
7642 #[doc = "Port State"]
7643 #[inline(always)]
7644 pub fn pidr(
7645 self,
7646 ) -> crate::common::RegisterField<
7647 1,
7648 0x1,
7649 1,
7650 0,
7651 p1pfs_by::Pidr,
7652 p1pfs_by::Pidr,
7653 P1PfsBy_SPEC,
7654 crate::common::R,
7655 > {
7656 crate::common::RegisterField::<
7657 1,
7658 0x1,
7659 1,
7660 0,
7661 p1pfs_by::Pidr,
7662 p1pfs_by::Pidr,
7663 P1PfsBy_SPEC,
7664 crate::common::R,
7665 >::from_register(self, 0)
7666 }
7667
7668 #[doc = "Port Direction"]
7669 #[inline(always)]
7670 pub fn pdr(
7671 self,
7672 ) -> crate::common::RegisterField<
7673 2,
7674 0x1,
7675 1,
7676 0,
7677 p1pfs_by::Pdr,
7678 p1pfs_by::Pdr,
7679 P1PfsBy_SPEC,
7680 crate::common::RW,
7681 > {
7682 crate::common::RegisterField::<
7683 2,
7684 0x1,
7685 1,
7686 0,
7687 p1pfs_by::Pdr,
7688 p1pfs_by::Pdr,
7689 P1PfsBy_SPEC,
7690 crate::common::RW,
7691 >::from_register(self, 0)
7692 }
7693
7694 #[doc = "Pull-up Control"]
7695 #[inline(always)]
7696 pub fn pcr(
7697 self,
7698 ) -> crate::common::RegisterField<
7699 4,
7700 0x1,
7701 1,
7702 0,
7703 p1pfs_by::Pcr,
7704 p1pfs_by::Pcr,
7705 P1PfsBy_SPEC,
7706 crate::common::RW,
7707 > {
7708 crate::common::RegisterField::<
7709 4,
7710 0x1,
7711 1,
7712 0,
7713 p1pfs_by::Pcr,
7714 p1pfs_by::Pcr,
7715 P1PfsBy_SPEC,
7716 crate::common::RW,
7717 >::from_register(self, 0)
7718 }
7719
7720 #[doc = "N-Channel Open-Drain Control"]
7721 #[inline(always)]
7722 pub fn ncodr(
7723 self,
7724 ) -> crate::common::RegisterField<
7725 6,
7726 0x1,
7727 1,
7728 0,
7729 p1pfs_by::Ncodr,
7730 p1pfs_by::Ncodr,
7731 P1PfsBy_SPEC,
7732 crate::common::RW,
7733 > {
7734 crate::common::RegisterField::<
7735 6,
7736 0x1,
7737 1,
7738 0,
7739 p1pfs_by::Ncodr,
7740 p1pfs_by::Ncodr,
7741 P1PfsBy_SPEC,
7742 crate::common::RW,
7743 >::from_register(self, 0)
7744 }
7745}
7746impl ::core::default::Default for P1PfsBy {
7747 #[inline(always)]
7748 fn default() -> P1PfsBy {
7749 <crate::RegValueT<P1PfsBy_SPEC> as RegisterValue<_>>::new(0)
7750 }
7751}
7752pub mod p1pfs_by {
7753
7754 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7755 pub struct Podr_SPEC;
7756 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
7757 impl Podr {
7758 #[doc = "Output low"]
7759 pub const _0: Self = Self::new(0);
7760
7761 #[doc = "Output high"]
7762 pub const _1: Self = Self::new(1);
7763 }
7764 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7765 pub struct Pidr_SPEC;
7766 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
7767 impl Pidr {
7768 #[doc = "Low level"]
7769 pub const _0: Self = Self::new(0);
7770
7771 #[doc = "High level"]
7772 pub const _1: Self = Self::new(1);
7773 }
7774 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7775 pub struct Pdr_SPEC;
7776 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
7777 impl Pdr {
7778 #[doc = "Input (functions as an input pin)"]
7779 pub const _0: Self = Self::new(0);
7780
7781 #[doc = "Output (functions as an output pin)"]
7782 pub const _1: Self = Self::new(1);
7783 }
7784 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7785 pub struct Pcr_SPEC;
7786 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
7787 impl Pcr {
7788 #[doc = "Disable input pull-up"]
7789 pub const _0: Self = Self::new(0);
7790
7791 #[doc = "Enable input pull-up"]
7792 pub const _1: Self = Self::new(1);
7793 }
7794 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7795 pub struct Ncodr_SPEC;
7796 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
7797 impl Ncodr {
7798 #[doc = "Output CMOS"]
7799 pub const _0: Self = Self::new(0);
7800
7801 #[doc = "Output NMOS open-drain"]
7802 pub const _1: Self = Self::new(1);
7803 }
7804}
7805#[doc(hidden)]
7806#[derive(Copy, Clone, Eq, PartialEq)]
7807pub struct P200Pfs_SPEC;
7808impl crate::sealed::RegSpec for P200Pfs_SPEC {
7809 type DataType = u32;
7810}
7811
7812#[doc = "Port 200 Pin Function Select Register"]
7813pub type P200Pfs = crate::RegValueT<P200Pfs_SPEC>;
7814
7815impl P200Pfs {
7816 #[doc = "Port Output Data"]
7817 #[inline(always)]
7818 pub fn podr(
7819 self,
7820 ) -> crate::common::RegisterField<
7821 0,
7822 0x1,
7823 1,
7824 0,
7825 p200pfs::Podr,
7826 p200pfs::Podr,
7827 P200Pfs_SPEC,
7828 crate::common::RW,
7829 > {
7830 crate::common::RegisterField::<
7831 0,
7832 0x1,
7833 1,
7834 0,
7835 p200pfs::Podr,
7836 p200pfs::Podr,
7837 P200Pfs_SPEC,
7838 crate::common::RW,
7839 >::from_register(self, 0)
7840 }
7841
7842 #[doc = "Port State"]
7843 #[inline(always)]
7844 pub fn pidr(
7845 self,
7846 ) -> crate::common::RegisterField<
7847 1,
7848 0x1,
7849 1,
7850 0,
7851 p200pfs::Pidr,
7852 p200pfs::Pidr,
7853 P200Pfs_SPEC,
7854 crate::common::R,
7855 > {
7856 crate::common::RegisterField::<
7857 1,
7858 0x1,
7859 1,
7860 0,
7861 p200pfs::Pidr,
7862 p200pfs::Pidr,
7863 P200Pfs_SPEC,
7864 crate::common::R,
7865 >::from_register(self, 0)
7866 }
7867
7868 #[doc = "Port Direction"]
7869 #[inline(always)]
7870 pub fn pdr(
7871 self,
7872 ) -> crate::common::RegisterField<
7873 2,
7874 0x1,
7875 1,
7876 0,
7877 p200pfs::Pdr,
7878 p200pfs::Pdr,
7879 P200Pfs_SPEC,
7880 crate::common::RW,
7881 > {
7882 crate::common::RegisterField::<
7883 2,
7884 0x1,
7885 1,
7886 0,
7887 p200pfs::Pdr,
7888 p200pfs::Pdr,
7889 P200Pfs_SPEC,
7890 crate::common::RW,
7891 >::from_register(self, 0)
7892 }
7893
7894 #[doc = "Pull-up Control"]
7895 #[inline(always)]
7896 pub fn pcr(
7897 self,
7898 ) -> crate::common::RegisterField<
7899 4,
7900 0x1,
7901 1,
7902 0,
7903 p200pfs::Pcr,
7904 p200pfs::Pcr,
7905 P200Pfs_SPEC,
7906 crate::common::RW,
7907 > {
7908 crate::common::RegisterField::<
7909 4,
7910 0x1,
7911 1,
7912 0,
7913 p200pfs::Pcr,
7914 p200pfs::Pcr,
7915 P200Pfs_SPEC,
7916 crate::common::RW,
7917 >::from_register(self, 0)
7918 }
7919
7920 #[doc = "N-Channel Open-Drain Control"]
7921 #[inline(always)]
7922 pub fn ncodr(
7923 self,
7924 ) -> crate::common::RegisterField<
7925 6,
7926 0x1,
7927 1,
7928 0,
7929 p200pfs::Ncodr,
7930 p200pfs::Ncodr,
7931 P200Pfs_SPEC,
7932 crate::common::RW,
7933 > {
7934 crate::common::RegisterField::<
7935 6,
7936 0x1,
7937 1,
7938 0,
7939 p200pfs::Ncodr,
7940 p200pfs::Ncodr,
7941 P200Pfs_SPEC,
7942 crate::common::RW,
7943 >::from_register(self, 0)
7944 }
7945
7946 #[doc = "Event on Falling/Event on Rising"]
7947 #[inline(always)]
7948 pub fn eofr(
7949 self,
7950 ) -> crate::common::RegisterField<
7951 12,
7952 0x3,
7953 1,
7954 0,
7955 p200pfs::Eofr,
7956 p200pfs::Eofr,
7957 P200Pfs_SPEC,
7958 crate::common::RW,
7959 > {
7960 crate::common::RegisterField::<
7961 12,
7962 0x3,
7963 1,
7964 0,
7965 p200pfs::Eofr,
7966 p200pfs::Eofr,
7967 P200Pfs_SPEC,
7968 crate::common::RW,
7969 >::from_register(self, 0)
7970 }
7971
7972 #[doc = "IRQ Input Enable"]
7973 #[inline(always)]
7974 pub fn isel(
7975 self,
7976 ) -> crate::common::RegisterField<
7977 14,
7978 0x1,
7979 1,
7980 0,
7981 p200pfs::Isel,
7982 p200pfs::Isel,
7983 P200Pfs_SPEC,
7984 crate::common::RW,
7985 > {
7986 crate::common::RegisterField::<
7987 14,
7988 0x1,
7989 1,
7990 0,
7991 p200pfs::Isel,
7992 p200pfs::Isel,
7993 P200Pfs_SPEC,
7994 crate::common::RW,
7995 >::from_register(self, 0)
7996 }
7997
7998 #[doc = "Analog Input Enable"]
7999 #[inline(always)]
8000 pub fn asel(
8001 self,
8002 ) -> crate::common::RegisterField<
8003 15,
8004 0x1,
8005 1,
8006 0,
8007 p200pfs::Asel,
8008 p200pfs::Asel,
8009 P200Pfs_SPEC,
8010 crate::common::RW,
8011 > {
8012 crate::common::RegisterField::<
8013 15,
8014 0x1,
8015 1,
8016 0,
8017 p200pfs::Asel,
8018 p200pfs::Asel,
8019 P200Pfs_SPEC,
8020 crate::common::RW,
8021 >::from_register(self, 0)
8022 }
8023
8024 #[doc = "Port Mode Control"]
8025 #[inline(always)]
8026 pub fn pmr(
8027 self,
8028 ) -> crate::common::RegisterField<
8029 16,
8030 0x1,
8031 1,
8032 0,
8033 p200pfs::Pmr,
8034 p200pfs::Pmr,
8035 P200Pfs_SPEC,
8036 crate::common::RW,
8037 > {
8038 crate::common::RegisterField::<
8039 16,
8040 0x1,
8041 1,
8042 0,
8043 p200pfs::Pmr,
8044 p200pfs::Pmr,
8045 P200Pfs_SPEC,
8046 crate::common::RW,
8047 >::from_register(self, 0)
8048 }
8049
8050 #[doc = "Peripheral Select"]
8051 #[inline(always)]
8052 pub fn psel(
8053 self,
8054 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P200Pfs_SPEC, crate::common::RW> {
8055 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P200Pfs_SPEC,crate::common::RW>::from_register(self,0)
8056 }
8057}
8058impl ::core::default::Default for P200Pfs {
8059 #[inline(always)]
8060 fn default() -> P200Pfs {
8061 <crate::RegValueT<P200Pfs_SPEC> as RegisterValue<_>>::new(0)
8062 }
8063}
8064pub mod p200pfs {
8065
8066 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8067 pub struct Podr_SPEC;
8068 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8069 impl Podr {
8070 #[doc = "Output low"]
8071 pub const _0: Self = Self::new(0);
8072
8073 #[doc = "Output high"]
8074 pub const _1: Self = Self::new(1);
8075 }
8076 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8077 pub struct Pidr_SPEC;
8078 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8079 impl Pidr {
8080 #[doc = "Low level"]
8081 pub const _0: Self = Self::new(0);
8082
8083 #[doc = "High level"]
8084 pub const _1: Self = Self::new(1);
8085 }
8086 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8087 pub struct Pdr_SPEC;
8088 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8089 impl Pdr {
8090 #[doc = "Input (functions as an input pin)"]
8091 pub const _0: Self = Self::new(0);
8092
8093 #[doc = "Output (functions as an output pin)"]
8094 pub const _1: Self = Self::new(1);
8095 }
8096 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8097 pub struct Pcr_SPEC;
8098 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8099 impl Pcr {
8100 #[doc = "Disable input pull-up"]
8101 pub const _0: Self = Self::new(0);
8102
8103 #[doc = "Enable input pull-up"]
8104 pub const _1: Self = Self::new(1);
8105 }
8106 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8107 pub struct Ncodr_SPEC;
8108 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8109 impl Ncodr {
8110 #[doc = "Output CMOS"]
8111 pub const _0: Self = Self::new(0);
8112
8113 #[doc = "Output NMOS open-drain"]
8114 pub const _1: Self = Self::new(1);
8115 }
8116 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8117 pub struct Eofr_SPEC;
8118 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8119 impl Eofr {
8120 #[doc = "Don\'t care"]
8121 pub const _00: Self = Self::new(0);
8122
8123 #[doc = "Detect rising edge"]
8124 pub const _01: Self = Self::new(1);
8125
8126 #[doc = "Detect falling edge"]
8127 pub const _10: Self = Self::new(2);
8128
8129 #[doc = "Detect both edges"]
8130 pub const _11: Self = Self::new(3);
8131 }
8132 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8133 pub struct Isel_SPEC;
8134 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8135 impl Isel {
8136 #[doc = "Do not use as IRQn input pin"]
8137 pub const _0: Self = Self::new(0);
8138
8139 #[doc = "Use as IRQn input pin"]
8140 pub const _1: Self = Self::new(1);
8141 }
8142 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8143 pub struct Asel_SPEC;
8144 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8145 impl Asel {
8146 #[doc = "Do not use as analog pin"]
8147 pub const _0: Self = Self::new(0);
8148
8149 #[doc = "Use as analog pin"]
8150 pub const _1: Self = Self::new(1);
8151 }
8152 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8153 pub struct Pmr_SPEC;
8154 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
8155 impl Pmr {
8156 #[doc = "Use as general I/O pin"]
8157 pub const _0: Self = Self::new(0);
8158
8159 #[doc = "Use as I/O port for peripheral functions"]
8160 pub const _1: Self = Self::new(1);
8161 }
8162}
8163#[doc(hidden)]
8164#[derive(Copy, Clone, Eq, PartialEq)]
8165pub struct P200PfsHa_SPEC;
8166impl crate::sealed::RegSpec for P200PfsHa_SPEC {
8167 type DataType = u16;
8168}
8169
8170#[doc = "Port 200 Pin Function Select Register"]
8171pub type P200PfsHa = crate::RegValueT<P200PfsHa_SPEC>;
8172
8173impl P200PfsHa {
8174 #[doc = "Port Output Data"]
8175 #[inline(always)]
8176 pub fn podr(
8177 self,
8178 ) -> crate::common::RegisterField<
8179 0,
8180 0x1,
8181 1,
8182 0,
8183 p200pfs_ha::Podr,
8184 p200pfs_ha::Podr,
8185 P200PfsHa_SPEC,
8186 crate::common::RW,
8187 > {
8188 crate::common::RegisterField::<
8189 0,
8190 0x1,
8191 1,
8192 0,
8193 p200pfs_ha::Podr,
8194 p200pfs_ha::Podr,
8195 P200PfsHa_SPEC,
8196 crate::common::RW,
8197 >::from_register(self, 0)
8198 }
8199
8200 #[doc = "Port State"]
8201 #[inline(always)]
8202 pub fn pidr(
8203 self,
8204 ) -> crate::common::RegisterField<
8205 1,
8206 0x1,
8207 1,
8208 0,
8209 p200pfs_ha::Pidr,
8210 p200pfs_ha::Pidr,
8211 P200PfsHa_SPEC,
8212 crate::common::R,
8213 > {
8214 crate::common::RegisterField::<
8215 1,
8216 0x1,
8217 1,
8218 0,
8219 p200pfs_ha::Pidr,
8220 p200pfs_ha::Pidr,
8221 P200PfsHa_SPEC,
8222 crate::common::R,
8223 >::from_register(self, 0)
8224 }
8225
8226 #[doc = "Port Direction"]
8227 #[inline(always)]
8228 pub fn pdr(
8229 self,
8230 ) -> crate::common::RegisterField<
8231 2,
8232 0x1,
8233 1,
8234 0,
8235 p200pfs_ha::Pdr,
8236 p200pfs_ha::Pdr,
8237 P200PfsHa_SPEC,
8238 crate::common::RW,
8239 > {
8240 crate::common::RegisterField::<
8241 2,
8242 0x1,
8243 1,
8244 0,
8245 p200pfs_ha::Pdr,
8246 p200pfs_ha::Pdr,
8247 P200PfsHa_SPEC,
8248 crate::common::RW,
8249 >::from_register(self, 0)
8250 }
8251
8252 #[doc = "Pull-up Control"]
8253 #[inline(always)]
8254 pub fn pcr(
8255 self,
8256 ) -> crate::common::RegisterField<
8257 4,
8258 0x1,
8259 1,
8260 0,
8261 p200pfs_ha::Pcr,
8262 p200pfs_ha::Pcr,
8263 P200PfsHa_SPEC,
8264 crate::common::RW,
8265 > {
8266 crate::common::RegisterField::<
8267 4,
8268 0x1,
8269 1,
8270 0,
8271 p200pfs_ha::Pcr,
8272 p200pfs_ha::Pcr,
8273 P200PfsHa_SPEC,
8274 crate::common::RW,
8275 >::from_register(self, 0)
8276 }
8277
8278 #[doc = "N-Channel Open-Drain Control"]
8279 #[inline(always)]
8280 pub fn ncodr(
8281 self,
8282 ) -> crate::common::RegisterField<
8283 6,
8284 0x1,
8285 1,
8286 0,
8287 p200pfs_ha::Ncodr,
8288 p200pfs_ha::Ncodr,
8289 P200PfsHa_SPEC,
8290 crate::common::RW,
8291 > {
8292 crate::common::RegisterField::<
8293 6,
8294 0x1,
8295 1,
8296 0,
8297 p200pfs_ha::Ncodr,
8298 p200pfs_ha::Ncodr,
8299 P200PfsHa_SPEC,
8300 crate::common::RW,
8301 >::from_register(self, 0)
8302 }
8303
8304 #[doc = "Event on Falling/Event on Rising"]
8305 #[inline(always)]
8306 pub fn eofr(
8307 self,
8308 ) -> crate::common::RegisterField<
8309 12,
8310 0x3,
8311 1,
8312 0,
8313 p200pfs_ha::Eofr,
8314 p200pfs_ha::Eofr,
8315 P200PfsHa_SPEC,
8316 crate::common::RW,
8317 > {
8318 crate::common::RegisterField::<
8319 12,
8320 0x3,
8321 1,
8322 0,
8323 p200pfs_ha::Eofr,
8324 p200pfs_ha::Eofr,
8325 P200PfsHa_SPEC,
8326 crate::common::RW,
8327 >::from_register(self, 0)
8328 }
8329
8330 #[doc = "IRQ Input Enable"]
8331 #[inline(always)]
8332 pub fn isel(
8333 self,
8334 ) -> crate::common::RegisterField<
8335 14,
8336 0x1,
8337 1,
8338 0,
8339 p200pfs_ha::Isel,
8340 p200pfs_ha::Isel,
8341 P200PfsHa_SPEC,
8342 crate::common::RW,
8343 > {
8344 crate::common::RegisterField::<
8345 14,
8346 0x1,
8347 1,
8348 0,
8349 p200pfs_ha::Isel,
8350 p200pfs_ha::Isel,
8351 P200PfsHa_SPEC,
8352 crate::common::RW,
8353 >::from_register(self, 0)
8354 }
8355
8356 #[doc = "Analog Input Enable"]
8357 #[inline(always)]
8358 pub fn asel(
8359 self,
8360 ) -> crate::common::RegisterField<
8361 15,
8362 0x1,
8363 1,
8364 0,
8365 p200pfs_ha::Asel,
8366 p200pfs_ha::Asel,
8367 P200PfsHa_SPEC,
8368 crate::common::RW,
8369 > {
8370 crate::common::RegisterField::<
8371 15,
8372 0x1,
8373 1,
8374 0,
8375 p200pfs_ha::Asel,
8376 p200pfs_ha::Asel,
8377 P200PfsHa_SPEC,
8378 crate::common::RW,
8379 >::from_register(self, 0)
8380 }
8381}
8382impl ::core::default::Default for P200PfsHa {
8383 #[inline(always)]
8384 fn default() -> P200PfsHa {
8385 <crate::RegValueT<P200PfsHa_SPEC> as RegisterValue<_>>::new(0)
8386 }
8387}
8388pub mod p200pfs_ha {
8389
8390 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8391 pub struct Podr_SPEC;
8392 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8393 impl Podr {
8394 #[doc = "Output low"]
8395 pub const _0: Self = Self::new(0);
8396
8397 #[doc = "Output high"]
8398 pub const _1: Self = Self::new(1);
8399 }
8400 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8401 pub struct Pidr_SPEC;
8402 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8403 impl Pidr {
8404 #[doc = "Low level"]
8405 pub const _0: Self = Self::new(0);
8406
8407 #[doc = "High level"]
8408 pub const _1: Self = Self::new(1);
8409 }
8410 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8411 pub struct Pdr_SPEC;
8412 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8413 impl Pdr {
8414 #[doc = "Input (functions as an input pin)"]
8415 pub const _0: Self = Self::new(0);
8416
8417 #[doc = "Output (functions as an output pin)"]
8418 pub const _1: Self = Self::new(1);
8419 }
8420 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8421 pub struct Pcr_SPEC;
8422 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8423 impl Pcr {
8424 #[doc = "Disable input pull-up"]
8425 pub const _0: Self = Self::new(0);
8426
8427 #[doc = "Enable input pull-up"]
8428 pub const _1: Self = Self::new(1);
8429 }
8430 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8431 pub struct Ncodr_SPEC;
8432 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8433 impl Ncodr {
8434 #[doc = "Output CMOS"]
8435 pub const _0: Self = Self::new(0);
8436
8437 #[doc = "Output NMOS open-drain"]
8438 pub const _1: Self = Self::new(1);
8439 }
8440 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8441 pub struct Eofr_SPEC;
8442 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8443 impl Eofr {
8444 #[doc = "Don\'t care"]
8445 pub const _00: Self = Self::new(0);
8446
8447 #[doc = "Detect rising edge"]
8448 pub const _01: Self = Self::new(1);
8449
8450 #[doc = "Detect falling edge"]
8451 pub const _10: Self = Self::new(2);
8452
8453 #[doc = "Detect both edges"]
8454 pub const _11: Self = Self::new(3);
8455 }
8456 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8457 pub struct Isel_SPEC;
8458 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
8459 impl Isel {
8460 #[doc = "Do not use as IRQn input pin"]
8461 pub const _0: Self = Self::new(0);
8462
8463 #[doc = "Use as IRQn input pin"]
8464 pub const _1: Self = Self::new(1);
8465 }
8466 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8467 pub struct Asel_SPEC;
8468 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
8469 impl Asel {
8470 #[doc = "Do not use as analog pin"]
8471 pub const _0: Self = Self::new(0);
8472
8473 #[doc = "Use as analog pin"]
8474 pub const _1: Self = Self::new(1);
8475 }
8476}
8477#[doc(hidden)]
8478#[derive(Copy, Clone, Eq, PartialEq)]
8479pub struct P200PfsBy_SPEC;
8480impl crate::sealed::RegSpec for P200PfsBy_SPEC {
8481 type DataType = u8;
8482}
8483
8484#[doc = "Port 200 Pin Function Select Register"]
8485pub type P200PfsBy = crate::RegValueT<P200PfsBy_SPEC>;
8486
8487impl P200PfsBy {
8488 #[doc = "Port Output Data"]
8489 #[inline(always)]
8490 pub fn podr(
8491 self,
8492 ) -> crate::common::RegisterField<
8493 0,
8494 0x1,
8495 1,
8496 0,
8497 p200pfs_by::Podr,
8498 p200pfs_by::Podr,
8499 P200PfsBy_SPEC,
8500 crate::common::RW,
8501 > {
8502 crate::common::RegisterField::<
8503 0,
8504 0x1,
8505 1,
8506 0,
8507 p200pfs_by::Podr,
8508 p200pfs_by::Podr,
8509 P200PfsBy_SPEC,
8510 crate::common::RW,
8511 >::from_register(self, 0)
8512 }
8513
8514 #[doc = "Port State"]
8515 #[inline(always)]
8516 pub fn pidr(
8517 self,
8518 ) -> crate::common::RegisterField<
8519 1,
8520 0x1,
8521 1,
8522 0,
8523 p200pfs_by::Pidr,
8524 p200pfs_by::Pidr,
8525 P200PfsBy_SPEC,
8526 crate::common::R,
8527 > {
8528 crate::common::RegisterField::<
8529 1,
8530 0x1,
8531 1,
8532 0,
8533 p200pfs_by::Pidr,
8534 p200pfs_by::Pidr,
8535 P200PfsBy_SPEC,
8536 crate::common::R,
8537 >::from_register(self, 0)
8538 }
8539
8540 #[doc = "Port Direction"]
8541 #[inline(always)]
8542 pub fn pdr(
8543 self,
8544 ) -> crate::common::RegisterField<
8545 2,
8546 0x1,
8547 1,
8548 0,
8549 p200pfs_by::Pdr,
8550 p200pfs_by::Pdr,
8551 P200PfsBy_SPEC,
8552 crate::common::RW,
8553 > {
8554 crate::common::RegisterField::<
8555 2,
8556 0x1,
8557 1,
8558 0,
8559 p200pfs_by::Pdr,
8560 p200pfs_by::Pdr,
8561 P200PfsBy_SPEC,
8562 crate::common::RW,
8563 >::from_register(self, 0)
8564 }
8565
8566 #[doc = "Pull-up Control"]
8567 #[inline(always)]
8568 pub fn pcr(
8569 self,
8570 ) -> crate::common::RegisterField<
8571 4,
8572 0x1,
8573 1,
8574 0,
8575 p200pfs_by::Pcr,
8576 p200pfs_by::Pcr,
8577 P200PfsBy_SPEC,
8578 crate::common::RW,
8579 > {
8580 crate::common::RegisterField::<
8581 4,
8582 0x1,
8583 1,
8584 0,
8585 p200pfs_by::Pcr,
8586 p200pfs_by::Pcr,
8587 P200PfsBy_SPEC,
8588 crate::common::RW,
8589 >::from_register(self, 0)
8590 }
8591
8592 #[doc = "N-Channel Open-Drain Control"]
8593 #[inline(always)]
8594 pub fn ncodr(
8595 self,
8596 ) -> crate::common::RegisterField<
8597 6,
8598 0x1,
8599 1,
8600 0,
8601 p200pfs_by::Ncodr,
8602 p200pfs_by::Ncodr,
8603 P200PfsBy_SPEC,
8604 crate::common::RW,
8605 > {
8606 crate::common::RegisterField::<
8607 6,
8608 0x1,
8609 1,
8610 0,
8611 p200pfs_by::Ncodr,
8612 p200pfs_by::Ncodr,
8613 P200PfsBy_SPEC,
8614 crate::common::RW,
8615 >::from_register(self, 0)
8616 }
8617}
8618impl ::core::default::Default for P200PfsBy {
8619 #[inline(always)]
8620 fn default() -> P200PfsBy {
8621 <crate::RegValueT<P200PfsBy_SPEC> as RegisterValue<_>>::new(0)
8622 }
8623}
8624pub mod p200pfs_by {
8625
8626 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8627 pub struct Podr_SPEC;
8628 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8629 impl Podr {
8630 #[doc = "Output low"]
8631 pub const _0: Self = Self::new(0);
8632
8633 #[doc = "Output high"]
8634 pub const _1: Self = Self::new(1);
8635 }
8636 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8637 pub struct Pidr_SPEC;
8638 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8639 impl Pidr {
8640 #[doc = "Low level"]
8641 pub const _0: Self = Self::new(0);
8642
8643 #[doc = "High level"]
8644 pub const _1: Self = Self::new(1);
8645 }
8646 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8647 pub struct Pdr_SPEC;
8648 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8649 impl Pdr {
8650 #[doc = "Input (functions as an input pin)"]
8651 pub const _0: Self = Self::new(0);
8652
8653 #[doc = "Output (functions as an output pin)"]
8654 pub const _1: Self = Self::new(1);
8655 }
8656 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8657 pub struct Pcr_SPEC;
8658 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8659 impl Pcr {
8660 #[doc = "Disable input pull-up"]
8661 pub const _0: Self = Self::new(0);
8662
8663 #[doc = "Enable input pull-up"]
8664 pub const _1: Self = Self::new(1);
8665 }
8666 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8667 pub struct Ncodr_SPEC;
8668 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8669 impl Ncodr {
8670 #[doc = "Output CMOS"]
8671 pub const _0: Self = Self::new(0);
8672
8673 #[doc = "Output NMOS open-drain"]
8674 pub const _1: Self = Self::new(1);
8675 }
8676}
8677#[doc(hidden)]
8678#[derive(Copy, Clone, Eq, PartialEq)]
8679pub struct P201Pfs_SPEC;
8680impl crate::sealed::RegSpec for P201Pfs_SPEC {
8681 type DataType = u32;
8682}
8683
8684#[doc = "Port 201 Pin Function Select Register"]
8685pub type P201Pfs = crate::RegValueT<P201Pfs_SPEC>;
8686
8687impl P201Pfs {
8688 #[doc = "Port Output Data"]
8689 #[inline(always)]
8690 pub fn podr(
8691 self,
8692 ) -> crate::common::RegisterField<
8693 0,
8694 0x1,
8695 1,
8696 0,
8697 p201pfs::Podr,
8698 p201pfs::Podr,
8699 P201Pfs_SPEC,
8700 crate::common::RW,
8701 > {
8702 crate::common::RegisterField::<
8703 0,
8704 0x1,
8705 1,
8706 0,
8707 p201pfs::Podr,
8708 p201pfs::Podr,
8709 P201Pfs_SPEC,
8710 crate::common::RW,
8711 >::from_register(self, 0)
8712 }
8713
8714 #[doc = "Port State"]
8715 #[inline(always)]
8716 pub fn pidr(
8717 self,
8718 ) -> crate::common::RegisterField<
8719 1,
8720 0x1,
8721 1,
8722 0,
8723 p201pfs::Pidr,
8724 p201pfs::Pidr,
8725 P201Pfs_SPEC,
8726 crate::common::R,
8727 > {
8728 crate::common::RegisterField::<
8729 1,
8730 0x1,
8731 1,
8732 0,
8733 p201pfs::Pidr,
8734 p201pfs::Pidr,
8735 P201Pfs_SPEC,
8736 crate::common::R,
8737 >::from_register(self, 0)
8738 }
8739
8740 #[doc = "Port Direction"]
8741 #[inline(always)]
8742 pub fn pdr(
8743 self,
8744 ) -> crate::common::RegisterField<
8745 2,
8746 0x1,
8747 1,
8748 0,
8749 p201pfs::Pdr,
8750 p201pfs::Pdr,
8751 P201Pfs_SPEC,
8752 crate::common::RW,
8753 > {
8754 crate::common::RegisterField::<
8755 2,
8756 0x1,
8757 1,
8758 0,
8759 p201pfs::Pdr,
8760 p201pfs::Pdr,
8761 P201Pfs_SPEC,
8762 crate::common::RW,
8763 >::from_register(self, 0)
8764 }
8765
8766 #[doc = "Pull-up Control"]
8767 #[inline(always)]
8768 pub fn pcr(
8769 self,
8770 ) -> crate::common::RegisterField<
8771 4,
8772 0x1,
8773 1,
8774 0,
8775 p201pfs::Pcr,
8776 p201pfs::Pcr,
8777 P201Pfs_SPEC,
8778 crate::common::RW,
8779 > {
8780 crate::common::RegisterField::<
8781 4,
8782 0x1,
8783 1,
8784 0,
8785 p201pfs::Pcr,
8786 p201pfs::Pcr,
8787 P201Pfs_SPEC,
8788 crate::common::RW,
8789 >::from_register(self, 0)
8790 }
8791
8792 #[doc = "N-Channel Open-Drain Control"]
8793 #[inline(always)]
8794 pub fn ncodr(
8795 self,
8796 ) -> crate::common::RegisterField<
8797 6,
8798 0x1,
8799 1,
8800 0,
8801 p201pfs::Ncodr,
8802 p201pfs::Ncodr,
8803 P201Pfs_SPEC,
8804 crate::common::RW,
8805 > {
8806 crate::common::RegisterField::<
8807 6,
8808 0x1,
8809 1,
8810 0,
8811 p201pfs::Ncodr,
8812 p201pfs::Ncodr,
8813 P201Pfs_SPEC,
8814 crate::common::RW,
8815 >::from_register(self, 0)
8816 }
8817
8818 #[doc = "Event on Falling/Event on Rising"]
8819 #[inline(always)]
8820 pub fn eofr(
8821 self,
8822 ) -> crate::common::RegisterField<
8823 12,
8824 0x3,
8825 1,
8826 0,
8827 p201pfs::Eofr,
8828 p201pfs::Eofr,
8829 P201Pfs_SPEC,
8830 crate::common::RW,
8831 > {
8832 crate::common::RegisterField::<
8833 12,
8834 0x3,
8835 1,
8836 0,
8837 p201pfs::Eofr,
8838 p201pfs::Eofr,
8839 P201Pfs_SPEC,
8840 crate::common::RW,
8841 >::from_register(self, 0)
8842 }
8843
8844 #[doc = "IRQ Input Enable"]
8845 #[inline(always)]
8846 pub fn isel(
8847 self,
8848 ) -> crate::common::RegisterField<
8849 14,
8850 0x1,
8851 1,
8852 0,
8853 p201pfs::Isel,
8854 p201pfs::Isel,
8855 P201Pfs_SPEC,
8856 crate::common::RW,
8857 > {
8858 crate::common::RegisterField::<
8859 14,
8860 0x1,
8861 1,
8862 0,
8863 p201pfs::Isel,
8864 p201pfs::Isel,
8865 P201Pfs_SPEC,
8866 crate::common::RW,
8867 >::from_register(self, 0)
8868 }
8869
8870 #[doc = "Analog Input Enable"]
8871 #[inline(always)]
8872 pub fn asel(
8873 self,
8874 ) -> crate::common::RegisterField<
8875 15,
8876 0x1,
8877 1,
8878 0,
8879 p201pfs::Asel,
8880 p201pfs::Asel,
8881 P201Pfs_SPEC,
8882 crate::common::RW,
8883 > {
8884 crate::common::RegisterField::<
8885 15,
8886 0x1,
8887 1,
8888 0,
8889 p201pfs::Asel,
8890 p201pfs::Asel,
8891 P201Pfs_SPEC,
8892 crate::common::RW,
8893 >::from_register(self, 0)
8894 }
8895
8896 #[doc = "Port Mode Control"]
8897 #[inline(always)]
8898 pub fn pmr(
8899 self,
8900 ) -> crate::common::RegisterField<
8901 16,
8902 0x1,
8903 1,
8904 0,
8905 p201pfs::Pmr,
8906 p201pfs::Pmr,
8907 P201Pfs_SPEC,
8908 crate::common::RW,
8909 > {
8910 crate::common::RegisterField::<
8911 16,
8912 0x1,
8913 1,
8914 0,
8915 p201pfs::Pmr,
8916 p201pfs::Pmr,
8917 P201Pfs_SPEC,
8918 crate::common::RW,
8919 >::from_register(self, 0)
8920 }
8921
8922 #[doc = "Peripheral Select"]
8923 #[inline(always)]
8924 pub fn psel(
8925 self,
8926 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P201Pfs_SPEC, crate::common::RW> {
8927 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P201Pfs_SPEC,crate::common::RW>::from_register(self,0)
8928 }
8929}
8930impl ::core::default::Default for P201Pfs {
8931 #[inline(always)]
8932 fn default() -> P201Pfs {
8933 <crate::RegValueT<P201Pfs_SPEC> as RegisterValue<_>>::new(16)
8934 }
8935}
8936pub mod p201pfs {
8937
8938 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8939 pub struct Podr_SPEC;
8940 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
8941 impl Podr {
8942 #[doc = "Output low"]
8943 pub const _0: Self = Self::new(0);
8944
8945 #[doc = "Output high"]
8946 pub const _1: Self = Self::new(1);
8947 }
8948 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8949 pub struct Pidr_SPEC;
8950 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
8951 impl Pidr {
8952 #[doc = "Low level"]
8953 pub const _0: Self = Self::new(0);
8954
8955 #[doc = "High level"]
8956 pub const _1: Self = Self::new(1);
8957 }
8958 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8959 pub struct Pdr_SPEC;
8960 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
8961 impl Pdr {
8962 #[doc = "Input (functions as an input pin)"]
8963 pub const _0: Self = Self::new(0);
8964
8965 #[doc = "Output (functions as an output pin)"]
8966 pub const _1: Self = Self::new(1);
8967 }
8968 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8969 pub struct Pcr_SPEC;
8970 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
8971 impl Pcr {
8972 #[doc = "Disable input pull-up"]
8973 pub const _0: Self = Self::new(0);
8974
8975 #[doc = "Enable input pull-up"]
8976 pub const _1: Self = Self::new(1);
8977 }
8978 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8979 pub struct Ncodr_SPEC;
8980 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
8981 impl Ncodr {
8982 #[doc = "Output CMOS"]
8983 pub const _0: Self = Self::new(0);
8984
8985 #[doc = "Output NMOS open-drain"]
8986 pub const _1: Self = Self::new(1);
8987 }
8988 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8989 pub struct Eofr_SPEC;
8990 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
8991 impl Eofr {
8992 #[doc = "Don\'t care"]
8993 pub const _00: Self = Self::new(0);
8994
8995 #[doc = "Detect rising edge"]
8996 pub const _01: Self = Self::new(1);
8997
8998 #[doc = "Detect falling edge"]
8999 pub const _10: Self = Self::new(2);
9000
9001 #[doc = "Detect both edges"]
9002 pub const _11: Self = Self::new(3);
9003 }
9004 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9005 pub struct Isel_SPEC;
9006 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9007 impl Isel {
9008 #[doc = "Do not use as IRQn input pin"]
9009 pub const _0: Self = Self::new(0);
9010
9011 #[doc = "Use as IRQn input pin"]
9012 pub const _1: Self = Self::new(1);
9013 }
9014 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9015 pub struct Asel_SPEC;
9016 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9017 impl Asel {
9018 #[doc = "Do not use as analog pin"]
9019 pub const _0: Self = Self::new(0);
9020
9021 #[doc = "Use as analog pin"]
9022 pub const _1: Self = Self::new(1);
9023 }
9024 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9025 pub struct Pmr_SPEC;
9026 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
9027 impl Pmr {
9028 #[doc = "Use as general I/O pin"]
9029 pub const _0: Self = Self::new(0);
9030
9031 #[doc = "Use as I/O port for peripheral functions"]
9032 pub const _1: Self = Self::new(1);
9033 }
9034}
9035#[doc(hidden)]
9036#[derive(Copy, Clone, Eq, PartialEq)]
9037pub struct P201PfsHa_SPEC;
9038impl crate::sealed::RegSpec for P201PfsHa_SPEC {
9039 type DataType = u16;
9040}
9041
9042#[doc = "Port 201 Pin Function Select Register"]
9043pub type P201PfsHa = crate::RegValueT<P201PfsHa_SPEC>;
9044
9045impl P201PfsHa {
9046 #[doc = "Port Output Data"]
9047 #[inline(always)]
9048 pub fn podr(
9049 self,
9050 ) -> crate::common::RegisterField<
9051 0,
9052 0x1,
9053 1,
9054 0,
9055 p201pfs_ha::Podr,
9056 p201pfs_ha::Podr,
9057 P201PfsHa_SPEC,
9058 crate::common::RW,
9059 > {
9060 crate::common::RegisterField::<
9061 0,
9062 0x1,
9063 1,
9064 0,
9065 p201pfs_ha::Podr,
9066 p201pfs_ha::Podr,
9067 P201PfsHa_SPEC,
9068 crate::common::RW,
9069 >::from_register(self, 0)
9070 }
9071
9072 #[doc = "Port State"]
9073 #[inline(always)]
9074 pub fn pidr(
9075 self,
9076 ) -> crate::common::RegisterField<
9077 1,
9078 0x1,
9079 1,
9080 0,
9081 p201pfs_ha::Pidr,
9082 p201pfs_ha::Pidr,
9083 P201PfsHa_SPEC,
9084 crate::common::R,
9085 > {
9086 crate::common::RegisterField::<
9087 1,
9088 0x1,
9089 1,
9090 0,
9091 p201pfs_ha::Pidr,
9092 p201pfs_ha::Pidr,
9093 P201PfsHa_SPEC,
9094 crate::common::R,
9095 >::from_register(self, 0)
9096 }
9097
9098 #[doc = "Port Direction"]
9099 #[inline(always)]
9100 pub fn pdr(
9101 self,
9102 ) -> crate::common::RegisterField<
9103 2,
9104 0x1,
9105 1,
9106 0,
9107 p201pfs_ha::Pdr,
9108 p201pfs_ha::Pdr,
9109 P201PfsHa_SPEC,
9110 crate::common::RW,
9111 > {
9112 crate::common::RegisterField::<
9113 2,
9114 0x1,
9115 1,
9116 0,
9117 p201pfs_ha::Pdr,
9118 p201pfs_ha::Pdr,
9119 P201PfsHa_SPEC,
9120 crate::common::RW,
9121 >::from_register(self, 0)
9122 }
9123
9124 #[doc = "Pull-up Control"]
9125 #[inline(always)]
9126 pub fn pcr(
9127 self,
9128 ) -> crate::common::RegisterField<
9129 4,
9130 0x1,
9131 1,
9132 0,
9133 p201pfs_ha::Pcr,
9134 p201pfs_ha::Pcr,
9135 P201PfsHa_SPEC,
9136 crate::common::RW,
9137 > {
9138 crate::common::RegisterField::<
9139 4,
9140 0x1,
9141 1,
9142 0,
9143 p201pfs_ha::Pcr,
9144 p201pfs_ha::Pcr,
9145 P201PfsHa_SPEC,
9146 crate::common::RW,
9147 >::from_register(self, 0)
9148 }
9149
9150 #[doc = "N-Channel Open-Drain Control"]
9151 #[inline(always)]
9152 pub fn ncodr(
9153 self,
9154 ) -> crate::common::RegisterField<
9155 6,
9156 0x1,
9157 1,
9158 0,
9159 p201pfs_ha::Ncodr,
9160 p201pfs_ha::Ncodr,
9161 P201PfsHa_SPEC,
9162 crate::common::RW,
9163 > {
9164 crate::common::RegisterField::<
9165 6,
9166 0x1,
9167 1,
9168 0,
9169 p201pfs_ha::Ncodr,
9170 p201pfs_ha::Ncodr,
9171 P201PfsHa_SPEC,
9172 crate::common::RW,
9173 >::from_register(self, 0)
9174 }
9175
9176 #[doc = "Event on Falling/Event on Rising"]
9177 #[inline(always)]
9178 pub fn eofr(
9179 self,
9180 ) -> crate::common::RegisterField<
9181 12,
9182 0x3,
9183 1,
9184 0,
9185 p201pfs_ha::Eofr,
9186 p201pfs_ha::Eofr,
9187 P201PfsHa_SPEC,
9188 crate::common::RW,
9189 > {
9190 crate::common::RegisterField::<
9191 12,
9192 0x3,
9193 1,
9194 0,
9195 p201pfs_ha::Eofr,
9196 p201pfs_ha::Eofr,
9197 P201PfsHa_SPEC,
9198 crate::common::RW,
9199 >::from_register(self, 0)
9200 }
9201
9202 #[doc = "IRQ Input Enable"]
9203 #[inline(always)]
9204 pub fn isel(
9205 self,
9206 ) -> crate::common::RegisterField<
9207 14,
9208 0x1,
9209 1,
9210 0,
9211 p201pfs_ha::Isel,
9212 p201pfs_ha::Isel,
9213 P201PfsHa_SPEC,
9214 crate::common::RW,
9215 > {
9216 crate::common::RegisterField::<
9217 14,
9218 0x1,
9219 1,
9220 0,
9221 p201pfs_ha::Isel,
9222 p201pfs_ha::Isel,
9223 P201PfsHa_SPEC,
9224 crate::common::RW,
9225 >::from_register(self, 0)
9226 }
9227
9228 #[doc = "Analog Input Enable"]
9229 #[inline(always)]
9230 pub fn asel(
9231 self,
9232 ) -> crate::common::RegisterField<
9233 15,
9234 0x1,
9235 1,
9236 0,
9237 p201pfs_ha::Asel,
9238 p201pfs_ha::Asel,
9239 P201PfsHa_SPEC,
9240 crate::common::RW,
9241 > {
9242 crate::common::RegisterField::<
9243 15,
9244 0x1,
9245 1,
9246 0,
9247 p201pfs_ha::Asel,
9248 p201pfs_ha::Asel,
9249 P201PfsHa_SPEC,
9250 crate::common::RW,
9251 >::from_register(self, 0)
9252 }
9253}
9254impl ::core::default::Default for P201PfsHa {
9255 #[inline(always)]
9256 fn default() -> P201PfsHa {
9257 <crate::RegValueT<P201PfsHa_SPEC> as RegisterValue<_>>::new(16)
9258 }
9259}
9260pub mod p201pfs_ha {
9261
9262 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9263 pub struct Podr_SPEC;
9264 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9265 impl Podr {
9266 #[doc = "Output low"]
9267 pub const _0: Self = Self::new(0);
9268
9269 #[doc = "Output high"]
9270 pub const _1: Self = Self::new(1);
9271 }
9272 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9273 pub struct Pidr_SPEC;
9274 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9275 impl Pidr {
9276 #[doc = "Low level"]
9277 pub const _0: Self = Self::new(0);
9278
9279 #[doc = "High level"]
9280 pub const _1: Self = Self::new(1);
9281 }
9282 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9283 pub struct Pdr_SPEC;
9284 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9285 impl Pdr {
9286 #[doc = "Input (functions as an input pin)"]
9287 pub const _0: Self = Self::new(0);
9288
9289 #[doc = "Output (functions as an output pin)"]
9290 pub const _1: Self = Self::new(1);
9291 }
9292 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9293 pub struct Pcr_SPEC;
9294 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9295 impl Pcr {
9296 #[doc = "Disable input pull-up"]
9297 pub const _0: Self = Self::new(0);
9298
9299 #[doc = "Enable input pull-up"]
9300 pub const _1: Self = Self::new(1);
9301 }
9302 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9303 pub struct Ncodr_SPEC;
9304 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9305 impl Ncodr {
9306 #[doc = "Output CMOS"]
9307 pub const _0: Self = Self::new(0);
9308
9309 #[doc = "Output NMOS open-drain"]
9310 pub const _1: Self = Self::new(1);
9311 }
9312 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9313 pub struct Eofr_SPEC;
9314 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9315 impl Eofr {
9316 #[doc = "Don\'t care"]
9317 pub const _00: Self = Self::new(0);
9318
9319 #[doc = "Detect rising edge"]
9320 pub const _01: Self = Self::new(1);
9321
9322 #[doc = "Detect falling edge"]
9323 pub const _10: Self = Self::new(2);
9324
9325 #[doc = "Detect both edges"]
9326 pub const _11: Self = Self::new(3);
9327 }
9328 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9329 pub struct Isel_SPEC;
9330 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9331 impl Isel {
9332 #[doc = "Do not use as IRQn input pin"]
9333 pub const _0: Self = Self::new(0);
9334
9335 #[doc = "Use as IRQn input pin"]
9336 pub const _1: Self = Self::new(1);
9337 }
9338 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9339 pub struct Asel_SPEC;
9340 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9341 impl Asel {
9342 #[doc = "Do not use as analog pin"]
9343 pub const _0: Self = Self::new(0);
9344
9345 #[doc = "Use as analog pin"]
9346 pub const _1: Self = Self::new(1);
9347 }
9348}
9349#[doc(hidden)]
9350#[derive(Copy, Clone, Eq, PartialEq)]
9351pub struct P201PfsBy_SPEC;
9352impl crate::sealed::RegSpec for P201PfsBy_SPEC {
9353 type DataType = u8;
9354}
9355
9356#[doc = "Port 201 Pin Function Select Register"]
9357pub type P201PfsBy = crate::RegValueT<P201PfsBy_SPEC>;
9358
9359impl P201PfsBy {
9360 #[doc = "Port Output Data"]
9361 #[inline(always)]
9362 pub fn podr(
9363 self,
9364 ) -> crate::common::RegisterField<
9365 0,
9366 0x1,
9367 1,
9368 0,
9369 p201pfs_by::Podr,
9370 p201pfs_by::Podr,
9371 P201PfsBy_SPEC,
9372 crate::common::RW,
9373 > {
9374 crate::common::RegisterField::<
9375 0,
9376 0x1,
9377 1,
9378 0,
9379 p201pfs_by::Podr,
9380 p201pfs_by::Podr,
9381 P201PfsBy_SPEC,
9382 crate::common::RW,
9383 >::from_register(self, 0)
9384 }
9385
9386 #[doc = "Port State"]
9387 #[inline(always)]
9388 pub fn pidr(
9389 self,
9390 ) -> crate::common::RegisterField<
9391 1,
9392 0x1,
9393 1,
9394 0,
9395 p201pfs_by::Pidr,
9396 p201pfs_by::Pidr,
9397 P201PfsBy_SPEC,
9398 crate::common::R,
9399 > {
9400 crate::common::RegisterField::<
9401 1,
9402 0x1,
9403 1,
9404 0,
9405 p201pfs_by::Pidr,
9406 p201pfs_by::Pidr,
9407 P201PfsBy_SPEC,
9408 crate::common::R,
9409 >::from_register(self, 0)
9410 }
9411
9412 #[doc = "Port Direction"]
9413 #[inline(always)]
9414 pub fn pdr(
9415 self,
9416 ) -> crate::common::RegisterField<
9417 2,
9418 0x1,
9419 1,
9420 0,
9421 p201pfs_by::Pdr,
9422 p201pfs_by::Pdr,
9423 P201PfsBy_SPEC,
9424 crate::common::RW,
9425 > {
9426 crate::common::RegisterField::<
9427 2,
9428 0x1,
9429 1,
9430 0,
9431 p201pfs_by::Pdr,
9432 p201pfs_by::Pdr,
9433 P201PfsBy_SPEC,
9434 crate::common::RW,
9435 >::from_register(self, 0)
9436 }
9437
9438 #[doc = "Pull-up Control"]
9439 #[inline(always)]
9440 pub fn pcr(
9441 self,
9442 ) -> crate::common::RegisterField<
9443 4,
9444 0x1,
9445 1,
9446 0,
9447 p201pfs_by::Pcr,
9448 p201pfs_by::Pcr,
9449 P201PfsBy_SPEC,
9450 crate::common::RW,
9451 > {
9452 crate::common::RegisterField::<
9453 4,
9454 0x1,
9455 1,
9456 0,
9457 p201pfs_by::Pcr,
9458 p201pfs_by::Pcr,
9459 P201PfsBy_SPEC,
9460 crate::common::RW,
9461 >::from_register(self, 0)
9462 }
9463
9464 #[doc = "N-Channel Open-Drain Control"]
9465 #[inline(always)]
9466 pub fn ncodr(
9467 self,
9468 ) -> crate::common::RegisterField<
9469 6,
9470 0x1,
9471 1,
9472 0,
9473 p201pfs_by::Ncodr,
9474 p201pfs_by::Ncodr,
9475 P201PfsBy_SPEC,
9476 crate::common::RW,
9477 > {
9478 crate::common::RegisterField::<
9479 6,
9480 0x1,
9481 1,
9482 0,
9483 p201pfs_by::Ncodr,
9484 p201pfs_by::Ncodr,
9485 P201PfsBy_SPEC,
9486 crate::common::RW,
9487 >::from_register(self, 0)
9488 }
9489}
9490impl ::core::default::Default for P201PfsBy {
9491 #[inline(always)]
9492 fn default() -> P201PfsBy {
9493 <crate::RegValueT<P201PfsBy_SPEC> as RegisterValue<_>>::new(16)
9494 }
9495}
9496pub mod p201pfs_by {
9497
9498 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9499 pub struct Podr_SPEC;
9500 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9501 impl Podr {
9502 #[doc = "Output low"]
9503 pub const _0: Self = Self::new(0);
9504
9505 #[doc = "Output high"]
9506 pub const _1: Self = Self::new(1);
9507 }
9508 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9509 pub struct Pidr_SPEC;
9510 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9511 impl Pidr {
9512 #[doc = "Low level"]
9513 pub const _0: Self = Self::new(0);
9514
9515 #[doc = "High level"]
9516 pub const _1: Self = Self::new(1);
9517 }
9518 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9519 pub struct Pdr_SPEC;
9520 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9521 impl Pdr {
9522 #[doc = "Input (functions as an input pin)"]
9523 pub const _0: Self = Self::new(0);
9524
9525 #[doc = "Output (functions as an output pin)"]
9526 pub const _1: Self = Self::new(1);
9527 }
9528 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9529 pub struct Pcr_SPEC;
9530 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9531 impl Pcr {
9532 #[doc = "Disable input pull-up"]
9533 pub const _0: Self = Self::new(0);
9534
9535 #[doc = "Enable input pull-up"]
9536 pub const _1: Self = Self::new(1);
9537 }
9538 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9539 pub struct Ncodr_SPEC;
9540 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9541 impl Ncodr {
9542 #[doc = "Output CMOS"]
9543 pub const _0: Self = Self::new(0);
9544
9545 #[doc = "Output NMOS open-drain"]
9546 pub const _1: Self = Self::new(1);
9547 }
9548}
9549#[doc(hidden)]
9550#[derive(Copy, Clone, Eq, PartialEq)]
9551pub struct P20Pfs_SPEC;
9552impl crate::sealed::RegSpec for P20Pfs_SPEC {
9553 type DataType = u32;
9554}
9555
9556#[doc = "Port 20%s Pin Function Select Register"]
9557pub type P20Pfs = crate::RegValueT<P20Pfs_SPEC>;
9558
9559impl P20Pfs {
9560 #[doc = "Port Output Data"]
9561 #[inline(always)]
9562 pub fn podr(
9563 self,
9564 ) -> crate::common::RegisterField<
9565 0,
9566 0x1,
9567 1,
9568 0,
9569 p20pfs::Podr,
9570 p20pfs::Podr,
9571 P20Pfs_SPEC,
9572 crate::common::RW,
9573 > {
9574 crate::common::RegisterField::<
9575 0,
9576 0x1,
9577 1,
9578 0,
9579 p20pfs::Podr,
9580 p20pfs::Podr,
9581 P20Pfs_SPEC,
9582 crate::common::RW,
9583 >::from_register(self, 0)
9584 }
9585
9586 #[doc = "Port State"]
9587 #[inline(always)]
9588 pub fn pidr(
9589 self,
9590 ) -> crate::common::RegisterField<
9591 1,
9592 0x1,
9593 1,
9594 0,
9595 p20pfs::Pidr,
9596 p20pfs::Pidr,
9597 P20Pfs_SPEC,
9598 crate::common::R,
9599 > {
9600 crate::common::RegisterField::<
9601 1,
9602 0x1,
9603 1,
9604 0,
9605 p20pfs::Pidr,
9606 p20pfs::Pidr,
9607 P20Pfs_SPEC,
9608 crate::common::R,
9609 >::from_register(self, 0)
9610 }
9611
9612 #[doc = "Port Direction"]
9613 #[inline(always)]
9614 pub fn pdr(
9615 self,
9616 ) -> crate::common::RegisterField<
9617 2,
9618 0x1,
9619 1,
9620 0,
9621 p20pfs::Pdr,
9622 p20pfs::Pdr,
9623 P20Pfs_SPEC,
9624 crate::common::RW,
9625 > {
9626 crate::common::RegisterField::<
9627 2,
9628 0x1,
9629 1,
9630 0,
9631 p20pfs::Pdr,
9632 p20pfs::Pdr,
9633 P20Pfs_SPEC,
9634 crate::common::RW,
9635 >::from_register(self, 0)
9636 }
9637
9638 #[doc = "Pull-up Control"]
9639 #[inline(always)]
9640 pub fn pcr(
9641 self,
9642 ) -> crate::common::RegisterField<
9643 4,
9644 0x1,
9645 1,
9646 0,
9647 p20pfs::Pcr,
9648 p20pfs::Pcr,
9649 P20Pfs_SPEC,
9650 crate::common::RW,
9651 > {
9652 crate::common::RegisterField::<
9653 4,
9654 0x1,
9655 1,
9656 0,
9657 p20pfs::Pcr,
9658 p20pfs::Pcr,
9659 P20Pfs_SPEC,
9660 crate::common::RW,
9661 >::from_register(self, 0)
9662 }
9663
9664 #[doc = "N-Channel Open-Drain Control"]
9665 #[inline(always)]
9666 pub fn ncodr(
9667 self,
9668 ) -> crate::common::RegisterField<
9669 6,
9670 0x1,
9671 1,
9672 0,
9673 p20pfs::Ncodr,
9674 p20pfs::Ncodr,
9675 P20Pfs_SPEC,
9676 crate::common::RW,
9677 > {
9678 crate::common::RegisterField::<
9679 6,
9680 0x1,
9681 1,
9682 0,
9683 p20pfs::Ncodr,
9684 p20pfs::Ncodr,
9685 P20Pfs_SPEC,
9686 crate::common::RW,
9687 >::from_register(self, 0)
9688 }
9689
9690 #[doc = "Event on Falling/Event on Rising"]
9691 #[inline(always)]
9692 pub fn eofr(
9693 self,
9694 ) -> crate::common::RegisterField<
9695 12,
9696 0x3,
9697 1,
9698 0,
9699 p20pfs::Eofr,
9700 p20pfs::Eofr,
9701 P20Pfs_SPEC,
9702 crate::common::RW,
9703 > {
9704 crate::common::RegisterField::<
9705 12,
9706 0x3,
9707 1,
9708 0,
9709 p20pfs::Eofr,
9710 p20pfs::Eofr,
9711 P20Pfs_SPEC,
9712 crate::common::RW,
9713 >::from_register(self, 0)
9714 }
9715
9716 #[doc = "IRQ Input Enable"]
9717 #[inline(always)]
9718 pub fn isel(
9719 self,
9720 ) -> crate::common::RegisterField<
9721 14,
9722 0x1,
9723 1,
9724 0,
9725 p20pfs::Isel,
9726 p20pfs::Isel,
9727 P20Pfs_SPEC,
9728 crate::common::RW,
9729 > {
9730 crate::common::RegisterField::<
9731 14,
9732 0x1,
9733 1,
9734 0,
9735 p20pfs::Isel,
9736 p20pfs::Isel,
9737 P20Pfs_SPEC,
9738 crate::common::RW,
9739 >::from_register(self, 0)
9740 }
9741
9742 #[doc = "Analog Input Enable"]
9743 #[inline(always)]
9744 pub fn asel(
9745 self,
9746 ) -> crate::common::RegisterField<
9747 15,
9748 0x1,
9749 1,
9750 0,
9751 p20pfs::Asel,
9752 p20pfs::Asel,
9753 P20Pfs_SPEC,
9754 crate::common::RW,
9755 > {
9756 crate::common::RegisterField::<
9757 15,
9758 0x1,
9759 1,
9760 0,
9761 p20pfs::Asel,
9762 p20pfs::Asel,
9763 P20Pfs_SPEC,
9764 crate::common::RW,
9765 >::from_register(self, 0)
9766 }
9767
9768 #[doc = "Port Mode Control"]
9769 #[inline(always)]
9770 pub fn pmr(
9771 self,
9772 ) -> crate::common::RegisterField<
9773 16,
9774 0x1,
9775 1,
9776 0,
9777 p20pfs::Pmr,
9778 p20pfs::Pmr,
9779 P20Pfs_SPEC,
9780 crate::common::RW,
9781 > {
9782 crate::common::RegisterField::<
9783 16,
9784 0x1,
9785 1,
9786 0,
9787 p20pfs::Pmr,
9788 p20pfs::Pmr,
9789 P20Pfs_SPEC,
9790 crate::common::RW,
9791 >::from_register(self, 0)
9792 }
9793
9794 #[doc = "Peripheral Select"]
9795 #[inline(always)]
9796 pub fn psel(
9797 self,
9798 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P20Pfs_SPEC, crate::common::RW> {
9799 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P20Pfs_SPEC,crate::common::RW>::from_register(self,0)
9800 }
9801}
9802impl ::core::default::Default for P20Pfs {
9803 #[inline(always)]
9804 fn default() -> P20Pfs {
9805 <crate::RegValueT<P20Pfs_SPEC> as RegisterValue<_>>::new(0)
9806 }
9807}
9808pub mod p20pfs {
9809
9810 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9811 pub struct Podr_SPEC;
9812 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
9813 impl Podr {
9814 #[doc = "Output low"]
9815 pub const _0: Self = Self::new(0);
9816
9817 #[doc = "Output high"]
9818 pub const _1: Self = Self::new(1);
9819 }
9820 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9821 pub struct Pidr_SPEC;
9822 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
9823 impl Pidr {
9824 #[doc = "Low level"]
9825 pub const _0: Self = Self::new(0);
9826
9827 #[doc = "High level"]
9828 pub const _1: Self = Self::new(1);
9829 }
9830 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9831 pub struct Pdr_SPEC;
9832 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
9833 impl Pdr {
9834 #[doc = "Input (functions as an input pin)"]
9835 pub const _0: Self = Self::new(0);
9836
9837 #[doc = "Output (functions as an output pin)"]
9838 pub const _1: Self = Self::new(1);
9839 }
9840 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9841 pub struct Pcr_SPEC;
9842 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
9843 impl Pcr {
9844 #[doc = "Disable input pull-up"]
9845 pub const _0: Self = Self::new(0);
9846
9847 #[doc = "Enable input pull-up"]
9848 pub const _1: Self = Self::new(1);
9849 }
9850 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9851 pub struct Ncodr_SPEC;
9852 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
9853 impl Ncodr {
9854 #[doc = "Output CMOS"]
9855 pub const _0: Self = Self::new(0);
9856
9857 #[doc = "Output NMOS open-drain"]
9858 pub const _1: Self = Self::new(1);
9859 }
9860 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9861 pub struct Eofr_SPEC;
9862 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
9863 impl Eofr {
9864 #[doc = "Don\'t care"]
9865 pub const _00: Self = Self::new(0);
9866
9867 #[doc = "Detect rising edge"]
9868 pub const _01: Self = Self::new(1);
9869
9870 #[doc = "Detect falling edge"]
9871 pub const _10: Self = Self::new(2);
9872
9873 #[doc = "Detect both edges"]
9874 pub const _11: Self = Self::new(3);
9875 }
9876 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9877 pub struct Isel_SPEC;
9878 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
9879 impl Isel {
9880 #[doc = "Do not use as IRQn input pin"]
9881 pub const _0: Self = Self::new(0);
9882
9883 #[doc = "Use as IRQn input pin"]
9884 pub const _1: Self = Self::new(1);
9885 }
9886 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9887 pub struct Asel_SPEC;
9888 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
9889 impl Asel {
9890 #[doc = "Do not use as analog pin"]
9891 pub const _0: Self = Self::new(0);
9892
9893 #[doc = "Use as analog pin"]
9894 pub const _1: Self = Self::new(1);
9895 }
9896 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9897 pub struct Pmr_SPEC;
9898 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
9899 impl Pmr {
9900 #[doc = "Use as general I/O pin"]
9901 pub const _0: Self = Self::new(0);
9902
9903 #[doc = "Use as I/O port for peripheral functions"]
9904 pub const _1: Self = Self::new(1);
9905 }
9906}
9907#[doc(hidden)]
9908#[derive(Copy, Clone, Eq, PartialEq)]
9909pub struct P20PfsHa_SPEC;
9910impl crate::sealed::RegSpec for P20PfsHa_SPEC {
9911 type DataType = u16;
9912}
9913
9914#[doc = "Port 20%s Pin Function Select Register"]
9915pub type P20PfsHa = crate::RegValueT<P20PfsHa_SPEC>;
9916
9917impl P20PfsHa {
9918 #[doc = "Port Output Data"]
9919 #[inline(always)]
9920 pub fn podr(
9921 self,
9922 ) -> crate::common::RegisterField<
9923 0,
9924 0x1,
9925 1,
9926 0,
9927 p20pfs_ha::Podr,
9928 p20pfs_ha::Podr,
9929 P20PfsHa_SPEC,
9930 crate::common::RW,
9931 > {
9932 crate::common::RegisterField::<
9933 0,
9934 0x1,
9935 1,
9936 0,
9937 p20pfs_ha::Podr,
9938 p20pfs_ha::Podr,
9939 P20PfsHa_SPEC,
9940 crate::common::RW,
9941 >::from_register(self, 0)
9942 }
9943
9944 #[doc = "Port State"]
9945 #[inline(always)]
9946 pub fn pidr(
9947 self,
9948 ) -> crate::common::RegisterField<
9949 1,
9950 0x1,
9951 1,
9952 0,
9953 p20pfs_ha::Pidr,
9954 p20pfs_ha::Pidr,
9955 P20PfsHa_SPEC,
9956 crate::common::R,
9957 > {
9958 crate::common::RegisterField::<
9959 1,
9960 0x1,
9961 1,
9962 0,
9963 p20pfs_ha::Pidr,
9964 p20pfs_ha::Pidr,
9965 P20PfsHa_SPEC,
9966 crate::common::R,
9967 >::from_register(self, 0)
9968 }
9969
9970 #[doc = "Port Direction"]
9971 #[inline(always)]
9972 pub fn pdr(
9973 self,
9974 ) -> crate::common::RegisterField<
9975 2,
9976 0x1,
9977 1,
9978 0,
9979 p20pfs_ha::Pdr,
9980 p20pfs_ha::Pdr,
9981 P20PfsHa_SPEC,
9982 crate::common::RW,
9983 > {
9984 crate::common::RegisterField::<
9985 2,
9986 0x1,
9987 1,
9988 0,
9989 p20pfs_ha::Pdr,
9990 p20pfs_ha::Pdr,
9991 P20PfsHa_SPEC,
9992 crate::common::RW,
9993 >::from_register(self, 0)
9994 }
9995
9996 #[doc = "Pull-up Control"]
9997 #[inline(always)]
9998 pub fn pcr(
9999 self,
10000 ) -> crate::common::RegisterField<
10001 4,
10002 0x1,
10003 1,
10004 0,
10005 p20pfs_ha::Pcr,
10006 p20pfs_ha::Pcr,
10007 P20PfsHa_SPEC,
10008 crate::common::RW,
10009 > {
10010 crate::common::RegisterField::<
10011 4,
10012 0x1,
10013 1,
10014 0,
10015 p20pfs_ha::Pcr,
10016 p20pfs_ha::Pcr,
10017 P20PfsHa_SPEC,
10018 crate::common::RW,
10019 >::from_register(self, 0)
10020 }
10021
10022 #[doc = "N-Channel Open-Drain Control"]
10023 #[inline(always)]
10024 pub fn ncodr(
10025 self,
10026 ) -> crate::common::RegisterField<
10027 6,
10028 0x1,
10029 1,
10030 0,
10031 p20pfs_ha::Ncodr,
10032 p20pfs_ha::Ncodr,
10033 P20PfsHa_SPEC,
10034 crate::common::RW,
10035 > {
10036 crate::common::RegisterField::<
10037 6,
10038 0x1,
10039 1,
10040 0,
10041 p20pfs_ha::Ncodr,
10042 p20pfs_ha::Ncodr,
10043 P20PfsHa_SPEC,
10044 crate::common::RW,
10045 >::from_register(self, 0)
10046 }
10047
10048 #[doc = "Event on Falling/Event on Rising"]
10049 #[inline(always)]
10050 pub fn eofr(
10051 self,
10052 ) -> crate::common::RegisterField<
10053 12,
10054 0x3,
10055 1,
10056 0,
10057 p20pfs_ha::Eofr,
10058 p20pfs_ha::Eofr,
10059 P20PfsHa_SPEC,
10060 crate::common::RW,
10061 > {
10062 crate::common::RegisterField::<
10063 12,
10064 0x3,
10065 1,
10066 0,
10067 p20pfs_ha::Eofr,
10068 p20pfs_ha::Eofr,
10069 P20PfsHa_SPEC,
10070 crate::common::RW,
10071 >::from_register(self, 0)
10072 }
10073
10074 #[doc = "IRQ Input Enable"]
10075 #[inline(always)]
10076 pub fn isel(
10077 self,
10078 ) -> crate::common::RegisterField<
10079 14,
10080 0x1,
10081 1,
10082 0,
10083 p20pfs_ha::Isel,
10084 p20pfs_ha::Isel,
10085 P20PfsHa_SPEC,
10086 crate::common::RW,
10087 > {
10088 crate::common::RegisterField::<
10089 14,
10090 0x1,
10091 1,
10092 0,
10093 p20pfs_ha::Isel,
10094 p20pfs_ha::Isel,
10095 P20PfsHa_SPEC,
10096 crate::common::RW,
10097 >::from_register(self, 0)
10098 }
10099
10100 #[doc = "Analog Input Enable"]
10101 #[inline(always)]
10102 pub fn asel(
10103 self,
10104 ) -> crate::common::RegisterField<
10105 15,
10106 0x1,
10107 1,
10108 0,
10109 p20pfs_ha::Asel,
10110 p20pfs_ha::Asel,
10111 P20PfsHa_SPEC,
10112 crate::common::RW,
10113 > {
10114 crate::common::RegisterField::<
10115 15,
10116 0x1,
10117 1,
10118 0,
10119 p20pfs_ha::Asel,
10120 p20pfs_ha::Asel,
10121 P20PfsHa_SPEC,
10122 crate::common::RW,
10123 >::from_register(self, 0)
10124 }
10125}
10126impl ::core::default::Default for P20PfsHa {
10127 #[inline(always)]
10128 fn default() -> P20PfsHa {
10129 <crate::RegValueT<P20PfsHa_SPEC> as RegisterValue<_>>::new(0)
10130 }
10131}
10132pub mod p20pfs_ha {
10133
10134 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10135 pub struct Podr_SPEC;
10136 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10137 impl Podr {
10138 #[doc = "Output low"]
10139 pub const _0: Self = Self::new(0);
10140
10141 #[doc = "Output high"]
10142 pub const _1: Self = Self::new(1);
10143 }
10144 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10145 pub struct Pidr_SPEC;
10146 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10147 impl Pidr {
10148 #[doc = "Low level"]
10149 pub const _0: Self = Self::new(0);
10150
10151 #[doc = "High level"]
10152 pub const _1: Self = Self::new(1);
10153 }
10154 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10155 pub struct Pdr_SPEC;
10156 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10157 impl Pdr {
10158 #[doc = "Input (functions as an input pin)"]
10159 pub const _0: Self = Self::new(0);
10160
10161 #[doc = "Output (functions as an output pin)"]
10162 pub const _1: Self = Self::new(1);
10163 }
10164 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10165 pub struct Pcr_SPEC;
10166 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10167 impl Pcr {
10168 #[doc = "Disable input pull-up"]
10169 pub const _0: Self = Self::new(0);
10170
10171 #[doc = "Enable input pull-up"]
10172 pub const _1: Self = Self::new(1);
10173 }
10174 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10175 pub struct Ncodr_SPEC;
10176 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10177 impl Ncodr {
10178 #[doc = "Output CMOS"]
10179 pub const _0: Self = Self::new(0);
10180
10181 #[doc = "Output NMOS open-drain"]
10182 pub const _1: Self = Self::new(1);
10183 }
10184 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10185 pub struct Eofr_SPEC;
10186 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10187 impl Eofr {
10188 #[doc = "Don\'t care"]
10189 pub const _00: Self = Self::new(0);
10190
10191 #[doc = "Detect rising edge"]
10192 pub const _01: Self = Self::new(1);
10193
10194 #[doc = "Detect falling edge"]
10195 pub const _10: Self = Self::new(2);
10196
10197 #[doc = "Detect both edges"]
10198 pub const _11: Self = Self::new(3);
10199 }
10200 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10201 pub struct Isel_SPEC;
10202 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10203 impl Isel {
10204 #[doc = "Do not use as IRQn input pin"]
10205 pub const _0: Self = Self::new(0);
10206
10207 #[doc = "Use as IRQn input pin"]
10208 pub const _1: Self = Self::new(1);
10209 }
10210 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10211 pub struct Asel_SPEC;
10212 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10213 impl Asel {
10214 #[doc = "Do not use as analog pin"]
10215 pub const _0: Self = Self::new(0);
10216
10217 #[doc = "Use as analog pin"]
10218 pub const _1: Self = Self::new(1);
10219 }
10220}
10221#[doc(hidden)]
10222#[derive(Copy, Clone, Eq, PartialEq)]
10223pub struct P20PfsBy_SPEC;
10224impl crate::sealed::RegSpec for P20PfsBy_SPEC {
10225 type DataType = u8;
10226}
10227
10228#[doc = "Port 20%s Pin Function Select Register"]
10229pub type P20PfsBy = crate::RegValueT<P20PfsBy_SPEC>;
10230
10231impl P20PfsBy {
10232 #[doc = "Port Output Data"]
10233 #[inline(always)]
10234 pub fn podr(
10235 self,
10236 ) -> crate::common::RegisterField<
10237 0,
10238 0x1,
10239 1,
10240 0,
10241 p20pfs_by::Podr,
10242 p20pfs_by::Podr,
10243 P20PfsBy_SPEC,
10244 crate::common::RW,
10245 > {
10246 crate::common::RegisterField::<
10247 0,
10248 0x1,
10249 1,
10250 0,
10251 p20pfs_by::Podr,
10252 p20pfs_by::Podr,
10253 P20PfsBy_SPEC,
10254 crate::common::RW,
10255 >::from_register(self, 0)
10256 }
10257
10258 #[doc = "Port State"]
10259 #[inline(always)]
10260 pub fn pidr(
10261 self,
10262 ) -> crate::common::RegisterField<
10263 1,
10264 0x1,
10265 1,
10266 0,
10267 p20pfs_by::Pidr,
10268 p20pfs_by::Pidr,
10269 P20PfsBy_SPEC,
10270 crate::common::R,
10271 > {
10272 crate::common::RegisterField::<
10273 1,
10274 0x1,
10275 1,
10276 0,
10277 p20pfs_by::Pidr,
10278 p20pfs_by::Pidr,
10279 P20PfsBy_SPEC,
10280 crate::common::R,
10281 >::from_register(self, 0)
10282 }
10283
10284 #[doc = "Port Direction"]
10285 #[inline(always)]
10286 pub fn pdr(
10287 self,
10288 ) -> crate::common::RegisterField<
10289 2,
10290 0x1,
10291 1,
10292 0,
10293 p20pfs_by::Pdr,
10294 p20pfs_by::Pdr,
10295 P20PfsBy_SPEC,
10296 crate::common::RW,
10297 > {
10298 crate::common::RegisterField::<
10299 2,
10300 0x1,
10301 1,
10302 0,
10303 p20pfs_by::Pdr,
10304 p20pfs_by::Pdr,
10305 P20PfsBy_SPEC,
10306 crate::common::RW,
10307 >::from_register(self, 0)
10308 }
10309
10310 #[doc = "Pull-up Control"]
10311 #[inline(always)]
10312 pub fn pcr(
10313 self,
10314 ) -> crate::common::RegisterField<
10315 4,
10316 0x1,
10317 1,
10318 0,
10319 p20pfs_by::Pcr,
10320 p20pfs_by::Pcr,
10321 P20PfsBy_SPEC,
10322 crate::common::RW,
10323 > {
10324 crate::common::RegisterField::<
10325 4,
10326 0x1,
10327 1,
10328 0,
10329 p20pfs_by::Pcr,
10330 p20pfs_by::Pcr,
10331 P20PfsBy_SPEC,
10332 crate::common::RW,
10333 >::from_register(self, 0)
10334 }
10335
10336 #[doc = "N-Channel Open-Drain Control"]
10337 #[inline(always)]
10338 pub fn ncodr(
10339 self,
10340 ) -> crate::common::RegisterField<
10341 6,
10342 0x1,
10343 1,
10344 0,
10345 p20pfs_by::Ncodr,
10346 p20pfs_by::Ncodr,
10347 P20PfsBy_SPEC,
10348 crate::common::RW,
10349 > {
10350 crate::common::RegisterField::<
10351 6,
10352 0x1,
10353 1,
10354 0,
10355 p20pfs_by::Ncodr,
10356 p20pfs_by::Ncodr,
10357 P20PfsBy_SPEC,
10358 crate::common::RW,
10359 >::from_register(self, 0)
10360 }
10361}
10362impl ::core::default::Default for P20PfsBy {
10363 #[inline(always)]
10364 fn default() -> P20PfsBy {
10365 <crate::RegValueT<P20PfsBy_SPEC> as RegisterValue<_>>::new(0)
10366 }
10367}
10368pub mod p20pfs_by {
10369
10370 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10371 pub struct Podr_SPEC;
10372 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10373 impl Podr {
10374 #[doc = "Output low"]
10375 pub const _0: Self = Self::new(0);
10376
10377 #[doc = "Output high"]
10378 pub const _1: Self = Self::new(1);
10379 }
10380 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10381 pub struct Pidr_SPEC;
10382 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10383 impl Pidr {
10384 #[doc = "Low level"]
10385 pub const _0: Self = Self::new(0);
10386
10387 #[doc = "High level"]
10388 pub const _1: Self = Self::new(1);
10389 }
10390 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10391 pub struct Pdr_SPEC;
10392 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10393 impl Pdr {
10394 #[doc = "Input (functions as an input pin)"]
10395 pub const _0: Self = Self::new(0);
10396
10397 #[doc = "Output (functions as an output pin)"]
10398 pub const _1: Self = Self::new(1);
10399 }
10400 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10401 pub struct Pcr_SPEC;
10402 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10403 impl Pcr {
10404 #[doc = "Disable input pull-up"]
10405 pub const _0: Self = Self::new(0);
10406
10407 #[doc = "Enable input pull-up"]
10408 pub const _1: Self = Self::new(1);
10409 }
10410 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10411 pub struct Ncodr_SPEC;
10412 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10413 impl Ncodr {
10414 #[doc = "Output CMOS"]
10415 pub const _0: Self = Self::new(0);
10416
10417 #[doc = "Output NMOS open-drain"]
10418 pub const _1: Self = Self::new(1);
10419 }
10420}
10421#[doc(hidden)]
10422#[derive(Copy, Clone, Eq, PartialEq)]
10423pub struct P2Pfs_SPEC;
10424impl crate::sealed::RegSpec for P2Pfs_SPEC {
10425 type DataType = u32;
10426}
10427
10428#[doc = "Port 2%s Pin Function Select Register"]
10429pub type P2Pfs = crate::RegValueT<P2Pfs_SPEC>;
10430
10431impl P2Pfs {
10432 #[doc = "Port Output Data"]
10433 #[inline(always)]
10434 pub fn podr(
10435 self,
10436 ) -> crate::common::RegisterField<
10437 0,
10438 0x1,
10439 1,
10440 0,
10441 p2pfs::Podr,
10442 p2pfs::Podr,
10443 P2Pfs_SPEC,
10444 crate::common::RW,
10445 > {
10446 crate::common::RegisterField::<
10447 0,
10448 0x1,
10449 1,
10450 0,
10451 p2pfs::Podr,
10452 p2pfs::Podr,
10453 P2Pfs_SPEC,
10454 crate::common::RW,
10455 >::from_register(self, 0)
10456 }
10457
10458 #[doc = "Port State"]
10459 #[inline(always)]
10460 pub fn pidr(
10461 self,
10462 ) -> crate::common::RegisterField<
10463 1,
10464 0x1,
10465 1,
10466 0,
10467 p2pfs::Pidr,
10468 p2pfs::Pidr,
10469 P2Pfs_SPEC,
10470 crate::common::R,
10471 > {
10472 crate::common::RegisterField::<
10473 1,
10474 0x1,
10475 1,
10476 0,
10477 p2pfs::Pidr,
10478 p2pfs::Pidr,
10479 P2Pfs_SPEC,
10480 crate::common::R,
10481 >::from_register(self, 0)
10482 }
10483
10484 #[doc = "Port Direction"]
10485 #[inline(always)]
10486 pub fn pdr(
10487 self,
10488 ) -> crate::common::RegisterField<
10489 2,
10490 0x1,
10491 1,
10492 0,
10493 p2pfs::Pdr,
10494 p2pfs::Pdr,
10495 P2Pfs_SPEC,
10496 crate::common::RW,
10497 > {
10498 crate::common::RegisterField::<
10499 2,
10500 0x1,
10501 1,
10502 0,
10503 p2pfs::Pdr,
10504 p2pfs::Pdr,
10505 P2Pfs_SPEC,
10506 crate::common::RW,
10507 >::from_register(self, 0)
10508 }
10509
10510 #[doc = "Pull-up Control"]
10511 #[inline(always)]
10512 pub fn pcr(
10513 self,
10514 ) -> crate::common::RegisterField<
10515 4,
10516 0x1,
10517 1,
10518 0,
10519 p2pfs::Pcr,
10520 p2pfs::Pcr,
10521 P2Pfs_SPEC,
10522 crate::common::RW,
10523 > {
10524 crate::common::RegisterField::<
10525 4,
10526 0x1,
10527 1,
10528 0,
10529 p2pfs::Pcr,
10530 p2pfs::Pcr,
10531 P2Pfs_SPEC,
10532 crate::common::RW,
10533 >::from_register(self, 0)
10534 }
10535
10536 #[doc = "N-Channel Open-Drain Control"]
10537 #[inline(always)]
10538 pub fn ncodr(
10539 self,
10540 ) -> crate::common::RegisterField<
10541 6,
10542 0x1,
10543 1,
10544 0,
10545 p2pfs::Ncodr,
10546 p2pfs::Ncodr,
10547 P2Pfs_SPEC,
10548 crate::common::RW,
10549 > {
10550 crate::common::RegisterField::<
10551 6,
10552 0x1,
10553 1,
10554 0,
10555 p2pfs::Ncodr,
10556 p2pfs::Ncodr,
10557 P2Pfs_SPEC,
10558 crate::common::RW,
10559 >::from_register(self, 0)
10560 }
10561
10562 #[doc = "Event on Falling/Event on Rising"]
10563 #[inline(always)]
10564 pub fn eofr(
10565 self,
10566 ) -> crate::common::RegisterField<
10567 12,
10568 0x3,
10569 1,
10570 0,
10571 p2pfs::Eofr,
10572 p2pfs::Eofr,
10573 P2Pfs_SPEC,
10574 crate::common::RW,
10575 > {
10576 crate::common::RegisterField::<
10577 12,
10578 0x3,
10579 1,
10580 0,
10581 p2pfs::Eofr,
10582 p2pfs::Eofr,
10583 P2Pfs_SPEC,
10584 crate::common::RW,
10585 >::from_register(self, 0)
10586 }
10587
10588 #[doc = "IRQ Input Enable"]
10589 #[inline(always)]
10590 pub fn isel(
10591 self,
10592 ) -> crate::common::RegisterField<
10593 14,
10594 0x1,
10595 1,
10596 0,
10597 p2pfs::Isel,
10598 p2pfs::Isel,
10599 P2Pfs_SPEC,
10600 crate::common::RW,
10601 > {
10602 crate::common::RegisterField::<
10603 14,
10604 0x1,
10605 1,
10606 0,
10607 p2pfs::Isel,
10608 p2pfs::Isel,
10609 P2Pfs_SPEC,
10610 crate::common::RW,
10611 >::from_register(self, 0)
10612 }
10613
10614 #[doc = "Analog Input Enable"]
10615 #[inline(always)]
10616 pub fn asel(
10617 self,
10618 ) -> crate::common::RegisterField<
10619 15,
10620 0x1,
10621 1,
10622 0,
10623 p2pfs::Asel,
10624 p2pfs::Asel,
10625 P2Pfs_SPEC,
10626 crate::common::RW,
10627 > {
10628 crate::common::RegisterField::<
10629 15,
10630 0x1,
10631 1,
10632 0,
10633 p2pfs::Asel,
10634 p2pfs::Asel,
10635 P2Pfs_SPEC,
10636 crate::common::RW,
10637 >::from_register(self, 0)
10638 }
10639
10640 #[doc = "Port Mode Control"]
10641 #[inline(always)]
10642 pub fn pmr(
10643 self,
10644 ) -> crate::common::RegisterField<
10645 16,
10646 0x1,
10647 1,
10648 0,
10649 p2pfs::Pmr,
10650 p2pfs::Pmr,
10651 P2Pfs_SPEC,
10652 crate::common::RW,
10653 > {
10654 crate::common::RegisterField::<
10655 16,
10656 0x1,
10657 1,
10658 0,
10659 p2pfs::Pmr,
10660 p2pfs::Pmr,
10661 P2Pfs_SPEC,
10662 crate::common::RW,
10663 >::from_register(self, 0)
10664 }
10665
10666 #[doc = "Peripheral Select"]
10667 #[inline(always)]
10668 pub fn psel(
10669 self,
10670 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P2Pfs_SPEC, crate::common::RW> {
10671 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P2Pfs_SPEC,crate::common::RW>::from_register(self,0)
10672 }
10673}
10674impl ::core::default::Default for P2Pfs {
10675 #[inline(always)]
10676 fn default() -> P2Pfs {
10677 <crate::RegValueT<P2Pfs_SPEC> as RegisterValue<_>>::new(0)
10678 }
10679}
10680pub mod p2pfs {
10681
10682 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10683 pub struct Podr_SPEC;
10684 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
10685 impl Podr {
10686 #[doc = "Output low"]
10687 pub const _0: Self = Self::new(0);
10688
10689 #[doc = "Output high"]
10690 pub const _1: Self = Self::new(1);
10691 }
10692 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10693 pub struct Pidr_SPEC;
10694 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
10695 impl Pidr {
10696 #[doc = "Low level"]
10697 pub const _0: Self = Self::new(0);
10698
10699 #[doc = "High level"]
10700 pub const _1: Self = Self::new(1);
10701 }
10702 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10703 pub struct Pdr_SPEC;
10704 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
10705 impl Pdr {
10706 #[doc = "Input (functions as an input pin)"]
10707 pub const _0: Self = Self::new(0);
10708
10709 #[doc = "Output (functions as an output pin)"]
10710 pub const _1: Self = Self::new(1);
10711 }
10712 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10713 pub struct Pcr_SPEC;
10714 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
10715 impl Pcr {
10716 #[doc = "Disable input pull-up"]
10717 pub const _0: Self = Self::new(0);
10718
10719 #[doc = "Enable input pull-up"]
10720 pub const _1: Self = Self::new(1);
10721 }
10722 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10723 pub struct Ncodr_SPEC;
10724 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
10725 impl Ncodr {
10726 #[doc = "Output CMOS"]
10727 pub const _0: Self = Self::new(0);
10728
10729 #[doc = "Output NMOS open-drain"]
10730 pub const _1: Self = Self::new(1);
10731 }
10732 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10733 pub struct Eofr_SPEC;
10734 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
10735 impl Eofr {
10736 #[doc = "Don\'t care"]
10737 pub const _00: Self = Self::new(0);
10738
10739 #[doc = "Detect rising edge"]
10740 pub const _01: Self = Self::new(1);
10741
10742 #[doc = "Detect falling edge"]
10743 pub const _10: Self = Self::new(2);
10744
10745 #[doc = "Detect both edges"]
10746 pub const _11: Self = Self::new(3);
10747 }
10748 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10749 pub struct Isel_SPEC;
10750 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
10751 impl Isel {
10752 #[doc = "Do not use as IRQn input pin"]
10753 pub const _0: Self = Self::new(0);
10754
10755 #[doc = "Use as IRQn input pin"]
10756 pub const _1: Self = Self::new(1);
10757 }
10758 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10759 pub struct Asel_SPEC;
10760 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
10761 impl Asel {
10762 #[doc = "Do not use as analog pin"]
10763 pub const _0: Self = Self::new(0);
10764
10765 #[doc = "Use as analog pin"]
10766 pub const _1: Self = Self::new(1);
10767 }
10768 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
10769 pub struct Pmr_SPEC;
10770 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
10771 impl Pmr {
10772 #[doc = "Use as general I/O pin"]
10773 pub const _0: Self = Self::new(0);
10774
10775 #[doc = "Use as I/O port for peripheral functions"]
10776 pub const _1: Self = Self::new(1);
10777 }
10778}
10779#[doc(hidden)]
10780#[derive(Copy, Clone, Eq, PartialEq)]
10781pub struct P2PfsHa_SPEC;
10782impl crate::sealed::RegSpec for P2PfsHa_SPEC {
10783 type DataType = u16;
10784}
10785
10786#[doc = "Port 2%s Pin Function Select Register"]
10787pub type P2PfsHa = crate::RegValueT<P2PfsHa_SPEC>;
10788
10789impl P2PfsHa {
10790 #[doc = "Port Output Data"]
10791 #[inline(always)]
10792 pub fn podr(
10793 self,
10794 ) -> crate::common::RegisterField<
10795 0,
10796 0x1,
10797 1,
10798 0,
10799 p2pfs_ha::Podr,
10800 p2pfs_ha::Podr,
10801 P2PfsHa_SPEC,
10802 crate::common::RW,
10803 > {
10804 crate::common::RegisterField::<
10805 0,
10806 0x1,
10807 1,
10808 0,
10809 p2pfs_ha::Podr,
10810 p2pfs_ha::Podr,
10811 P2PfsHa_SPEC,
10812 crate::common::RW,
10813 >::from_register(self, 0)
10814 }
10815
10816 #[doc = "Port State"]
10817 #[inline(always)]
10818 pub fn pidr(
10819 self,
10820 ) -> crate::common::RegisterField<
10821 1,
10822 0x1,
10823 1,
10824 0,
10825 p2pfs_ha::Pidr,
10826 p2pfs_ha::Pidr,
10827 P2PfsHa_SPEC,
10828 crate::common::R,
10829 > {
10830 crate::common::RegisterField::<
10831 1,
10832 0x1,
10833 1,
10834 0,
10835 p2pfs_ha::Pidr,
10836 p2pfs_ha::Pidr,
10837 P2PfsHa_SPEC,
10838 crate::common::R,
10839 >::from_register(self, 0)
10840 }
10841
10842 #[doc = "Port Direction"]
10843 #[inline(always)]
10844 pub fn pdr(
10845 self,
10846 ) -> crate::common::RegisterField<
10847 2,
10848 0x1,
10849 1,
10850 0,
10851 p2pfs_ha::Pdr,
10852 p2pfs_ha::Pdr,
10853 P2PfsHa_SPEC,
10854 crate::common::RW,
10855 > {
10856 crate::common::RegisterField::<
10857 2,
10858 0x1,
10859 1,
10860 0,
10861 p2pfs_ha::Pdr,
10862 p2pfs_ha::Pdr,
10863 P2PfsHa_SPEC,
10864 crate::common::RW,
10865 >::from_register(self, 0)
10866 }
10867
10868 #[doc = "Pull-up Control"]
10869 #[inline(always)]
10870 pub fn pcr(
10871 self,
10872 ) -> crate::common::RegisterField<
10873 4,
10874 0x1,
10875 1,
10876 0,
10877 p2pfs_ha::Pcr,
10878 p2pfs_ha::Pcr,
10879 P2PfsHa_SPEC,
10880 crate::common::RW,
10881 > {
10882 crate::common::RegisterField::<
10883 4,
10884 0x1,
10885 1,
10886 0,
10887 p2pfs_ha::Pcr,
10888 p2pfs_ha::Pcr,
10889 P2PfsHa_SPEC,
10890 crate::common::RW,
10891 >::from_register(self, 0)
10892 }
10893
10894 #[doc = "N-Channel Open-Drain Control"]
10895 #[inline(always)]
10896 pub fn ncodr(
10897 self,
10898 ) -> crate::common::RegisterField<
10899 6,
10900 0x1,
10901 1,
10902 0,
10903 p2pfs_ha::Ncodr,
10904 p2pfs_ha::Ncodr,
10905 P2PfsHa_SPEC,
10906 crate::common::RW,
10907 > {
10908 crate::common::RegisterField::<
10909 6,
10910 0x1,
10911 1,
10912 0,
10913 p2pfs_ha::Ncodr,
10914 p2pfs_ha::Ncodr,
10915 P2PfsHa_SPEC,
10916 crate::common::RW,
10917 >::from_register(self, 0)
10918 }
10919
10920 #[doc = "Event on Falling/Event on Rising"]
10921 #[inline(always)]
10922 pub fn eofr(
10923 self,
10924 ) -> crate::common::RegisterField<
10925 12,
10926 0x3,
10927 1,
10928 0,
10929 p2pfs_ha::Eofr,
10930 p2pfs_ha::Eofr,
10931 P2PfsHa_SPEC,
10932 crate::common::RW,
10933 > {
10934 crate::common::RegisterField::<
10935 12,
10936 0x3,
10937 1,
10938 0,
10939 p2pfs_ha::Eofr,
10940 p2pfs_ha::Eofr,
10941 P2PfsHa_SPEC,
10942 crate::common::RW,
10943 >::from_register(self, 0)
10944 }
10945
10946 #[doc = "IRQ Input Enable"]
10947 #[inline(always)]
10948 pub fn isel(
10949 self,
10950 ) -> crate::common::RegisterField<
10951 14,
10952 0x1,
10953 1,
10954 0,
10955 p2pfs_ha::Isel,
10956 p2pfs_ha::Isel,
10957 P2PfsHa_SPEC,
10958 crate::common::RW,
10959 > {
10960 crate::common::RegisterField::<
10961 14,
10962 0x1,
10963 1,
10964 0,
10965 p2pfs_ha::Isel,
10966 p2pfs_ha::Isel,
10967 P2PfsHa_SPEC,
10968 crate::common::RW,
10969 >::from_register(self, 0)
10970 }
10971
10972 #[doc = "Analog Input Enable"]
10973 #[inline(always)]
10974 pub fn asel(
10975 self,
10976 ) -> crate::common::RegisterField<
10977 15,
10978 0x1,
10979 1,
10980 0,
10981 p2pfs_ha::Asel,
10982 p2pfs_ha::Asel,
10983 P2PfsHa_SPEC,
10984 crate::common::RW,
10985 > {
10986 crate::common::RegisterField::<
10987 15,
10988 0x1,
10989 1,
10990 0,
10991 p2pfs_ha::Asel,
10992 p2pfs_ha::Asel,
10993 P2PfsHa_SPEC,
10994 crate::common::RW,
10995 >::from_register(self, 0)
10996 }
10997}
10998impl ::core::default::Default for P2PfsHa {
10999 #[inline(always)]
11000 fn default() -> P2PfsHa {
11001 <crate::RegValueT<P2PfsHa_SPEC> as RegisterValue<_>>::new(0)
11002 }
11003}
11004pub mod p2pfs_ha {
11005
11006 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11007 pub struct Podr_SPEC;
11008 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11009 impl Podr {
11010 #[doc = "Output low"]
11011 pub const _0: Self = Self::new(0);
11012
11013 #[doc = "Output high"]
11014 pub const _1: Self = Self::new(1);
11015 }
11016 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11017 pub struct Pidr_SPEC;
11018 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11019 impl Pidr {
11020 #[doc = "Low level"]
11021 pub const _0: Self = Self::new(0);
11022
11023 #[doc = "High level"]
11024 pub const _1: Self = Self::new(1);
11025 }
11026 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11027 pub struct Pdr_SPEC;
11028 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11029 impl Pdr {
11030 #[doc = "Input (functions as an input pin)"]
11031 pub const _0: Self = Self::new(0);
11032
11033 #[doc = "Output (functions as an output pin)"]
11034 pub const _1: Self = Self::new(1);
11035 }
11036 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11037 pub struct Pcr_SPEC;
11038 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11039 impl Pcr {
11040 #[doc = "Disable input pull-up"]
11041 pub const _0: Self = Self::new(0);
11042
11043 #[doc = "Enable input pull-up"]
11044 pub const _1: Self = Self::new(1);
11045 }
11046 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11047 pub struct Ncodr_SPEC;
11048 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11049 impl Ncodr {
11050 #[doc = "Output CMOS"]
11051 pub const _0: Self = Self::new(0);
11052
11053 #[doc = "Output NMOS open-drain"]
11054 pub const _1: Self = Self::new(1);
11055 }
11056 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11057 pub struct Eofr_SPEC;
11058 pub type Eofr = crate::EnumBitfieldStruct<u8, Eofr_SPEC>;
11059 impl Eofr {
11060 #[doc = "Don\'t care"]
11061 pub const _00: Self = Self::new(0);
11062
11063 #[doc = "Detect rising edge"]
11064 pub const _01: Self = Self::new(1);
11065
11066 #[doc = "Detect falling edge"]
11067 pub const _10: Self = Self::new(2);
11068
11069 #[doc = "Detect both edges"]
11070 pub const _11: Self = Self::new(3);
11071 }
11072 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11073 pub struct Isel_SPEC;
11074 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11075 impl Isel {
11076 #[doc = "Do not use as IRQn input pin"]
11077 pub const _0: Self = Self::new(0);
11078
11079 #[doc = "Use as IRQn input pin"]
11080 pub const _1: Self = Self::new(1);
11081 }
11082 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11083 pub struct Asel_SPEC;
11084 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11085 impl Asel {
11086 #[doc = "Do not use as analog pin"]
11087 pub const _0: Self = Self::new(0);
11088
11089 #[doc = "Use as analog pin"]
11090 pub const _1: Self = Self::new(1);
11091 }
11092}
11093#[doc(hidden)]
11094#[derive(Copy, Clone, Eq, PartialEq)]
11095pub struct P2PfsBy_SPEC;
11096impl crate::sealed::RegSpec for P2PfsBy_SPEC {
11097 type DataType = u8;
11098}
11099
11100#[doc = "Port 2%s Pin Function Select Register"]
11101pub type P2PfsBy = crate::RegValueT<P2PfsBy_SPEC>;
11102
11103impl P2PfsBy {
11104 #[doc = "Port Output Data"]
11105 #[inline(always)]
11106 pub fn podr(
11107 self,
11108 ) -> crate::common::RegisterField<
11109 0,
11110 0x1,
11111 1,
11112 0,
11113 p2pfs_by::Podr,
11114 p2pfs_by::Podr,
11115 P2PfsBy_SPEC,
11116 crate::common::RW,
11117 > {
11118 crate::common::RegisterField::<
11119 0,
11120 0x1,
11121 1,
11122 0,
11123 p2pfs_by::Podr,
11124 p2pfs_by::Podr,
11125 P2PfsBy_SPEC,
11126 crate::common::RW,
11127 >::from_register(self, 0)
11128 }
11129
11130 #[doc = "Port State"]
11131 #[inline(always)]
11132 pub fn pidr(
11133 self,
11134 ) -> crate::common::RegisterField<
11135 1,
11136 0x1,
11137 1,
11138 0,
11139 p2pfs_by::Pidr,
11140 p2pfs_by::Pidr,
11141 P2PfsBy_SPEC,
11142 crate::common::R,
11143 > {
11144 crate::common::RegisterField::<
11145 1,
11146 0x1,
11147 1,
11148 0,
11149 p2pfs_by::Pidr,
11150 p2pfs_by::Pidr,
11151 P2PfsBy_SPEC,
11152 crate::common::R,
11153 >::from_register(self, 0)
11154 }
11155
11156 #[doc = "Port Direction"]
11157 #[inline(always)]
11158 pub fn pdr(
11159 self,
11160 ) -> crate::common::RegisterField<
11161 2,
11162 0x1,
11163 1,
11164 0,
11165 p2pfs_by::Pdr,
11166 p2pfs_by::Pdr,
11167 P2PfsBy_SPEC,
11168 crate::common::RW,
11169 > {
11170 crate::common::RegisterField::<
11171 2,
11172 0x1,
11173 1,
11174 0,
11175 p2pfs_by::Pdr,
11176 p2pfs_by::Pdr,
11177 P2PfsBy_SPEC,
11178 crate::common::RW,
11179 >::from_register(self, 0)
11180 }
11181
11182 #[doc = "Pull-up Control"]
11183 #[inline(always)]
11184 pub fn pcr(
11185 self,
11186 ) -> crate::common::RegisterField<
11187 4,
11188 0x1,
11189 1,
11190 0,
11191 p2pfs_by::Pcr,
11192 p2pfs_by::Pcr,
11193 P2PfsBy_SPEC,
11194 crate::common::RW,
11195 > {
11196 crate::common::RegisterField::<
11197 4,
11198 0x1,
11199 1,
11200 0,
11201 p2pfs_by::Pcr,
11202 p2pfs_by::Pcr,
11203 P2PfsBy_SPEC,
11204 crate::common::RW,
11205 >::from_register(self, 0)
11206 }
11207
11208 #[doc = "N-Channel Open-Drain Control"]
11209 #[inline(always)]
11210 pub fn ncodr(
11211 self,
11212 ) -> crate::common::RegisterField<
11213 6,
11214 0x1,
11215 1,
11216 0,
11217 p2pfs_by::Ncodr,
11218 p2pfs_by::Ncodr,
11219 P2PfsBy_SPEC,
11220 crate::common::RW,
11221 > {
11222 crate::common::RegisterField::<
11223 6,
11224 0x1,
11225 1,
11226 0,
11227 p2pfs_by::Ncodr,
11228 p2pfs_by::Ncodr,
11229 P2PfsBy_SPEC,
11230 crate::common::RW,
11231 >::from_register(self, 0)
11232 }
11233}
11234impl ::core::default::Default for P2PfsBy {
11235 #[inline(always)]
11236 fn default() -> P2PfsBy {
11237 <crate::RegValueT<P2PfsBy_SPEC> as RegisterValue<_>>::new(0)
11238 }
11239}
11240pub mod p2pfs_by {
11241
11242 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11243 pub struct Podr_SPEC;
11244 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11245 impl Podr {
11246 #[doc = "Output low"]
11247 pub const _0: Self = Self::new(0);
11248
11249 #[doc = "Output high"]
11250 pub const _1: Self = Self::new(1);
11251 }
11252 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11253 pub struct Pidr_SPEC;
11254 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11255 impl Pidr {
11256 #[doc = "Low level"]
11257 pub const _0: Self = Self::new(0);
11258
11259 #[doc = "High level"]
11260 pub const _1: Self = Self::new(1);
11261 }
11262 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11263 pub struct Pdr_SPEC;
11264 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11265 impl Pdr {
11266 #[doc = "Input (functions as an input pin)"]
11267 pub const _0: Self = Self::new(0);
11268
11269 #[doc = "Output (functions as an output pin)"]
11270 pub const _1: Self = Self::new(1);
11271 }
11272 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11273 pub struct Pcr_SPEC;
11274 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11275 impl Pcr {
11276 #[doc = "Disable input pull-up"]
11277 pub const _0: Self = Self::new(0);
11278
11279 #[doc = "Enable input pull-up"]
11280 pub const _1: Self = Self::new(1);
11281 }
11282 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11283 pub struct Ncodr_SPEC;
11284 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11285 impl Ncodr {
11286 #[doc = "Output CMOS"]
11287 pub const _0: Self = Self::new(0);
11288
11289 #[doc = "Output NMOS open-drain"]
11290 pub const _1: Self = Self::new(1);
11291 }
11292}
11293#[doc(hidden)]
11294#[derive(Copy, Clone, Eq, PartialEq)]
11295pub struct P300Pfs_SPEC;
11296impl crate::sealed::RegSpec for P300Pfs_SPEC {
11297 type DataType = u32;
11298}
11299
11300#[doc = "Port 300 Pin Function Select Register"]
11301pub type P300Pfs = crate::RegValueT<P300Pfs_SPEC>;
11302
11303impl P300Pfs {
11304 #[doc = "Port Output Data"]
11305 #[inline(always)]
11306 pub fn podr(
11307 self,
11308 ) -> crate::common::RegisterField<
11309 0,
11310 0x1,
11311 1,
11312 0,
11313 p300pfs::Podr,
11314 p300pfs::Podr,
11315 P300Pfs_SPEC,
11316 crate::common::RW,
11317 > {
11318 crate::common::RegisterField::<
11319 0,
11320 0x1,
11321 1,
11322 0,
11323 p300pfs::Podr,
11324 p300pfs::Podr,
11325 P300Pfs_SPEC,
11326 crate::common::RW,
11327 >::from_register(self, 0)
11328 }
11329
11330 #[doc = "Port State"]
11331 #[inline(always)]
11332 pub fn pidr(
11333 self,
11334 ) -> crate::common::RegisterField<
11335 1,
11336 0x1,
11337 1,
11338 0,
11339 p300pfs::Pidr,
11340 p300pfs::Pidr,
11341 P300Pfs_SPEC,
11342 crate::common::R,
11343 > {
11344 crate::common::RegisterField::<
11345 1,
11346 0x1,
11347 1,
11348 0,
11349 p300pfs::Pidr,
11350 p300pfs::Pidr,
11351 P300Pfs_SPEC,
11352 crate::common::R,
11353 >::from_register(self, 0)
11354 }
11355
11356 #[doc = "Port Direction"]
11357 #[inline(always)]
11358 pub fn pdr(
11359 self,
11360 ) -> crate::common::RegisterField<
11361 2,
11362 0x1,
11363 1,
11364 0,
11365 p300pfs::Pdr,
11366 p300pfs::Pdr,
11367 P300Pfs_SPEC,
11368 crate::common::RW,
11369 > {
11370 crate::common::RegisterField::<
11371 2,
11372 0x1,
11373 1,
11374 0,
11375 p300pfs::Pdr,
11376 p300pfs::Pdr,
11377 P300Pfs_SPEC,
11378 crate::common::RW,
11379 >::from_register(self, 0)
11380 }
11381
11382 #[doc = "Pull-up Control"]
11383 #[inline(always)]
11384 pub fn pcr(
11385 self,
11386 ) -> crate::common::RegisterField<
11387 4,
11388 0x1,
11389 1,
11390 0,
11391 p300pfs::Pcr,
11392 p300pfs::Pcr,
11393 P300Pfs_SPEC,
11394 crate::common::RW,
11395 > {
11396 crate::common::RegisterField::<
11397 4,
11398 0x1,
11399 1,
11400 0,
11401 p300pfs::Pcr,
11402 p300pfs::Pcr,
11403 P300Pfs_SPEC,
11404 crate::common::RW,
11405 >::from_register(self, 0)
11406 }
11407
11408 #[doc = "N-Channel Open-Drain Control"]
11409 #[inline(always)]
11410 pub fn ncodr(
11411 self,
11412 ) -> crate::common::RegisterField<
11413 6,
11414 0x1,
11415 1,
11416 0,
11417 p300pfs::Ncodr,
11418 p300pfs::Ncodr,
11419 P300Pfs_SPEC,
11420 crate::common::RW,
11421 > {
11422 crate::common::RegisterField::<
11423 6,
11424 0x1,
11425 1,
11426 0,
11427 p300pfs::Ncodr,
11428 p300pfs::Ncodr,
11429 P300Pfs_SPEC,
11430 crate::common::RW,
11431 >::from_register(self, 0)
11432 }
11433
11434 #[doc = "IRQ Input Enable"]
11435 #[inline(always)]
11436 pub fn isel(
11437 self,
11438 ) -> crate::common::RegisterField<
11439 14,
11440 0x1,
11441 1,
11442 0,
11443 p300pfs::Isel,
11444 p300pfs::Isel,
11445 P300Pfs_SPEC,
11446 crate::common::RW,
11447 > {
11448 crate::common::RegisterField::<
11449 14,
11450 0x1,
11451 1,
11452 0,
11453 p300pfs::Isel,
11454 p300pfs::Isel,
11455 P300Pfs_SPEC,
11456 crate::common::RW,
11457 >::from_register(self, 0)
11458 }
11459
11460 #[doc = "Analog Input Enable"]
11461 #[inline(always)]
11462 pub fn asel(
11463 self,
11464 ) -> crate::common::RegisterField<
11465 15,
11466 0x1,
11467 1,
11468 0,
11469 p300pfs::Asel,
11470 p300pfs::Asel,
11471 P300Pfs_SPEC,
11472 crate::common::RW,
11473 > {
11474 crate::common::RegisterField::<
11475 15,
11476 0x1,
11477 1,
11478 0,
11479 p300pfs::Asel,
11480 p300pfs::Asel,
11481 P300Pfs_SPEC,
11482 crate::common::RW,
11483 >::from_register(self, 0)
11484 }
11485
11486 #[doc = "Port Mode Control"]
11487 #[inline(always)]
11488 pub fn pmr(
11489 self,
11490 ) -> crate::common::RegisterField<
11491 16,
11492 0x1,
11493 1,
11494 0,
11495 p300pfs::Pmr,
11496 p300pfs::Pmr,
11497 P300Pfs_SPEC,
11498 crate::common::RW,
11499 > {
11500 crate::common::RegisterField::<
11501 16,
11502 0x1,
11503 1,
11504 0,
11505 p300pfs::Pmr,
11506 p300pfs::Pmr,
11507 P300Pfs_SPEC,
11508 crate::common::RW,
11509 >::from_register(self, 0)
11510 }
11511
11512 #[doc = "Peripheral Select"]
11513 #[inline(always)]
11514 pub fn psel(
11515 self,
11516 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P300Pfs_SPEC, crate::common::RW> {
11517 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P300Pfs_SPEC,crate::common::RW>::from_register(self,0)
11518 }
11519}
11520impl ::core::default::Default for P300Pfs {
11521 #[inline(always)]
11522 fn default() -> P300Pfs {
11523 <crate::RegValueT<P300Pfs_SPEC> as RegisterValue<_>>::new(65536)
11524 }
11525}
11526pub mod p300pfs {
11527
11528 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11529 pub struct Podr_SPEC;
11530 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11531 impl Podr {
11532 #[doc = "Output low"]
11533 pub const _0: Self = Self::new(0);
11534
11535 #[doc = "Output high"]
11536 pub const _1: Self = Self::new(1);
11537 }
11538 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11539 pub struct Pidr_SPEC;
11540 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11541 impl Pidr {
11542 #[doc = "Low level"]
11543 pub const _0: Self = Self::new(0);
11544
11545 #[doc = "High level"]
11546 pub const _1: Self = Self::new(1);
11547 }
11548 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11549 pub struct Pdr_SPEC;
11550 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11551 impl Pdr {
11552 #[doc = "Input (functions as an input pin)"]
11553 pub const _0: Self = Self::new(0);
11554
11555 #[doc = "Output (functions as an output pin)"]
11556 pub const _1: Self = Self::new(1);
11557 }
11558 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11559 pub struct Pcr_SPEC;
11560 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11561 impl Pcr {
11562 #[doc = "Disable input pull-up"]
11563 pub const _0: Self = Self::new(0);
11564
11565 #[doc = "Enable input pull-up"]
11566 pub const _1: Self = Self::new(1);
11567 }
11568 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11569 pub struct Ncodr_SPEC;
11570 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11571 impl Ncodr {
11572 #[doc = "Output CMOS"]
11573 pub const _0: Self = Self::new(0);
11574
11575 #[doc = "Output NMOS open-drain"]
11576 pub const _1: Self = Self::new(1);
11577 }
11578 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11579 pub struct Isel_SPEC;
11580 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11581 impl Isel {
11582 #[doc = "Do not use as IRQn input pin"]
11583 pub const _0: Self = Self::new(0);
11584
11585 #[doc = "Use as IRQn input pin"]
11586 pub const _1: Self = Self::new(1);
11587 }
11588 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11589 pub struct Asel_SPEC;
11590 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11591 impl Asel {
11592 #[doc = "Do not use as analog pin"]
11593 pub const _0: Self = Self::new(0);
11594
11595 #[doc = "Use as analog pin"]
11596 pub const _1: Self = Self::new(1);
11597 }
11598 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11599 pub struct Pmr_SPEC;
11600 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
11601 impl Pmr {
11602 #[doc = "Use as general I/O pin"]
11603 pub const _0: Self = Self::new(0);
11604
11605 #[doc = "Use as I/O port for peripheral functions"]
11606 pub const _1: Self = Self::new(1);
11607 }
11608}
11609#[doc(hidden)]
11610#[derive(Copy, Clone, Eq, PartialEq)]
11611pub struct P300PfsHa_SPEC;
11612impl crate::sealed::RegSpec for P300PfsHa_SPEC {
11613 type DataType = u16;
11614}
11615
11616#[doc = "Port 300 Pin Function Select Register"]
11617pub type P300PfsHa = crate::RegValueT<P300PfsHa_SPEC>;
11618
11619impl P300PfsHa {
11620 #[doc = "Port Output Data"]
11621 #[inline(always)]
11622 pub fn podr(
11623 self,
11624 ) -> crate::common::RegisterField<
11625 0,
11626 0x1,
11627 1,
11628 0,
11629 p300pfs_ha::Podr,
11630 p300pfs_ha::Podr,
11631 P300PfsHa_SPEC,
11632 crate::common::RW,
11633 > {
11634 crate::common::RegisterField::<
11635 0,
11636 0x1,
11637 1,
11638 0,
11639 p300pfs_ha::Podr,
11640 p300pfs_ha::Podr,
11641 P300PfsHa_SPEC,
11642 crate::common::RW,
11643 >::from_register(self, 0)
11644 }
11645
11646 #[doc = "Port State"]
11647 #[inline(always)]
11648 pub fn pidr(
11649 self,
11650 ) -> crate::common::RegisterField<
11651 1,
11652 0x1,
11653 1,
11654 0,
11655 p300pfs_ha::Pidr,
11656 p300pfs_ha::Pidr,
11657 P300PfsHa_SPEC,
11658 crate::common::R,
11659 > {
11660 crate::common::RegisterField::<
11661 1,
11662 0x1,
11663 1,
11664 0,
11665 p300pfs_ha::Pidr,
11666 p300pfs_ha::Pidr,
11667 P300PfsHa_SPEC,
11668 crate::common::R,
11669 >::from_register(self, 0)
11670 }
11671
11672 #[doc = "Port Direction"]
11673 #[inline(always)]
11674 pub fn pdr(
11675 self,
11676 ) -> crate::common::RegisterField<
11677 2,
11678 0x1,
11679 1,
11680 0,
11681 p300pfs_ha::Pdr,
11682 p300pfs_ha::Pdr,
11683 P300PfsHa_SPEC,
11684 crate::common::RW,
11685 > {
11686 crate::common::RegisterField::<
11687 2,
11688 0x1,
11689 1,
11690 0,
11691 p300pfs_ha::Pdr,
11692 p300pfs_ha::Pdr,
11693 P300PfsHa_SPEC,
11694 crate::common::RW,
11695 >::from_register(self, 0)
11696 }
11697
11698 #[doc = "Pull-up Control"]
11699 #[inline(always)]
11700 pub fn pcr(
11701 self,
11702 ) -> crate::common::RegisterField<
11703 4,
11704 0x1,
11705 1,
11706 0,
11707 p300pfs_ha::Pcr,
11708 p300pfs_ha::Pcr,
11709 P300PfsHa_SPEC,
11710 crate::common::RW,
11711 > {
11712 crate::common::RegisterField::<
11713 4,
11714 0x1,
11715 1,
11716 0,
11717 p300pfs_ha::Pcr,
11718 p300pfs_ha::Pcr,
11719 P300PfsHa_SPEC,
11720 crate::common::RW,
11721 >::from_register(self, 0)
11722 }
11723
11724 #[doc = "N-Channel Open-Drain Control"]
11725 #[inline(always)]
11726 pub fn ncodr(
11727 self,
11728 ) -> crate::common::RegisterField<
11729 6,
11730 0x1,
11731 1,
11732 0,
11733 p300pfs_ha::Ncodr,
11734 p300pfs_ha::Ncodr,
11735 P300PfsHa_SPEC,
11736 crate::common::RW,
11737 > {
11738 crate::common::RegisterField::<
11739 6,
11740 0x1,
11741 1,
11742 0,
11743 p300pfs_ha::Ncodr,
11744 p300pfs_ha::Ncodr,
11745 P300PfsHa_SPEC,
11746 crate::common::RW,
11747 >::from_register(self, 0)
11748 }
11749
11750 #[doc = "IRQ Input Enable"]
11751 #[inline(always)]
11752 pub fn isel(
11753 self,
11754 ) -> crate::common::RegisterField<
11755 14,
11756 0x1,
11757 1,
11758 0,
11759 p300pfs_ha::Isel,
11760 p300pfs_ha::Isel,
11761 P300PfsHa_SPEC,
11762 crate::common::RW,
11763 > {
11764 crate::common::RegisterField::<
11765 14,
11766 0x1,
11767 1,
11768 0,
11769 p300pfs_ha::Isel,
11770 p300pfs_ha::Isel,
11771 P300PfsHa_SPEC,
11772 crate::common::RW,
11773 >::from_register(self, 0)
11774 }
11775
11776 #[doc = "Analog Input Enable"]
11777 #[inline(always)]
11778 pub fn asel(
11779 self,
11780 ) -> crate::common::RegisterField<
11781 15,
11782 0x1,
11783 1,
11784 0,
11785 p300pfs_ha::Asel,
11786 p300pfs_ha::Asel,
11787 P300PfsHa_SPEC,
11788 crate::common::RW,
11789 > {
11790 crate::common::RegisterField::<
11791 15,
11792 0x1,
11793 1,
11794 0,
11795 p300pfs_ha::Asel,
11796 p300pfs_ha::Asel,
11797 P300PfsHa_SPEC,
11798 crate::common::RW,
11799 >::from_register(self, 0)
11800 }
11801}
11802impl ::core::default::Default for P300PfsHa {
11803 #[inline(always)]
11804 fn default() -> P300PfsHa {
11805 <crate::RegValueT<P300PfsHa_SPEC> as RegisterValue<_>>::new(0)
11806 }
11807}
11808pub mod p300pfs_ha {
11809
11810 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11811 pub struct Podr_SPEC;
11812 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
11813 impl Podr {
11814 #[doc = "Output low"]
11815 pub const _0: Self = Self::new(0);
11816
11817 #[doc = "Output high"]
11818 pub const _1: Self = Self::new(1);
11819 }
11820 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11821 pub struct Pidr_SPEC;
11822 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
11823 impl Pidr {
11824 #[doc = "Low level"]
11825 pub const _0: Self = Self::new(0);
11826
11827 #[doc = "High level"]
11828 pub const _1: Self = Self::new(1);
11829 }
11830 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11831 pub struct Pdr_SPEC;
11832 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
11833 impl Pdr {
11834 #[doc = "Input (functions as an input pin)"]
11835 pub const _0: Self = Self::new(0);
11836
11837 #[doc = "Output (functions as an output pin)"]
11838 pub const _1: Self = Self::new(1);
11839 }
11840 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11841 pub struct Pcr_SPEC;
11842 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
11843 impl Pcr {
11844 #[doc = "Disable input pull-up"]
11845 pub const _0: Self = Self::new(0);
11846
11847 #[doc = "Enable input pull-up"]
11848 pub const _1: Self = Self::new(1);
11849 }
11850 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11851 pub struct Ncodr_SPEC;
11852 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
11853 impl Ncodr {
11854 #[doc = "Output CMOS"]
11855 pub const _0: Self = Self::new(0);
11856
11857 #[doc = "Output NMOS open-drain"]
11858 pub const _1: Self = Self::new(1);
11859 }
11860 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11861 pub struct Isel_SPEC;
11862 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
11863 impl Isel {
11864 #[doc = "Do not use as IRQn input pin"]
11865 pub const _0: Self = Self::new(0);
11866
11867 #[doc = "Use as IRQn input pin"]
11868 pub const _1: Self = Self::new(1);
11869 }
11870 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
11871 pub struct Asel_SPEC;
11872 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
11873 impl Asel {
11874 #[doc = "Do not use as analog pin"]
11875 pub const _0: Self = Self::new(0);
11876
11877 #[doc = "Use as analog pin"]
11878 pub const _1: Self = Self::new(1);
11879 }
11880}
11881#[doc(hidden)]
11882#[derive(Copy, Clone, Eq, PartialEq)]
11883pub struct P300PfsBy_SPEC;
11884impl crate::sealed::RegSpec for P300PfsBy_SPEC {
11885 type DataType = u8;
11886}
11887
11888#[doc = "Port 300 Pin Function Select Register"]
11889pub type P300PfsBy = crate::RegValueT<P300PfsBy_SPEC>;
11890
11891impl P300PfsBy {
11892 #[doc = "Port Output Data"]
11893 #[inline(always)]
11894 pub fn podr(
11895 self,
11896 ) -> crate::common::RegisterField<
11897 0,
11898 0x1,
11899 1,
11900 0,
11901 p300pfs_by::Podr,
11902 p300pfs_by::Podr,
11903 P300PfsBy_SPEC,
11904 crate::common::RW,
11905 > {
11906 crate::common::RegisterField::<
11907 0,
11908 0x1,
11909 1,
11910 0,
11911 p300pfs_by::Podr,
11912 p300pfs_by::Podr,
11913 P300PfsBy_SPEC,
11914 crate::common::RW,
11915 >::from_register(self, 0)
11916 }
11917
11918 #[doc = "Port State"]
11919 #[inline(always)]
11920 pub fn pidr(
11921 self,
11922 ) -> crate::common::RegisterField<
11923 1,
11924 0x1,
11925 1,
11926 0,
11927 p300pfs_by::Pidr,
11928 p300pfs_by::Pidr,
11929 P300PfsBy_SPEC,
11930 crate::common::R,
11931 > {
11932 crate::common::RegisterField::<
11933 1,
11934 0x1,
11935 1,
11936 0,
11937 p300pfs_by::Pidr,
11938 p300pfs_by::Pidr,
11939 P300PfsBy_SPEC,
11940 crate::common::R,
11941 >::from_register(self, 0)
11942 }
11943
11944 #[doc = "Port Direction"]
11945 #[inline(always)]
11946 pub fn pdr(
11947 self,
11948 ) -> crate::common::RegisterField<
11949 2,
11950 0x1,
11951 1,
11952 0,
11953 p300pfs_by::Pdr,
11954 p300pfs_by::Pdr,
11955 P300PfsBy_SPEC,
11956 crate::common::RW,
11957 > {
11958 crate::common::RegisterField::<
11959 2,
11960 0x1,
11961 1,
11962 0,
11963 p300pfs_by::Pdr,
11964 p300pfs_by::Pdr,
11965 P300PfsBy_SPEC,
11966 crate::common::RW,
11967 >::from_register(self, 0)
11968 }
11969
11970 #[doc = "Pull-up Control"]
11971 #[inline(always)]
11972 pub fn pcr(
11973 self,
11974 ) -> crate::common::RegisterField<
11975 4,
11976 0x1,
11977 1,
11978 0,
11979 p300pfs_by::Pcr,
11980 p300pfs_by::Pcr,
11981 P300PfsBy_SPEC,
11982 crate::common::RW,
11983 > {
11984 crate::common::RegisterField::<
11985 4,
11986 0x1,
11987 1,
11988 0,
11989 p300pfs_by::Pcr,
11990 p300pfs_by::Pcr,
11991 P300PfsBy_SPEC,
11992 crate::common::RW,
11993 >::from_register(self, 0)
11994 }
11995
11996 #[doc = "N-Channel Open-Drain Control"]
11997 #[inline(always)]
11998 pub fn ncodr(
11999 self,
12000 ) -> crate::common::RegisterField<
12001 6,
12002 0x1,
12003 1,
12004 0,
12005 p300pfs_by::Ncodr,
12006 p300pfs_by::Ncodr,
12007 P300PfsBy_SPEC,
12008 crate::common::RW,
12009 > {
12010 crate::common::RegisterField::<
12011 6,
12012 0x1,
12013 1,
12014 0,
12015 p300pfs_by::Ncodr,
12016 p300pfs_by::Ncodr,
12017 P300PfsBy_SPEC,
12018 crate::common::RW,
12019 >::from_register(self, 0)
12020 }
12021}
12022impl ::core::default::Default for P300PfsBy {
12023 #[inline(always)]
12024 fn default() -> P300PfsBy {
12025 <crate::RegValueT<P300PfsBy_SPEC> as RegisterValue<_>>::new(0)
12026 }
12027}
12028pub mod p300pfs_by {
12029
12030 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12031 pub struct Podr_SPEC;
12032 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12033 impl Podr {
12034 #[doc = "Output low"]
12035 pub const _0: Self = Self::new(0);
12036
12037 #[doc = "Output high"]
12038 pub const _1: Self = Self::new(1);
12039 }
12040 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12041 pub struct Pidr_SPEC;
12042 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12043 impl Pidr {
12044 #[doc = "Low level"]
12045 pub const _0: Self = Self::new(0);
12046
12047 #[doc = "High level"]
12048 pub const _1: Self = Self::new(1);
12049 }
12050 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12051 pub struct Pdr_SPEC;
12052 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12053 impl Pdr {
12054 #[doc = "Input (functions as an input pin)"]
12055 pub const _0: Self = Self::new(0);
12056
12057 #[doc = "Output (functions as an output pin)"]
12058 pub const _1: Self = Self::new(1);
12059 }
12060 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12061 pub struct Pcr_SPEC;
12062 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12063 impl Pcr {
12064 #[doc = "Disable input pull-up"]
12065 pub const _0: Self = Self::new(0);
12066
12067 #[doc = "Enable input pull-up"]
12068 pub const _1: Self = Self::new(1);
12069 }
12070 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12071 pub struct Ncodr_SPEC;
12072 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12073 impl Ncodr {
12074 #[doc = "Output CMOS"]
12075 pub const _0: Self = Self::new(0);
12076
12077 #[doc = "Output NMOS open-drain"]
12078 pub const _1: Self = Self::new(1);
12079 }
12080}
12081#[doc(hidden)]
12082#[derive(Copy, Clone, Eq, PartialEq)]
12083pub struct P30Pfs_SPEC;
12084impl crate::sealed::RegSpec for P30Pfs_SPEC {
12085 type DataType = u32;
12086}
12087
12088#[doc = "Port 30%s Pin Function Select Register"]
12089pub type P30Pfs = crate::RegValueT<P30Pfs_SPEC>;
12090
12091impl P30Pfs {
12092 #[doc = "Port Output Data"]
12093 #[inline(always)]
12094 pub fn podr(
12095 self,
12096 ) -> crate::common::RegisterField<
12097 0,
12098 0x1,
12099 1,
12100 0,
12101 p30pfs::Podr,
12102 p30pfs::Podr,
12103 P30Pfs_SPEC,
12104 crate::common::RW,
12105 > {
12106 crate::common::RegisterField::<
12107 0,
12108 0x1,
12109 1,
12110 0,
12111 p30pfs::Podr,
12112 p30pfs::Podr,
12113 P30Pfs_SPEC,
12114 crate::common::RW,
12115 >::from_register(self, 0)
12116 }
12117
12118 #[doc = "Port State"]
12119 #[inline(always)]
12120 pub fn pidr(
12121 self,
12122 ) -> crate::common::RegisterField<
12123 1,
12124 0x1,
12125 1,
12126 0,
12127 p30pfs::Pidr,
12128 p30pfs::Pidr,
12129 P30Pfs_SPEC,
12130 crate::common::R,
12131 > {
12132 crate::common::RegisterField::<
12133 1,
12134 0x1,
12135 1,
12136 0,
12137 p30pfs::Pidr,
12138 p30pfs::Pidr,
12139 P30Pfs_SPEC,
12140 crate::common::R,
12141 >::from_register(self, 0)
12142 }
12143
12144 #[doc = "Port Direction"]
12145 #[inline(always)]
12146 pub fn pdr(
12147 self,
12148 ) -> crate::common::RegisterField<
12149 2,
12150 0x1,
12151 1,
12152 0,
12153 p30pfs::Pdr,
12154 p30pfs::Pdr,
12155 P30Pfs_SPEC,
12156 crate::common::RW,
12157 > {
12158 crate::common::RegisterField::<
12159 2,
12160 0x1,
12161 1,
12162 0,
12163 p30pfs::Pdr,
12164 p30pfs::Pdr,
12165 P30Pfs_SPEC,
12166 crate::common::RW,
12167 >::from_register(self, 0)
12168 }
12169
12170 #[doc = "Pull-up Control"]
12171 #[inline(always)]
12172 pub fn pcr(
12173 self,
12174 ) -> crate::common::RegisterField<
12175 4,
12176 0x1,
12177 1,
12178 0,
12179 p30pfs::Pcr,
12180 p30pfs::Pcr,
12181 P30Pfs_SPEC,
12182 crate::common::RW,
12183 > {
12184 crate::common::RegisterField::<
12185 4,
12186 0x1,
12187 1,
12188 0,
12189 p30pfs::Pcr,
12190 p30pfs::Pcr,
12191 P30Pfs_SPEC,
12192 crate::common::RW,
12193 >::from_register(self, 0)
12194 }
12195
12196 #[doc = "N-Channel Open-Drain Control"]
12197 #[inline(always)]
12198 pub fn ncodr(
12199 self,
12200 ) -> crate::common::RegisterField<
12201 6,
12202 0x1,
12203 1,
12204 0,
12205 p30pfs::Ncodr,
12206 p30pfs::Ncodr,
12207 P30Pfs_SPEC,
12208 crate::common::RW,
12209 > {
12210 crate::common::RegisterField::<
12211 6,
12212 0x1,
12213 1,
12214 0,
12215 p30pfs::Ncodr,
12216 p30pfs::Ncodr,
12217 P30Pfs_SPEC,
12218 crate::common::RW,
12219 >::from_register(self, 0)
12220 }
12221
12222 #[doc = "IRQ Input Enable"]
12223 #[inline(always)]
12224 pub fn isel(
12225 self,
12226 ) -> crate::common::RegisterField<
12227 14,
12228 0x1,
12229 1,
12230 0,
12231 p30pfs::Isel,
12232 p30pfs::Isel,
12233 P30Pfs_SPEC,
12234 crate::common::RW,
12235 > {
12236 crate::common::RegisterField::<
12237 14,
12238 0x1,
12239 1,
12240 0,
12241 p30pfs::Isel,
12242 p30pfs::Isel,
12243 P30Pfs_SPEC,
12244 crate::common::RW,
12245 >::from_register(self, 0)
12246 }
12247
12248 #[doc = "Analog Input Enable"]
12249 #[inline(always)]
12250 pub fn asel(
12251 self,
12252 ) -> crate::common::RegisterField<
12253 15,
12254 0x1,
12255 1,
12256 0,
12257 p30pfs::Asel,
12258 p30pfs::Asel,
12259 P30Pfs_SPEC,
12260 crate::common::RW,
12261 > {
12262 crate::common::RegisterField::<
12263 15,
12264 0x1,
12265 1,
12266 0,
12267 p30pfs::Asel,
12268 p30pfs::Asel,
12269 P30Pfs_SPEC,
12270 crate::common::RW,
12271 >::from_register(self, 0)
12272 }
12273
12274 #[doc = "Port Mode Control"]
12275 #[inline(always)]
12276 pub fn pmr(
12277 self,
12278 ) -> crate::common::RegisterField<
12279 16,
12280 0x1,
12281 1,
12282 0,
12283 p30pfs::Pmr,
12284 p30pfs::Pmr,
12285 P30Pfs_SPEC,
12286 crate::common::RW,
12287 > {
12288 crate::common::RegisterField::<
12289 16,
12290 0x1,
12291 1,
12292 0,
12293 p30pfs::Pmr,
12294 p30pfs::Pmr,
12295 P30Pfs_SPEC,
12296 crate::common::RW,
12297 >::from_register(self, 0)
12298 }
12299
12300 #[doc = "Peripheral Select"]
12301 #[inline(always)]
12302 pub fn psel(
12303 self,
12304 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P30Pfs_SPEC, crate::common::RW> {
12305 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P30Pfs_SPEC,crate::common::RW>::from_register(self,0)
12306 }
12307}
12308impl ::core::default::Default for P30Pfs {
12309 #[inline(always)]
12310 fn default() -> P30Pfs {
12311 <crate::RegValueT<P30Pfs_SPEC> as RegisterValue<_>>::new(0)
12312 }
12313}
12314pub mod p30pfs {
12315
12316 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12317 pub struct Podr_SPEC;
12318 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12319 impl Podr {
12320 #[doc = "Output low"]
12321 pub const _0: Self = Self::new(0);
12322
12323 #[doc = "Output high"]
12324 pub const _1: Self = Self::new(1);
12325 }
12326 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12327 pub struct Pidr_SPEC;
12328 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12329 impl Pidr {
12330 #[doc = "Low level"]
12331 pub const _0: Self = Self::new(0);
12332
12333 #[doc = "High level"]
12334 pub const _1: Self = Self::new(1);
12335 }
12336 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12337 pub struct Pdr_SPEC;
12338 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12339 impl Pdr {
12340 #[doc = "Input (functions as an input pin)"]
12341 pub const _0: Self = Self::new(0);
12342
12343 #[doc = "Output (functions as an output pin)"]
12344 pub const _1: Self = Self::new(1);
12345 }
12346 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12347 pub struct Pcr_SPEC;
12348 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12349 impl Pcr {
12350 #[doc = "Disable input pull-up"]
12351 pub const _0: Self = Self::new(0);
12352
12353 #[doc = "Enable input pull-up"]
12354 pub const _1: Self = Self::new(1);
12355 }
12356 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12357 pub struct Ncodr_SPEC;
12358 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12359 impl Ncodr {
12360 #[doc = "Output CMOS"]
12361 pub const _0: Self = Self::new(0);
12362
12363 #[doc = "Output NMOS open-drain"]
12364 pub const _1: Self = Self::new(1);
12365 }
12366 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12367 pub struct Isel_SPEC;
12368 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12369 impl Isel {
12370 #[doc = "Do not use as IRQn input pin"]
12371 pub const _0: Self = Self::new(0);
12372
12373 #[doc = "Use as IRQn input pin"]
12374 pub const _1: Self = Self::new(1);
12375 }
12376 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12377 pub struct Asel_SPEC;
12378 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12379 impl Asel {
12380 #[doc = "Do not use as analog pin"]
12381 pub const _0: Self = Self::new(0);
12382
12383 #[doc = "Use as analog pin"]
12384 pub const _1: Self = Self::new(1);
12385 }
12386 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12387 pub struct Pmr_SPEC;
12388 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
12389 impl Pmr {
12390 #[doc = "Use as general I/O pin"]
12391 pub const _0: Self = Self::new(0);
12392
12393 #[doc = "Use as I/O port for peripheral functions"]
12394 pub const _1: Self = Self::new(1);
12395 }
12396}
12397#[doc(hidden)]
12398#[derive(Copy, Clone, Eq, PartialEq)]
12399pub struct P30PfsHa_SPEC;
12400impl crate::sealed::RegSpec for P30PfsHa_SPEC {
12401 type DataType = u16;
12402}
12403
12404#[doc = "Port 30%s Pin Function Select Register"]
12405pub type P30PfsHa = crate::RegValueT<P30PfsHa_SPEC>;
12406
12407impl P30PfsHa {
12408 #[doc = "Port Output Data"]
12409 #[inline(always)]
12410 pub fn podr(
12411 self,
12412 ) -> crate::common::RegisterField<
12413 0,
12414 0x1,
12415 1,
12416 0,
12417 p30pfs_ha::Podr,
12418 p30pfs_ha::Podr,
12419 P30PfsHa_SPEC,
12420 crate::common::RW,
12421 > {
12422 crate::common::RegisterField::<
12423 0,
12424 0x1,
12425 1,
12426 0,
12427 p30pfs_ha::Podr,
12428 p30pfs_ha::Podr,
12429 P30PfsHa_SPEC,
12430 crate::common::RW,
12431 >::from_register(self, 0)
12432 }
12433
12434 #[doc = "Port State"]
12435 #[inline(always)]
12436 pub fn pidr(
12437 self,
12438 ) -> crate::common::RegisterField<
12439 1,
12440 0x1,
12441 1,
12442 0,
12443 p30pfs_ha::Pidr,
12444 p30pfs_ha::Pidr,
12445 P30PfsHa_SPEC,
12446 crate::common::R,
12447 > {
12448 crate::common::RegisterField::<
12449 1,
12450 0x1,
12451 1,
12452 0,
12453 p30pfs_ha::Pidr,
12454 p30pfs_ha::Pidr,
12455 P30PfsHa_SPEC,
12456 crate::common::R,
12457 >::from_register(self, 0)
12458 }
12459
12460 #[doc = "Port Direction"]
12461 #[inline(always)]
12462 pub fn pdr(
12463 self,
12464 ) -> crate::common::RegisterField<
12465 2,
12466 0x1,
12467 1,
12468 0,
12469 p30pfs_ha::Pdr,
12470 p30pfs_ha::Pdr,
12471 P30PfsHa_SPEC,
12472 crate::common::RW,
12473 > {
12474 crate::common::RegisterField::<
12475 2,
12476 0x1,
12477 1,
12478 0,
12479 p30pfs_ha::Pdr,
12480 p30pfs_ha::Pdr,
12481 P30PfsHa_SPEC,
12482 crate::common::RW,
12483 >::from_register(self, 0)
12484 }
12485
12486 #[doc = "Pull-up Control"]
12487 #[inline(always)]
12488 pub fn pcr(
12489 self,
12490 ) -> crate::common::RegisterField<
12491 4,
12492 0x1,
12493 1,
12494 0,
12495 p30pfs_ha::Pcr,
12496 p30pfs_ha::Pcr,
12497 P30PfsHa_SPEC,
12498 crate::common::RW,
12499 > {
12500 crate::common::RegisterField::<
12501 4,
12502 0x1,
12503 1,
12504 0,
12505 p30pfs_ha::Pcr,
12506 p30pfs_ha::Pcr,
12507 P30PfsHa_SPEC,
12508 crate::common::RW,
12509 >::from_register(self, 0)
12510 }
12511
12512 #[doc = "N-Channel Open-Drain Control"]
12513 #[inline(always)]
12514 pub fn ncodr(
12515 self,
12516 ) -> crate::common::RegisterField<
12517 6,
12518 0x1,
12519 1,
12520 0,
12521 p30pfs_ha::Ncodr,
12522 p30pfs_ha::Ncodr,
12523 P30PfsHa_SPEC,
12524 crate::common::RW,
12525 > {
12526 crate::common::RegisterField::<
12527 6,
12528 0x1,
12529 1,
12530 0,
12531 p30pfs_ha::Ncodr,
12532 p30pfs_ha::Ncodr,
12533 P30PfsHa_SPEC,
12534 crate::common::RW,
12535 >::from_register(self, 0)
12536 }
12537
12538 #[doc = "IRQ Input Enable"]
12539 #[inline(always)]
12540 pub fn isel(
12541 self,
12542 ) -> crate::common::RegisterField<
12543 14,
12544 0x1,
12545 1,
12546 0,
12547 p30pfs_ha::Isel,
12548 p30pfs_ha::Isel,
12549 P30PfsHa_SPEC,
12550 crate::common::RW,
12551 > {
12552 crate::common::RegisterField::<
12553 14,
12554 0x1,
12555 1,
12556 0,
12557 p30pfs_ha::Isel,
12558 p30pfs_ha::Isel,
12559 P30PfsHa_SPEC,
12560 crate::common::RW,
12561 >::from_register(self, 0)
12562 }
12563
12564 #[doc = "Analog Input Enable"]
12565 #[inline(always)]
12566 pub fn asel(
12567 self,
12568 ) -> crate::common::RegisterField<
12569 15,
12570 0x1,
12571 1,
12572 0,
12573 p30pfs_ha::Asel,
12574 p30pfs_ha::Asel,
12575 P30PfsHa_SPEC,
12576 crate::common::RW,
12577 > {
12578 crate::common::RegisterField::<
12579 15,
12580 0x1,
12581 1,
12582 0,
12583 p30pfs_ha::Asel,
12584 p30pfs_ha::Asel,
12585 P30PfsHa_SPEC,
12586 crate::common::RW,
12587 >::from_register(self, 0)
12588 }
12589}
12590impl ::core::default::Default for P30PfsHa {
12591 #[inline(always)]
12592 fn default() -> P30PfsHa {
12593 <crate::RegValueT<P30PfsHa_SPEC> as RegisterValue<_>>::new(0)
12594 }
12595}
12596pub mod p30pfs_ha {
12597
12598 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12599 pub struct Podr_SPEC;
12600 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12601 impl Podr {
12602 #[doc = "Output low"]
12603 pub const _0: Self = Self::new(0);
12604
12605 #[doc = "Output high"]
12606 pub const _1: Self = Self::new(1);
12607 }
12608 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12609 pub struct Pidr_SPEC;
12610 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12611 impl Pidr {
12612 #[doc = "Low level"]
12613 pub const _0: Self = Self::new(0);
12614
12615 #[doc = "High level"]
12616 pub const _1: Self = Self::new(1);
12617 }
12618 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12619 pub struct Pdr_SPEC;
12620 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12621 impl Pdr {
12622 #[doc = "Input (functions as an input pin)"]
12623 pub const _0: Self = Self::new(0);
12624
12625 #[doc = "Output (functions as an output pin)"]
12626 pub const _1: Self = Self::new(1);
12627 }
12628 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12629 pub struct Pcr_SPEC;
12630 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12631 impl Pcr {
12632 #[doc = "Disable input pull-up"]
12633 pub const _0: Self = Self::new(0);
12634
12635 #[doc = "Enable input pull-up"]
12636 pub const _1: Self = Self::new(1);
12637 }
12638 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12639 pub struct Ncodr_SPEC;
12640 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12641 impl Ncodr {
12642 #[doc = "Output CMOS"]
12643 pub const _0: Self = Self::new(0);
12644
12645 #[doc = "Output NMOS open-drain"]
12646 pub const _1: Self = Self::new(1);
12647 }
12648 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12649 pub struct Isel_SPEC;
12650 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
12651 impl Isel {
12652 #[doc = "Do not use as IRQn input pin"]
12653 pub const _0: Self = Self::new(0);
12654
12655 #[doc = "Use as IRQn input pin"]
12656 pub const _1: Self = Self::new(1);
12657 }
12658 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12659 pub struct Asel_SPEC;
12660 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
12661 impl Asel {
12662 #[doc = "Do not use as analog pin"]
12663 pub const _0: Self = Self::new(0);
12664
12665 #[doc = "Use as analog pin"]
12666 pub const _1: Self = Self::new(1);
12667 }
12668}
12669#[doc(hidden)]
12670#[derive(Copy, Clone, Eq, PartialEq)]
12671pub struct P30PfsBy_SPEC;
12672impl crate::sealed::RegSpec for P30PfsBy_SPEC {
12673 type DataType = u8;
12674}
12675
12676#[doc = "Port 30%s Pin Function Select Register"]
12677pub type P30PfsBy = crate::RegValueT<P30PfsBy_SPEC>;
12678
12679impl P30PfsBy {
12680 #[doc = "Port Output Data"]
12681 #[inline(always)]
12682 pub fn podr(
12683 self,
12684 ) -> crate::common::RegisterField<
12685 0,
12686 0x1,
12687 1,
12688 0,
12689 p30pfs_by::Podr,
12690 p30pfs_by::Podr,
12691 P30PfsBy_SPEC,
12692 crate::common::RW,
12693 > {
12694 crate::common::RegisterField::<
12695 0,
12696 0x1,
12697 1,
12698 0,
12699 p30pfs_by::Podr,
12700 p30pfs_by::Podr,
12701 P30PfsBy_SPEC,
12702 crate::common::RW,
12703 >::from_register(self, 0)
12704 }
12705
12706 #[doc = "Port State"]
12707 #[inline(always)]
12708 pub fn pidr(
12709 self,
12710 ) -> crate::common::RegisterField<
12711 1,
12712 0x1,
12713 1,
12714 0,
12715 p30pfs_by::Pidr,
12716 p30pfs_by::Pidr,
12717 P30PfsBy_SPEC,
12718 crate::common::R,
12719 > {
12720 crate::common::RegisterField::<
12721 1,
12722 0x1,
12723 1,
12724 0,
12725 p30pfs_by::Pidr,
12726 p30pfs_by::Pidr,
12727 P30PfsBy_SPEC,
12728 crate::common::R,
12729 >::from_register(self, 0)
12730 }
12731
12732 #[doc = "Port Direction"]
12733 #[inline(always)]
12734 pub fn pdr(
12735 self,
12736 ) -> crate::common::RegisterField<
12737 2,
12738 0x1,
12739 1,
12740 0,
12741 p30pfs_by::Pdr,
12742 p30pfs_by::Pdr,
12743 P30PfsBy_SPEC,
12744 crate::common::RW,
12745 > {
12746 crate::common::RegisterField::<
12747 2,
12748 0x1,
12749 1,
12750 0,
12751 p30pfs_by::Pdr,
12752 p30pfs_by::Pdr,
12753 P30PfsBy_SPEC,
12754 crate::common::RW,
12755 >::from_register(self, 0)
12756 }
12757
12758 #[doc = "Pull-up Control"]
12759 #[inline(always)]
12760 pub fn pcr(
12761 self,
12762 ) -> crate::common::RegisterField<
12763 4,
12764 0x1,
12765 1,
12766 0,
12767 p30pfs_by::Pcr,
12768 p30pfs_by::Pcr,
12769 P30PfsBy_SPEC,
12770 crate::common::RW,
12771 > {
12772 crate::common::RegisterField::<
12773 4,
12774 0x1,
12775 1,
12776 0,
12777 p30pfs_by::Pcr,
12778 p30pfs_by::Pcr,
12779 P30PfsBy_SPEC,
12780 crate::common::RW,
12781 >::from_register(self, 0)
12782 }
12783
12784 #[doc = "N-Channel Open-Drain Control"]
12785 #[inline(always)]
12786 pub fn ncodr(
12787 self,
12788 ) -> crate::common::RegisterField<
12789 6,
12790 0x1,
12791 1,
12792 0,
12793 p30pfs_by::Ncodr,
12794 p30pfs_by::Ncodr,
12795 P30PfsBy_SPEC,
12796 crate::common::RW,
12797 > {
12798 crate::common::RegisterField::<
12799 6,
12800 0x1,
12801 1,
12802 0,
12803 p30pfs_by::Ncodr,
12804 p30pfs_by::Ncodr,
12805 P30PfsBy_SPEC,
12806 crate::common::RW,
12807 >::from_register(self, 0)
12808 }
12809}
12810impl ::core::default::Default for P30PfsBy {
12811 #[inline(always)]
12812 fn default() -> P30PfsBy {
12813 <crate::RegValueT<P30PfsBy_SPEC> as RegisterValue<_>>::new(0)
12814 }
12815}
12816pub mod p30pfs_by {
12817
12818 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12819 pub struct Podr_SPEC;
12820 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
12821 impl Podr {
12822 #[doc = "Output low"]
12823 pub const _0: Self = Self::new(0);
12824
12825 #[doc = "Output high"]
12826 pub const _1: Self = Self::new(1);
12827 }
12828 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12829 pub struct Pidr_SPEC;
12830 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
12831 impl Pidr {
12832 #[doc = "Low level"]
12833 pub const _0: Self = Self::new(0);
12834
12835 #[doc = "High level"]
12836 pub const _1: Self = Self::new(1);
12837 }
12838 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12839 pub struct Pdr_SPEC;
12840 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
12841 impl Pdr {
12842 #[doc = "Input (functions as an input pin)"]
12843 pub const _0: Self = Self::new(0);
12844
12845 #[doc = "Output (functions as an output pin)"]
12846 pub const _1: Self = Self::new(1);
12847 }
12848 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12849 pub struct Pcr_SPEC;
12850 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
12851 impl Pcr {
12852 #[doc = "Disable input pull-up"]
12853 pub const _0: Self = Self::new(0);
12854
12855 #[doc = "Enable input pull-up"]
12856 pub const _1: Self = Self::new(1);
12857 }
12858 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
12859 pub struct Ncodr_SPEC;
12860 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
12861 impl Ncodr {
12862 #[doc = "Output CMOS"]
12863 pub const _0: Self = Self::new(0);
12864
12865 #[doc = "Output NMOS open-drain"]
12866 pub const _1: Self = Self::new(1);
12867 }
12868}
12869#[doc(hidden)]
12870#[derive(Copy, Clone, Eq, PartialEq)]
12871pub struct P40Pfs_SPEC;
12872impl crate::sealed::RegSpec for P40Pfs_SPEC {
12873 type DataType = u32;
12874}
12875
12876#[doc = "Port 40%s Pin Function Select Register"]
12877pub type P40Pfs = crate::RegValueT<P40Pfs_SPEC>;
12878
12879impl P40Pfs {
12880 #[doc = "Port Output Data"]
12881 #[inline(always)]
12882 pub fn podr(
12883 self,
12884 ) -> crate::common::RegisterField<
12885 0,
12886 0x1,
12887 1,
12888 0,
12889 p40pfs::Podr,
12890 p40pfs::Podr,
12891 P40Pfs_SPEC,
12892 crate::common::RW,
12893 > {
12894 crate::common::RegisterField::<
12895 0,
12896 0x1,
12897 1,
12898 0,
12899 p40pfs::Podr,
12900 p40pfs::Podr,
12901 P40Pfs_SPEC,
12902 crate::common::RW,
12903 >::from_register(self, 0)
12904 }
12905
12906 #[doc = "Port State"]
12907 #[inline(always)]
12908 pub fn pidr(
12909 self,
12910 ) -> crate::common::RegisterField<
12911 1,
12912 0x1,
12913 1,
12914 0,
12915 p40pfs::Pidr,
12916 p40pfs::Pidr,
12917 P40Pfs_SPEC,
12918 crate::common::R,
12919 > {
12920 crate::common::RegisterField::<
12921 1,
12922 0x1,
12923 1,
12924 0,
12925 p40pfs::Pidr,
12926 p40pfs::Pidr,
12927 P40Pfs_SPEC,
12928 crate::common::R,
12929 >::from_register(self, 0)
12930 }
12931
12932 #[doc = "Port Direction"]
12933 #[inline(always)]
12934 pub fn pdr(
12935 self,
12936 ) -> crate::common::RegisterField<
12937 2,
12938 0x1,
12939 1,
12940 0,
12941 p40pfs::Pdr,
12942 p40pfs::Pdr,
12943 P40Pfs_SPEC,
12944 crate::common::RW,
12945 > {
12946 crate::common::RegisterField::<
12947 2,
12948 0x1,
12949 1,
12950 0,
12951 p40pfs::Pdr,
12952 p40pfs::Pdr,
12953 P40Pfs_SPEC,
12954 crate::common::RW,
12955 >::from_register(self, 0)
12956 }
12957
12958 #[doc = "Pull-up Control"]
12959 #[inline(always)]
12960 pub fn pcr(
12961 self,
12962 ) -> crate::common::RegisterField<
12963 4,
12964 0x1,
12965 1,
12966 0,
12967 p40pfs::Pcr,
12968 p40pfs::Pcr,
12969 P40Pfs_SPEC,
12970 crate::common::RW,
12971 > {
12972 crate::common::RegisterField::<
12973 4,
12974 0x1,
12975 1,
12976 0,
12977 p40pfs::Pcr,
12978 p40pfs::Pcr,
12979 P40Pfs_SPEC,
12980 crate::common::RW,
12981 >::from_register(self, 0)
12982 }
12983
12984 #[doc = "N-Channel Open-Drain Control"]
12985 #[inline(always)]
12986 pub fn ncodr(
12987 self,
12988 ) -> crate::common::RegisterField<
12989 6,
12990 0x1,
12991 1,
12992 0,
12993 p40pfs::Ncodr,
12994 p40pfs::Ncodr,
12995 P40Pfs_SPEC,
12996 crate::common::RW,
12997 > {
12998 crate::common::RegisterField::<
12999 6,
13000 0x1,
13001 1,
13002 0,
13003 p40pfs::Ncodr,
13004 p40pfs::Ncodr,
13005 P40Pfs_SPEC,
13006 crate::common::RW,
13007 >::from_register(self, 0)
13008 }
13009
13010 #[doc = "IRQ Input Enable"]
13011 #[inline(always)]
13012 pub fn isel(
13013 self,
13014 ) -> crate::common::RegisterField<
13015 14,
13016 0x1,
13017 1,
13018 0,
13019 p40pfs::Isel,
13020 p40pfs::Isel,
13021 P40Pfs_SPEC,
13022 crate::common::RW,
13023 > {
13024 crate::common::RegisterField::<
13025 14,
13026 0x1,
13027 1,
13028 0,
13029 p40pfs::Isel,
13030 p40pfs::Isel,
13031 P40Pfs_SPEC,
13032 crate::common::RW,
13033 >::from_register(self, 0)
13034 }
13035
13036 #[doc = "Analog Input Enable"]
13037 #[inline(always)]
13038 pub fn asel(
13039 self,
13040 ) -> crate::common::RegisterField<
13041 15,
13042 0x1,
13043 1,
13044 0,
13045 p40pfs::Asel,
13046 p40pfs::Asel,
13047 P40Pfs_SPEC,
13048 crate::common::RW,
13049 > {
13050 crate::common::RegisterField::<
13051 15,
13052 0x1,
13053 1,
13054 0,
13055 p40pfs::Asel,
13056 p40pfs::Asel,
13057 P40Pfs_SPEC,
13058 crate::common::RW,
13059 >::from_register(self, 0)
13060 }
13061
13062 #[doc = "Port Mode Control"]
13063 #[inline(always)]
13064 pub fn pmr(
13065 self,
13066 ) -> crate::common::RegisterField<
13067 16,
13068 0x1,
13069 1,
13070 0,
13071 p40pfs::Pmr,
13072 p40pfs::Pmr,
13073 P40Pfs_SPEC,
13074 crate::common::RW,
13075 > {
13076 crate::common::RegisterField::<
13077 16,
13078 0x1,
13079 1,
13080 0,
13081 p40pfs::Pmr,
13082 p40pfs::Pmr,
13083 P40Pfs_SPEC,
13084 crate::common::RW,
13085 >::from_register(self, 0)
13086 }
13087
13088 #[doc = "Peripheral Select"]
13089 #[inline(always)]
13090 pub fn psel(
13091 self,
13092 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P40Pfs_SPEC, crate::common::RW> {
13093 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P40Pfs_SPEC,crate::common::RW>::from_register(self,0)
13094 }
13095}
13096impl ::core::default::Default for P40Pfs {
13097 #[inline(always)]
13098 fn default() -> P40Pfs {
13099 <crate::RegValueT<P40Pfs_SPEC> as RegisterValue<_>>::new(0)
13100 }
13101}
13102pub mod p40pfs {
13103
13104 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13105 pub struct Podr_SPEC;
13106 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13107 impl Podr {
13108 #[doc = "Output low"]
13109 pub const _0: Self = Self::new(0);
13110
13111 #[doc = "Output high"]
13112 pub const _1: Self = Self::new(1);
13113 }
13114 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13115 pub struct Pidr_SPEC;
13116 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13117 impl Pidr {
13118 #[doc = "Low level"]
13119 pub const _0: Self = Self::new(0);
13120
13121 #[doc = "High level"]
13122 pub const _1: Self = Self::new(1);
13123 }
13124 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13125 pub struct Pdr_SPEC;
13126 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13127 impl Pdr {
13128 #[doc = "Input (functions as an input pin)"]
13129 pub const _0: Self = Self::new(0);
13130
13131 #[doc = "Output (functions as an output pin)"]
13132 pub const _1: Self = Self::new(1);
13133 }
13134 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13135 pub struct Pcr_SPEC;
13136 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13137 impl Pcr {
13138 #[doc = "Disable input pull-up"]
13139 pub const _0: Self = Self::new(0);
13140
13141 #[doc = "Enable input pull-up"]
13142 pub const _1: Self = Self::new(1);
13143 }
13144 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13145 pub struct Ncodr_SPEC;
13146 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13147 impl Ncodr {
13148 #[doc = "Output CMOS"]
13149 pub const _0: Self = Self::new(0);
13150
13151 #[doc = "Output NMOS open-drain"]
13152 pub const _1: Self = Self::new(1);
13153 }
13154 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13155 pub struct Isel_SPEC;
13156 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13157 impl Isel {
13158 #[doc = "Do not use as IRQn input pin"]
13159 pub const _0: Self = Self::new(0);
13160
13161 #[doc = "Use as IRQn input pin"]
13162 pub const _1: Self = Self::new(1);
13163 }
13164 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13165 pub struct Asel_SPEC;
13166 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13167 impl Asel {
13168 #[doc = "Do not use as analog pin"]
13169 pub const _0: Self = Self::new(0);
13170
13171 #[doc = "Use as analog pin"]
13172 pub const _1: Self = Self::new(1);
13173 }
13174 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13175 pub struct Pmr_SPEC;
13176 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
13177 impl Pmr {
13178 #[doc = "Use as general I/O pin"]
13179 pub const _0: Self = Self::new(0);
13180
13181 #[doc = "Use as I/O port for peripheral functions"]
13182 pub const _1: Self = Self::new(1);
13183 }
13184}
13185#[doc(hidden)]
13186#[derive(Copy, Clone, Eq, PartialEq)]
13187pub struct P40PfsHa_SPEC;
13188impl crate::sealed::RegSpec for P40PfsHa_SPEC {
13189 type DataType = u16;
13190}
13191
13192#[doc = "Port 40%s Pin Function Select Register"]
13193pub type P40PfsHa = crate::RegValueT<P40PfsHa_SPEC>;
13194
13195impl P40PfsHa {
13196 #[doc = "Port Output Data"]
13197 #[inline(always)]
13198 pub fn podr(
13199 self,
13200 ) -> crate::common::RegisterField<
13201 0,
13202 0x1,
13203 1,
13204 0,
13205 p40pfs_ha::Podr,
13206 p40pfs_ha::Podr,
13207 P40PfsHa_SPEC,
13208 crate::common::RW,
13209 > {
13210 crate::common::RegisterField::<
13211 0,
13212 0x1,
13213 1,
13214 0,
13215 p40pfs_ha::Podr,
13216 p40pfs_ha::Podr,
13217 P40PfsHa_SPEC,
13218 crate::common::RW,
13219 >::from_register(self, 0)
13220 }
13221
13222 #[doc = "Port State"]
13223 #[inline(always)]
13224 pub fn pidr(
13225 self,
13226 ) -> crate::common::RegisterField<
13227 1,
13228 0x1,
13229 1,
13230 0,
13231 p40pfs_ha::Pidr,
13232 p40pfs_ha::Pidr,
13233 P40PfsHa_SPEC,
13234 crate::common::R,
13235 > {
13236 crate::common::RegisterField::<
13237 1,
13238 0x1,
13239 1,
13240 0,
13241 p40pfs_ha::Pidr,
13242 p40pfs_ha::Pidr,
13243 P40PfsHa_SPEC,
13244 crate::common::R,
13245 >::from_register(self, 0)
13246 }
13247
13248 #[doc = "Port Direction"]
13249 #[inline(always)]
13250 pub fn pdr(
13251 self,
13252 ) -> crate::common::RegisterField<
13253 2,
13254 0x1,
13255 1,
13256 0,
13257 p40pfs_ha::Pdr,
13258 p40pfs_ha::Pdr,
13259 P40PfsHa_SPEC,
13260 crate::common::RW,
13261 > {
13262 crate::common::RegisterField::<
13263 2,
13264 0x1,
13265 1,
13266 0,
13267 p40pfs_ha::Pdr,
13268 p40pfs_ha::Pdr,
13269 P40PfsHa_SPEC,
13270 crate::common::RW,
13271 >::from_register(self, 0)
13272 }
13273
13274 #[doc = "Pull-up Control"]
13275 #[inline(always)]
13276 pub fn pcr(
13277 self,
13278 ) -> crate::common::RegisterField<
13279 4,
13280 0x1,
13281 1,
13282 0,
13283 p40pfs_ha::Pcr,
13284 p40pfs_ha::Pcr,
13285 P40PfsHa_SPEC,
13286 crate::common::RW,
13287 > {
13288 crate::common::RegisterField::<
13289 4,
13290 0x1,
13291 1,
13292 0,
13293 p40pfs_ha::Pcr,
13294 p40pfs_ha::Pcr,
13295 P40PfsHa_SPEC,
13296 crate::common::RW,
13297 >::from_register(self, 0)
13298 }
13299
13300 #[doc = "N-Channel Open-Drain Control"]
13301 #[inline(always)]
13302 pub fn ncodr(
13303 self,
13304 ) -> crate::common::RegisterField<
13305 6,
13306 0x1,
13307 1,
13308 0,
13309 p40pfs_ha::Ncodr,
13310 p40pfs_ha::Ncodr,
13311 P40PfsHa_SPEC,
13312 crate::common::RW,
13313 > {
13314 crate::common::RegisterField::<
13315 6,
13316 0x1,
13317 1,
13318 0,
13319 p40pfs_ha::Ncodr,
13320 p40pfs_ha::Ncodr,
13321 P40PfsHa_SPEC,
13322 crate::common::RW,
13323 >::from_register(self, 0)
13324 }
13325
13326 #[doc = "IRQ Input Enable"]
13327 #[inline(always)]
13328 pub fn isel(
13329 self,
13330 ) -> crate::common::RegisterField<
13331 14,
13332 0x1,
13333 1,
13334 0,
13335 p40pfs_ha::Isel,
13336 p40pfs_ha::Isel,
13337 P40PfsHa_SPEC,
13338 crate::common::RW,
13339 > {
13340 crate::common::RegisterField::<
13341 14,
13342 0x1,
13343 1,
13344 0,
13345 p40pfs_ha::Isel,
13346 p40pfs_ha::Isel,
13347 P40PfsHa_SPEC,
13348 crate::common::RW,
13349 >::from_register(self, 0)
13350 }
13351
13352 #[doc = "Analog Input Enable"]
13353 #[inline(always)]
13354 pub fn asel(
13355 self,
13356 ) -> crate::common::RegisterField<
13357 15,
13358 0x1,
13359 1,
13360 0,
13361 p40pfs_ha::Asel,
13362 p40pfs_ha::Asel,
13363 P40PfsHa_SPEC,
13364 crate::common::RW,
13365 > {
13366 crate::common::RegisterField::<
13367 15,
13368 0x1,
13369 1,
13370 0,
13371 p40pfs_ha::Asel,
13372 p40pfs_ha::Asel,
13373 P40PfsHa_SPEC,
13374 crate::common::RW,
13375 >::from_register(self, 0)
13376 }
13377}
13378impl ::core::default::Default for P40PfsHa {
13379 #[inline(always)]
13380 fn default() -> P40PfsHa {
13381 <crate::RegValueT<P40PfsHa_SPEC> as RegisterValue<_>>::new(0)
13382 }
13383}
13384pub mod p40pfs_ha {
13385
13386 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13387 pub struct Podr_SPEC;
13388 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13389 impl Podr {
13390 #[doc = "Output low"]
13391 pub const _0: Self = Self::new(0);
13392
13393 #[doc = "Output high"]
13394 pub const _1: Self = Self::new(1);
13395 }
13396 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13397 pub struct Pidr_SPEC;
13398 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13399 impl Pidr {
13400 #[doc = "Low level"]
13401 pub const _0: Self = Self::new(0);
13402
13403 #[doc = "High level"]
13404 pub const _1: Self = Self::new(1);
13405 }
13406 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13407 pub struct Pdr_SPEC;
13408 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13409 impl Pdr {
13410 #[doc = "Input (functions as an input pin)"]
13411 pub const _0: Self = Self::new(0);
13412
13413 #[doc = "Output (functions as an output pin)"]
13414 pub const _1: Self = Self::new(1);
13415 }
13416 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13417 pub struct Pcr_SPEC;
13418 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13419 impl Pcr {
13420 #[doc = "Disable input pull-up"]
13421 pub const _0: Self = Self::new(0);
13422
13423 #[doc = "Enable input pull-up"]
13424 pub const _1: Self = Self::new(1);
13425 }
13426 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13427 pub struct Ncodr_SPEC;
13428 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13429 impl Ncodr {
13430 #[doc = "Output CMOS"]
13431 pub const _0: Self = Self::new(0);
13432
13433 #[doc = "Output NMOS open-drain"]
13434 pub const _1: Self = Self::new(1);
13435 }
13436 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13437 pub struct Isel_SPEC;
13438 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13439 impl Isel {
13440 #[doc = "Do not use as IRQn input pin"]
13441 pub const _0: Self = Self::new(0);
13442
13443 #[doc = "Use as IRQn input pin"]
13444 pub const _1: Self = Self::new(1);
13445 }
13446 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13447 pub struct Asel_SPEC;
13448 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13449 impl Asel {
13450 #[doc = "Do not use as analog pin"]
13451 pub const _0: Self = Self::new(0);
13452
13453 #[doc = "Use as analog pin"]
13454 pub const _1: Self = Self::new(1);
13455 }
13456}
13457#[doc(hidden)]
13458#[derive(Copy, Clone, Eq, PartialEq)]
13459pub struct P40PfsBy_SPEC;
13460impl crate::sealed::RegSpec for P40PfsBy_SPEC {
13461 type DataType = u8;
13462}
13463
13464#[doc = "Port 40%s Pin Function Select Register"]
13465pub type P40PfsBy = crate::RegValueT<P40PfsBy_SPEC>;
13466
13467impl P40PfsBy {
13468 #[doc = "Port Output Data"]
13469 #[inline(always)]
13470 pub fn podr(
13471 self,
13472 ) -> crate::common::RegisterField<
13473 0,
13474 0x1,
13475 1,
13476 0,
13477 p40pfs_by::Podr,
13478 p40pfs_by::Podr,
13479 P40PfsBy_SPEC,
13480 crate::common::RW,
13481 > {
13482 crate::common::RegisterField::<
13483 0,
13484 0x1,
13485 1,
13486 0,
13487 p40pfs_by::Podr,
13488 p40pfs_by::Podr,
13489 P40PfsBy_SPEC,
13490 crate::common::RW,
13491 >::from_register(self, 0)
13492 }
13493
13494 #[doc = "Port State"]
13495 #[inline(always)]
13496 pub fn pidr(
13497 self,
13498 ) -> crate::common::RegisterField<
13499 1,
13500 0x1,
13501 1,
13502 0,
13503 p40pfs_by::Pidr,
13504 p40pfs_by::Pidr,
13505 P40PfsBy_SPEC,
13506 crate::common::R,
13507 > {
13508 crate::common::RegisterField::<
13509 1,
13510 0x1,
13511 1,
13512 0,
13513 p40pfs_by::Pidr,
13514 p40pfs_by::Pidr,
13515 P40PfsBy_SPEC,
13516 crate::common::R,
13517 >::from_register(self, 0)
13518 }
13519
13520 #[doc = "Port Direction"]
13521 #[inline(always)]
13522 pub fn pdr(
13523 self,
13524 ) -> crate::common::RegisterField<
13525 2,
13526 0x1,
13527 1,
13528 0,
13529 p40pfs_by::Pdr,
13530 p40pfs_by::Pdr,
13531 P40PfsBy_SPEC,
13532 crate::common::RW,
13533 > {
13534 crate::common::RegisterField::<
13535 2,
13536 0x1,
13537 1,
13538 0,
13539 p40pfs_by::Pdr,
13540 p40pfs_by::Pdr,
13541 P40PfsBy_SPEC,
13542 crate::common::RW,
13543 >::from_register(self, 0)
13544 }
13545
13546 #[doc = "Pull-up Control"]
13547 #[inline(always)]
13548 pub fn pcr(
13549 self,
13550 ) -> crate::common::RegisterField<
13551 4,
13552 0x1,
13553 1,
13554 0,
13555 p40pfs_by::Pcr,
13556 p40pfs_by::Pcr,
13557 P40PfsBy_SPEC,
13558 crate::common::RW,
13559 > {
13560 crate::common::RegisterField::<
13561 4,
13562 0x1,
13563 1,
13564 0,
13565 p40pfs_by::Pcr,
13566 p40pfs_by::Pcr,
13567 P40PfsBy_SPEC,
13568 crate::common::RW,
13569 >::from_register(self, 0)
13570 }
13571
13572 #[doc = "N-Channel Open-Drain Control"]
13573 #[inline(always)]
13574 pub fn ncodr(
13575 self,
13576 ) -> crate::common::RegisterField<
13577 6,
13578 0x1,
13579 1,
13580 0,
13581 p40pfs_by::Ncodr,
13582 p40pfs_by::Ncodr,
13583 P40PfsBy_SPEC,
13584 crate::common::RW,
13585 > {
13586 crate::common::RegisterField::<
13587 6,
13588 0x1,
13589 1,
13590 0,
13591 p40pfs_by::Ncodr,
13592 p40pfs_by::Ncodr,
13593 P40PfsBy_SPEC,
13594 crate::common::RW,
13595 >::from_register(self, 0)
13596 }
13597}
13598impl ::core::default::Default for P40PfsBy {
13599 #[inline(always)]
13600 fn default() -> P40PfsBy {
13601 <crate::RegValueT<P40PfsBy_SPEC> as RegisterValue<_>>::new(0)
13602 }
13603}
13604pub mod p40pfs_by {
13605
13606 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13607 pub struct Podr_SPEC;
13608 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13609 impl Podr {
13610 #[doc = "Output low"]
13611 pub const _0: Self = Self::new(0);
13612
13613 #[doc = "Output high"]
13614 pub const _1: Self = Self::new(1);
13615 }
13616 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13617 pub struct Pidr_SPEC;
13618 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13619 impl Pidr {
13620 #[doc = "Low level"]
13621 pub const _0: Self = Self::new(0);
13622
13623 #[doc = "High level"]
13624 pub const _1: Self = Self::new(1);
13625 }
13626 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13627 pub struct Pdr_SPEC;
13628 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13629 impl Pdr {
13630 #[doc = "Input (functions as an input pin)"]
13631 pub const _0: Self = Self::new(0);
13632
13633 #[doc = "Output (functions as an output pin)"]
13634 pub const _1: Self = Self::new(1);
13635 }
13636 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13637 pub struct Pcr_SPEC;
13638 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13639 impl Pcr {
13640 #[doc = "Disable input pull-up"]
13641 pub const _0: Self = Self::new(0);
13642
13643 #[doc = "Enable input pull-up"]
13644 pub const _1: Self = Self::new(1);
13645 }
13646 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13647 pub struct Ncodr_SPEC;
13648 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13649 impl Ncodr {
13650 #[doc = "Output CMOS"]
13651 pub const _0: Self = Self::new(0);
13652
13653 #[doc = "Output NMOS open-drain"]
13654 pub const _1: Self = Self::new(1);
13655 }
13656}
13657#[doc(hidden)]
13658#[derive(Copy, Clone, Eq, PartialEq)]
13659pub struct P4Pfs_SPEC;
13660impl crate::sealed::RegSpec for P4Pfs_SPEC {
13661 type DataType = u32;
13662}
13663
13664#[doc = "Port 4%s Pin Function Select Register"]
13665pub type P4Pfs = crate::RegValueT<P4Pfs_SPEC>;
13666
13667impl P4Pfs {
13668 #[doc = "Port Output Data"]
13669 #[inline(always)]
13670 pub fn podr(
13671 self,
13672 ) -> crate::common::RegisterField<
13673 0,
13674 0x1,
13675 1,
13676 0,
13677 p4pfs::Podr,
13678 p4pfs::Podr,
13679 P4Pfs_SPEC,
13680 crate::common::RW,
13681 > {
13682 crate::common::RegisterField::<
13683 0,
13684 0x1,
13685 1,
13686 0,
13687 p4pfs::Podr,
13688 p4pfs::Podr,
13689 P4Pfs_SPEC,
13690 crate::common::RW,
13691 >::from_register(self, 0)
13692 }
13693
13694 #[doc = "Port State"]
13695 #[inline(always)]
13696 pub fn pidr(
13697 self,
13698 ) -> crate::common::RegisterField<
13699 1,
13700 0x1,
13701 1,
13702 0,
13703 p4pfs::Pidr,
13704 p4pfs::Pidr,
13705 P4Pfs_SPEC,
13706 crate::common::R,
13707 > {
13708 crate::common::RegisterField::<
13709 1,
13710 0x1,
13711 1,
13712 0,
13713 p4pfs::Pidr,
13714 p4pfs::Pidr,
13715 P4Pfs_SPEC,
13716 crate::common::R,
13717 >::from_register(self, 0)
13718 }
13719
13720 #[doc = "Port Direction"]
13721 #[inline(always)]
13722 pub fn pdr(
13723 self,
13724 ) -> crate::common::RegisterField<
13725 2,
13726 0x1,
13727 1,
13728 0,
13729 p4pfs::Pdr,
13730 p4pfs::Pdr,
13731 P4Pfs_SPEC,
13732 crate::common::RW,
13733 > {
13734 crate::common::RegisterField::<
13735 2,
13736 0x1,
13737 1,
13738 0,
13739 p4pfs::Pdr,
13740 p4pfs::Pdr,
13741 P4Pfs_SPEC,
13742 crate::common::RW,
13743 >::from_register(self, 0)
13744 }
13745
13746 #[doc = "Pull-up Control"]
13747 #[inline(always)]
13748 pub fn pcr(
13749 self,
13750 ) -> crate::common::RegisterField<
13751 4,
13752 0x1,
13753 1,
13754 0,
13755 p4pfs::Pcr,
13756 p4pfs::Pcr,
13757 P4Pfs_SPEC,
13758 crate::common::RW,
13759 > {
13760 crate::common::RegisterField::<
13761 4,
13762 0x1,
13763 1,
13764 0,
13765 p4pfs::Pcr,
13766 p4pfs::Pcr,
13767 P4Pfs_SPEC,
13768 crate::common::RW,
13769 >::from_register(self, 0)
13770 }
13771
13772 #[doc = "N-Channel Open-Drain Control"]
13773 #[inline(always)]
13774 pub fn ncodr(
13775 self,
13776 ) -> crate::common::RegisterField<
13777 6,
13778 0x1,
13779 1,
13780 0,
13781 p4pfs::Ncodr,
13782 p4pfs::Ncodr,
13783 P4Pfs_SPEC,
13784 crate::common::RW,
13785 > {
13786 crate::common::RegisterField::<
13787 6,
13788 0x1,
13789 1,
13790 0,
13791 p4pfs::Ncodr,
13792 p4pfs::Ncodr,
13793 P4Pfs_SPEC,
13794 crate::common::RW,
13795 >::from_register(self, 0)
13796 }
13797
13798 #[doc = "IRQ Input Enable"]
13799 #[inline(always)]
13800 pub fn isel(
13801 self,
13802 ) -> crate::common::RegisterField<
13803 14,
13804 0x1,
13805 1,
13806 0,
13807 p4pfs::Isel,
13808 p4pfs::Isel,
13809 P4Pfs_SPEC,
13810 crate::common::RW,
13811 > {
13812 crate::common::RegisterField::<
13813 14,
13814 0x1,
13815 1,
13816 0,
13817 p4pfs::Isel,
13818 p4pfs::Isel,
13819 P4Pfs_SPEC,
13820 crate::common::RW,
13821 >::from_register(self, 0)
13822 }
13823
13824 #[doc = "Analog Input Enable"]
13825 #[inline(always)]
13826 pub fn asel(
13827 self,
13828 ) -> crate::common::RegisterField<
13829 15,
13830 0x1,
13831 1,
13832 0,
13833 p4pfs::Asel,
13834 p4pfs::Asel,
13835 P4Pfs_SPEC,
13836 crate::common::RW,
13837 > {
13838 crate::common::RegisterField::<
13839 15,
13840 0x1,
13841 1,
13842 0,
13843 p4pfs::Asel,
13844 p4pfs::Asel,
13845 P4Pfs_SPEC,
13846 crate::common::RW,
13847 >::from_register(self, 0)
13848 }
13849
13850 #[doc = "Port Mode Control"]
13851 #[inline(always)]
13852 pub fn pmr(
13853 self,
13854 ) -> crate::common::RegisterField<
13855 16,
13856 0x1,
13857 1,
13858 0,
13859 p4pfs::Pmr,
13860 p4pfs::Pmr,
13861 P4Pfs_SPEC,
13862 crate::common::RW,
13863 > {
13864 crate::common::RegisterField::<
13865 16,
13866 0x1,
13867 1,
13868 0,
13869 p4pfs::Pmr,
13870 p4pfs::Pmr,
13871 P4Pfs_SPEC,
13872 crate::common::RW,
13873 >::from_register(self, 0)
13874 }
13875
13876 #[doc = "Peripheral Select"]
13877 #[inline(always)]
13878 pub fn psel(
13879 self,
13880 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P4Pfs_SPEC, crate::common::RW> {
13881 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P4Pfs_SPEC,crate::common::RW>::from_register(self,0)
13882 }
13883}
13884impl ::core::default::Default for P4Pfs {
13885 #[inline(always)]
13886 fn default() -> P4Pfs {
13887 <crate::RegValueT<P4Pfs_SPEC> as RegisterValue<_>>::new(0)
13888 }
13889}
13890pub mod p4pfs {
13891
13892 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13893 pub struct Podr_SPEC;
13894 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
13895 impl Podr {
13896 #[doc = "Output low"]
13897 pub const _0: Self = Self::new(0);
13898
13899 #[doc = "Output high"]
13900 pub const _1: Self = Self::new(1);
13901 }
13902 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13903 pub struct Pidr_SPEC;
13904 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
13905 impl Pidr {
13906 #[doc = "Low level"]
13907 pub const _0: Self = Self::new(0);
13908
13909 #[doc = "High level"]
13910 pub const _1: Self = Self::new(1);
13911 }
13912 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13913 pub struct Pdr_SPEC;
13914 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
13915 impl Pdr {
13916 #[doc = "Input (functions as an input pin)"]
13917 pub const _0: Self = Self::new(0);
13918
13919 #[doc = "Output (functions as an output pin)"]
13920 pub const _1: Self = Self::new(1);
13921 }
13922 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13923 pub struct Pcr_SPEC;
13924 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
13925 impl Pcr {
13926 #[doc = "Disable input pull-up"]
13927 pub const _0: Self = Self::new(0);
13928
13929 #[doc = "Enable input pull-up"]
13930 pub const _1: Self = Self::new(1);
13931 }
13932 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13933 pub struct Ncodr_SPEC;
13934 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
13935 impl Ncodr {
13936 #[doc = "Output CMOS"]
13937 pub const _0: Self = Self::new(0);
13938
13939 #[doc = "Output NMOS open-drain"]
13940 pub const _1: Self = Self::new(1);
13941 }
13942 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13943 pub struct Isel_SPEC;
13944 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
13945 impl Isel {
13946 #[doc = "Do not use as IRQn input pin"]
13947 pub const _0: Self = Self::new(0);
13948
13949 #[doc = "Use as IRQn input pin"]
13950 pub const _1: Self = Self::new(1);
13951 }
13952 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13953 pub struct Asel_SPEC;
13954 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
13955 impl Asel {
13956 #[doc = "Do not use as analog pin"]
13957 pub const _0: Self = Self::new(0);
13958
13959 #[doc = "Use as analog pin"]
13960 pub const _1: Self = Self::new(1);
13961 }
13962 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
13963 pub struct Pmr_SPEC;
13964 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
13965 impl Pmr {
13966 #[doc = "Use as general I/O pin"]
13967 pub const _0: Self = Self::new(0);
13968
13969 #[doc = "Use as I/O port for peripheral functions"]
13970 pub const _1: Self = Self::new(1);
13971 }
13972}
13973#[doc(hidden)]
13974#[derive(Copy, Clone, Eq, PartialEq)]
13975pub struct P4PfsHa_SPEC;
13976impl crate::sealed::RegSpec for P4PfsHa_SPEC {
13977 type DataType = u16;
13978}
13979
13980#[doc = "Port 4%s Pin Function Select Register"]
13981pub type P4PfsHa = crate::RegValueT<P4PfsHa_SPEC>;
13982
13983impl P4PfsHa {
13984 #[doc = "Port Output Data"]
13985 #[inline(always)]
13986 pub fn podr(
13987 self,
13988 ) -> crate::common::RegisterField<
13989 0,
13990 0x1,
13991 1,
13992 0,
13993 p4pfs_ha::Podr,
13994 p4pfs_ha::Podr,
13995 P4PfsHa_SPEC,
13996 crate::common::RW,
13997 > {
13998 crate::common::RegisterField::<
13999 0,
14000 0x1,
14001 1,
14002 0,
14003 p4pfs_ha::Podr,
14004 p4pfs_ha::Podr,
14005 P4PfsHa_SPEC,
14006 crate::common::RW,
14007 >::from_register(self, 0)
14008 }
14009
14010 #[doc = "Port State"]
14011 #[inline(always)]
14012 pub fn pidr(
14013 self,
14014 ) -> crate::common::RegisterField<
14015 1,
14016 0x1,
14017 1,
14018 0,
14019 p4pfs_ha::Pidr,
14020 p4pfs_ha::Pidr,
14021 P4PfsHa_SPEC,
14022 crate::common::R,
14023 > {
14024 crate::common::RegisterField::<
14025 1,
14026 0x1,
14027 1,
14028 0,
14029 p4pfs_ha::Pidr,
14030 p4pfs_ha::Pidr,
14031 P4PfsHa_SPEC,
14032 crate::common::R,
14033 >::from_register(self, 0)
14034 }
14035
14036 #[doc = "Port Direction"]
14037 #[inline(always)]
14038 pub fn pdr(
14039 self,
14040 ) -> crate::common::RegisterField<
14041 2,
14042 0x1,
14043 1,
14044 0,
14045 p4pfs_ha::Pdr,
14046 p4pfs_ha::Pdr,
14047 P4PfsHa_SPEC,
14048 crate::common::RW,
14049 > {
14050 crate::common::RegisterField::<
14051 2,
14052 0x1,
14053 1,
14054 0,
14055 p4pfs_ha::Pdr,
14056 p4pfs_ha::Pdr,
14057 P4PfsHa_SPEC,
14058 crate::common::RW,
14059 >::from_register(self, 0)
14060 }
14061
14062 #[doc = "Pull-up Control"]
14063 #[inline(always)]
14064 pub fn pcr(
14065 self,
14066 ) -> crate::common::RegisterField<
14067 4,
14068 0x1,
14069 1,
14070 0,
14071 p4pfs_ha::Pcr,
14072 p4pfs_ha::Pcr,
14073 P4PfsHa_SPEC,
14074 crate::common::RW,
14075 > {
14076 crate::common::RegisterField::<
14077 4,
14078 0x1,
14079 1,
14080 0,
14081 p4pfs_ha::Pcr,
14082 p4pfs_ha::Pcr,
14083 P4PfsHa_SPEC,
14084 crate::common::RW,
14085 >::from_register(self, 0)
14086 }
14087
14088 #[doc = "N-Channel Open-Drain Control"]
14089 #[inline(always)]
14090 pub fn ncodr(
14091 self,
14092 ) -> crate::common::RegisterField<
14093 6,
14094 0x1,
14095 1,
14096 0,
14097 p4pfs_ha::Ncodr,
14098 p4pfs_ha::Ncodr,
14099 P4PfsHa_SPEC,
14100 crate::common::RW,
14101 > {
14102 crate::common::RegisterField::<
14103 6,
14104 0x1,
14105 1,
14106 0,
14107 p4pfs_ha::Ncodr,
14108 p4pfs_ha::Ncodr,
14109 P4PfsHa_SPEC,
14110 crate::common::RW,
14111 >::from_register(self, 0)
14112 }
14113
14114 #[doc = "IRQ Input Enable"]
14115 #[inline(always)]
14116 pub fn isel(
14117 self,
14118 ) -> crate::common::RegisterField<
14119 14,
14120 0x1,
14121 1,
14122 0,
14123 p4pfs_ha::Isel,
14124 p4pfs_ha::Isel,
14125 P4PfsHa_SPEC,
14126 crate::common::RW,
14127 > {
14128 crate::common::RegisterField::<
14129 14,
14130 0x1,
14131 1,
14132 0,
14133 p4pfs_ha::Isel,
14134 p4pfs_ha::Isel,
14135 P4PfsHa_SPEC,
14136 crate::common::RW,
14137 >::from_register(self, 0)
14138 }
14139
14140 #[doc = "Analog Input Enable"]
14141 #[inline(always)]
14142 pub fn asel(
14143 self,
14144 ) -> crate::common::RegisterField<
14145 15,
14146 0x1,
14147 1,
14148 0,
14149 p4pfs_ha::Asel,
14150 p4pfs_ha::Asel,
14151 P4PfsHa_SPEC,
14152 crate::common::RW,
14153 > {
14154 crate::common::RegisterField::<
14155 15,
14156 0x1,
14157 1,
14158 0,
14159 p4pfs_ha::Asel,
14160 p4pfs_ha::Asel,
14161 P4PfsHa_SPEC,
14162 crate::common::RW,
14163 >::from_register(self, 0)
14164 }
14165}
14166impl ::core::default::Default for P4PfsHa {
14167 #[inline(always)]
14168 fn default() -> P4PfsHa {
14169 <crate::RegValueT<P4PfsHa_SPEC> as RegisterValue<_>>::new(0)
14170 }
14171}
14172pub mod p4pfs_ha {
14173
14174 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14175 pub struct Podr_SPEC;
14176 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14177 impl Podr {
14178 #[doc = "Output low"]
14179 pub const _0: Self = Self::new(0);
14180
14181 #[doc = "Output high"]
14182 pub const _1: Self = Self::new(1);
14183 }
14184 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14185 pub struct Pidr_SPEC;
14186 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14187 impl Pidr {
14188 #[doc = "Low level"]
14189 pub const _0: Self = Self::new(0);
14190
14191 #[doc = "High level"]
14192 pub const _1: Self = Self::new(1);
14193 }
14194 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14195 pub struct Pdr_SPEC;
14196 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14197 impl Pdr {
14198 #[doc = "Input (functions as an input pin)"]
14199 pub const _0: Self = Self::new(0);
14200
14201 #[doc = "Output (functions as an output pin)"]
14202 pub const _1: Self = Self::new(1);
14203 }
14204 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14205 pub struct Pcr_SPEC;
14206 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14207 impl Pcr {
14208 #[doc = "Disable input pull-up"]
14209 pub const _0: Self = Self::new(0);
14210
14211 #[doc = "Enable input pull-up"]
14212 pub const _1: Self = Self::new(1);
14213 }
14214 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14215 pub struct Ncodr_SPEC;
14216 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14217 impl Ncodr {
14218 #[doc = "Output CMOS"]
14219 pub const _0: Self = Self::new(0);
14220
14221 #[doc = "Output NMOS open-drain"]
14222 pub const _1: Self = Self::new(1);
14223 }
14224 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14225 pub struct Isel_SPEC;
14226 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14227 impl Isel {
14228 #[doc = "Do not use as IRQn input pin"]
14229 pub const _0: Self = Self::new(0);
14230
14231 #[doc = "Use as IRQn input pin"]
14232 pub const _1: Self = Self::new(1);
14233 }
14234 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14235 pub struct Asel_SPEC;
14236 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14237 impl Asel {
14238 #[doc = "Do not use as analog pin"]
14239 pub const _0: Self = Self::new(0);
14240
14241 #[doc = "Use as analog pin"]
14242 pub const _1: Self = Self::new(1);
14243 }
14244}
14245#[doc(hidden)]
14246#[derive(Copy, Clone, Eq, PartialEq)]
14247pub struct P4PfsBy_SPEC;
14248impl crate::sealed::RegSpec for P4PfsBy_SPEC {
14249 type DataType = u8;
14250}
14251
14252#[doc = "Port 4%s Pin Function Select Register"]
14253pub type P4PfsBy = crate::RegValueT<P4PfsBy_SPEC>;
14254
14255impl P4PfsBy {
14256 #[doc = "Port Output Data"]
14257 #[inline(always)]
14258 pub fn podr(
14259 self,
14260 ) -> crate::common::RegisterField<
14261 0,
14262 0x1,
14263 1,
14264 0,
14265 p4pfs_by::Podr,
14266 p4pfs_by::Podr,
14267 P4PfsBy_SPEC,
14268 crate::common::RW,
14269 > {
14270 crate::common::RegisterField::<
14271 0,
14272 0x1,
14273 1,
14274 0,
14275 p4pfs_by::Podr,
14276 p4pfs_by::Podr,
14277 P4PfsBy_SPEC,
14278 crate::common::RW,
14279 >::from_register(self, 0)
14280 }
14281
14282 #[doc = "Port State"]
14283 #[inline(always)]
14284 pub fn pidr(
14285 self,
14286 ) -> crate::common::RegisterField<
14287 1,
14288 0x1,
14289 1,
14290 0,
14291 p4pfs_by::Pidr,
14292 p4pfs_by::Pidr,
14293 P4PfsBy_SPEC,
14294 crate::common::R,
14295 > {
14296 crate::common::RegisterField::<
14297 1,
14298 0x1,
14299 1,
14300 0,
14301 p4pfs_by::Pidr,
14302 p4pfs_by::Pidr,
14303 P4PfsBy_SPEC,
14304 crate::common::R,
14305 >::from_register(self, 0)
14306 }
14307
14308 #[doc = "Port Direction"]
14309 #[inline(always)]
14310 pub fn pdr(
14311 self,
14312 ) -> crate::common::RegisterField<
14313 2,
14314 0x1,
14315 1,
14316 0,
14317 p4pfs_by::Pdr,
14318 p4pfs_by::Pdr,
14319 P4PfsBy_SPEC,
14320 crate::common::RW,
14321 > {
14322 crate::common::RegisterField::<
14323 2,
14324 0x1,
14325 1,
14326 0,
14327 p4pfs_by::Pdr,
14328 p4pfs_by::Pdr,
14329 P4PfsBy_SPEC,
14330 crate::common::RW,
14331 >::from_register(self, 0)
14332 }
14333
14334 #[doc = "Pull-up Control"]
14335 #[inline(always)]
14336 pub fn pcr(
14337 self,
14338 ) -> crate::common::RegisterField<
14339 4,
14340 0x1,
14341 1,
14342 0,
14343 p4pfs_by::Pcr,
14344 p4pfs_by::Pcr,
14345 P4PfsBy_SPEC,
14346 crate::common::RW,
14347 > {
14348 crate::common::RegisterField::<
14349 4,
14350 0x1,
14351 1,
14352 0,
14353 p4pfs_by::Pcr,
14354 p4pfs_by::Pcr,
14355 P4PfsBy_SPEC,
14356 crate::common::RW,
14357 >::from_register(self, 0)
14358 }
14359
14360 #[doc = "N-Channel Open-Drain Control"]
14361 #[inline(always)]
14362 pub fn ncodr(
14363 self,
14364 ) -> crate::common::RegisterField<
14365 6,
14366 0x1,
14367 1,
14368 0,
14369 p4pfs_by::Ncodr,
14370 p4pfs_by::Ncodr,
14371 P4PfsBy_SPEC,
14372 crate::common::RW,
14373 > {
14374 crate::common::RegisterField::<
14375 6,
14376 0x1,
14377 1,
14378 0,
14379 p4pfs_by::Ncodr,
14380 p4pfs_by::Ncodr,
14381 P4PfsBy_SPEC,
14382 crate::common::RW,
14383 >::from_register(self, 0)
14384 }
14385}
14386impl ::core::default::Default for P4PfsBy {
14387 #[inline(always)]
14388 fn default() -> P4PfsBy {
14389 <crate::RegValueT<P4PfsBy_SPEC> as RegisterValue<_>>::new(0)
14390 }
14391}
14392pub mod p4pfs_by {
14393
14394 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14395 pub struct Podr_SPEC;
14396 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14397 impl Podr {
14398 #[doc = "Output low"]
14399 pub const _0: Self = Self::new(0);
14400
14401 #[doc = "Output high"]
14402 pub const _1: Self = Self::new(1);
14403 }
14404 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14405 pub struct Pidr_SPEC;
14406 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14407 impl Pidr {
14408 #[doc = "Low level"]
14409 pub const _0: Self = Self::new(0);
14410
14411 #[doc = "High level"]
14412 pub const _1: Self = Self::new(1);
14413 }
14414 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14415 pub struct Pdr_SPEC;
14416 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14417 impl Pdr {
14418 #[doc = "Input (functions as an input pin)"]
14419 pub const _0: Self = Self::new(0);
14420
14421 #[doc = "Output (functions as an output pin)"]
14422 pub const _1: Self = Self::new(1);
14423 }
14424 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14425 pub struct Pcr_SPEC;
14426 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14427 impl Pcr {
14428 #[doc = "Disable input pull-up"]
14429 pub const _0: Self = Self::new(0);
14430
14431 #[doc = "Enable input pull-up"]
14432 pub const _1: Self = Self::new(1);
14433 }
14434 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14435 pub struct Ncodr_SPEC;
14436 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14437 impl Ncodr {
14438 #[doc = "Output CMOS"]
14439 pub const _0: Self = Self::new(0);
14440
14441 #[doc = "Output NMOS open-drain"]
14442 pub const _1: Self = Self::new(1);
14443 }
14444}
14445#[doc(hidden)]
14446#[derive(Copy, Clone, Eq, PartialEq)]
14447pub struct P50Pfs_SPEC;
14448impl crate::sealed::RegSpec for P50Pfs_SPEC {
14449 type DataType = u32;
14450}
14451
14452#[doc = "Port 50%s Pin Function Select Register"]
14453pub type P50Pfs = crate::RegValueT<P50Pfs_SPEC>;
14454
14455impl P50Pfs {
14456 #[doc = "Port Output Data"]
14457 #[inline(always)]
14458 pub fn podr(
14459 self,
14460 ) -> crate::common::RegisterField<
14461 0,
14462 0x1,
14463 1,
14464 0,
14465 p50pfs::Podr,
14466 p50pfs::Podr,
14467 P50Pfs_SPEC,
14468 crate::common::RW,
14469 > {
14470 crate::common::RegisterField::<
14471 0,
14472 0x1,
14473 1,
14474 0,
14475 p50pfs::Podr,
14476 p50pfs::Podr,
14477 P50Pfs_SPEC,
14478 crate::common::RW,
14479 >::from_register(self, 0)
14480 }
14481
14482 #[doc = "Port State"]
14483 #[inline(always)]
14484 pub fn pidr(
14485 self,
14486 ) -> crate::common::RegisterField<
14487 1,
14488 0x1,
14489 1,
14490 0,
14491 p50pfs::Pidr,
14492 p50pfs::Pidr,
14493 P50Pfs_SPEC,
14494 crate::common::R,
14495 > {
14496 crate::common::RegisterField::<
14497 1,
14498 0x1,
14499 1,
14500 0,
14501 p50pfs::Pidr,
14502 p50pfs::Pidr,
14503 P50Pfs_SPEC,
14504 crate::common::R,
14505 >::from_register(self, 0)
14506 }
14507
14508 #[doc = "Port Direction"]
14509 #[inline(always)]
14510 pub fn pdr(
14511 self,
14512 ) -> crate::common::RegisterField<
14513 2,
14514 0x1,
14515 1,
14516 0,
14517 p50pfs::Pdr,
14518 p50pfs::Pdr,
14519 P50Pfs_SPEC,
14520 crate::common::RW,
14521 > {
14522 crate::common::RegisterField::<
14523 2,
14524 0x1,
14525 1,
14526 0,
14527 p50pfs::Pdr,
14528 p50pfs::Pdr,
14529 P50Pfs_SPEC,
14530 crate::common::RW,
14531 >::from_register(self, 0)
14532 }
14533
14534 #[doc = "Pull-up Control"]
14535 #[inline(always)]
14536 pub fn pcr(
14537 self,
14538 ) -> crate::common::RegisterField<
14539 4,
14540 0x1,
14541 1,
14542 0,
14543 p50pfs::Pcr,
14544 p50pfs::Pcr,
14545 P50Pfs_SPEC,
14546 crate::common::RW,
14547 > {
14548 crate::common::RegisterField::<
14549 4,
14550 0x1,
14551 1,
14552 0,
14553 p50pfs::Pcr,
14554 p50pfs::Pcr,
14555 P50Pfs_SPEC,
14556 crate::common::RW,
14557 >::from_register(self, 0)
14558 }
14559
14560 #[doc = "N-Channel Open-Drain Control"]
14561 #[inline(always)]
14562 pub fn ncodr(
14563 self,
14564 ) -> crate::common::RegisterField<
14565 6,
14566 0x1,
14567 1,
14568 0,
14569 p50pfs::Ncodr,
14570 p50pfs::Ncodr,
14571 P50Pfs_SPEC,
14572 crate::common::RW,
14573 > {
14574 crate::common::RegisterField::<
14575 6,
14576 0x1,
14577 1,
14578 0,
14579 p50pfs::Ncodr,
14580 p50pfs::Ncodr,
14581 P50Pfs_SPEC,
14582 crate::common::RW,
14583 >::from_register(self, 0)
14584 }
14585
14586 #[doc = "IRQ Input Enable"]
14587 #[inline(always)]
14588 pub fn isel(
14589 self,
14590 ) -> crate::common::RegisterField<
14591 14,
14592 0x1,
14593 1,
14594 0,
14595 p50pfs::Isel,
14596 p50pfs::Isel,
14597 P50Pfs_SPEC,
14598 crate::common::RW,
14599 > {
14600 crate::common::RegisterField::<
14601 14,
14602 0x1,
14603 1,
14604 0,
14605 p50pfs::Isel,
14606 p50pfs::Isel,
14607 P50Pfs_SPEC,
14608 crate::common::RW,
14609 >::from_register(self, 0)
14610 }
14611
14612 #[doc = "Analog Input Enable"]
14613 #[inline(always)]
14614 pub fn asel(
14615 self,
14616 ) -> crate::common::RegisterField<
14617 15,
14618 0x1,
14619 1,
14620 0,
14621 p50pfs::Asel,
14622 p50pfs::Asel,
14623 P50Pfs_SPEC,
14624 crate::common::RW,
14625 > {
14626 crate::common::RegisterField::<
14627 15,
14628 0x1,
14629 1,
14630 0,
14631 p50pfs::Asel,
14632 p50pfs::Asel,
14633 P50Pfs_SPEC,
14634 crate::common::RW,
14635 >::from_register(self, 0)
14636 }
14637
14638 #[doc = "Port Mode Control"]
14639 #[inline(always)]
14640 pub fn pmr(
14641 self,
14642 ) -> crate::common::RegisterField<
14643 16,
14644 0x1,
14645 1,
14646 0,
14647 p50pfs::Pmr,
14648 p50pfs::Pmr,
14649 P50Pfs_SPEC,
14650 crate::common::RW,
14651 > {
14652 crate::common::RegisterField::<
14653 16,
14654 0x1,
14655 1,
14656 0,
14657 p50pfs::Pmr,
14658 p50pfs::Pmr,
14659 P50Pfs_SPEC,
14660 crate::common::RW,
14661 >::from_register(self, 0)
14662 }
14663
14664 #[doc = "Peripheral Select"]
14665 #[inline(always)]
14666 pub fn psel(
14667 self,
14668 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P50Pfs_SPEC, crate::common::RW> {
14669 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P50Pfs_SPEC,crate::common::RW>::from_register(self,0)
14670 }
14671}
14672impl ::core::default::Default for P50Pfs {
14673 #[inline(always)]
14674 fn default() -> P50Pfs {
14675 <crate::RegValueT<P50Pfs_SPEC> as RegisterValue<_>>::new(0)
14676 }
14677}
14678pub mod p50pfs {
14679
14680 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14681 pub struct Podr_SPEC;
14682 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14683 impl Podr {
14684 #[doc = "Output low"]
14685 pub const _0: Self = Self::new(0);
14686
14687 #[doc = "Output high"]
14688 pub const _1: Self = Self::new(1);
14689 }
14690 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14691 pub struct Pidr_SPEC;
14692 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14693 impl Pidr {
14694 #[doc = "Low level"]
14695 pub const _0: Self = Self::new(0);
14696
14697 #[doc = "High level"]
14698 pub const _1: Self = Self::new(1);
14699 }
14700 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14701 pub struct Pdr_SPEC;
14702 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14703 impl Pdr {
14704 #[doc = "Input (functions as an input pin)"]
14705 pub const _0: Self = Self::new(0);
14706
14707 #[doc = "Output (functions as an output pin)"]
14708 pub const _1: Self = Self::new(1);
14709 }
14710 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14711 pub struct Pcr_SPEC;
14712 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14713 impl Pcr {
14714 #[doc = "Disable input pull-up"]
14715 pub const _0: Self = Self::new(0);
14716
14717 #[doc = "Enable input pull-up"]
14718 pub const _1: Self = Self::new(1);
14719 }
14720 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14721 pub struct Ncodr_SPEC;
14722 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
14723 impl Ncodr {
14724 #[doc = "Output CMOS"]
14725 pub const _0: Self = Self::new(0);
14726
14727 #[doc = "Output NMOS open-drain"]
14728 pub const _1: Self = Self::new(1);
14729 }
14730 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14731 pub struct Isel_SPEC;
14732 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
14733 impl Isel {
14734 #[doc = "Do not use as IRQn input pin"]
14735 pub const _0: Self = Self::new(0);
14736
14737 #[doc = "Use as IRQn input pin"]
14738 pub const _1: Self = Self::new(1);
14739 }
14740 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14741 pub struct Asel_SPEC;
14742 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
14743 impl Asel {
14744 #[doc = "Do not use as analog pin"]
14745 pub const _0: Self = Self::new(0);
14746
14747 #[doc = "Use as analog pin"]
14748 pub const _1: Self = Self::new(1);
14749 }
14750 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14751 pub struct Pmr_SPEC;
14752 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
14753 impl Pmr {
14754 #[doc = "Use as general I/O pin"]
14755 pub const _0: Self = Self::new(0);
14756
14757 #[doc = "Use as I/O port for peripheral functions"]
14758 pub const _1: Self = Self::new(1);
14759 }
14760}
14761#[doc(hidden)]
14762#[derive(Copy, Clone, Eq, PartialEq)]
14763pub struct P50PfsHa_SPEC;
14764impl crate::sealed::RegSpec for P50PfsHa_SPEC {
14765 type DataType = u16;
14766}
14767
14768#[doc = "Port 50%s Pin Function Select Register"]
14769pub type P50PfsHa = crate::RegValueT<P50PfsHa_SPEC>;
14770
14771impl P50PfsHa {
14772 #[doc = "Port Output Data"]
14773 #[inline(always)]
14774 pub fn podr(
14775 self,
14776 ) -> crate::common::RegisterField<
14777 0,
14778 0x1,
14779 1,
14780 0,
14781 p50pfs_ha::Podr,
14782 p50pfs_ha::Podr,
14783 P50PfsHa_SPEC,
14784 crate::common::RW,
14785 > {
14786 crate::common::RegisterField::<
14787 0,
14788 0x1,
14789 1,
14790 0,
14791 p50pfs_ha::Podr,
14792 p50pfs_ha::Podr,
14793 P50PfsHa_SPEC,
14794 crate::common::RW,
14795 >::from_register(self, 0)
14796 }
14797
14798 #[doc = "Port State"]
14799 #[inline(always)]
14800 pub fn pidr(
14801 self,
14802 ) -> crate::common::RegisterField<
14803 1,
14804 0x1,
14805 1,
14806 0,
14807 p50pfs_ha::Pidr,
14808 p50pfs_ha::Pidr,
14809 P50PfsHa_SPEC,
14810 crate::common::R,
14811 > {
14812 crate::common::RegisterField::<
14813 1,
14814 0x1,
14815 1,
14816 0,
14817 p50pfs_ha::Pidr,
14818 p50pfs_ha::Pidr,
14819 P50PfsHa_SPEC,
14820 crate::common::R,
14821 >::from_register(self, 0)
14822 }
14823
14824 #[doc = "Port Direction"]
14825 #[inline(always)]
14826 pub fn pdr(
14827 self,
14828 ) -> crate::common::RegisterField<
14829 2,
14830 0x1,
14831 1,
14832 0,
14833 p50pfs_ha::Pdr,
14834 p50pfs_ha::Pdr,
14835 P50PfsHa_SPEC,
14836 crate::common::RW,
14837 > {
14838 crate::common::RegisterField::<
14839 2,
14840 0x1,
14841 1,
14842 0,
14843 p50pfs_ha::Pdr,
14844 p50pfs_ha::Pdr,
14845 P50PfsHa_SPEC,
14846 crate::common::RW,
14847 >::from_register(self, 0)
14848 }
14849
14850 #[doc = "Pull-up Control"]
14851 #[inline(always)]
14852 pub fn pcr(
14853 self,
14854 ) -> crate::common::RegisterField<
14855 4,
14856 0x1,
14857 1,
14858 0,
14859 p50pfs_ha::Pcr,
14860 p50pfs_ha::Pcr,
14861 P50PfsHa_SPEC,
14862 crate::common::RW,
14863 > {
14864 crate::common::RegisterField::<
14865 4,
14866 0x1,
14867 1,
14868 0,
14869 p50pfs_ha::Pcr,
14870 p50pfs_ha::Pcr,
14871 P50PfsHa_SPEC,
14872 crate::common::RW,
14873 >::from_register(self, 0)
14874 }
14875
14876 #[doc = "N-Channel Open-Drain Control"]
14877 #[inline(always)]
14878 pub fn ncodr(
14879 self,
14880 ) -> crate::common::RegisterField<
14881 6,
14882 0x1,
14883 1,
14884 0,
14885 p50pfs_ha::Ncodr,
14886 p50pfs_ha::Ncodr,
14887 P50PfsHa_SPEC,
14888 crate::common::RW,
14889 > {
14890 crate::common::RegisterField::<
14891 6,
14892 0x1,
14893 1,
14894 0,
14895 p50pfs_ha::Ncodr,
14896 p50pfs_ha::Ncodr,
14897 P50PfsHa_SPEC,
14898 crate::common::RW,
14899 >::from_register(self, 0)
14900 }
14901
14902 #[doc = "IRQ Input Enable"]
14903 #[inline(always)]
14904 pub fn isel(
14905 self,
14906 ) -> crate::common::RegisterField<
14907 14,
14908 0x1,
14909 1,
14910 0,
14911 p50pfs_ha::Isel,
14912 p50pfs_ha::Isel,
14913 P50PfsHa_SPEC,
14914 crate::common::RW,
14915 > {
14916 crate::common::RegisterField::<
14917 14,
14918 0x1,
14919 1,
14920 0,
14921 p50pfs_ha::Isel,
14922 p50pfs_ha::Isel,
14923 P50PfsHa_SPEC,
14924 crate::common::RW,
14925 >::from_register(self, 0)
14926 }
14927
14928 #[doc = "Analog Input Enable"]
14929 #[inline(always)]
14930 pub fn asel(
14931 self,
14932 ) -> crate::common::RegisterField<
14933 15,
14934 0x1,
14935 1,
14936 0,
14937 p50pfs_ha::Asel,
14938 p50pfs_ha::Asel,
14939 P50PfsHa_SPEC,
14940 crate::common::RW,
14941 > {
14942 crate::common::RegisterField::<
14943 15,
14944 0x1,
14945 1,
14946 0,
14947 p50pfs_ha::Asel,
14948 p50pfs_ha::Asel,
14949 P50PfsHa_SPEC,
14950 crate::common::RW,
14951 >::from_register(self, 0)
14952 }
14953}
14954impl ::core::default::Default for P50PfsHa {
14955 #[inline(always)]
14956 fn default() -> P50PfsHa {
14957 <crate::RegValueT<P50PfsHa_SPEC> as RegisterValue<_>>::new(0)
14958 }
14959}
14960pub mod p50pfs_ha {
14961
14962 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14963 pub struct Podr_SPEC;
14964 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
14965 impl Podr {
14966 #[doc = "Output low"]
14967 pub const _0: Self = Self::new(0);
14968
14969 #[doc = "Output high"]
14970 pub const _1: Self = Self::new(1);
14971 }
14972 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14973 pub struct Pidr_SPEC;
14974 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
14975 impl Pidr {
14976 #[doc = "Low level"]
14977 pub const _0: Self = Self::new(0);
14978
14979 #[doc = "High level"]
14980 pub const _1: Self = Self::new(1);
14981 }
14982 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14983 pub struct Pdr_SPEC;
14984 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
14985 impl Pdr {
14986 #[doc = "Input (functions as an input pin)"]
14987 pub const _0: Self = Self::new(0);
14988
14989 #[doc = "Output (functions as an output pin)"]
14990 pub const _1: Self = Self::new(1);
14991 }
14992 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
14993 pub struct Pcr_SPEC;
14994 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
14995 impl Pcr {
14996 #[doc = "Disable input pull-up"]
14997 pub const _0: Self = Self::new(0);
14998
14999 #[doc = "Enable input pull-up"]
15000 pub const _1: Self = Self::new(1);
15001 }
15002 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15003 pub struct Ncodr_SPEC;
15004 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15005 impl Ncodr {
15006 #[doc = "Output CMOS"]
15007 pub const _0: Self = Self::new(0);
15008
15009 #[doc = "Output NMOS open-drain"]
15010 pub const _1: Self = Self::new(1);
15011 }
15012 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15013 pub struct Isel_SPEC;
15014 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15015 impl Isel {
15016 #[doc = "Do not use as IRQn input pin"]
15017 pub const _0: Self = Self::new(0);
15018
15019 #[doc = "Use as IRQn input pin"]
15020 pub const _1: Self = Self::new(1);
15021 }
15022 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15023 pub struct Asel_SPEC;
15024 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15025 impl Asel {
15026 #[doc = "Do not use as analog pin"]
15027 pub const _0: Self = Self::new(0);
15028
15029 #[doc = "Use as analog pin"]
15030 pub const _1: Self = Self::new(1);
15031 }
15032}
15033#[doc(hidden)]
15034#[derive(Copy, Clone, Eq, PartialEq)]
15035pub struct P50PfsBy_SPEC;
15036impl crate::sealed::RegSpec for P50PfsBy_SPEC {
15037 type DataType = u8;
15038}
15039
15040#[doc = "Port 50%s Pin Function Select Register"]
15041pub type P50PfsBy = crate::RegValueT<P50PfsBy_SPEC>;
15042
15043impl P50PfsBy {
15044 #[doc = "Port Output Data"]
15045 #[inline(always)]
15046 pub fn podr(
15047 self,
15048 ) -> crate::common::RegisterField<
15049 0,
15050 0x1,
15051 1,
15052 0,
15053 p50pfs_by::Podr,
15054 p50pfs_by::Podr,
15055 P50PfsBy_SPEC,
15056 crate::common::RW,
15057 > {
15058 crate::common::RegisterField::<
15059 0,
15060 0x1,
15061 1,
15062 0,
15063 p50pfs_by::Podr,
15064 p50pfs_by::Podr,
15065 P50PfsBy_SPEC,
15066 crate::common::RW,
15067 >::from_register(self, 0)
15068 }
15069
15070 #[doc = "Port State"]
15071 #[inline(always)]
15072 pub fn pidr(
15073 self,
15074 ) -> crate::common::RegisterField<
15075 1,
15076 0x1,
15077 1,
15078 0,
15079 p50pfs_by::Pidr,
15080 p50pfs_by::Pidr,
15081 P50PfsBy_SPEC,
15082 crate::common::R,
15083 > {
15084 crate::common::RegisterField::<
15085 1,
15086 0x1,
15087 1,
15088 0,
15089 p50pfs_by::Pidr,
15090 p50pfs_by::Pidr,
15091 P50PfsBy_SPEC,
15092 crate::common::R,
15093 >::from_register(self, 0)
15094 }
15095
15096 #[doc = "Port Direction"]
15097 #[inline(always)]
15098 pub fn pdr(
15099 self,
15100 ) -> crate::common::RegisterField<
15101 2,
15102 0x1,
15103 1,
15104 0,
15105 p50pfs_by::Pdr,
15106 p50pfs_by::Pdr,
15107 P50PfsBy_SPEC,
15108 crate::common::RW,
15109 > {
15110 crate::common::RegisterField::<
15111 2,
15112 0x1,
15113 1,
15114 0,
15115 p50pfs_by::Pdr,
15116 p50pfs_by::Pdr,
15117 P50PfsBy_SPEC,
15118 crate::common::RW,
15119 >::from_register(self, 0)
15120 }
15121
15122 #[doc = "Pull-up Control"]
15123 #[inline(always)]
15124 pub fn pcr(
15125 self,
15126 ) -> crate::common::RegisterField<
15127 4,
15128 0x1,
15129 1,
15130 0,
15131 p50pfs_by::Pcr,
15132 p50pfs_by::Pcr,
15133 P50PfsBy_SPEC,
15134 crate::common::RW,
15135 > {
15136 crate::common::RegisterField::<
15137 4,
15138 0x1,
15139 1,
15140 0,
15141 p50pfs_by::Pcr,
15142 p50pfs_by::Pcr,
15143 P50PfsBy_SPEC,
15144 crate::common::RW,
15145 >::from_register(self, 0)
15146 }
15147
15148 #[doc = "N-Channel Open-Drain Control"]
15149 #[inline(always)]
15150 pub fn ncodr(
15151 self,
15152 ) -> crate::common::RegisterField<
15153 6,
15154 0x1,
15155 1,
15156 0,
15157 p50pfs_by::Ncodr,
15158 p50pfs_by::Ncodr,
15159 P50PfsBy_SPEC,
15160 crate::common::RW,
15161 > {
15162 crate::common::RegisterField::<
15163 6,
15164 0x1,
15165 1,
15166 0,
15167 p50pfs_by::Ncodr,
15168 p50pfs_by::Ncodr,
15169 P50PfsBy_SPEC,
15170 crate::common::RW,
15171 >::from_register(self, 0)
15172 }
15173}
15174impl ::core::default::Default for P50PfsBy {
15175 #[inline(always)]
15176 fn default() -> P50PfsBy {
15177 <crate::RegValueT<P50PfsBy_SPEC> as RegisterValue<_>>::new(0)
15178 }
15179}
15180pub mod p50pfs_by {
15181
15182 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15183 pub struct Podr_SPEC;
15184 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15185 impl Podr {
15186 #[doc = "Output low"]
15187 pub const _0: Self = Self::new(0);
15188
15189 #[doc = "Output high"]
15190 pub const _1: Self = Self::new(1);
15191 }
15192 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15193 pub struct Pidr_SPEC;
15194 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15195 impl Pidr {
15196 #[doc = "Low level"]
15197 pub const _0: Self = Self::new(0);
15198
15199 #[doc = "High level"]
15200 pub const _1: Self = Self::new(1);
15201 }
15202 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15203 pub struct Pdr_SPEC;
15204 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15205 impl Pdr {
15206 #[doc = "Input (functions as an input pin)"]
15207 pub const _0: Self = Self::new(0);
15208
15209 #[doc = "Output (functions as an output pin)"]
15210 pub const _1: Self = Self::new(1);
15211 }
15212 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15213 pub struct Pcr_SPEC;
15214 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15215 impl Pcr {
15216 #[doc = "Disable input pull-up"]
15217 pub const _0: Self = Self::new(0);
15218
15219 #[doc = "Enable input pull-up"]
15220 pub const _1: Self = Self::new(1);
15221 }
15222 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15223 pub struct Ncodr_SPEC;
15224 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15225 impl Ncodr {
15226 #[doc = "Output CMOS"]
15227 pub const _0: Self = Self::new(0);
15228
15229 #[doc = "Output NMOS open-drain"]
15230 pub const _1: Self = Self::new(1);
15231 }
15232}
15233#[doc(hidden)]
15234#[derive(Copy, Clone, Eq, PartialEq)]
15235pub struct P9Pfs_SPEC;
15236impl crate::sealed::RegSpec for P9Pfs_SPEC {
15237 type DataType = u32;
15238}
15239
15240#[doc = "Port 9%s Pin Function Select Register"]
15241pub type P9Pfs = crate::RegValueT<P9Pfs_SPEC>;
15242
15243impl P9Pfs {
15244 #[doc = "Port Output Data"]
15245 #[inline(always)]
15246 pub fn podr(
15247 self,
15248 ) -> crate::common::RegisterField<
15249 0,
15250 0x1,
15251 1,
15252 0,
15253 p9pfs::Podr,
15254 p9pfs::Podr,
15255 P9Pfs_SPEC,
15256 crate::common::RW,
15257 > {
15258 crate::common::RegisterField::<
15259 0,
15260 0x1,
15261 1,
15262 0,
15263 p9pfs::Podr,
15264 p9pfs::Podr,
15265 P9Pfs_SPEC,
15266 crate::common::RW,
15267 >::from_register(self, 0)
15268 }
15269
15270 #[doc = "Port State"]
15271 #[inline(always)]
15272 pub fn pidr(
15273 self,
15274 ) -> crate::common::RegisterField<
15275 1,
15276 0x1,
15277 1,
15278 0,
15279 p9pfs::Pidr,
15280 p9pfs::Pidr,
15281 P9Pfs_SPEC,
15282 crate::common::R,
15283 > {
15284 crate::common::RegisterField::<
15285 1,
15286 0x1,
15287 1,
15288 0,
15289 p9pfs::Pidr,
15290 p9pfs::Pidr,
15291 P9Pfs_SPEC,
15292 crate::common::R,
15293 >::from_register(self, 0)
15294 }
15295
15296 #[doc = "Port Direction"]
15297 #[inline(always)]
15298 pub fn pdr(
15299 self,
15300 ) -> crate::common::RegisterField<
15301 2,
15302 0x1,
15303 1,
15304 0,
15305 p9pfs::Pdr,
15306 p9pfs::Pdr,
15307 P9Pfs_SPEC,
15308 crate::common::RW,
15309 > {
15310 crate::common::RegisterField::<
15311 2,
15312 0x1,
15313 1,
15314 0,
15315 p9pfs::Pdr,
15316 p9pfs::Pdr,
15317 P9Pfs_SPEC,
15318 crate::common::RW,
15319 >::from_register(self, 0)
15320 }
15321
15322 #[doc = "Pull-up Control"]
15323 #[inline(always)]
15324 pub fn pcr(
15325 self,
15326 ) -> crate::common::RegisterField<
15327 4,
15328 0x1,
15329 1,
15330 0,
15331 p9pfs::Pcr,
15332 p9pfs::Pcr,
15333 P9Pfs_SPEC,
15334 crate::common::RW,
15335 > {
15336 crate::common::RegisterField::<
15337 4,
15338 0x1,
15339 1,
15340 0,
15341 p9pfs::Pcr,
15342 p9pfs::Pcr,
15343 P9Pfs_SPEC,
15344 crate::common::RW,
15345 >::from_register(self, 0)
15346 }
15347
15348 #[doc = "N-Channel Open-Drain Control"]
15349 #[inline(always)]
15350 pub fn ncodr(
15351 self,
15352 ) -> crate::common::RegisterField<
15353 6,
15354 0x1,
15355 1,
15356 0,
15357 p9pfs::Ncodr,
15358 p9pfs::Ncodr,
15359 P9Pfs_SPEC,
15360 crate::common::RW,
15361 > {
15362 crate::common::RegisterField::<
15363 6,
15364 0x1,
15365 1,
15366 0,
15367 p9pfs::Ncodr,
15368 p9pfs::Ncodr,
15369 P9Pfs_SPEC,
15370 crate::common::RW,
15371 >::from_register(self, 0)
15372 }
15373
15374 #[doc = "IRQ Input Enable"]
15375 #[inline(always)]
15376 pub fn isel(
15377 self,
15378 ) -> crate::common::RegisterField<
15379 14,
15380 0x1,
15381 1,
15382 0,
15383 p9pfs::Isel,
15384 p9pfs::Isel,
15385 P9Pfs_SPEC,
15386 crate::common::RW,
15387 > {
15388 crate::common::RegisterField::<
15389 14,
15390 0x1,
15391 1,
15392 0,
15393 p9pfs::Isel,
15394 p9pfs::Isel,
15395 P9Pfs_SPEC,
15396 crate::common::RW,
15397 >::from_register(self, 0)
15398 }
15399
15400 #[doc = "Analog Input Enable"]
15401 #[inline(always)]
15402 pub fn asel(
15403 self,
15404 ) -> crate::common::RegisterField<
15405 15,
15406 0x1,
15407 1,
15408 0,
15409 p9pfs::Asel,
15410 p9pfs::Asel,
15411 P9Pfs_SPEC,
15412 crate::common::RW,
15413 > {
15414 crate::common::RegisterField::<
15415 15,
15416 0x1,
15417 1,
15418 0,
15419 p9pfs::Asel,
15420 p9pfs::Asel,
15421 P9Pfs_SPEC,
15422 crate::common::RW,
15423 >::from_register(self, 0)
15424 }
15425
15426 #[doc = "Port Mode Control"]
15427 #[inline(always)]
15428 pub fn pmr(
15429 self,
15430 ) -> crate::common::RegisterField<
15431 16,
15432 0x1,
15433 1,
15434 0,
15435 p9pfs::Pmr,
15436 p9pfs::Pmr,
15437 P9Pfs_SPEC,
15438 crate::common::RW,
15439 > {
15440 crate::common::RegisterField::<
15441 16,
15442 0x1,
15443 1,
15444 0,
15445 p9pfs::Pmr,
15446 p9pfs::Pmr,
15447 P9Pfs_SPEC,
15448 crate::common::RW,
15449 >::from_register(self, 0)
15450 }
15451
15452 #[doc = "Peripheral Select"]
15453 #[inline(always)]
15454 pub fn psel(
15455 self,
15456 ) -> crate::common::RegisterField<24, 0x1f, 1, 0, u8, u8, P9Pfs_SPEC, crate::common::RW> {
15457 crate::common::RegisterField::<24,0x1f,1,0,u8,u8,P9Pfs_SPEC,crate::common::RW>::from_register(self,0)
15458 }
15459}
15460impl ::core::default::Default for P9Pfs {
15461 #[inline(always)]
15462 fn default() -> P9Pfs {
15463 <crate::RegValueT<P9Pfs_SPEC> as RegisterValue<_>>::new(0)
15464 }
15465}
15466pub mod p9pfs {
15467
15468 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15469 pub struct Podr_SPEC;
15470 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15471 impl Podr {
15472 #[doc = "Output low"]
15473 pub const _0: Self = Self::new(0);
15474
15475 #[doc = "Output high"]
15476 pub const _1: Self = Self::new(1);
15477 }
15478 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15479 pub struct Pidr_SPEC;
15480 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15481 impl Pidr {
15482 #[doc = "Low level"]
15483 pub const _0: Self = Self::new(0);
15484
15485 #[doc = "High level"]
15486 pub const _1: Self = Self::new(1);
15487 }
15488 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15489 pub struct Pdr_SPEC;
15490 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15491 impl Pdr {
15492 #[doc = "Input (functions as an input pin)"]
15493 pub const _0: Self = Self::new(0);
15494
15495 #[doc = "Output (functions as an output pin)"]
15496 pub const _1: Self = Self::new(1);
15497 }
15498 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15499 pub struct Pcr_SPEC;
15500 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15501 impl Pcr {
15502 #[doc = "Disable input pull-up"]
15503 pub const _0: Self = Self::new(0);
15504
15505 #[doc = "Enable input pull-up"]
15506 pub const _1: Self = Self::new(1);
15507 }
15508 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15509 pub struct Ncodr_SPEC;
15510 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15511 impl Ncodr {
15512 #[doc = "Output CMOS"]
15513 pub const _0: Self = Self::new(0);
15514
15515 #[doc = "Output NMOS open-drain"]
15516 pub const _1: Self = Self::new(1);
15517 }
15518 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15519 pub struct Isel_SPEC;
15520 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15521 impl Isel {
15522 #[doc = "Do not use as IRQn input pin"]
15523 pub const _0: Self = Self::new(0);
15524
15525 #[doc = "Use as IRQn input pin"]
15526 pub const _1: Self = Self::new(1);
15527 }
15528 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15529 pub struct Asel_SPEC;
15530 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15531 impl Asel {
15532 #[doc = "Do not use as analog pin"]
15533 pub const _0: Self = Self::new(0);
15534
15535 #[doc = "Use as analog pin"]
15536 pub const _1: Self = Self::new(1);
15537 }
15538 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15539 pub struct Pmr_SPEC;
15540 pub type Pmr = crate::EnumBitfieldStruct<u8, Pmr_SPEC>;
15541 impl Pmr {
15542 #[doc = "Use as general I/O pin"]
15543 pub const _0: Self = Self::new(0);
15544
15545 #[doc = "Use as I/O port for peripheral functions"]
15546 pub const _1: Self = Self::new(1);
15547 }
15548}
15549#[doc(hidden)]
15550#[derive(Copy, Clone, Eq, PartialEq)]
15551pub struct P9PfsHa_SPEC;
15552impl crate::sealed::RegSpec for P9PfsHa_SPEC {
15553 type DataType = u16;
15554}
15555
15556#[doc = "Port 9%s Pin Function Select Register"]
15557pub type P9PfsHa = crate::RegValueT<P9PfsHa_SPEC>;
15558
15559impl P9PfsHa {
15560 #[doc = "Port Output Data"]
15561 #[inline(always)]
15562 pub fn podr(
15563 self,
15564 ) -> crate::common::RegisterField<
15565 0,
15566 0x1,
15567 1,
15568 0,
15569 p9pfs_ha::Podr,
15570 p9pfs_ha::Podr,
15571 P9PfsHa_SPEC,
15572 crate::common::RW,
15573 > {
15574 crate::common::RegisterField::<
15575 0,
15576 0x1,
15577 1,
15578 0,
15579 p9pfs_ha::Podr,
15580 p9pfs_ha::Podr,
15581 P9PfsHa_SPEC,
15582 crate::common::RW,
15583 >::from_register(self, 0)
15584 }
15585
15586 #[doc = "Port State"]
15587 #[inline(always)]
15588 pub fn pidr(
15589 self,
15590 ) -> crate::common::RegisterField<
15591 1,
15592 0x1,
15593 1,
15594 0,
15595 p9pfs_ha::Pidr,
15596 p9pfs_ha::Pidr,
15597 P9PfsHa_SPEC,
15598 crate::common::R,
15599 > {
15600 crate::common::RegisterField::<
15601 1,
15602 0x1,
15603 1,
15604 0,
15605 p9pfs_ha::Pidr,
15606 p9pfs_ha::Pidr,
15607 P9PfsHa_SPEC,
15608 crate::common::R,
15609 >::from_register(self, 0)
15610 }
15611
15612 #[doc = "Port Direction"]
15613 #[inline(always)]
15614 pub fn pdr(
15615 self,
15616 ) -> crate::common::RegisterField<
15617 2,
15618 0x1,
15619 1,
15620 0,
15621 p9pfs_ha::Pdr,
15622 p9pfs_ha::Pdr,
15623 P9PfsHa_SPEC,
15624 crate::common::RW,
15625 > {
15626 crate::common::RegisterField::<
15627 2,
15628 0x1,
15629 1,
15630 0,
15631 p9pfs_ha::Pdr,
15632 p9pfs_ha::Pdr,
15633 P9PfsHa_SPEC,
15634 crate::common::RW,
15635 >::from_register(self, 0)
15636 }
15637
15638 #[doc = "Pull-up Control"]
15639 #[inline(always)]
15640 pub fn pcr(
15641 self,
15642 ) -> crate::common::RegisterField<
15643 4,
15644 0x1,
15645 1,
15646 0,
15647 p9pfs_ha::Pcr,
15648 p9pfs_ha::Pcr,
15649 P9PfsHa_SPEC,
15650 crate::common::RW,
15651 > {
15652 crate::common::RegisterField::<
15653 4,
15654 0x1,
15655 1,
15656 0,
15657 p9pfs_ha::Pcr,
15658 p9pfs_ha::Pcr,
15659 P9PfsHa_SPEC,
15660 crate::common::RW,
15661 >::from_register(self, 0)
15662 }
15663
15664 #[doc = "N-Channel Open-Drain Control"]
15665 #[inline(always)]
15666 pub fn ncodr(
15667 self,
15668 ) -> crate::common::RegisterField<
15669 6,
15670 0x1,
15671 1,
15672 0,
15673 p9pfs_ha::Ncodr,
15674 p9pfs_ha::Ncodr,
15675 P9PfsHa_SPEC,
15676 crate::common::RW,
15677 > {
15678 crate::common::RegisterField::<
15679 6,
15680 0x1,
15681 1,
15682 0,
15683 p9pfs_ha::Ncodr,
15684 p9pfs_ha::Ncodr,
15685 P9PfsHa_SPEC,
15686 crate::common::RW,
15687 >::from_register(self, 0)
15688 }
15689
15690 #[doc = "IRQ Input Enable"]
15691 #[inline(always)]
15692 pub fn isel(
15693 self,
15694 ) -> crate::common::RegisterField<
15695 14,
15696 0x1,
15697 1,
15698 0,
15699 p9pfs_ha::Isel,
15700 p9pfs_ha::Isel,
15701 P9PfsHa_SPEC,
15702 crate::common::RW,
15703 > {
15704 crate::common::RegisterField::<
15705 14,
15706 0x1,
15707 1,
15708 0,
15709 p9pfs_ha::Isel,
15710 p9pfs_ha::Isel,
15711 P9PfsHa_SPEC,
15712 crate::common::RW,
15713 >::from_register(self, 0)
15714 }
15715
15716 #[doc = "Analog Input Enable"]
15717 #[inline(always)]
15718 pub fn asel(
15719 self,
15720 ) -> crate::common::RegisterField<
15721 15,
15722 0x1,
15723 1,
15724 0,
15725 p9pfs_ha::Asel,
15726 p9pfs_ha::Asel,
15727 P9PfsHa_SPEC,
15728 crate::common::RW,
15729 > {
15730 crate::common::RegisterField::<
15731 15,
15732 0x1,
15733 1,
15734 0,
15735 p9pfs_ha::Asel,
15736 p9pfs_ha::Asel,
15737 P9PfsHa_SPEC,
15738 crate::common::RW,
15739 >::from_register(self, 0)
15740 }
15741}
15742impl ::core::default::Default for P9PfsHa {
15743 #[inline(always)]
15744 fn default() -> P9PfsHa {
15745 <crate::RegValueT<P9PfsHa_SPEC> as RegisterValue<_>>::new(0)
15746 }
15747}
15748pub mod p9pfs_ha {
15749
15750 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15751 pub struct Podr_SPEC;
15752 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15753 impl Podr {
15754 #[doc = "Output low"]
15755 pub const _0: Self = Self::new(0);
15756
15757 #[doc = "Output high"]
15758 pub const _1: Self = Self::new(1);
15759 }
15760 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15761 pub struct Pidr_SPEC;
15762 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15763 impl Pidr {
15764 #[doc = "Low level"]
15765 pub const _0: Self = Self::new(0);
15766
15767 #[doc = "High level"]
15768 pub const _1: Self = Self::new(1);
15769 }
15770 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15771 pub struct Pdr_SPEC;
15772 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15773 impl Pdr {
15774 #[doc = "Input (functions as an input pin)"]
15775 pub const _0: Self = Self::new(0);
15776
15777 #[doc = "Output (functions as an output pin)"]
15778 pub const _1: Self = Self::new(1);
15779 }
15780 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15781 pub struct Pcr_SPEC;
15782 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
15783 impl Pcr {
15784 #[doc = "Disable input pull-up"]
15785 pub const _0: Self = Self::new(0);
15786
15787 #[doc = "Enable input pull-up"]
15788 pub const _1: Self = Self::new(1);
15789 }
15790 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15791 pub struct Ncodr_SPEC;
15792 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
15793 impl Ncodr {
15794 #[doc = "Output CMOS"]
15795 pub const _0: Self = Self::new(0);
15796
15797 #[doc = "Output NMOS open-drain"]
15798 pub const _1: Self = Self::new(1);
15799 }
15800 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15801 pub struct Isel_SPEC;
15802 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
15803 impl Isel {
15804 #[doc = "Do not use as IRQn input pin"]
15805 pub const _0: Self = Self::new(0);
15806
15807 #[doc = "Use as IRQn input pin"]
15808 pub const _1: Self = Self::new(1);
15809 }
15810 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15811 pub struct Asel_SPEC;
15812 pub type Asel = crate::EnumBitfieldStruct<u8, Asel_SPEC>;
15813 impl Asel {
15814 #[doc = "Do not use as analog pin"]
15815 pub const _0: Self = Self::new(0);
15816
15817 #[doc = "Use as analog pin"]
15818 pub const _1: Self = Self::new(1);
15819 }
15820}
15821#[doc(hidden)]
15822#[derive(Copy, Clone, Eq, PartialEq)]
15823pub struct P9PfsBy_SPEC;
15824impl crate::sealed::RegSpec for P9PfsBy_SPEC {
15825 type DataType = u8;
15826}
15827
15828#[doc = "Port 9%s Pin Function Select Register"]
15829pub type P9PfsBy = crate::RegValueT<P9PfsBy_SPEC>;
15830
15831impl P9PfsBy {
15832 #[doc = "Port Output Data"]
15833 #[inline(always)]
15834 pub fn podr(
15835 self,
15836 ) -> crate::common::RegisterField<
15837 0,
15838 0x1,
15839 1,
15840 0,
15841 p9pfs_by::Podr,
15842 p9pfs_by::Podr,
15843 P9PfsBy_SPEC,
15844 crate::common::RW,
15845 > {
15846 crate::common::RegisterField::<
15847 0,
15848 0x1,
15849 1,
15850 0,
15851 p9pfs_by::Podr,
15852 p9pfs_by::Podr,
15853 P9PfsBy_SPEC,
15854 crate::common::RW,
15855 >::from_register(self, 0)
15856 }
15857
15858 #[doc = "Port State"]
15859 #[inline(always)]
15860 pub fn pidr(
15861 self,
15862 ) -> crate::common::RegisterField<
15863 1,
15864 0x1,
15865 1,
15866 0,
15867 p9pfs_by::Pidr,
15868 p9pfs_by::Pidr,
15869 P9PfsBy_SPEC,
15870 crate::common::R,
15871 > {
15872 crate::common::RegisterField::<
15873 1,
15874 0x1,
15875 1,
15876 0,
15877 p9pfs_by::Pidr,
15878 p9pfs_by::Pidr,
15879 P9PfsBy_SPEC,
15880 crate::common::R,
15881 >::from_register(self, 0)
15882 }
15883
15884 #[doc = "Port Direction"]
15885 #[inline(always)]
15886 pub fn pdr(
15887 self,
15888 ) -> crate::common::RegisterField<
15889 2,
15890 0x1,
15891 1,
15892 0,
15893 p9pfs_by::Pdr,
15894 p9pfs_by::Pdr,
15895 P9PfsBy_SPEC,
15896 crate::common::RW,
15897 > {
15898 crate::common::RegisterField::<
15899 2,
15900 0x1,
15901 1,
15902 0,
15903 p9pfs_by::Pdr,
15904 p9pfs_by::Pdr,
15905 P9PfsBy_SPEC,
15906 crate::common::RW,
15907 >::from_register(self, 0)
15908 }
15909
15910 #[doc = "Pull-up Control"]
15911 #[inline(always)]
15912 pub fn pcr(
15913 self,
15914 ) -> crate::common::RegisterField<
15915 4,
15916 0x1,
15917 1,
15918 0,
15919 p9pfs_by::Pcr,
15920 p9pfs_by::Pcr,
15921 P9PfsBy_SPEC,
15922 crate::common::RW,
15923 > {
15924 crate::common::RegisterField::<
15925 4,
15926 0x1,
15927 1,
15928 0,
15929 p9pfs_by::Pcr,
15930 p9pfs_by::Pcr,
15931 P9PfsBy_SPEC,
15932 crate::common::RW,
15933 >::from_register(self, 0)
15934 }
15935
15936 #[doc = "N-Channel Open-Drain Control"]
15937 #[inline(always)]
15938 pub fn ncodr(
15939 self,
15940 ) -> crate::common::RegisterField<
15941 6,
15942 0x1,
15943 1,
15944 0,
15945 p9pfs_by::Ncodr,
15946 p9pfs_by::Ncodr,
15947 P9PfsBy_SPEC,
15948 crate::common::RW,
15949 > {
15950 crate::common::RegisterField::<
15951 6,
15952 0x1,
15953 1,
15954 0,
15955 p9pfs_by::Ncodr,
15956 p9pfs_by::Ncodr,
15957 P9PfsBy_SPEC,
15958 crate::common::RW,
15959 >::from_register(self, 0)
15960 }
15961}
15962impl ::core::default::Default for P9PfsBy {
15963 #[inline(always)]
15964 fn default() -> P9PfsBy {
15965 <crate::RegValueT<P9PfsBy_SPEC> as RegisterValue<_>>::new(0)
15966 }
15967}
15968pub mod p9pfs_by {
15969
15970 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15971 pub struct Podr_SPEC;
15972 pub type Podr = crate::EnumBitfieldStruct<u8, Podr_SPEC>;
15973 impl Podr {
15974 #[doc = "Output low"]
15975 pub const _0: Self = Self::new(0);
15976
15977 #[doc = "Output high"]
15978 pub const _1: Self = Self::new(1);
15979 }
15980 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15981 pub struct Pidr_SPEC;
15982 pub type Pidr = crate::EnumBitfieldStruct<u8, Pidr_SPEC>;
15983 impl Pidr {
15984 #[doc = "Low level"]
15985 pub const _0: Self = Self::new(0);
15986
15987 #[doc = "High level"]
15988 pub const _1: Self = Self::new(1);
15989 }
15990 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
15991 pub struct Pdr_SPEC;
15992 pub type Pdr = crate::EnumBitfieldStruct<u8, Pdr_SPEC>;
15993 impl Pdr {
15994 #[doc = "Input (functions as an input pin)"]
15995 pub const _0: Self = Self::new(0);
15996
15997 #[doc = "Output (functions as an output pin)"]
15998 pub const _1: Self = Self::new(1);
15999 }
16000 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16001 pub struct Pcr_SPEC;
16002 pub type Pcr = crate::EnumBitfieldStruct<u8, Pcr_SPEC>;
16003 impl Pcr {
16004 #[doc = "Disable input pull-up"]
16005 pub const _0: Self = Self::new(0);
16006
16007 #[doc = "Enable input pull-up"]
16008 pub const _1: Self = Self::new(1);
16009 }
16010 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16011 pub struct Ncodr_SPEC;
16012 pub type Ncodr = crate::EnumBitfieldStruct<u8, Ncodr_SPEC>;
16013 impl Ncodr {
16014 #[doc = "Output CMOS"]
16015 pub const _0: Self = Self::new(0);
16016
16017 #[doc = "Output NMOS open-drain"]
16018 pub const _1: Self = Self::new(1);
16019 }
16020}
16021#[doc(hidden)]
16022#[derive(Copy, Clone, Eq, PartialEq)]
16023pub struct Pwpr_SPEC;
16024impl crate::sealed::RegSpec for Pwpr_SPEC {
16025 type DataType = u8;
16026}
16027
16028#[doc = "Write-Protect Register"]
16029pub type Pwpr = crate::RegValueT<Pwpr_SPEC>;
16030
16031impl Pwpr {
16032 #[doc = "PmnPFS Register Write Enable"]
16033 #[inline(always)]
16034 pub fn pfswe(
16035 self,
16036 ) -> crate::common::RegisterField<
16037 6,
16038 0x1,
16039 1,
16040 0,
16041 pwpr::Pfswe,
16042 pwpr::Pfswe,
16043 Pwpr_SPEC,
16044 crate::common::RW,
16045 > {
16046 crate::common::RegisterField::<
16047 6,
16048 0x1,
16049 1,
16050 0,
16051 pwpr::Pfswe,
16052 pwpr::Pfswe,
16053 Pwpr_SPEC,
16054 crate::common::RW,
16055 >::from_register(self, 0)
16056 }
16057
16058 #[doc = "PFSWE Bit Write Disable"]
16059 #[inline(always)]
16060 pub fn b0wi(
16061 self,
16062 ) -> crate::common::RegisterField<
16063 7,
16064 0x1,
16065 1,
16066 0,
16067 pwpr::B0Wi,
16068 pwpr::B0Wi,
16069 Pwpr_SPEC,
16070 crate::common::RW,
16071 > {
16072 crate::common::RegisterField::<
16073 7,
16074 0x1,
16075 1,
16076 0,
16077 pwpr::B0Wi,
16078 pwpr::B0Wi,
16079 Pwpr_SPEC,
16080 crate::common::RW,
16081 >::from_register(self, 0)
16082 }
16083}
16084impl ::core::default::Default for Pwpr {
16085 #[inline(always)]
16086 fn default() -> Pwpr {
16087 <crate::RegValueT<Pwpr_SPEC> as RegisterValue<_>>::new(128)
16088 }
16089}
16090pub mod pwpr {
16091
16092 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16093 pub struct Pfswe_SPEC;
16094 pub type Pfswe = crate::EnumBitfieldStruct<u8, Pfswe_SPEC>;
16095 impl Pfswe {
16096 #[doc = "Writing to the PmnPFS register is disabled"]
16097 pub const _0: Self = Self::new(0);
16098
16099 #[doc = "Writing to the PmnPFS register is enabled"]
16100 pub const _1: Self = Self::new(1);
16101 }
16102 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16103 pub struct B0Wi_SPEC;
16104 pub type B0Wi = crate::EnumBitfieldStruct<u8, B0Wi_SPEC>;
16105 impl B0Wi {
16106 #[doc = "Writing to the PFSWE bit is enabled"]
16107 pub const _0: Self = Self::new(0);
16108
16109 #[doc = "Writing to the PFSWE bit is disabled"]
16110 pub const _1: Self = Self::new(1);
16111 }
16112}
16113#[doc(hidden)]
16114#[derive(Copy, Clone, Eq, PartialEq)]
16115pub struct Prwcntr_SPEC;
16116impl crate::sealed::RegSpec for Prwcntr_SPEC {
16117 type DataType = u8;
16118}
16119
16120#[doc = "Port Read Wait Control Register"]
16121pub type Prwcntr = crate::RegValueT<Prwcntr_SPEC>;
16122
16123impl Prwcntr {
16124 #[doc = "Wait Cycle Control"]
16125 #[inline(always)]
16126 pub fn wait(
16127 self,
16128 ) -> crate::common::RegisterField<
16129 0,
16130 0x3,
16131 1,
16132 0,
16133 prwcntr::Wait,
16134 prwcntr::Wait,
16135 Prwcntr_SPEC,
16136 crate::common::RW,
16137 > {
16138 crate::common::RegisterField::<
16139 0,
16140 0x3,
16141 1,
16142 0,
16143 prwcntr::Wait,
16144 prwcntr::Wait,
16145 Prwcntr_SPEC,
16146 crate::common::RW,
16147 >::from_register(self, 0)
16148 }
16149}
16150impl ::core::default::Default for Prwcntr {
16151 #[inline(always)]
16152 fn default() -> Prwcntr {
16153 <crate::RegValueT<Prwcntr_SPEC> as RegisterValue<_>>::new(1)
16154 }
16155}
16156pub mod prwcntr {
16157
16158 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
16159 pub struct Wait_SPEC;
16160 pub type Wait = crate::EnumBitfieldStruct<u8, Wait_SPEC>;
16161 impl Wait {
16162 #[doc = "Setting prohibited"]
16163 pub const _00: Self = Self::new(0);
16164
16165 #[doc = "Insert a 1-cycle wait"]
16166 pub const _01: Self = Self::new(1);
16167
16168 #[doc = "Insert a 2-cycle wait"]
16169 pub const _10: Self = Self::new(2);
16170
16171 #[doc = "Insert a 3-cycle wait"]
16172 pub const _11: Self = Self::new(3);
16173 }
16174}