1#[doc = "Register `pd_cfg2` reader"]
2pub type R = crate::R<PD_CFG2_SPEC>;
3#[doc = "Register `pd_cfg2` writer"]
4pub type W = crate::W<PD_CFG2_SPEC>;
5#[doc = "Field `pd16_select` reader - PD16 Select"]
6pub type PD16_SELECT_R = crate::FieldReader<PD16_SELECT_A>;
7#[doc = "PD16 Select\n\nValue on reset: 0"]
8#[derive(Clone, Copy, Debug, PartialEq, Eq)]
9#[repr(u8)]
10pub enum PD16_SELECT_A {
11 #[doc = "0: `0`"]
12 INPUT = 0,
13 #[doc = "2: `10`"]
14 LCD0_D22 = 2,
15 #[doc = "4: `100`"]
16 DMIC_DATA3 = 4,
17 #[doc = "14: `1110`"]
18 PD_EINT16 = 14,
19 #[doc = "1: `1`"]
20 OUTPUT = 1,
21 #[doc = "3: `11`"]
22 LVDS1_CKP = 3,
23 #[doc = "5: `101`"]
24 PWM0 = 5,
25 #[doc = "15: `1111`"]
26 IO_DISABLE = 15,
27}
28impl From<PD16_SELECT_A> for u8 {
29 #[inline(always)]
30 fn from(variant: PD16_SELECT_A) -> Self {
31 variant as _
32 }
33}
34impl crate::FieldSpec for PD16_SELECT_A {
35 type Ux = u8;
36}
37impl PD16_SELECT_R {
38 #[doc = "Get enumerated values variant"]
39 #[inline(always)]
40 pub const fn variant(&self) -> Option<PD16_SELECT_A> {
41 match self.bits {
42 0 => Some(PD16_SELECT_A::INPUT),
43 2 => Some(PD16_SELECT_A::LCD0_D22),
44 4 => Some(PD16_SELECT_A::DMIC_DATA3),
45 14 => Some(PD16_SELECT_A::PD_EINT16),
46 1 => Some(PD16_SELECT_A::OUTPUT),
47 3 => Some(PD16_SELECT_A::LVDS1_CKP),
48 5 => Some(PD16_SELECT_A::PWM0),
49 15 => Some(PD16_SELECT_A::IO_DISABLE),
50 _ => None,
51 }
52 }
53 #[doc = "`0`"]
54 #[inline(always)]
55 pub fn is_input(&self) -> bool {
56 *self == PD16_SELECT_A::INPUT
57 }
58 #[doc = "`10`"]
59 #[inline(always)]
60 pub fn is_lcd0_d22(&self) -> bool {
61 *self == PD16_SELECT_A::LCD0_D22
62 }
63 #[doc = "`100`"]
64 #[inline(always)]
65 pub fn is_dmic_data3(&self) -> bool {
66 *self == PD16_SELECT_A::DMIC_DATA3
67 }
68 #[doc = "`1110`"]
69 #[inline(always)]
70 pub fn is_pd_eint16(&self) -> bool {
71 *self == PD16_SELECT_A::PD_EINT16
72 }
73 #[doc = "`1`"]
74 #[inline(always)]
75 pub fn is_output(&self) -> bool {
76 *self == PD16_SELECT_A::OUTPUT
77 }
78 #[doc = "`11`"]
79 #[inline(always)]
80 pub fn is_lvds1_ckp(&self) -> bool {
81 *self == PD16_SELECT_A::LVDS1_CKP
82 }
83 #[doc = "`101`"]
84 #[inline(always)]
85 pub fn is_pwm0(&self) -> bool {
86 *self == PD16_SELECT_A::PWM0
87 }
88 #[doc = "`1111`"]
89 #[inline(always)]
90 pub fn is_io_disable(&self) -> bool {
91 *self == PD16_SELECT_A::IO_DISABLE
92 }
93}
94#[doc = "Field `pd16_select` writer - PD16 Select"]
95pub type PD16_SELECT_W<'a, REG> = crate::FieldWriter<'a, REG, 4, PD16_SELECT_A>;
96impl<'a, REG> PD16_SELECT_W<'a, REG>
97where
98 REG: crate::Writable + crate::RegisterSpec,
99 REG::Ux: From<u8>,
100{
101 #[doc = "`0`"]
102 #[inline(always)]
103 pub fn input(self) -> &'a mut crate::W<REG> {
104 self.variant(PD16_SELECT_A::INPUT)
105 }
106 #[doc = "`10`"]
107 #[inline(always)]
108 pub fn lcd0_d22(self) -> &'a mut crate::W<REG> {
109 self.variant(PD16_SELECT_A::LCD0_D22)
110 }
111 #[doc = "`100`"]
112 #[inline(always)]
113 pub fn dmic_data3(self) -> &'a mut crate::W<REG> {
114 self.variant(PD16_SELECT_A::DMIC_DATA3)
115 }
116 #[doc = "`1110`"]
117 #[inline(always)]
118 pub fn pd_eint16(self) -> &'a mut crate::W<REG> {
119 self.variant(PD16_SELECT_A::PD_EINT16)
120 }
121 #[doc = "`1`"]
122 #[inline(always)]
123 pub fn output(self) -> &'a mut crate::W<REG> {
124 self.variant(PD16_SELECT_A::OUTPUT)
125 }
126 #[doc = "`11`"]
127 #[inline(always)]
128 pub fn lvds1_ckp(self) -> &'a mut crate::W<REG> {
129 self.variant(PD16_SELECT_A::LVDS1_CKP)
130 }
131 #[doc = "`101`"]
132 #[inline(always)]
133 pub fn pwm0(self) -> &'a mut crate::W<REG> {
134 self.variant(PD16_SELECT_A::PWM0)
135 }
136 #[doc = "`1111`"]
137 #[inline(always)]
138 pub fn io_disable(self) -> &'a mut crate::W<REG> {
139 self.variant(PD16_SELECT_A::IO_DISABLE)
140 }
141}
142#[doc = "Field `pd17_select` reader - PD17 Select"]
143pub type PD17_SELECT_R = crate::FieldReader<PD17_SELECT_A>;
144#[doc = "PD17 Select\n\nValue on reset: 0"]
145#[derive(Clone, Copy, Debug, PartialEq, Eq)]
146#[repr(u8)]
147pub enum PD17_SELECT_A {
148 #[doc = "0: `0`"]
149 INPUT = 0,
150 #[doc = "2: `10`"]
151 LCD0_D23 = 2,
152 #[doc = "4: `100`"]
153 DMIC_DATA2 = 4,
154 #[doc = "14: `1110`"]
155 PD_EINT17 = 14,
156 #[doc = "1: `1`"]
157 OUTPUT = 1,
158 #[doc = "3: `11`"]
159 LVDS1_CKN = 3,
160 #[doc = "5: `101`"]
161 PWM1 = 5,
162 #[doc = "15: `1111`"]
163 IO_DISABLE = 15,
164}
165impl From<PD17_SELECT_A> for u8 {
166 #[inline(always)]
167 fn from(variant: PD17_SELECT_A) -> Self {
168 variant as _
169 }
170}
171impl crate::FieldSpec for PD17_SELECT_A {
172 type Ux = u8;
173}
174impl PD17_SELECT_R {
175 #[doc = "Get enumerated values variant"]
176 #[inline(always)]
177 pub const fn variant(&self) -> Option<PD17_SELECT_A> {
178 match self.bits {
179 0 => Some(PD17_SELECT_A::INPUT),
180 2 => Some(PD17_SELECT_A::LCD0_D23),
181 4 => Some(PD17_SELECT_A::DMIC_DATA2),
182 14 => Some(PD17_SELECT_A::PD_EINT17),
183 1 => Some(PD17_SELECT_A::OUTPUT),
184 3 => Some(PD17_SELECT_A::LVDS1_CKN),
185 5 => Some(PD17_SELECT_A::PWM1),
186 15 => Some(PD17_SELECT_A::IO_DISABLE),
187 _ => None,
188 }
189 }
190 #[doc = "`0`"]
191 #[inline(always)]
192 pub fn is_input(&self) -> bool {
193 *self == PD17_SELECT_A::INPUT
194 }
195 #[doc = "`10`"]
196 #[inline(always)]
197 pub fn is_lcd0_d23(&self) -> bool {
198 *self == PD17_SELECT_A::LCD0_D23
199 }
200 #[doc = "`100`"]
201 #[inline(always)]
202 pub fn is_dmic_data2(&self) -> bool {
203 *self == PD17_SELECT_A::DMIC_DATA2
204 }
205 #[doc = "`1110`"]
206 #[inline(always)]
207 pub fn is_pd_eint17(&self) -> bool {
208 *self == PD17_SELECT_A::PD_EINT17
209 }
210 #[doc = "`1`"]
211 #[inline(always)]
212 pub fn is_output(&self) -> bool {
213 *self == PD17_SELECT_A::OUTPUT
214 }
215 #[doc = "`11`"]
216 #[inline(always)]
217 pub fn is_lvds1_ckn(&self) -> bool {
218 *self == PD17_SELECT_A::LVDS1_CKN
219 }
220 #[doc = "`101`"]
221 #[inline(always)]
222 pub fn is_pwm1(&self) -> bool {
223 *self == PD17_SELECT_A::PWM1
224 }
225 #[doc = "`1111`"]
226 #[inline(always)]
227 pub fn is_io_disable(&self) -> bool {
228 *self == PD17_SELECT_A::IO_DISABLE
229 }
230}
231#[doc = "Field `pd17_select` writer - PD17 Select"]
232pub type PD17_SELECT_W<'a, REG> = crate::FieldWriter<'a, REG, 4, PD17_SELECT_A>;
233impl<'a, REG> PD17_SELECT_W<'a, REG>
234where
235 REG: crate::Writable + crate::RegisterSpec,
236 REG::Ux: From<u8>,
237{
238 #[doc = "`0`"]
239 #[inline(always)]
240 pub fn input(self) -> &'a mut crate::W<REG> {
241 self.variant(PD17_SELECT_A::INPUT)
242 }
243 #[doc = "`10`"]
244 #[inline(always)]
245 pub fn lcd0_d23(self) -> &'a mut crate::W<REG> {
246 self.variant(PD17_SELECT_A::LCD0_D23)
247 }
248 #[doc = "`100`"]
249 #[inline(always)]
250 pub fn dmic_data2(self) -> &'a mut crate::W<REG> {
251 self.variant(PD17_SELECT_A::DMIC_DATA2)
252 }
253 #[doc = "`1110`"]
254 #[inline(always)]
255 pub fn pd_eint17(self) -> &'a mut crate::W<REG> {
256 self.variant(PD17_SELECT_A::PD_EINT17)
257 }
258 #[doc = "`1`"]
259 #[inline(always)]
260 pub fn output(self) -> &'a mut crate::W<REG> {
261 self.variant(PD17_SELECT_A::OUTPUT)
262 }
263 #[doc = "`11`"]
264 #[inline(always)]
265 pub fn lvds1_ckn(self) -> &'a mut crate::W<REG> {
266 self.variant(PD17_SELECT_A::LVDS1_CKN)
267 }
268 #[doc = "`101`"]
269 #[inline(always)]
270 pub fn pwm1(self) -> &'a mut crate::W<REG> {
271 self.variant(PD17_SELECT_A::PWM1)
272 }
273 #[doc = "`1111`"]
274 #[inline(always)]
275 pub fn io_disable(self) -> &'a mut crate::W<REG> {
276 self.variant(PD17_SELECT_A::IO_DISABLE)
277 }
278}
279#[doc = "Field `pd18_select` reader - PD18 Select"]
280pub type PD18_SELECT_R = crate::FieldReader<PD18_SELECT_A>;
281#[doc = "PD18 Select\n\nValue on reset: 0"]
282#[derive(Clone, Copy, Debug, PartialEq, Eq)]
283#[repr(u8)]
284pub enum PD18_SELECT_A {
285 #[doc = "0: `0`"]
286 INPUT = 0,
287 #[doc = "2: `10`"]
288 LCD0_CLK = 2,
289 #[doc = "4: `100`"]
290 DMIC_DATA1 = 4,
291 #[doc = "14: `1110`"]
292 PD_EINT18 = 14,
293 #[doc = "1: `1`"]
294 OUTPUT = 1,
295 #[doc = "3: `11`"]
296 LVDS1_V3P = 3,
297 #[doc = "5: `101`"]
298 PWM2 = 5,
299 #[doc = "15: `1111`"]
300 IO_DISABLE = 15,
301}
302impl From<PD18_SELECT_A> for u8 {
303 #[inline(always)]
304 fn from(variant: PD18_SELECT_A) -> Self {
305 variant as _
306 }
307}
308impl crate::FieldSpec for PD18_SELECT_A {
309 type Ux = u8;
310}
311impl PD18_SELECT_R {
312 #[doc = "Get enumerated values variant"]
313 #[inline(always)]
314 pub const fn variant(&self) -> Option<PD18_SELECT_A> {
315 match self.bits {
316 0 => Some(PD18_SELECT_A::INPUT),
317 2 => Some(PD18_SELECT_A::LCD0_CLK),
318 4 => Some(PD18_SELECT_A::DMIC_DATA1),
319 14 => Some(PD18_SELECT_A::PD_EINT18),
320 1 => Some(PD18_SELECT_A::OUTPUT),
321 3 => Some(PD18_SELECT_A::LVDS1_V3P),
322 5 => Some(PD18_SELECT_A::PWM2),
323 15 => Some(PD18_SELECT_A::IO_DISABLE),
324 _ => None,
325 }
326 }
327 #[doc = "`0`"]
328 #[inline(always)]
329 pub fn is_input(&self) -> bool {
330 *self == PD18_SELECT_A::INPUT
331 }
332 #[doc = "`10`"]
333 #[inline(always)]
334 pub fn is_lcd0_clk(&self) -> bool {
335 *self == PD18_SELECT_A::LCD0_CLK
336 }
337 #[doc = "`100`"]
338 #[inline(always)]
339 pub fn is_dmic_data1(&self) -> bool {
340 *self == PD18_SELECT_A::DMIC_DATA1
341 }
342 #[doc = "`1110`"]
343 #[inline(always)]
344 pub fn is_pd_eint18(&self) -> bool {
345 *self == PD18_SELECT_A::PD_EINT18
346 }
347 #[doc = "`1`"]
348 #[inline(always)]
349 pub fn is_output(&self) -> bool {
350 *self == PD18_SELECT_A::OUTPUT
351 }
352 #[doc = "`11`"]
353 #[inline(always)]
354 pub fn is_lvds1_v3p(&self) -> bool {
355 *self == PD18_SELECT_A::LVDS1_V3P
356 }
357 #[doc = "`101`"]
358 #[inline(always)]
359 pub fn is_pwm2(&self) -> bool {
360 *self == PD18_SELECT_A::PWM2
361 }
362 #[doc = "`1111`"]
363 #[inline(always)]
364 pub fn is_io_disable(&self) -> bool {
365 *self == PD18_SELECT_A::IO_DISABLE
366 }
367}
368#[doc = "Field `pd18_select` writer - PD18 Select"]
369pub type PD18_SELECT_W<'a, REG> = crate::FieldWriter<'a, REG, 4, PD18_SELECT_A>;
370impl<'a, REG> PD18_SELECT_W<'a, REG>
371where
372 REG: crate::Writable + crate::RegisterSpec,
373 REG::Ux: From<u8>,
374{
375 #[doc = "`0`"]
376 #[inline(always)]
377 pub fn input(self) -> &'a mut crate::W<REG> {
378 self.variant(PD18_SELECT_A::INPUT)
379 }
380 #[doc = "`10`"]
381 #[inline(always)]
382 pub fn lcd0_clk(self) -> &'a mut crate::W<REG> {
383 self.variant(PD18_SELECT_A::LCD0_CLK)
384 }
385 #[doc = "`100`"]
386 #[inline(always)]
387 pub fn dmic_data1(self) -> &'a mut crate::W<REG> {
388 self.variant(PD18_SELECT_A::DMIC_DATA1)
389 }
390 #[doc = "`1110`"]
391 #[inline(always)]
392 pub fn pd_eint18(self) -> &'a mut crate::W<REG> {
393 self.variant(PD18_SELECT_A::PD_EINT18)
394 }
395 #[doc = "`1`"]
396 #[inline(always)]
397 pub fn output(self) -> &'a mut crate::W<REG> {
398 self.variant(PD18_SELECT_A::OUTPUT)
399 }
400 #[doc = "`11`"]
401 #[inline(always)]
402 pub fn lvds1_v3p(self) -> &'a mut crate::W<REG> {
403 self.variant(PD18_SELECT_A::LVDS1_V3P)
404 }
405 #[doc = "`101`"]
406 #[inline(always)]
407 pub fn pwm2(self) -> &'a mut crate::W<REG> {
408 self.variant(PD18_SELECT_A::PWM2)
409 }
410 #[doc = "`1111`"]
411 #[inline(always)]
412 pub fn io_disable(self) -> &'a mut crate::W<REG> {
413 self.variant(PD18_SELECT_A::IO_DISABLE)
414 }
415}
416#[doc = "Field `pd19_select` reader - PD19 Select"]
417pub type PD19_SELECT_R = crate::FieldReader<PD19_SELECT_A>;
418#[doc = "PD19 Select\n\nValue on reset: 0"]
419#[derive(Clone, Copy, Debug, PartialEq, Eq)]
420#[repr(u8)]
421pub enum PD19_SELECT_A {
422 #[doc = "0: `0`"]
423 INPUT = 0,
424 #[doc = "2: `10`"]
425 LCD0_DE = 2,
426 #[doc = "4: `100`"]
427 DMIC_DATA0 = 4,
428 #[doc = "14: `1110`"]
429 PD_EINT19 = 14,
430 #[doc = "1: `1`"]
431 OUTPUT = 1,
432 #[doc = "3: `11`"]
433 LVDS1_V3N = 3,
434 #[doc = "5: `101`"]
435 PWM3 = 5,
436 #[doc = "15: `1111`"]
437 IO_DISABLE = 15,
438}
439impl From<PD19_SELECT_A> for u8 {
440 #[inline(always)]
441 fn from(variant: PD19_SELECT_A) -> Self {
442 variant as _
443 }
444}
445impl crate::FieldSpec for PD19_SELECT_A {
446 type Ux = u8;
447}
448impl PD19_SELECT_R {
449 #[doc = "Get enumerated values variant"]
450 #[inline(always)]
451 pub const fn variant(&self) -> Option<PD19_SELECT_A> {
452 match self.bits {
453 0 => Some(PD19_SELECT_A::INPUT),
454 2 => Some(PD19_SELECT_A::LCD0_DE),
455 4 => Some(PD19_SELECT_A::DMIC_DATA0),
456 14 => Some(PD19_SELECT_A::PD_EINT19),
457 1 => Some(PD19_SELECT_A::OUTPUT),
458 3 => Some(PD19_SELECT_A::LVDS1_V3N),
459 5 => Some(PD19_SELECT_A::PWM3),
460 15 => Some(PD19_SELECT_A::IO_DISABLE),
461 _ => None,
462 }
463 }
464 #[doc = "`0`"]
465 #[inline(always)]
466 pub fn is_input(&self) -> bool {
467 *self == PD19_SELECT_A::INPUT
468 }
469 #[doc = "`10`"]
470 #[inline(always)]
471 pub fn is_lcd0_de(&self) -> bool {
472 *self == PD19_SELECT_A::LCD0_DE
473 }
474 #[doc = "`100`"]
475 #[inline(always)]
476 pub fn is_dmic_data0(&self) -> bool {
477 *self == PD19_SELECT_A::DMIC_DATA0
478 }
479 #[doc = "`1110`"]
480 #[inline(always)]
481 pub fn is_pd_eint19(&self) -> bool {
482 *self == PD19_SELECT_A::PD_EINT19
483 }
484 #[doc = "`1`"]
485 #[inline(always)]
486 pub fn is_output(&self) -> bool {
487 *self == PD19_SELECT_A::OUTPUT
488 }
489 #[doc = "`11`"]
490 #[inline(always)]
491 pub fn is_lvds1_v3n(&self) -> bool {
492 *self == PD19_SELECT_A::LVDS1_V3N
493 }
494 #[doc = "`101`"]
495 #[inline(always)]
496 pub fn is_pwm3(&self) -> bool {
497 *self == PD19_SELECT_A::PWM3
498 }
499 #[doc = "`1111`"]
500 #[inline(always)]
501 pub fn is_io_disable(&self) -> bool {
502 *self == PD19_SELECT_A::IO_DISABLE
503 }
504}
505#[doc = "Field `pd19_select` writer - PD19 Select"]
506pub type PD19_SELECT_W<'a, REG> = crate::FieldWriter<'a, REG, 4, PD19_SELECT_A>;
507impl<'a, REG> PD19_SELECT_W<'a, REG>
508where
509 REG: crate::Writable + crate::RegisterSpec,
510 REG::Ux: From<u8>,
511{
512 #[doc = "`0`"]
513 #[inline(always)]
514 pub fn input(self) -> &'a mut crate::W<REG> {
515 self.variant(PD19_SELECT_A::INPUT)
516 }
517 #[doc = "`10`"]
518 #[inline(always)]
519 pub fn lcd0_de(self) -> &'a mut crate::W<REG> {
520 self.variant(PD19_SELECT_A::LCD0_DE)
521 }
522 #[doc = "`100`"]
523 #[inline(always)]
524 pub fn dmic_data0(self) -> &'a mut crate::W<REG> {
525 self.variant(PD19_SELECT_A::DMIC_DATA0)
526 }
527 #[doc = "`1110`"]
528 #[inline(always)]
529 pub fn pd_eint19(self) -> &'a mut crate::W<REG> {
530 self.variant(PD19_SELECT_A::PD_EINT19)
531 }
532 #[doc = "`1`"]
533 #[inline(always)]
534 pub fn output(self) -> &'a mut crate::W<REG> {
535 self.variant(PD19_SELECT_A::OUTPUT)
536 }
537 #[doc = "`11`"]
538 #[inline(always)]
539 pub fn lvds1_v3n(self) -> &'a mut crate::W<REG> {
540 self.variant(PD19_SELECT_A::LVDS1_V3N)
541 }
542 #[doc = "`101`"]
543 #[inline(always)]
544 pub fn pwm3(self) -> &'a mut crate::W<REG> {
545 self.variant(PD19_SELECT_A::PWM3)
546 }
547 #[doc = "`1111`"]
548 #[inline(always)]
549 pub fn io_disable(self) -> &'a mut crate::W<REG> {
550 self.variant(PD19_SELECT_A::IO_DISABLE)
551 }
552}
553#[doc = "Field `pd20_select` reader - PD20 Select"]
554pub type PD20_SELECT_R = crate::FieldReader<PD20_SELECT_A>;
555#[doc = "PD20 Select\n\nValue on reset: 0"]
556#[derive(Clone, Copy, Debug, PartialEq, Eq)]
557#[repr(u8)]
558pub enum PD20_SELECT_A {
559 #[doc = "0: `0`"]
560 INPUT = 0,
561 #[doc = "2: `10`"]
562 LCD0_HSYNC = 2,
563 #[doc = "4: `100`"]
564 DMIC_CLK = 4,
565 #[doc = "14: `1110`"]
566 PD_EINT20 = 14,
567 #[doc = "1: `1`"]
568 OUTPUT = 1,
569 #[doc = "3: `11`"]
570 TWI2_SCK = 3,
571 #[doc = "5: `101`"]
572 PWM4 = 5,
573 #[doc = "15: `1111`"]
574 IO_DISABLE = 15,
575}
576impl From<PD20_SELECT_A> for u8 {
577 #[inline(always)]
578 fn from(variant: PD20_SELECT_A) -> Self {
579 variant as _
580 }
581}
582impl crate::FieldSpec for PD20_SELECT_A {
583 type Ux = u8;
584}
585impl PD20_SELECT_R {
586 #[doc = "Get enumerated values variant"]
587 #[inline(always)]
588 pub const fn variant(&self) -> Option<PD20_SELECT_A> {
589 match self.bits {
590 0 => Some(PD20_SELECT_A::INPUT),
591 2 => Some(PD20_SELECT_A::LCD0_HSYNC),
592 4 => Some(PD20_SELECT_A::DMIC_CLK),
593 14 => Some(PD20_SELECT_A::PD_EINT20),
594 1 => Some(PD20_SELECT_A::OUTPUT),
595 3 => Some(PD20_SELECT_A::TWI2_SCK),
596 5 => Some(PD20_SELECT_A::PWM4),
597 15 => Some(PD20_SELECT_A::IO_DISABLE),
598 _ => None,
599 }
600 }
601 #[doc = "`0`"]
602 #[inline(always)]
603 pub fn is_input(&self) -> bool {
604 *self == PD20_SELECT_A::INPUT
605 }
606 #[doc = "`10`"]
607 #[inline(always)]
608 pub fn is_lcd0_hsync(&self) -> bool {
609 *self == PD20_SELECT_A::LCD0_HSYNC
610 }
611 #[doc = "`100`"]
612 #[inline(always)]
613 pub fn is_dmic_clk(&self) -> bool {
614 *self == PD20_SELECT_A::DMIC_CLK
615 }
616 #[doc = "`1110`"]
617 #[inline(always)]
618 pub fn is_pd_eint20(&self) -> bool {
619 *self == PD20_SELECT_A::PD_EINT20
620 }
621 #[doc = "`1`"]
622 #[inline(always)]
623 pub fn is_output(&self) -> bool {
624 *self == PD20_SELECT_A::OUTPUT
625 }
626 #[doc = "`11`"]
627 #[inline(always)]
628 pub fn is_twi2_sck(&self) -> bool {
629 *self == PD20_SELECT_A::TWI2_SCK
630 }
631 #[doc = "`101`"]
632 #[inline(always)]
633 pub fn is_pwm4(&self) -> bool {
634 *self == PD20_SELECT_A::PWM4
635 }
636 #[doc = "`1111`"]
637 #[inline(always)]
638 pub fn is_io_disable(&self) -> bool {
639 *self == PD20_SELECT_A::IO_DISABLE
640 }
641}
642#[doc = "Field `pd20_select` writer - PD20 Select"]
643pub type PD20_SELECT_W<'a, REG> = crate::FieldWriter<'a, REG, 4, PD20_SELECT_A>;
644impl<'a, REG> PD20_SELECT_W<'a, REG>
645where
646 REG: crate::Writable + crate::RegisterSpec,
647 REG::Ux: From<u8>,
648{
649 #[doc = "`0`"]
650 #[inline(always)]
651 pub fn input(self) -> &'a mut crate::W<REG> {
652 self.variant(PD20_SELECT_A::INPUT)
653 }
654 #[doc = "`10`"]
655 #[inline(always)]
656 pub fn lcd0_hsync(self) -> &'a mut crate::W<REG> {
657 self.variant(PD20_SELECT_A::LCD0_HSYNC)
658 }
659 #[doc = "`100`"]
660 #[inline(always)]
661 pub fn dmic_clk(self) -> &'a mut crate::W<REG> {
662 self.variant(PD20_SELECT_A::DMIC_CLK)
663 }
664 #[doc = "`1110`"]
665 #[inline(always)]
666 pub fn pd_eint20(self) -> &'a mut crate::W<REG> {
667 self.variant(PD20_SELECT_A::PD_EINT20)
668 }
669 #[doc = "`1`"]
670 #[inline(always)]
671 pub fn output(self) -> &'a mut crate::W<REG> {
672 self.variant(PD20_SELECT_A::OUTPUT)
673 }
674 #[doc = "`11`"]
675 #[inline(always)]
676 pub fn twi2_sck(self) -> &'a mut crate::W<REG> {
677 self.variant(PD20_SELECT_A::TWI2_SCK)
678 }
679 #[doc = "`101`"]
680 #[inline(always)]
681 pub fn pwm4(self) -> &'a mut crate::W<REG> {
682 self.variant(PD20_SELECT_A::PWM4)
683 }
684 #[doc = "`1111`"]
685 #[inline(always)]
686 pub fn io_disable(self) -> &'a mut crate::W<REG> {
687 self.variant(PD20_SELECT_A::IO_DISABLE)
688 }
689}
690#[doc = "Field `pd21_select` reader - PD21 Select"]
691pub type PD21_SELECT_R = crate::FieldReader<PD21_SELECT_A>;
692#[doc = "PD21 Select\n\nValue on reset: 0"]
693#[derive(Clone, Copy, Debug, PartialEq, Eq)]
694#[repr(u8)]
695pub enum PD21_SELECT_A {
696 #[doc = "0: `0`"]
697 INPUT = 0,
698 #[doc = "2: `10`"]
699 LCD0_VSYNC = 2,
700 #[doc = "4: `100`"]
701 UART1_TX = 4,
702 #[doc = "14: `1110`"]
703 PD_EINT21 = 14,
704 #[doc = "1: `1`"]
705 OUTPUT = 1,
706 #[doc = "3: `11`"]
707 TWI2_SDA = 3,
708 #[doc = "5: `101`"]
709 PWM5 = 5,
710 #[doc = "15: `1111`"]
711 IO_DISABLE = 15,
712}
713impl From<PD21_SELECT_A> for u8 {
714 #[inline(always)]
715 fn from(variant: PD21_SELECT_A) -> Self {
716 variant as _
717 }
718}
719impl crate::FieldSpec for PD21_SELECT_A {
720 type Ux = u8;
721}
722impl PD21_SELECT_R {
723 #[doc = "Get enumerated values variant"]
724 #[inline(always)]
725 pub const fn variant(&self) -> Option<PD21_SELECT_A> {
726 match self.bits {
727 0 => Some(PD21_SELECT_A::INPUT),
728 2 => Some(PD21_SELECT_A::LCD0_VSYNC),
729 4 => Some(PD21_SELECT_A::UART1_TX),
730 14 => Some(PD21_SELECT_A::PD_EINT21),
731 1 => Some(PD21_SELECT_A::OUTPUT),
732 3 => Some(PD21_SELECT_A::TWI2_SDA),
733 5 => Some(PD21_SELECT_A::PWM5),
734 15 => Some(PD21_SELECT_A::IO_DISABLE),
735 _ => None,
736 }
737 }
738 #[doc = "`0`"]
739 #[inline(always)]
740 pub fn is_input(&self) -> bool {
741 *self == PD21_SELECT_A::INPUT
742 }
743 #[doc = "`10`"]
744 #[inline(always)]
745 pub fn is_lcd0_vsync(&self) -> bool {
746 *self == PD21_SELECT_A::LCD0_VSYNC
747 }
748 #[doc = "`100`"]
749 #[inline(always)]
750 pub fn is_uart1_tx(&self) -> bool {
751 *self == PD21_SELECT_A::UART1_TX
752 }
753 #[doc = "`1110`"]
754 #[inline(always)]
755 pub fn is_pd_eint21(&self) -> bool {
756 *self == PD21_SELECT_A::PD_EINT21
757 }
758 #[doc = "`1`"]
759 #[inline(always)]
760 pub fn is_output(&self) -> bool {
761 *self == PD21_SELECT_A::OUTPUT
762 }
763 #[doc = "`11`"]
764 #[inline(always)]
765 pub fn is_twi2_sda(&self) -> bool {
766 *self == PD21_SELECT_A::TWI2_SDA
767 }
768 #[doc = "`101`"]
769 #[inline(always)]
770 pub fn is_pwm5(&self) -> bool {
771 *self == PD21_SELECT_A::PWM5
772 }
773 #[doc = "`1111`"]
774 #[inline(always)]
775 pub fn is_io_disable(&self) -> bool {
776 *self == PD21_SELECT_A::IO_DISABLE
777 }
778}
779#[doc = "Field `pd21_select` writer - PD21 Select"]
780pub type PD21_SELECT_W<'a, REG> = crate::FieldWriter<'a, REG, 4, PD21_SELECT_A>;
781impl<'a, REG> PD21_SELECT_W<'a, REG>
782where
783 REG: crate::Writable + crate::RegisterSpec,
784 REG::Ux: From<u8>,
785{
786 #[doc = "`0`"]
787 #[inline(always)]
788 pub fn input(self) -> &'a mut crate::W<REG> {
789 self.variant(PD21_SELECT_A::INPUT)
790 }
791 #[doc = "`10`"]
792 #[inline(always)]
793 pub fn lcd0_vsync(self) -> &'a mut crate::W<REG> {
794 self.variant(PD21_SELECT_A::LCD0_VSYNC)
795 }
796 #[doc = "`100`"]
797 #[inline(always)]
798 pub fn uart1_tx(self) -> &'a mut crate::W<REG> {
799 self.variant(PD21_SELECT_A::UART1_TX)
800 }
801 #[doc = "`1110`"]
802 #[inline(always)]
803 pub fn pd_eint21(self) -> &'a mut crate::W<REG> {
804 self.variant(PD21_SELECT_A::PD_EINT21)
805 }
806 #[doc = "`1`"]
807 #[inline(always)]
808 pub fn output(self) -> &'a mut crate::W<REG> {
809 self.variant(PD21_SELECT_A::OUTPUT)
810 }
811 #[doc = "`11`"]
812 #[inline(always)]
813 pub fn twi2_sda(self) -> &'a mut crate::W<REG> {
814 self.variant(PD21_SELECT_A::TWI2_SDA)
815 }
816 #[doc = "`101`"]
817 #[inline(always)]
818 pub fn pwm5(self) -> &'a mut crate::W<REG> {
819 self.variant(PD21_SELECT_A::PWM5)
820 }
821 #[doc = "`1111`"]
822 #[inline(always)]
823 pub fn io_disable(self) -> &'a mut crate::W<REG> {
824 self.variant(PD21_SELECT_A::IO_DISABLE)
825 }
826}
827#[doc = "Field `pd22_select` reader - PD22 Select"]
828pub type PD22_SELECT_R = crate::FieldReader<PD22_SELECT_A>;
829#[doc = "PD22 Select\n\nValue on reset: 0"]
830#[derive(Clone, Copy, Debug, PartialEq, Eq)]
831#[repr(u8)]
832pub enum PD22_SELECT_A {
833 #[doc = "0: `0`"]
834 INPUT = 0,
835 #[doc = "2: `10`"]
836 OWA_OUT = 2,
837 #[doc = "4: `100`"]
838 UART1_RX = 4,
839 #[doc = "14: `1110`"]
840 PD_EINT22 = 14,
841 #[doc = "1: `1`"]
842 OUTPUT = 1,
843 #[doc = "3: `11`"]
844 IR_RX = 3,
845 #[doc = "5: `101`"]
846 PWM7 = 5,
847 #[doc = "15: `1111`"]
848 IO_DISABLE = 15,
849}
850impl From<PD22_SELECT_A> for u8 {
851 #[inline(always)]
852 fn from(variant: PD22_SELECT_A) -> Self {
853 variant as _
854 }
855}
856impl crate::FieldSpec for PD22_SELECT_A {
857 type Ux = u8;
858}
859impl PD22_SELECT_R {
860 #[doc = "Get enumerated values variant"]
861 #[inline(always)]
862 pub const fn variant(&self) -> Option<PD22_SELECT_A> {
863 match self.bits {
864 0 => Some(PD22_SELECT_A::INPUT),
865 2 => Some(PD22_SELECT_A::OWA_OUT),
866 4 => Some(PD22_SELECT_A::UART1_RX),
867 14 => Some(PD22_SELECT_A::PD_EINT22),
868 1 => Some(PD22_SELECT_A::OUTPUT),
869 3 => Some(PD22_SELECT_A::IR_RX),
870 5 => Some(PD22_SELECT_A::PWM7),
871 15 => Some(PD22_SELECT_A::IO_DISABLE),
872 _ => None,
873 }
874 }
875 #[doc = "`0`"]
876 #[inline(always)]
877 pub fn is_input(&self) -> bool {
878 *self == PD22_SELECT_A::INPUT
879 }
880 #[doc = "`10`"]
881 #[inline(always)]
882 pub fn is_owa_out(&self) -> bool {
883 *self == PD22_SELECT_A::OWA_OUT
884 }
885 #[doc = "`100`"]
886 #[inline(always)]
887 pub fn is_uart1_rx(&self) -> bool {
888 *self == PD22_SELECT_A::UART1_RX
889 }
890 #[doc = "`1110`"]
891 #[inline(always)]
892 pub fn is_pd_eint22(&self) -> bool {
893 *self == PD22_SELECT_A::PD_EINT22
894 }
895 #[doc = "`1`"]
896 #[inline(always)]
897 pub fn is_output(&self) -> bool {
898 *self == PD22_SELECT_A::OUTPUT
899 }
900 #[doc = "`11`"]
901 #[inline(always)]
902 pub fn is_ir_rx(&self) -> bool {
903 *self == PD22_SELECT_A::IR_RX
904 }
905 #[doc = "`101`"]
906 #[inline(always)]
907 pub fn is_pwm7(&self) -> bool {
908 *self == PD22_SELECT_A::PWM7
909 }
910 #[doc = "`1111`"]
911 #[inline(always)]
912 pub fn is_io_disable(&self) -> bool {
913 *self == PD22_SELECT_A::IO_DISABLE
914 }
915}
916#[doc = "Field `pd22_select` writer - PD22 Select"]
917pub type PD22_SELECT_W<'a, REG> = crate::FieldWriter<'a, REG, 4, PD22_SELECT_A>;
918impl<'a, REG> PD22_SELECT_W<'a, REG>
919where
920 REG: crate::Writable + crate::RegisterSpec,
921 REG::Ux: From<u8>,
922{
923 #[doc = "`0`"]
924 #[inline(always)]
925 pub fn input(self) -> &'a mut crate::W<REG> {
926 self.variant(PD22_SELECT_A::INPUT)
927 }
928 #[doc = "`10`"]
929 #[inline(always)]
930 pub fn owa_out(self) -> &'a mut crate::W<REG> {
931 self.variant(PD22_SELECT_A::OWA_OUT)
932 }
933 #[doc = "`100`"]
934 #[inline(always)]
935 pub fn uart1_rx(self) -> &'a mut crate::W<REG> {
936 self.variant(PD22_SELECT_A::UART1_RX)
937 }
938 #[doc = "`1110`"]
939 #[inline(always)]
940 pub fn pd_eint22(self) -> &'a mut crate::W<REG> {
941 self.variant(PD22_SELECT_A::PD_EINT22)
942 }
943 #[doc = "`1`"]
944 #[inline(always)]
945 pub fn output(self) -> &'a mut crate::W<REG> {
946 self.variant(PD22_SELECT_A::OUTPUT)
947 }
948 #[doc = "`11`"]
949 #[inline(always)]
950 pub fn ir_rx(self) -> &'a mut crate::W<REG> {
951 self.variant(PD22_SELECT_A::IR_RX)
952 }
953 #[doc = "`101`"]
954 #[inline(always)]
955 pub fn pwm7(self) -> &'a mut crate::W<REG> {
956 self.variant(PD22_SELECT_A::PWM7)
957 }
958 #[doc = "`1111`"]
959 #[inline(always)]
960 pub fn io_disable(self) -> &'a mut crate::W<REG> {
961 self.variant(PD22_SELECT_A::IO_DISABLE)
962 }
963}
964impl R {
965 #[doc = "Bits 0:3 - PD16 Select"]
966 #[inline(always)]
967 pub fn pd16_select(&self) -> PD16_SELECT_R {
968 PD16_SELECT_R::new((self.bits & 0x0f) as u8)
969 }
970 #[doc = "Bits 4:7 - PD17 Select"]
971 #[inline(always)]
972 pub fn pd17_select(&self) -> PD17_SELECT_R {
973 PD17_SELECT_R::new(((self.bits >> 4) & 0x0f) as u8)
974 }
975 #[doc = "Bits 8:11 - PD18 Select"]
976 #[inline(always)]
977 pub fn pd18_select(&self) -> PD18_SELECT_R {
978 PD18_SELECT_R::new(((self.bits >> 8) & 0x0f) as u8)
979 }
980 #[doc = "Bits 12:15 - PD19 Select"]
981 #[inline(always)]
982 pub fn pd19_select(&self) -> PD19_SELECT_R {
983 PD19_SELECT_R::new(((self.bits >> 12) & 0x0f) as u8)
984 }
985 #[doc = "Bits 16:19 - PD20 Select"]
986 #[inline(always)]
987 pub fn pd20_select(&self) -> PD20_SELECT_R {
988 PD20_SELECT_R::new(((self.bits >> 16) & 0x0f) as u8)
989 }
990 #[doc = "Bits 20:23 - PD21 Select"]
991 #[inline(always)]
992 pub fn pd21_select(&self) -> PD21_SELECT_R {
993 PD21_SELECT_R::new(((self.bits >> 20) & 0x0f) as u8)
994 }
995 #[doc = "Bits 24:27 - PD22 Select"]
996 #[inline(always)]
997 pub fn pd22_select(&self) -> PD22_SELECT_R {
998 PD22_SELECT_R::new(((self.bits >> 24) & 0x0f) as u8)
999 }
1000}
1001impl W {
1002 #[doc = "Bits 0:3 - PD16 Select"]
1003 #[inline(always)]
1004 #[must_use]
1005 pub fn pd16_select(&mut self) -> PD16_SELECT_W<PD_CFG2_SPEC> {
1006 PD16_SELECT_W::new(self, 0)
1007 }
1008 #[doc = "Bits 4:7 - PD17 Select"]
1009 #[inline(always)]
1010 #[must_use]
1011 pub fn pd17_select(&mut self) -> PD17_SELECT_W<PD_CFG2_SPEC> {
1012 PD17_SELECT_W::new(self, 4)
1013 }
1014 #[doc = "Bits 8:11 - PD18 Select"]
1015 #[inline(always)]
1016 #[must_use]
1017 pub fn pd18_select(&mut self) -> PD18_SELECT_W<PD_CFG2_SPEC> {
1018 PD18_SELECT_W::new(self, 8)
1019 }
1020 #[doc = "Bits 12:15 - PD19 Select"]
1021 #[inline(always)]
1022 #[must_use]
1023 pub fn pd19_select(&mut self) -> PD19_SELECT_W<PD_CFG2_SPEC> {
1024 PD19_SELECT_W::new(self, 12)
1025 }
1026 #[doc = "Bits 16:19 - PD20 Select"]
1027 #[inline(always)]
1028 #[must_use]
1029 pub fn pd20_select(&mut self) -> PD20_SELECT_W<PD_CFG2_SPEC> {
1030 PD20_SELECT_W::new(self, 16)
1031 }
1032 #[doc = "Bits 20:23 - PD21 Select"]
1033 #[inline(always)]
1034 #[must_use]
1035 pub fn pd21_select(&mut self) -> PD21_SELECT_W<PD_CFG2_SPEC> {
1036 PD21_SELECT_W::new(self, 20)
1037 }
1038 #[doc = "Bits 24:27 - PD22 Select"]
1039 #[inline(always)]
1040 #[must_use]
1041 pub fn pd22_select(&mut self) -> PD22_SELECT_W<PD_CFG2_SPEC> {
1042 PD22_SELECT_W::new(self, 24)
1043 }
1044 #[doc = r" Writes raw bits to the register."]
1045 #[doc = r""]
1046 #[doc = r" # Safety"]
1047 #[doc = r""]
1048 #[doc = r" Passing incorrect value can cause undefined behaviour. See reference manual"]
1049 #[inline(always)]
1050 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
1051 self.bits = bits;
1052 self
1053 }
1054}
1055#[doc = "PD Configure Register 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`pd_cfg2::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`pd_cfg2::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
1056pub struct PD_CFG2_SPEC;
1057impl crate::RegisterSpec for PD_CFG2_SPEC {
1058 type Ux = u32;
1059}
1060#[doc = "`read()` method returns [`pd_cfg2::R`](R) reader structure"]
1061impl crate::Readable for PD_CFG2_SPEC {}
1062#[doc = "`write(|w| ..)` method takes [`pd_cfg2::W`](W) writer structure"]
1063impl crate::Writable for PD_CFG2_SPEC {
1064 const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
1065 const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
1066}
1067#[doc = "`reset()` method sets pd_cfg2 to value 0"]
1068impl crate::Resettable for PD_CFG2_SPEC {
1069 const RESET_VALUE: Self::Ux = 0;
1070}