imxrt_ral/blocks/imxrt1011/
flexio.rs

1#[doc = "FLEXIO"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "Version ID Register"]
5    pub VERID: crate::RORegister<u32>,
6    #[doc = "Parameter Register"]
7    pub PARAM: crate::RORegister<u32>,
8    #[doc = "FlexIO Control Register"]
9    pub CTRL: crate::RWRegister<u32>,
10    #[doc = "Pin State Register"]
11    pub PIN: crate::RORegister<u32>,
12    #[doc = "Shifter Status Register"]
13    pub SHIFTSTAT: crate::RWRegister<u32>,
14    #[doc = "Shifter Error Register"]
15    pub SHIFTERR: crate::RWRegister<u32>,
16    #[doc = "Timer Status Register"]
17    pub TIMSTAT: crate::RWRegister<u32>,
18    _reserved0: [u8; 0x04],
19    #[doc = "Shifter Status Interrupt Enable"]
20    pub SHIFTSIEN: crate::RWRegister<u32>,
21    #[doc = "Shifter Error Interrupt Enable"]
22    pub SHIFTEIEN: crate::RWRegister<u32>,
23    #[doc = "Timer Interrupt Enable Register"]
24    pub TIMIEN: crate::RWRegister<u32>,
25    _reserved1: [u8; 0x04],
26    #[doc = "Shifter Status DMA Enable"]
27    pub SHIFTSDEN: crate::RWRegister<u32>,
28    _reserved2: [u8; 0x0c],
29    #[doc = "Shifter State Register"]
30    pub SHIFTSTATE: crate::RWRegister<u32>,
31    _reserved3: [u8; 0x3c],
32    #[doc = "Shifter Control N Register"]
33    pub SHIFTCTL: [crate::RWRegister<u32>; 8usize],
34    _reserved4: [u8; 0x60],
35    #[doc = "Shifter Configuration N Register"]
36    pub SHIFTCFG: [crate::RWRegister<u32>; 8usize],
37    _reserved5: [u8; 0xe0],
38    #[doc = "Shifter Buffer N Register"]
39    pub SHIFTBUF: [crate::RWRegister<u32>; 8usize],
40    _reserved6: [u8; 0x60],
41    #[doc = "Shifter Buffer N Bit Swapped Register"]
42    pub SHIFTBUFBIS: [crate::RWRegister<u32>; 8usize],
43    _reserved7: [u8; 0x60],
44    #[doc = "Shifter Buffer N Byte Swapped Register"]
45    pub SHIFTBUFBYS: [crate::RWRegister<u32>; 8usize],
46    _reserved8: [u8; 0x60],
47    #[doc = "Shifter Buffer N Bit Byte Swapped Register"]
48    pub SHIFTBUFBBS: [crate::RWRegister<u32>; 8usize],
49    _reserved9: [u8; 0x60],
50    #[doc = "Timer Control N Register"]
51    pub TIMCTL: [crate::RWRegister<u32>; 8usize],
52    _reserved10: [u8; 0x60],
53    #[doc = "Timer Configuration N Register"]
54    pub TIMCFG: [crate::RWRegister<u32>; 8usize],
55    _reserved11: [u8; 0x60],
56    #[doc = "Timer Compare N Register"]
57    pub TIMCMP: [crate::RWRegister<u32>; 8usize],
58    _reserved12: [u8; 0x0160],
59    #[doc = "Shifter Buffer N Nibble Byte Swapped Register"]
60    pub SHIFTBUFNBS: [crate::RWRegister<u32>; 8usize],
61    _reserved13: [u8; 0x60],
62    #[doc = "Shifter Buffer N Half Word Swapped Register"]
63    pub SHIFTBUFHWS: [crate::RWRegister<u32>; 8usize],
64    _reserved14: [u8; 0x60],
65    #[doc = "Shifter Buffer N Nibble Swapped Register"]
66    pub SHIFTBUFNIS: [crate::RWRegister<u32>; 8usize],
67}
68#[doc = "Version ID Register"]
69pub mod VERID {
70    #[doc = "Feature Specification Number"]
71    pub mod FEATURE {
72        pub const offset: u32 = 0;
73        pub const mask: u32 = 0xffff << offset;
74        pub mod R {}
75        pub mod W {}
76        pub mod RW {
77            #[doc = "Standard features implemented."]
78            pub const FEATURE_0: u32 = 0;
79            #[doc = "Supports state, logic and parallel modes."]
80            pub const FEATURE_1: u32 = 0x01;
81        }
82    }
83    #[doc = "Minor Version Number"]
84    pub mod MINOR {
85        pub const offset: u32 = 16;
86        pub const mask: u32 = 0xff << offset;
87        pub mod R {}
88        pub mod W {}
89        pub mod RW {}
90    }
91    #[doc = "Major Version Number"]
92    pub mod MAJOR {
93        pub const offset: u32 = 24;
94        pub const mask: u32 = 0xff << offset;
95        pub mod R {}
96        pub mod W {}
97        pub mod RW {}
98    }
99}
100#[doc = "Parameter Register"]
101pub mod PARAM {
102    #[doc = "Shifter Number"]
103    pub mod SHIFTER {
104        pub const offset: u32 = 0;
105        pub const mask: u32 = 0xff << offset;
106        pub mod R {}
107        pub mod W {}
108        pub mod RW {}
109    }
110    #[doc = "Timer Number"]
111    pub mod TIMER {
112        pub const offset: u32 = 8;
113        pub const mask: u32 = 0xff << offset;
114        pub mod R {}
115        pub mod W {}
116        pub mod RW {}
117    }
118    #[doc = "Pin Number"]
119    pub mod PIN {
120        pub const offset: u32 = 16;
121        pub const mask: u32 = 0xff << offset;
122        pub mod R {}
123        pub mod W {}
124        pub mod RW {}
125    }
126    #[doc = "Trigger Number"]
127    pub mod TRIGGER {
128        pub const offset: u32 = 24;
129        pub const mask: u32 = 0xff << offset;
130        pub mod R {}
131        pub mod W {}
132        pub mod RW {}
133    }
134}
135#[doc = "FlexIO Control Register"]
136pub mod CTRL {
137    #[doc = "FlexIO Enable"]
138    pub mod FLEXEN {
139        pub const offset: u32 = 0;
140        pub const mask: u32 = 0x01 << offset;
141        pub mod R {}
142        pub mod W {}
143        pub mod RW {
144            #[doc = "FlexIO module is disabled."]
145            pub const FLEXEN_0: u32 = 0;
146            #[doc = "FlexIO module is enabled."]
147            pub const FLEXEN_1: u32 = 0x01;
148        }
149    }
150    #[doc = "Software Reset"]
151    pub mod SWRST {
152        pub const offset: u32 = 1;
153        pub const mask: u32 = 0x01 << offset;
154        pub mod R {}
155        pub mod W {}
156        pub mod RW {
157            #[doc = "Software reset is disabled"]
158            pub const SWRST_0: u32 = 0;
159            #[doc = "Software reset is enabled, all FlexIO registers except the Control Register are reset."]
160            pub const SWRST_1: u32 = 0x01;
161        }
162    }
163    #[doc = "Fast Access"]
164    pub mod FASTACC {
165        pub const offset: u32 = 2;
166        pub const mask: u32 = 0x01 << offset;
167        pub mod R {}
168        pub mod W {}
169        pub mod RW {
170            #[doc = "Configures for normal register accesses to FlexIO"]
171            pub const FASTACC_0: u32 = 0;
172            #[doc = "Configures for fast register accesses to FlexIO"]
173            pub const FASTACC_1: u32 = 0x01;
174        }
175    }
176    #[doc = "Debug Enable"]
177    pub mod DBGE {
178        pub const offset: u32 = 30;
179        pub const mask: u32 = 0x01 << offset;
180        pub mod R {}
181        pub mod W {}
182        pub mod RW {
183            #[doc = "FlexIO is disabled in debug modes."]
184            pub const DBGE_0: u32 = 0;
185            #[doc = "FlexIO is enabled in debug modes"]
186            pub const DBGE_1: u32 = 0x01;
187        }
188    }
189    #[doc = "Doze Enable"]
190    pub mod DOZEN {
191        pub const offset: u32 = 31;
192        pub const mask: u32 = 0x01 << offset;
193        pub mod R {}
194        pub mod W {}
195        pub mod RW {
196            #[doc = "FlexIO enabled in Doze modes."]
197            pub const DOZEN_0: u32 = 0;
198            #[doc = "FlexIO disabled in Doze modes."]
199            pub const DOZEN_1: u32 = 0x01;
200        }
201    }
202}
203#[doc = "Pin State Register"]
204pub mod PIN {
205    #[doc = "Pin Data Input"]
206    pub mod PDI {
207        pub const offset: u32 = 0;
208        pub const mask: u32 = 0xffff_ffff << offset;
209        pub mod R {}
210        pub mod W {}
211        pub mod RW {}
212    }
213}
214#[doc = "Shifter Status Register"]
215pub mod SHIFTSTAT {
216    #[doc = "Shifter Status Flag"]
217    pub mod SSF {
218        pub const offset: u32 = 0;
219        pub const mask: u32 = 0xff << offset;
220        pub mod R {}
221        pub mod W {}
222        pub mod RW {}
223    }
224}
225#[doc = "Shifter Error Register"]
226pub mod SHIFTERR {
227    #[doc = "Shifter Error Flags"]
228    pub mod SEF {
229        pub const offset: u32 = 0;
230        pub const mask: u32 = 0xff << offset;
231        pub mod R {}
232        pub mod W {}
233        pub mod RW {}
234    }
235}
236#[doc = "Timer Status Register"]
237pub mod TIMSTAT {
238    #[doc = "Timer Status Flags"]
239    pub mod TSF {
240        pub const offset: u32 = 0;
241        pub const mask: u32 = 0xff << offset;
242        pub mod R {}
243        pub mod W {}
244        pub mod RW {}
245    }
246}
247#[doc = "Shifter Status Interrupt Enable"]
248pub mod SHIFTSIEN {
249    #[doc = "Shifter Status Interrupt Enable"]
250    pub mod SSIE {
251        pub const offset: u32 = 0;
252        pub const mask: u32 = 0xff << offset;
253        pub mod R {}
254        pub mod W {}
255        pub mod RW {}
256    }
257}
258#[doc = "Shifter Error Interrupt Enable"]
259pub mod SHIFTEIEN {
260    #[doc = "Shifter Error Interrupt Enable"]
261    pub mod SEIE {
262        pub const offset: u32 = 0;
263        pub const mask: u32 = 0xff << offset;
264        pub mod R {}
265        pub mod W {}
266        pub mod RW {}
267    }
268}
269#[doc = "Timer Interrupt Enable Register"]
270pub mod TIMIEN {
271    #[doc = "Timer Status Interrupt Enable"]
272    pub mod TEIE {
273        pub const offset: u32 = 0;
274        pub const mask: u32 = 0xff << offset;
275        pub mod R {}
276        pub mod W {}
277        pub mod RW {}
278    }
279}
280#[doc = "Shifter Status DMA Enable"]
281pub mod SHIFTSDEN {
282    #[doc = "Shifter Status DMA Enable"]
283    pub mod SSDE {
284        pub const offset: u32 = 0;
285        pub const mask: u32 = 0xff << offset;
286        pub mod R {}
287        pub mod W {}
288        pub mod RW {}
289    }
290}
291#[doc = "Shifter State Register"]
292pub mod SHIFTSTATE {
293    #[doc = "Current State Pointer"]
294    pub mod STATE {
295        pub const offset: u32 = 0;
296        pub const mask: u32 = 0x07 << offset;
297        pub mod R {}
298        pub mod W {}
299        pub mod RW {}
300    }
301}
302#[doc = "Shifter Control N Register"]
303pub mod SHIFTCTL {
304    #[doc = "Shifter Mode"]
305    pub mod SMOD {
306        pub const offset: u32 = 0;
307        pub const mask: u32 = 0x07 << offset;
308        pub mod R {}
309        pub mod W {}
310        pub mod RW {
311            #[doc = "Disabled."]
312            pub const SMOD_0: u32 = 0;
313            #[doc = "Receive mode. Captures the current Shifter content into the SHIFTBUF on expiration of the Timer."]
314            pub const SMOD_1: u32 = 0x01;
315            #[doc = "Transmit mode. Load SHIFTBUF contents into the Shifter on expiration of the Timer."]
316            pub const SMOD_2: u32 = 0x02;
317            #[doc = "Match Store mode. Shifter data is compared to SHIFTBUF content on expiration of the Timer."]
318            pub const SMOD_4: u32 = 0x04;
319            #[doc = "Match Continuous mode. Shifter data is continuously compared to SHIFTBUF contents."]
320            pub const SMOD_5: u32 = 0x05;
321            #[doc = "State mode. SHIFTBUF contents are used for storing programmable state attributes."]
322            pub const SMOD_6: u32 = 0x06;
323            #[doc = "Logic mode. SHIFTBUF contents are used for implementing programmable logic look up table."]
324            pub const SMOD_7: u32 = 0x07;
325        }
326    }
327    #[doc = "Shifter Pin Polarity"]
328    pub mod PINPOL {
329        pub const offset: u32 = 7;
330        pub const mask: u32 = 0x01 << offset;
331        pub mod R {}
332        pub mod W {}
333        pub mod RW {
334            #[doc = "Pin is active high"]
335            pub const PINPOL_0: u32 = 0;
336            #[doc = "Pin is active low"]
337            pub const PINPOL_1: u32 = 0x01;
338        }
339    }
340    #[doc = "Shifter Pin Select"]
341    pub mod PINSEL {
342        pub const offset: u32 = 8;
343        pub const mask: u32 = 0x1f << offset;
344        pub mod R {}
345        pub mod W {}
346        pub mod RW {}
347    }
348    #[doc = "Shifter Pin Configuration"]
349    pub mod PINCFG {
350        pub const offset: u32 = 16;
351        pub const mask: u32 = 0x03 << offset;
352        pub mod R {}
353        pub mod W {}
354        pub mod RW {
355            #[doc = "Shifter pin output disabled"]
356            pub const PINCFG_0: u32 = 0;
357            #[doc = "Shifter pin open drain or bidirectional output enable"]
358            pub const PINCFG_1: u32 = 0x01;
359            #[doc = "Shifter pin bidirectional output data"]
360            pub const PINCFG_2: u32 = 0x02;
361            #[doc = "Shifter pin output"]
362            pub const PINCFG_3: u32 = 0x03;
363        }
364    }
365    #[doc = "Timer Polarity"]
366    pub mod TIMPOL {
367        pub const offset: u32 = 23;
368        pub const mask: u32 = 0x01 << offset;
369        pub mod R {}
370        pub mod W {}
371        pub mod RW {
372            #[doc = "Shift on posedge of Shift clock"]
373            pub const TIMPOL_0: u32 = 0;
374            #[doc = "Shift on negedge of Shift clock"]
375            pub const TIMPOL_1: u32 = 0x01;
376        }
377    }
378    #[doc = "Timer Select"]
379    pub mod TIMSEL {
380        pub const offset: u32 = 24;
381        pub const mask: u32 = 0x07 << offset;
382        pub mod R {}
383        pub mod W {}
384        pub mod RW {}
385    }
386}
387#[doc = "Shifter Configuration N Register"]
388pub mod SHIFTCFG {
389    #[doc = "Shifter Start bit"]
390    pub mod SSTART {
391        pub const offset: u32 = 0;
392        pub const mask: u32 = 0x03 << offset;
393        pub mod R {}
394        pub mod W {}
395        pub mod RW {
396            #[doc = "Start bit disabled for transmitter/receiver/match store, transmitter loads data on enable"]
397            pub const SSTART_0: u32 = 0;
398            #[doc = "Start bit disabled for transmitter/receiver/match store, transmitter loads data on first shift"]
399            pub const SSTART_1: u32 = 0x01;
400            #[doc = "Transmitter outputs start bit value 0 before loading data on first shift, receiver/match store sets error flag if start bit is not 0"]
401            pub const SSTART_2: u32 = 0x02;
402            #[doc = "Transmitter outputs start bit value 1 before loading data on first shift, receiver/match store sets error flag if start bit is not 1"]
403            pub const SSTART_3: u32 = 0x03;
404        }
405    }
406    #[doc = "Shifter Stop bit"]
407    pub mod SSTOP {
408        pub const offset: u32 = 4;
409        pub const mask: u32 = 0x03 << offset;
410        pub mod R {}
411        pub mod W {}
412        pub mod RW {
413            #[doc = "Stop bit disabled for transmitter/receiver/match store"]
414            pub const SSTOP_0: u32 = 0;
415            #[doc = "Transmitter outputs stop bit value 0 on store, receiver/match store sets error flag if stop bit is not 0"]
416            pub const SSTOP_2: u32 = 0x02;
417            #[doc = "Transmitter outputs stop bit value 1 on store, receiver/match store sets error flag if stop bit is not 1"]
418            pub const SSTOP_3: u32 = 0x03;
419        }
420    }
421    #[doc = "Input Source"]
422    pub mod INSRC {
423        pub const offset: u32 = 8;
424        pub const mask: u32 = 0x01 << offset;
425        pub mod R {}
426        pub mod W {}
427        pub mod RW {
428            #[doc = "Pin"]
429            pub const INSRC_0: u32 = 0;
430            #[doc = "Shifter N+1 Output"]
431            pub const INSRC_1: u32 = 0x01;
432        }
433    }
434    #[doc = "Parallel Width"]
435    pub mod PWIDTH {
436        pub const offset: u32 = 16;
437        pub const mask: u32 = 0x1f << offset;
438        pub mod R {}
439        pub mod W {}
440        pub mod RW {}
441    }
442}
443#[doc = "Shifter Buffer N Register"]
444pub mod SHIFTBUF {
445    #[doc = "Shift Buffer"]
446    pub mod SHIFTBUF {
447        pub const offset: u32 = 0;
448        pub const mask: u32 = 0xffff_ffff << offset;
449        pub mod R {}
450        pub mod W {}
451        pub mod RW {}
452    }
453}
454#[doc = "Shifter Buffer N Bit Swapped Register"]
455pub mod SHIFTBUFBIS {
456    #[doc = "Shift Buffer"]
457    pub mod SHIFTBUFBIS {
458        pub const offset: u32 = 0;
459        pub const mask: u32 = 0xffff_ffff << offset;
460        pub mod R {}
461        pub mod W {}
462        pub mod RW {}
463    }
464}
465#[doc = "Shifter Buffer N Byte Swapped Register"]
466pub mod SHIFTBUFBYS {
467    #[doc = "Shift Buffer"]
468    pub mod SHIFTBUFBYS {
469        pub const offset: u32 = 0;
470        pub const mask: u32 = 0xffff_ffff << offset;
471        pub mod R {}
472        pub mod W {}
473        pub mod RW {}
474    }
475}
476#[doc = "Shifter Buffer N Bit Byte Swapped Register"]
477pub mod SHIFTBUFBBS {
478    #[doc = "Shift Buffer"]
479    pub mod SHIFTBUFBBS {
480        pub const offset: u32 = 0;
481        pub const mask: u32 = 0xffff_ffff << offset;
482        pub mod R {}
483        pub mod W {}
484        pub mod RW {}
485    }
486}
487#[doc = "Timer Control N Register"]
488pub mod TIMCTL {
489    #[doc = "Timer Mode"]
490    pub mod TIMOD {
491        pub const offset: u32 = 0;
492        pub const mask: u32 = 0x03 << offset;
493        pub mod R {}
494        pub mod W {}
495        pub mod RW {
496            #[doc = "Timer Disabled."]
497            pub const TIMOD_0: u32 = 0;
498            #[doc = "Dual 8-bit counters baud mode."]
499            pub const TIMOD_1: u32 = 0x01;
500            #[doc = "Dual 8-bit counters PWM high mode."]
501            pub const TIMOD_2: u32 = 0x02;
502            #[doc = "Single 16-bit counter mode."]
503            pub const TIMOD_3: u32 = 0x03;
504        }
505    }
506    #[doc = "Timer Pin Polarity"]
507    pub mod PINPOL {
508        pub const offset: u32 = 7;
509        pub const mask: u32 = 0x01 << offset;
510        pub mod R {}
511        pub mod W {}
512        pub mod RW {
513            #[doc = "Pin is active high"]
514            pub const PINPOL_0: u32 = 0;
515            #[doc = "Pin is active low"]
516            pub const PINPOL_1: u32 = 0x01;
517        }
518    }
519    #[doc = "Timer Pin Select"]
520    pub mod PINSEL {
521        pub const offset: u32 = 8;
522        pub const mask: u32 = 0x1f << offset;
523        pub mod R {}
524        pub mod W {}
525        pub mod RW {}
526    }
527    #[doc = "Timer Pin Configuration"]
528    pub mod PINCFG {
529        pub const offset: u32 = 16;
530        pub const mask: u32 = 0x03 << offset;
531        pub mod R {}
532        pub mod W {}
533        pub mod RW {
534            #[doc = "Timer pin output disabled"]
535            pub const PINCFG_0: u32 = 0;
536            #[doc = "Timer pin open drain or bidirectional output enable"]
537            pub const PINCFG_1: u32 = 0x01;
538            #[doc = "Timer pin bidirectional output data"]
539            pub const PINCFG_2: u32 = 0x02;
540            #[doc = "Timer pin output"]
541            pub const PINCFG_3: u32 = 0x03;
542        }
543    }
544    #[doc = "Trigger Source"]
545    pub mod TRGSRC {
546        pub const offset: u32 = 22;
547        pub const mask: u32 = 0x01 << offset;
548        pub mod R {}
549        pub mod W {}
550        pub mod RW {
551            #[doc = "External trigger selected"]
552            pub const TRGSRC_0: u32 = 0;
553            #[doc = "Internal trigger selected"]
554            pub const TRGSRC_1: u32 = 0x01;
555        }
556    }
557    #[doc = "Trigger Polarity"]
558    pub mod TRGPOL {
559        pub const offset: u32 = 23;
560        pub const mask: u32 = 0x01 << offset;
561        pub mod R {}
562        pub mod W {}
563        pub mod RW {
564            #[doc = "Trigger active high"]
565            pub const TRGPOL_0: u32 = 0;
566            #[doc = "Trigger active low"]
567            pub const TRGPOL_1: u32 = 0x01;
568        }
569    }
570    #[doc = "Trigger Select"]
571    pub mod TRGSEL {
572        pub const offset: u32 = 24;
573        pub const mask: u32 = 0x3f << offset;
574        pub mod R {}
575        pub mod W {}
576        pub mod RW {}
577    }
578}
579#[doc = "Timer Configuration N Register"]
580pub mod TIMCFG {
581    #[doc = "Timer Start Bit"]
582    pub mod TSTART {
583        pub const offset: u32 = 1;
584        pub const mask: u32 = 0x01 << offset;
585        pub mod R {}
586        pub mod W {}
587        pub mod RW {
588            #[doc = "Start bit disabled"]
589            pub const TSTART_0: u32 = 0;
590            #[doc = "Start bit enabled"]
591            pub const TSTART_1: u32 = 0x01;
592        }
593    }
594    #[doc = "Timer Stop Bit"]
595    pub mod TSTOP {
596        pub const offset: u32 = 4;
597        pub const mask: u32 = 0x03 << offset;
598        pub mod R {}
599        pub mod W {}
600        pub mod RW {
601            #[doc = "Stop bit disabled"]
602            pub const TSTOP_0: u32 = 0;
603            #[doc = "Stop bit is enabled on timer compare"]
604            pub const TSTOP_1: u32 = 0x01;
605            #[doc = "Stop bit is enabled on timer disable"]
606            pub const TSTOP_2: u32 = 0x02;
607            #[doc = "Stop bit is enabled on timer compare and timer disable"]
608            pub const TSTOP_3: u32 = 0x03;
609        }
610    }
611    #[doc = "Timer Enable"]
612    pub mod TIMENA {
613        pub const offset: u32 = 8;
614        pub const mask: u32 = 0x07 << offset;
615        pub mod R {}
616        pub mod W {}
617        pub mod RW {
618            #[doc = "Timer always enabled"]
619            pub const TIMENA_0: u32 = 0;
620            #[doc = "Timer enabled on Timer N-1 enable"]
621            pub const TIMENA_1: u32 = 0x01;
622            #[doc = "Timer enabled on Trigger high"]
623            pub const TIMENA_2: u32 = 0x02;
624            #[doc = "Timer enabled on Trigger high and Pin high"]
625            pub const TIMENA_3: u32 = 0x03;
626            #[doc = "Timer enabled on Pin rising edge"]
627            pub const TIMENA_4: u32 = 0x04;
628            #[doc = "Timer enabled on Pin rising edge and Trigger high"]
629            pub const TIMENA_5: u32 = 0x05;
630            #[doc = "Timer enabled on Trigger rising edge"]
631            pub const TIMENA_6: u32 = 0x06;
632            #[doc = "Timer enabled on Trigger rising or falling edge"]
633            pub const TIMENA_7: u32 = 0x07;
634        }
635    }
636    #[doc = "Timer Disable"]
637    pub mod TIMDIS {
638        pub const offset: u32 = 12;
639        pub const mask: u32 = 0x07 << offset;
640        pub mod R {}
641        pub mod W {}
642        pub mod RW {
643            #[doc = "Timer never disabled"]
644            pub const TIMDIS_0: u32 = 0;
645            #[doc = "Timer disabled on Timer N-1 disable"]
646            pub const TIMDIS_1: u32 = 0x01;
647            #[doc = "Timer disabled on Timer compare (upper 8-bits match and decrement)"]
648            pub const TIMDIS_2: u32 = 0x02;
649            #[doc = "Timer disabled on Timer compare (upper 8-bits match and decrement) and Trigger Low"]
650            pub const TIMDIS_3: u32 = 0x03;
651            #[doc = "Timer disabled on Pin rising or falling edge"]
652            pub const TIMDIS_4: u32 = 0x04;
653            #[doc = "Timer disabled on Pin rising or falling edge provided Trigger is high"]
654            pub const TIMDIS_5: u32 = 0x05;
655            #[doc = "Timer disabled on Trigger falling edge"]
656            pub const TIMDIS_6: u32 = 0x06;
657        }
658    }
659    #[doc = "Timer Reset"]
660    pub mod TIMRST {
661        pub const offset: u32 = 16;
662        pub const mask: u32 = 0x07 << offset;
663        pub mod R {}
664        pub mod W {}
665        pub mod RW {
666            #[doc = "Timer never reset"]
667            pub const TIMRST_0: u32 = 0;
668            #[doc = "Timer reset on Timer Pin equal to Timer Output"]
669            pub const TIMRST_2: u32 = 0x02;
670            #[doc = "Timer reset on Timer Trigger equal to Timer Output"]
671            pub const TIMRST_3: u32 = 0x03;
672            #[doc = "Timer reset on Timer Pin rising edge"]
673            pub const TIMRST_4: u32 = 0x04;
674            #[doc = "Timer reset on Trigger rising edge"]
675            pub const TIMRST_6: u32 = 0x06;
676            #[doc = "Timer reset on Trigger rising or falling edge"]
677            pub const TIMRST_7: u32 = 0x07;
678        }
679    }
680    #[doc = "Timer Decrement"]
681    pub mod TIMDEC {
682        pub const offset: u32 = 20;
683        pub const mask: u32 = 0x03 << offset;
684        pub mod R {}
685        pub mod W {}
686        pub mod RW {
687            #[doc = "Decrement counter on FlexIO clock, Shift clock equals Timer output."]
688            pub const TIMDEC_0: u32 = 0;
689            #[doc = "Decrement counter on Trigger input (both edges), Shift clock equals Timer output."]
690            pub const TIMDEC_1: u32 = 0x01;
691            #[doc = "Decrement counter on Pin input (both edges), Shift clock equals Pin input."]
692            pub const TIMDEC_2: u32 = 0x02;
693            #[doc = "Decrement counter on Trigger input (both edges), Shift clock equals Trigger input."]
694            pub const TIMDEC_3: u32 = 0x03;
695        }
696    }
697    #[doc = "Timer Output"]
698    pub mod TIMOUT {
699        pub const offset: u32 = 24;
700        pub const mask: u32 = 0x03 << offset;
701        pub mod R {}
702        pub mod W {}
703        pub mod RW {
704            #[doc = "Timer output is logic one when enabled and is not affected by timer reset"]
705            pub const TIMOUT_0: u32 = 0;
706            #[doc = "Timer output is logic zero when enabled and is not affected by timer reset"]
707            pub const TIMOUT_1: u32 = 0x01;
708            #[doc = "Timer output is logic one when enabled and on timer reset"]
709            pub const TIMOUT_2: u32 = 0x02;
710            #[doc = "Timer output is logic zero when enabled and on timer reset"]
711            pub const TIMOUT_3: u32 = 0x03;
712        }
713    }
714}
715#[doc = "Timer Compare N Register"]
716pub mod TIMCMP {
717    #[doc = "Timer Compare Value"]
718    pub mod CMP {
719        pub const offset: u32 = 0;
720        pub const mask: u32 = 0xffff << offset;
721        pub mod R {}
722        pub mod W {}
723        pub mod RW {}
724    }
725}
726#[doc = "Shifter Buffer N Nibble Byte Swapped Register"]
727pub mod SHIFTBUFNBS {
728    #[doc = "Shift Buffer"]
729    pub mod SHIFTBUFNBS {
730        pub const offset: u32 = 0;
731        pub const mask: u32 = 0xffff_ffff << offset;
732        pub mod R {}
733        pub mod W {}
734        pub mod RW {}
735    }
736}
737#[doc = "Shifter Buffer N Half Word Swapped Register"]
738pub mod SHIFTBUFHWS {
739    #[doc = "Shift Buffer"]
740    pub mod SHIFTBUFHWS {
741        pub const offset: u32 = 0;
742        pub const mask: u32 = 0xffff_ffff << offset;
743        pub mod R {}
744        pub mod W {}
745        pub mod RW {}
746    }
747}
748#[doc = "Shifter Buffer N Nibble Swapped Register"]
749pub mod SHIFTBUFNIS {
750    #[doc = "Shift Buffer"]
751    pub mod SHIFTBUFNIS {
752        pub const offset: u32 = 0;
753        pub const mask: u32 = 0xffff_ffff << offset;
754        pub mod R {}
755        pub mod W {}
756        pub mod RW {}
757    }
758}