imxrt_ral/blocks/imxrt1051/
tsc.rs1#[doc = "Touch Screen Controller"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "no description available"]
5 pub BASIC_SETTING: crate::RWRegister<u32>,
6 _reserved0: [u8; 0x0c],
7 #[doc = "no description available"]
8 pub PRE_CHARGE_TIME: crate::RWRegister<u32>,
9 _reserved1: [u8; 0x0c],
10 #[doc = "Flow Control"]
11 pub FLOW_CONTROL: crate::RWRegister<u32>,
12 _reserved2: [u8; 0x0c],
13 #[doc = "Measure Value"]
14 pub MEASEURE_VALUE: crate::RORegister<u32>,
15 _reserved3: [u8; 0x0c],
16 #[doc = "Interrupt Enable"]
17 pub INT_EN: crate::RWRegister<u32>,
18 _reserved4: [u8; 0x0c],
19 #[doc = "Interrupt Signal Enable"]
20 pub INT_SIG_EN: crate::RWRegister<u32>,
21 _reserved5: [u8; 0x0c],
22 #[doc = "Intterrupt Status"]
23 pub INT_STATUS: crate::RWRegister<u32>,
24 _reserved6: [u8; 0x0c],
25 #[doc = "no description available"]
26 pub DEBUG_MODE: crate::RWRegister<u32>,
27 _reserved7: [u8; 0x0c],
28 #[doc = "no description available"]
29 pub DEBUG_MODE2: crate::RWRegister<u32>,
30}
31#[doc = "no description available"]
32pub mod BASIC_SETTING {
33 #[doc = "Auto Measure"]
34 pub mod AUTO_MEASURE {
35 pub const offset: u32 = 0;
36 pub const mask: u32 = 0x01 << offset;
37 pub mod R {}
38 pub mod W {}
39 pub mod RW {
40 #[doc = "Disable Auto Measure"]
41 pub const AUTO_MEASURE_0: u32 = 0;
42 #[doc = "Auto Measure"]
43 pub const AUTO_MEASURE_1: u32 = 0x01;
44 }
45 }
46 #[doc = "4/5 Wire detection"]
47 pub mod _4_5_WIRE {
48 pub const offset: u32 = 4;
49 pub const mask: u32 = 0x01 << offset;
50 pub mod R {}
51 pub mod W {}
52 pub mod RW {
53 #[doc = "4-Wire Detection Mode"]
54 pub const _4_5_WIRE_0: u32 = 0;
55 #[doc = "5-Wire Detection Mode"]
56 pub const _4_5_WIRE_1: u32 = 0x01;
57 }
58 }
59 #[doc = "Measure Delay Time"]
60 pub mod MEASURE_DELAY_TIME {
61 pub const offset: u32 = 8;
62 pub const mask: u32 = 0x00ff_ffff << offset;
63 pub mod R {}
64 pub mod W {}
65 pub mod RW {}
66 }
67}
68#[doc = "no description available"]
69pub mod PRE_CHARGE_TIME {
70 #[doc = "Before detection, the top screen needs some time before being pulled up to a high voltage."]
71 pub mod PRE_CHARGE_TIME {
72 pub const offset: u32 = 0;
73 pub const mask: u32 = 0xffff_ffff << offset;
74 pub mod R {}
75 pub mod W {}
76 pub mod RW {}
77 }
78}
79#[doc = "Flow Control"]
80pub mod FLOW_CONTROL {
81 #[doc = "Soft Reset"]
82 pub mod SW_RST {
83 pub const offset: u32 = 0;
84 pub const mask: u32 = 0x01 << offset;
85 pub mod R {}
86 pub mod W {}
87 pub mod RW {}
88 }
89 #[doc = "Start Measure"]
90 pub mod START_MEASURE {
91 pub const offset: u32 = 4;
92 pub const mask: u32 = 0x01 << offset;
93 pub mod R {}
94 pub mod W {}
95 pub mod RW {
96 #[doc = "Do not start measure for now"]
97 pub const START_MEASURE_0: u32 = 0;
98 #[doc = "Start measure the X/Y coordinate value"]
99 pub const START_MEASURE_1: u32 = 0x01;
100 }
101 }
102 #[doc = "Drop Measure"]
103 pub mod DROP_MEASURE {
104 pub const offset: u32 = 8;
105 pub const mask: u32 = 0x01 << offset;
106 pub mod R {}
107 pub mod W {}
108 pub mod RW {
109 #[doc = "Do not drop measure for now"]
110 pub const DROP_MEASURE_0: u32 = 0;
111 #[doc = "Drop the measure and controller return to idle status"]
112 pub const DROP_MEASURE_1: u32 = 0x01;
113 }
114 }
115 #[doc = "Start Sense"]
116 pub mod START_SENSE {
117 pub const offset: u32 = 12;
118 pub const mask: u32 = 0x01 << offset;
119 pub mod R {}
120 pub mod W {}
121 pub mod RW {
122 #[doc = "Stay at idle status"]
123 pub const START_SENSE_0: u32 = 0;
124 #[doc = "Start sense detection and (if auto_measure set to 1) measure after detect a touch"]
125 pub const START_SENSE_1: u32 = 0x01;
126 }
127 }
128 #[doc = "This bit is for SW disable registers"]
129 pub mod DISABLE {
130 pub const offset: u32 = 16;
131 pub const mask: u32 = 0x01 << offset;
132 pub mod R {}
133 pub mod W {}
134 pub mod RW {
135 #[doc = "Leave HW state machine control"]
136 pub const DISABLE_0: u32 = 0;
137 #[doc = "SW set to idle status"]
138 pub const DISABLE_1: u32 = 0x01;
139 }
140 }
141}
142#[doc = "Measure Value"]
143pub mod MEASEURE_VALUE {
144 #[doc = "Y Value"]
145 pub mod Y_VALUE {
146 pub const offset: u32 = 0;
147 pub const mask: u32 = 0x0fff << offset;
148 pub mod R {}
149 pub mod W {}
150 pub mod RW {}
151 }
152 #[doc = "X Value"]
153 pub mod X_VALUE {
154 pub const offset: u32 = 16;
155 pub const mask: u32 = 0x0fff << offset;
156 pub mod R {}
157 pub mod W {}
158 pub mod RW {}
159 }
160}
161#[doc = "Interrupt Enable"]
162pub mod INT_EN {
163 #[doc = "Measure Interrupt Enable"]
164 pub mod MEASURE_INT_EN {
165 pub const offset: u32 = 0;
166 pub const mask: u32 = 0x01 << offset;
167 pub mod R {}
168 pub mod W {}
169 pub mod RW {
170 #[doc = "Disable measure interrupt"]
171 pub const MEASURE_INT_EN_0: u32 = 0;
172 #[doc = "Enable measure interrupt"]
173 pub const MEASURE_INT_EN_1: u32 = 0x01;
174 }
175 }
176 #[doc = "Detect Interrupt Enable"]
177 pub mod DETECT_INT_EN {
178 pub const offset: u32 = 4;
179 pub const mask: u32 = 0x01 << offset;
180 pub mod R {}
181 pub mod W {}
182 pub mod RW {
183 #[doc = "Disable detect interrupt"]
184 pub const DETECT_INT_EN_0: u32 = 0;
185 #[doc = "Enable detect interrupt"]
186 pub const DETECT_INT_EN_1: u32 = 0x01;
187 }
188 }
189 #[doc = "Idle Software Interrupt Enable"]
190 pub mod IDLE_SW_INT_EN {
191 pub const offset: u32 = 12;
192 pub const mask: u32 = 0x01 << offset;
193 pub mod R {}
194 pub mod W {}
195 pub mod RW {
196 #[doc = "Disable idle software interrupt"]
197 pub const IDLE_SW_INT_EN_0: u32 = 0;
198 #[doc = "Enable idle software interrupt"]
199 pub const IDLE_SW_INT_EN_1: u32 = 0x01;
200 }
201 }
202}
203#[doc = "Interrupt Signal Enable"]
204pub mod INT_SIG_EN {
205 #[doc = "Measure Signal Enable"]
206 pub mod MEASURE_SIG_EN {
207 pub const offset: u32 = 0;
208 pub const mask: u32 = 0x01 << offset;
209 pub mod R {}
210 pub mod W {}
211 pub mod RW {}
212 }
213 #[doc = "Detect Signal Enable"]
214 pub mod DETECT_SIG_EN {
215 pub const offset: u32 = 4;
216 pub const mask: u32 = 0x01 << offset;
217 pub mod R {}
218 pub mod W {}
219 pub mod RW {
220 #[doc = "Disable detect signal"]
221 pub const DETECT_SIG_EN_0: u32 = 0;
222 #[doc = "Enable detect signal"]
223 pub const DETECT_SIG_EN_1: u32 = 0x01;
224 }
225 }
226 #[doc = "Valid Signal Enable"]
227 pub mod VALID_SIG_EN {
228 pub const offset: u32 = 8;
229 pub const mask: u32 = 0x01 << offset;
230 pub mod R {}
231 pub mod W {}
232 pub mod RW {
233 #[doc = "Disable valid signal"]
234 pub const VALID_SIG_EN_0: u32 = 0;
235 #[doc = "Enable valid signal"]
236 pub const VALID_SIG_EN_1: u32 = 0x01;
237 }
238 }
239 #[doc = "Idle Software Signal Enable"]
240 pub mod IDLE_SW_SIG_EN {
241 pub const offset: u32 = 12;
242 pub const mask: u32 = 0x01 << offset;
243 pub mod R {}
244 pub mod W {}
245 pub mod RW {
246 #[doc = "Disable idle software signal"]
247 pub const IDLE_SW_SIG_EN_0: u32 = 0;
248 #[doc = "Enable idle software signal"]
249 pub const IDLE_SW_SIG_EN_1: u32 = 0x01;
250 }
251 }
252}
253#[doc = "Intterrupt Status"]
254pub mod INT_STATUS {
255 #[doc = "Measure Signal"]
256 pub mod MEASURE {
257 pub const offset: u32 = 0;
258 pub const mask: u32 = 0x01 << offset;
259 pub mod R {}
260 pub mod W {}
261 pub mod RW {
262 #[doc = "Does not exist a measure signal"]
263 pub const MEASURE_0: u32 = 0;
264 #[doc = "Exist a measure signal"]
265 pub const MEASURE_1: u32 = 0x01;
266 }
267 }
268 #[doc = "Detect Signal"]
269 pub mod DETECT {
270 pub const offset: u32 = 4;
271 pub const mask: u32 = 0x01 << offset;
272 pub mod R {}
273 pub mod W {}
274 pub mod RW {
275 #[doc = "Does not exist a detect signal"]
276 pub const DETECT_0: u32 = 0;
277 #[doc = "Exist detect signal"]
278 pub const DETECT_1: u32 = 0x01;
279 }
280 }
281 #[doc = "Valid Signal"]
282 pub mod VALID {
283 pub const offset: u32 = 8;
284 pub const mask: u32 = 0x01 << offset;
285 pub mod R {}
286 pub mod W {}
287 pub mod RW {
288 #[doc = "There is no touch detected after measurement, indicates that the measured value is not valid"]
289 pub const VALID_0: u32 = 0;
290 #[doc = "There is touch detection after measurement, indicates that the measure is valid"]
291 pub const VALID_1: u32 = 0x01;
292 }
293 }
294 #[doc = "Idle Software"]
295 pub mod IDLE_SW {
296 pub const offset: u32 = 12;
297 pub const mask: u32 = 0x01 << offset;
298 pub mod R {}
299 pub mod W {}
300 pub mod RW {
301 #[doc = "Haven't return to idle status"]
302 pub const IDLE_SW_0: u32 = 0;
303 #[doc = "Already return to idle status"]
304 pub const IDLE_SW_1: u32 = 0x01;
305 }
306 }
307}
308#[doc = "no description available"]
309pub mod DEBUG_MODE {
310 #[doc = "ADC Conversion Value"]
311 pub mod ADC_CONV_VALUE {
312 pub const offset: u32 = 0;
313 pub const mask: u32 = 0x0fff << offset;
314 pub mod R {}
315 pub mod W {}
316 pub mod RW {}
317 }
318 #[doc = "ADC COCO Signal"]
319 pub mod ADC_COCO {
320 pub const offset: u32 = 12;
321 pub const mask: u32 = 0x01 << offset;
322 pub mod R {}
323 pub mod W {}
324 pub mod RW {}
325 }
326 #[doc = "Hardware Trigger Select Signal"]
327 pub mod EXT_HWTS {
328 pub const offset: u32 = 16;
329 pub const mask: u32 = 0x1f << offset;
330 pub mod R {}
331 pub mod W {}
332 pub mod RW {}
333 }
334 #[doc = "Trigger"]
335 pub mod TRIGGER {
336 pub const offset: u32 = 24;
337 pub const mask: u32 = 0x01 << offset;
338 pub mod R {}
339 pub mod W {}
340 pub mod RW {
341 #[doc = "No hardware trigger signal"]
342 pub const TRIGGER_0: u32 = 0;
343 #[doc = "Hardware trigger signal, the signal must last at least 1 ips clock period"]
344 pub const TRIGGER_1: u32 = 0x01;
345 }
346 }
347 #[doc = "ADC Coco Clear"]
348 pub mod ADC_COCO_CLEAR {
349 pub const offset: u32 = 25;
350 pub const mask: u32 = 0x01 << offset;
351 pub mod R {}
352 pub mod W {}
353 pub mod RW {
354 #[doc = "No ADC COCO clear"]
355 pub const ADC_COCO_CLEAR_0: u32 = 0;
356 #[doc = "Set ADC COCO clear"]
357 pub const ADC_COCO_CLEAR_1: u32 = 0x01;
358 }
359 }
360 #[doc = "ADC COCO Clear Disable"]
361 pub mod ADC_COCO_CLEAR_DISABLE {
362 pub const offset: u32 = 26;
363 pub const mask: u32 = 0x01 << offset;
364 pub mod R {}
365 pub mod W {}
366 pub mod RW {
367 #[doc = "Allow TSC hardware generates ADC COCO clear"]
368 pub const ADC_COCO_CLEAR_DISABLE_0: u32 = 0;
369 #[doc = "Prevent TSC from generate ADC COCO clear signal"]
370 pub const ADC_COCO_CLEAR_DISABLE_1: u32 = 0x01;
371 }
372 }
373 #[doc = "Debug Enable"]
374 pub mod DEBUG_EN {
375 pub const offset: u32 = 28;
376 pub const mask: u32 = 0x01 << offset;
377 pub mod R {}
378 pub mod W {}
379 pub mod RW {
380 #[doc = "Enable debug mode"]
381 pub const DEBUG_EN_0: u32 = 0;
382 #[doc = "Disable debug mode"]
383 pub const DEBUG_EN_1: u32 = 0x01;
384 }
385 }
386}
387#[doc = "no description available"]
388pub mod DEBUG_MODE2 {
389 #[doc = "XPUL Wire Pull Down Switch"]
390 pub mod XPUL_PULL_DOWN {
391 pub const offset: u32 = 0;
392 pub const mask: u32 = 0x01 << offset;
393 pub mod R {}
394 pub mod W {}
395 pub mod RW {
396 #[doc = "Close the switch"]
397 pub const XPUL_PULL_DOWN_0: u32 = 0;
398 #[doc = "Open up the switch"]
399 pub const XPUL_PULL_DOWN_1: u32 = 0x01;
400 }
401 }
402 #[doc = "XPUL Wire Pull Up Switch"]
403 pub mod XPUL_PULL_UP {
404 pub const offset: u32 = 1;
405 pub const mask: u32 = 0x01 << offset;
406 pub mod R {}
407 pub mod W {}
408 pub mod RW {
409 #[doc = "Close the switch"]
410 pub const XPUL_PULL_UP_0: u32 = 0;
411 #[doc = "Open up the switch"]
412 pub const XPUL_PULL_UP_1: u32 = 0x01;
413 }
414 }
415 #[doc = "XPUL Wire 200K Pull Up Switch"]
416 pub mod XPUL_200K_PULL_UP {
417 pub const offset: u32 = 2;
418 pub const mask: u32 = 0x01 << offset;
419 pub mod R {}
420 pub mod W {}
421 pub mod RW {
422 #[doc = "Close the switch"]
423 pub const XPUL_200K_PULL_UP_0: u32 = 0;
424 #[doc = "Open up the switch"]
425 pub const XPUL_200K_PULL_UP_1: u32 = 0x01;
426 }
427 }
428 #[doc = "XNUR Wire Pull Down Switch"]
429 pub mod XNUR_PULL_DOWN {
430 pub const offset: u32 = 3;
431 pub const mask: u32 = 0x01 << offset;
432 pub mod R {}
433 pub mod W {}
434 pub mod RW {
435 #[doc = "Close the switch"]
436 pub const XNUR_PULL_DOWN_0: u32 = 0;
437 #[doc = "Open up the switch"]
438 pub const XNUR_PULL_DOWN_1: u32 = 0x01;
439 }
440 }
441 #[doc = "XNUR Wire Pull Up Switch"]
442 pub mod XNUR_PULL_UP {
443 pub const offset: u32 = 4;
444 pub const mask: u32 = 0x01 << offset;
445 pub mod R {}
446 pub mod W {}
447 pub mod RW {
448 #[doc = "Close the switch"]
449 pub const XNUR_PULL_UP_0: u32 = 0;
450 #[doc = "Open up the switch"]
451 pub const XNUR_PULL_UP_1: u32 = 0x01;
452 }
453 }
454 #[doc = "XNUR Wire 200K Pull Up Switch"]
455 pub mod XNUR_200K_PULL_UP {
456 pub const offset: u32 = 5;
457 pub const mask: u32 = 0x01 << offset;
458 pub mod R {}
459 pub mod W {}
460 pub mod RW {
461 #[doc = "Close the switch"]
462 pub const XNUR_200K_PULL_UP_0: u32 = 0;
463 #[doc = "Open up the switch"]
464 pub const XNUR_200K_PULL_UP_1: u32 = 0x01;
465 }
466 }
467 #[doc = "YPLL Wire Pull Down Switch"]
468 pub mod YPLL_PULL_DOWN {
469 pub const offset: u32 = 6;
470 pub const mask: u32 = 0x01 << offset;
471 pub mod R {}
472 pub mod W {}
473 pub mod RW {
474 #[doc = "Close the switch"]
475 pub const YPLL_PULL_DOWN_0: u32 = 0;
476 #[doc = "Open up the switch"]
477 pub const YPLL_PULL_DOWN_1: u32 = 0x01;
478 }
479 }
480 #[doc = "YPLL Wire Pull Up Switch"]
481 pub mod YPLL_PULL_UP {
482 pub const offset: u32 = 7;
483 pub const mask: u32 = 0x01 << offset;
484 pub mod R {}
485 pub mod W {}
486 pub mod RW {
487 #[doc = "Close the switch"]
488 pub const YPLL_PULL_UP_0: u32 = 0;
489 #[doc = "Open the switch"]
490 pub const YPLL_PULL_UP_1: u32 = 0x01;
491 }
492 }
493 #[doc = "YPLL Wire 200K Pull Up Switch"]
494 pub mod YPLL_200K_PULL_UP {
495 pub const offset: u32 = 8;
496 pub const mask: u32 = 0x01 << offset;
497 pub mod R {}
498 pub mod W {}
499 pub mod RW {
500 #[doc = "Close the switch"]
501 pub const YPLL_200K_PULL_UP_0: u32 = 0;
502 #[doc = "Open up the switch"]
503 pub const YPLL_200K_PULL_UP_1: u32 = 0x01;
504 }
505 }
506 #[doc = "YNLR Wire Pull Down Switch"]
507 pub mod YNLR_PULL_DOWN {
508 pub const offset: u32 = 9;
509 pub const mask: u32 = 0x01 << offset;
510 pub mod R {}
511 pub mod W {}
512 pub mod RW {
513 #[doc = "Close the switch"]
514 pub const YNLR_PULL_DOWN_0: u32 = 0;
515 #[doc = "Open up the switch"]
516 pub const YNLR_PULL_DOWN_1: u32 = 0x01;
517 }
518 }
519 #[doc = "YNLR Wire Pull Up Switch"]
520 pub mod YNLR_PULL_UP {
521 pub const offset: u32 = 10;
522 pub const mask: u32 = 0x01 << offset;
523 pub mod R {}
524 pub mod W {}
525 pub mod RW {
526 #[doc = "Close the switch"]
527 pub const YNLR_PULL_UP_0: u32 = 0;
528 #[doc = "Open up the switch"]
529 pub const YNLR_PULL_UP_1: u32 = 0x01;
530 }
531 }
532 #[doc = "YNLR Wire 200K Pull Up Switch"]
533 pub mod YNLR_200K_PULL_UP {
534 pub const offset: u32 = 11;
535 pub const mask: u32 = 0x01 << offset;
536 pub mod R {}
537 pub mod W {}
538 pub mod RW {
539 #[doc = "Close the switch"]
540 pub const YNLR_200K_PULL_UP_0: u32 = 0;
541 #[doc = "Open up the switch"]
542 pub const YNLR_200K_PULL_UP_1: u32 = 0x01;
543 }
544 }
545 #[doc = "Wiper Wire Pull Down Switch"]
546 pub mod WIPER_PULL_DOWN {
547 pub const offset: u32 = 12;
548 pub const mask: u32 = 0x01 << offset;
549 pub mod R {}
550 pub mod W {}
551 pub mod RW {
552 #[doc = "Close the switch"]
553 pub const WIPER_PULL_DOWN_0: u32 = 0;
554 #[doc = "Open up the switch"]
555 pub const WIPER_PULL_DOWN_1: u32 = 0x01;
556 }
557 }
558 #[doc = "Wiper Wire Pull Up Switch"]
559 pub mod WIPER_PULL_UP {
560 pub const offset: u32 = 13;
561 pub const mask: u32 = 0x01 << offset;
562 pub mod R {}
563 pub mod W {}
564 pub mod RW {
565 #[doc = "Close the switch"]
566 pub const WIPER_PULL_UP_0: u32 = 0;
567 #[doc = "Open up the switch"]
568 pub const WIPER_PULL_UP_1: u32 = 0x01;
569 }
570 }
571 #[doc = "Wiper Wire 200K Pull Up Switch"]
572 pub mod WIPER_200K_PULL_UP {
573 pub const offset: u32 = 14;
574 pub const mask: u32 = 0x01 << offset;
575 pub mod R {}
576 pub mod W {}
577 pub mod RW {
578 #[doc = "Close the switch"]
579 pub const WIPER_200K_PULL_UP_0: u32 = 0;
580 #[doc = "Open up the switch"]
581 pub const WIPER_200K_PULL_UP_1: u32 = 0x01;
582 }
583 }
584 #[doc = "Detect Four Wire"]
585 pub mod DETECT_FOUR_WIRE {
586 pub const offset: u32 = 16;
587 pub const mask: u32 = 0x01 << offset;
588 pub mod R {}
589 pub mod W {}
590 pub mod RW {
591 #[doc = "No detect signal"]
592 pub const DETECT_FOUR_WIRE_0: u32 = 0;
593 #[doc = "Yes, there is a detect on the touch screen."]
594 pub const DETECT_FOUR_WIRE_1: u32 = 0x01;
595 }
596 }
597 #[doc = "Detect Five Wire"]
598 pub mod DETECT_FIVE_WIRE {
599 pub const offset: u32 = 17;
600 pub const mask: u32 = 0x01 << offset;
601 pub mod R {}
602 pub mod W {}
603 pub mod RW {
604 #[doc = "No detect signal"]
605 pub const DETECT_FIVE_WIRE_0: u32 = 0;
606 #[doc = "Yes, there is a detect on the touch screen."]
607 pub const DETECT_FIVE_WIRE_1: u32 = 0x01;
608 }
609 }
610 #[doc = "State Machine"]
611 pub mod STATE_MACHINE {
612 pub const offset: u32 = 20;
613 pub const mask: u32 = 0x07 << offset;
614 pub mod R {}
615 pub mod W {}
616 pub mod RW {
617 #[doc = "Idle"]
618 pub const STATE_MACHINE_0: u32 = 0;
619 #[doc = "Pre-charge"]
620 pub const STATE_MACHINE_1: u32 = 0x01;
621 #[doc = "Detect"]
622 pub const STATE_MACHINE_2: u32 = 0x02;
623 #[doc = "X-measure"]
624 pub const STATE_MACHINE_3: u32 = 0x03;
625 #[doc = "Y-measure"]
626 pub const STATE_MACHINE_4: u32 = 0x04;
627 #[doc = "Pre-charge"]
628 pub const STATE_MACHINE_5: u32 = 0x05;
629 #[doc = "Detect"]
630 pub const STATE_MACHINE_6: u32 = 0x06;
631 }
632 }
633 #[doc = "Intermediate State"]
634 pub mod INTERMEDIATE {
635 pub const offset: u32 = 23;
636 pub const mask: u32 = 0x01 << offset;
637 pub mod R {}
638 pub mod W {}
639 pub mod RW {
640 #[doc = "Not in intermedia"]
641 pub const INTERMEDIATE_0: u32 = 0;
642 #[doc = "Intermedia"]
643 pub const INTERMEDIATE_1: u32 = 0x01;
644 }
645 }
646 #[doc = "Detect Enable Four Wire"]
647 pub mod DETECT_ENABLE_FOUR_WIRE {
648 pub const offset: u32 = 24;
649 pub const mask: u32 = 0x01 << offset;
650 pub mod R {}
651 pub mod W {}
652 pub mod RW {
653 #[doc = "Do not read four wire detect value, read default value from analogue"]
654 pub const DETECT_ENABLE_FOUR_WIRE_0: u32 = 0;
655 #[doc = "Read four wire detect status from analogue"]
656 pub const DETECT_ENABLE_FOUR_WIRE_1: u32 = 0x01;
657 }
658 }
659 #[doc = "Detect Enable Five Wire"]
660 pub mod DETECT_ENABLE_FIVE_WIRE {
661 pub const offset: u32 = 28;
662 pub const mask: u32 = 0x01 << offset;
663 pub mod R {}
664 pub mod W {}
665 pub mod RW {
666 #[doc = "Do not read five wire detect value, read default value from analogue"]
667 pub const DETECT_ENABLE_FIVE_WIRE_0: u32 = 0;
668 #[doc = "Read five wire detect status from analogue"]
669 pub const DETECT_ENABLE_FIVE_WIRE_1: u32 = 0x01;
670 }
671 }
672 #[doc = "This field indicates glitch threshold"]
673 pub mod DE_GLITCH {
674 pub const offset: u32 = 29;
675 pub const mask: u32 = 0x03 << offset;
676 pub mod R {}
677 pub mod W {}
678 pub mod RW {
679 #[doc = "Normal function: 0x1fff ipg clock cycles; Low power mode: 0x9 low power clock cycles"]
680 pub const DE_GLITCH_0: u32 = 0;
681 #[doc = "Normal function: 0xfff ipg clock cycles; Low power mode: :0x7 low power clock cycles"]
682 pub const DE_GLITCH_1: u32 = 0x01;
683 #[doc = "Normal function: 0x7ff ipg clock cycles; Low power mode:0x5 low power clock cycles"]
684 pub const DE_GLITCH_2: u32 = 0x02;
685 #[doc = "Normal function: 0x3 ipg clock cycles; Low power mode:0x3 low power clock cycles"]
686 pub const DE_GLITCH_3: u32 = 0x03;
687 }
688 }
689}