avrd/gen/at90usb646.rs
1//! The AVR AT90USB646 microcontroller
2//!
3//! # Variants
4//! | | Pinout | Mcu age | Operating temperature | Operating voltage | Max speed |
5//! |--------|--------|---------|-----------------------|-------------------|-----------|
6//! | standard | | | 0°C - 0°C | 2.7V - 5.5V | 0 MHz |
7//!
8
9#![allow(non_upper_case_globals)]
10
11/// `LOCKBIT` register
12///
13/// Bitfields:
14///
15/// | Name | Mask (binary) |
16/// | ---- | ------------- |
17/// | LB | 11 |
18/// | BLB1 | 110000 |
19/// | BLB0 | 1100 |
20pub const LOCKBIT: *mut u8 = 0x0 as *mut u8;
21
22/// `LOW` register
23///
24/// Bitfields:
25///
26/// | Name | Mask (binary) |
27/// | ---- | ------------- |
28/// | CKDIV8 | 10000000 |
29/// | SUT_CKSEL | 111111 |
30/// | CKOUT | 1000000 |
31pub const LOW: *mut u8 = 0x0 as *mut u8;
32
33/// `HIGH` register
34///
35/// Bitfields:
36///
37/// | Name | Mask (binary) |
38/// | ---- | ------------- |
39/// | JTAGEN | 1000000 |
40/// | OCDEN | 10000000 |
41/// | BOOTRST | 1 |
42/// | BOOTSZ | 110 |
43/// | SPIEN | 100000 |
44/// | EESAVE | 1000 |
45/// | WDTON | 10000 |
46pub const HIGH: *mut u8 = 0x1 as *mut u8;
47
48/// `EXTENDED` register
49///
50/// Bitfields:
51///
52/// | Name | Mask (binary) |
53/// | ---- | ------------- |
54/// | HWBE | 1000 |
55/// | BODLEVEL | 111 |
56pub const EXTENDED: *mut u8 = 0x2 as *mut u8;
57
58/// Port A Input Pins.
59pub const PINA: *mut u8 = 0x20 as *mut u8;
60
61/// Port A Data Direction Register.
62pub const DDRA: *mut u8 = 0x21 as *mut u8;
63
64/// Port A Data Register.
65pub const PORTA: *mut u8 = 0x22 as *mut u8;
66
67/// Port B Input Pins.
68pub const PINB: *mut u8 = 0x23 as *mut u8;
69
70/// Port B Data Direction Register.
71pub const DDRB: *mut u8 = 0x24 as *mut u8;
72
73/// Port B Data Register.
74pub const PORTB: *mut u8 = 0x25 as *mut u8;
75
76/// Port C Input Pins.
77pub const PINC: *mut u8 = 0x26 as *mut u8;
78
79/// Port C Data Direction Register.
80pub const DDRC: *mut u8 = 0x27 as *mut u8;
81
82/// Port C Data Register.
83pub const PORTC: *mut u8 = 0x28 as *mut u8;
84
85/// Port D Input Pins.
86pub const PIND: *mut u8 = 0x29 as *mut u8;
87
88/// Port D Data Direction Register.
89pub const DDRD: *mut u8 = 0x2A as *mut u8;
90
91/// Port D Data Register.
92pub const PORTD: *mut u8 = 0x2B as *mut u8;
93
94/// Input Pins, Port E.
95pub const PINE: *mut u8 = 0x2C as *mut u8;
96
97/// Data Direction Register, Port E.
98pub const DDRE: *mut u8 = 0x2D as *mut u8;
99
100/// Data Register, Port E.
101pub const PORTE: *mut u8 = 0x2E as *mut u8;
102
103/// Input Pins, Port F.
104pub const PINF: *mut u8 = 0x2F as *mut u8;
105
106/// Data Direction Register, Port F.
107pub const DDRF: *mut u8 = 0x30 as *mut u8;
108
109/// Data Register, Port F.
110pub const PORTF: *mut u8 = 0x31 as *mut u8;
111
112/// Timer/Counter0 Interrupt Flag register.
113///
114/// Bitfields:
115///
116/// | Name | Mask (binary) |
117/// | ---- | ------------- |
118/// | OCF0A | 10 |
119/// | OCF0B | 100 |
120/// | TOV0 | 1 |
121pub const TIFR0: *mut u8 = 0x35 as *mut u8;
122
123/// Timer/Counter1 Interrupt Flag register.
124///
125/// Bitfields:
126///
127/// | Name | Mask (binary) |
128/// | ---- | ------------- |
129/// | ICF1 | 100000 |
130/// | TOV1 | 1 |
131/// | OCF1B | 100 |
132/// | OCF1A | 10 |
133/// | OCF1C | 1000 |
134pub const TIFR1: *mut u8 = 0x36 as *mut u8;
135
136/// Timer/Counter Interrupt Flag Register.
137///
138/// Bitfields:
139///
140/// | Name | Mask (binary) |
141/// | ---- | ------------- |
142/// | OCF2B | 100 |
143/// | OCF2A | 10 |
144/// | TOV2 | 1 |
145pub const TIFR2: *mut u8 = 0x37 as *mut u8;
146
147/// Timer/Counter3 Interrupt Flag register.
148///
149/// Bitfields:
150///
151/// | Name | Mask (binary) |
152/// | ---- | ------------- |
153/// | OCF3B | 100 |
154/// | OCF3C | 1000 |
155/// | OCF3A | 10 |
156/// | ICF3 | 100000 |
157/// | TOV3 | 1 |
158pub const TIFR3: *mut u8 = 0x38 as *mut u8;
159
160/// Pin Change Interrupt Flag Register.
161///
162/// Bitfields:
163///
164/// | Name | Mask (binary) |
165/// | ---- | ------------- |
166/// | PCIF0 | 1 |
167pub const PCIFR: *mut u8 = 0x3B as *mut u8;
168
169/// External Interrupt Flag Register.
170pub const EIFR: *mut u8 = 0x3C as *mut u8;
171
172/// External Interrupt Mask Register.
173pub const EIMSK: *mut u8 = 0x3D as *mut u8;
174
175/// General Purpose IO Register 0.
176///
177/// Bitfields:
178///
179/// | Name | Mask (binary) |
180/// | ---- | ------------- |
181/// | GPIOR00 | 1 |
182/// | GPIOR05 | 100000 |
183/// | GPIOR03 | 1000 |
184/// | GPIOR07 | 10000000 |
185/// | GPIOR04 | 10000 |
186/// | GPIOR02 | 100 |
187/// | GPIOR01 | 10 |
188/// | GPIOR06 | 1000000 |
189pub const GPIOR0: *mut u8 = 0x3E as *mut u8;
190
191/// EEPROM Control Register.
192///
193/// Bitfields:
194///
195/// | Name | Mask (binary) |
196/// | ---- | ------------- |
197/// | EEMPE | 100 |
198/// | EERIE | 1000 |
199/// | EEPE | 10 |
200/// | EEPM | 110000 |
201/// | EERE | 1 |
202pub const EECR: *mut u8 = 0x3F as *mut u8;
203
204/// EEPROM Data Register.
205pub const EEDR: *mut u8 = 0x40 as *mut u8;
206
207/// EEPROM Address Register Low Bytes.
208pub const EEAR: *mut u16 = 0x41 as *mut u16;
209
210/// EEPROM Address Register Low Bytes low byte.
211pub const EEARL: *mut u8 = 0x41 as *mut u8;
212
213/// EEPROM Address Register Low Bytes high byte.
214pub const EEARH: *mut u8 = 0x42 as *mut u8;
215
216/// General Timer Counter Control register.
217///
218/// Bitfields:
219///
220/// | Name | Mask (binary) |
221/// | ---- | ------------- |
222/// | PSRASY | 10 |
223/// | TSM | 10000000 |
224pub const GTCCR: *mut u8 = 0x43 as *mut u8;
225
226/// Timer/Counter Control Register A.
227///
228/// Bitfields:
229///
230/// | Name | Mask (binary) |
231/// | ---- | ------------- |
232/// | COM0B | 110000 |
233/// | COM0A | 11000000 |
234/// | WGM0 | 11 |
235pub const TCCR0A: *mut u8 = 0x44 as *mut u8;
236
237/// Timer/Counter Control Register B.
238///
239/// Bitfields:
240///
241/// | Name | Mask (binary) |
242/// | ---- | ------------- |
243/// | FOC0B | 1000000 |
244/// | FOC0A | 10000000 |
245/// | WGM02 | 1000 |
246/// | CS0 | 111 |
247pub const TCCR0B: *mut u8 = 0x45 as *mut u8;
248
249/// Timer/Counter0.
250pub const TCNT0: *mut u8 = 0x46 as *mut u8;
251
252/// Timer/Counter0 Output Compare Register.
253pub const OCR0A: *mut u8 = 0x47 as *mut u8;
254
255/// Timer/Counter0 Output Compare Register.
256pub const OCR0B: *mut u8 = 0x48 as *mut u8;
257
258/// PLL Status and Control register.
259///
260/// Bitfields:
261///
262/// | Name | Mask (binary) |
263/// | ---- | ------------- |
264/// | PLOCK | 1 |
265/// | PLLE | 10 |
266/// | PLLP | 11100 |
267pub const PLLCSR: *mut u8 = 0x49 as *mut u8;
268
269/// General Purpose IO Register 1.
270pub const GPIOR1: *mut u8 = 0x4A as *mut u8;
271
272/// General Purpose IO Register 2.
273pub const GPIOR2: *mut u8 = 0x4B as *mut u8;
274
275/// SPI Control Register.
276///
277/// Bitfields:
278///
279/// | Name | Mask (binary) |
280/// | ---- | ------------- |
281/// | DORD | 100000 |
282/// | MSTR | 10000 |
283/// | SPE | 1000000 |
284/// | SPR | 11 |
285/// | CPOL | 1000 |
286/// | CPHA | 100 |
287/// | SPIE | 10000000 |
288pub const SPCR: *mut u8 = 0x4C as *mut u8;
289
290/// SPI Status Register.
291///
292/// Bitfields:
293///
294/// | Name | Mask (binary) |
295/// | ---- | ------------- |
296/// | SPI2X | 1 |
297/// | SPIF | 10000000 |
298/// | WCOL | 1000000 |
299pub const SPSR: *mut u8 = 0x4D as *mut u8;
300
301/// SPI Data Register.
302pub const SPDR: *mut u8 = 0x4E as *mut u8;
303
304/// Analog Comparator Control And Status Register.
305///
306/// Bitfields:
307///
308/// | Name | Mask (binary) |
309/// | ---- | ------------- |
310/// | ACD | 10000000 |
311/// | ACIS | 11 |
312/// | ACIC | 100 |
313/// | ACBG | 1000000 |
314/// | ACI | 10000 |
315/// | ACIE | 1000 |
316/// | ACO | 100000 |
317pub const ACSR: *mut u8 = 0x50 as *mut u8;
318
319/// On-Chip Debug Related Register in I/O Memory.
320pub const OCDR: *mut u8 = 0x51 as *mut u8;
321
322/// Sleep Mode Control Register.
323///
324/// Bitfields:
325///
326/// | Name | Mask (binary) |
327/// | ---- | ------------- |
328/// | SM | 1110 |
329/// | SE | 1 |
330pub const SMCR: *mut u8 = 0x53 as *mut u8;
331
332/// MCU Status Register.
333///
334/// Bitfields:
335///
336/// | Name | Mask (binary) |
337/// | ---- | ------------- |
338/// | JTRF | 10000 |
339pub const MCUSR: *mut u8 = 0x54 as *mut u8;
340
341/// MCU Control Register.
342///
343/// Bitfields:
344///
345/// | Name | Mask (binary) |
346/// | ---- | ------------- |
347/// | JTD | 10000000 |
348pub const MCUCR: *mut u8 = 0x55 as *mut u8;
349
350/// Store Program Memory Control Register.
351///
352/// Bitfields:
353///
354/// | Name | Mask (binary) |
355/// | ---- | ------------- |
356/// | SPMIE | 10000000 |
357/// | PGWRT | 100 |
358/// | SPMEN | 1 |
359/// | RWWSB | 1000000 |
360/// | SIGRD | 100000 |
361/// | RWWSRE | 10000 |
362/// | BLBSET | 1000 |
363/// | PGERS | 10 |
364pub const SPMCSR: *mut u8 = 0x57 as *mut u8;
365
366/// RAM Page Z Select Register.
367pub const RAMPZ: *mut u8 = 0x5B as *mut u8;
368
369/// Extended Indirect Register.
370pub const EIND: *mut u8 = 0x5C as *mut u8;
371
372/// Stack Pointer low byte.
373pub const SPL: *mut u8 = 0x5D as *mut u8;
374
375/// Stack Pointer.
376pub const SP: *mut u16 = 0x5D as *mut u16;
377
378/// Stack Pointer high byte.
379pub const SPH: *mut u8 = 0x5E as *mut u8;
380
381/// Status Register.
382///
383/// Bitfields:
384///
385/// | Name | Mask (binary) |
386/// | ---- | ------------- |
387/// | H | 100000 |
388/// | T | 1000000 |
389/// | S | 10000 |
390/// | I | 10000000 |
391/// | V | 1000 |
392/// | N | 100 |
393/// | Z | 10 |
394/// | C | 1 |
395pub const SREG: *mut u8 = 0x5F as *mut u8;
396
397/// Watchdog Timer Control Register.
398///
399/// Bitfields:
400///
401/// | Name | Mask (binary) |
402/// | ---- | ------------- |
403/// | WDE | 1000 |
404/// | WDP | 100111 |
405/// | WDIE | 1000000 |
406/// | WDIF | 10000000 |
407/// | WDCE | 10000 |
408pub const WDTCSR: *mut u8 = 0x60 as *mut u8;
409
410/// `CLKPR` register
411///
412/// Bitfields:
413///
414/// | Name | Mask (binary) |
415/// | ---- | ------------- |
416/// | CLKPCE | 10000000 |
417/// | CLKPS | 1111 |
418pub const CLKPR: *mut u8 = 0x61 as *mut u8;
419
420/// Power Reduction Register0.
421///
422/// Bitfields:
423///
424/// | Name | Mask (binary) |
425/// | ---- | ------------- |
426/// | PRTWI | 10000000 |
427/// | PRADC | 1 |
428/// | PRTIM1 | 1000 |
429/// | PRTIM0 | 100000 |
430/// | PRTIM2 | 1000000 |
431/// | PRSPI | 100 |
432pub const PRR0: *mut u8 = 0x64 as *mut u8;
433
434/// Power Reduction Register1.
435///
436/// Bitfields:
437///
438/// | Name | Mask (binary) |
439/// | ---- | ------------- |
440/// | PRUSB | 10000000 |
441/// | PRTIM3 | 1000 |
442/// | PRUSART1 | 1 |
443pub const PRR1: *mut u8 = 0x65 as *mut u8;
444
445/// Oscillator Calibration Value.
446pub const OSCCAL: *mut u8 = 0x66 as *mut u8;
447
448/// Pin Change Interrupt Control Register.
449///
450/// Bitfields:
451///
452/// | Name | Mask (binary) |
453/// | ---- | ------------- |
454/// | PCIE0 | 1 |
455pub const PCICR: *mut u8 = 0x68 as *mut u8;
456
457/// External Interrupt Control Register A.
458///
459/// Bitfields:
460///
461/// | Name | Mask (binary) |
462/// | ---- | ------------- |
463/// | ISC2 | 110000 |
464/// | ISC0 | 11 |
465/// | ISC1 | 1100 |
466/// | ISC3 | 11000000 |
467pub const EICRA: *mut u8 = 0x69 as *mut u8;
468
469/// External Interrupt Control Register B.
470///
471/// Bitfields:
472///
473/// | Name | Mask (binary) |
474/// | ---- | ------------- |
475/// | ISC5 | 1100 |
476/// | ISC6 | 110000 |
477/// | ISC4 | 11 |
478/// | ISC7 | 11000000 |
479pub const EICRB: *mut u8 = 0x6A as *mut u8;
480
481/// Pin Change Mask Register 0.
482pub const PCMSK0: *mut u8 = 0x6B as *mut u8;
483
484/// Timer/Counter0 Interrupt Mask Register.
485///
486/// Bitfields:
487///
488/// | Name | Mask (binary) |
489/// | ---- | ------------- |
490/// | OCIE0B | 100 |
491/// | TOIE0 | 1 |
492/// | OCIE0A | 10 |
493pub const TIMSK0: *mut u8 = 0x6E as *mut u8;
494
495/// Timer/Counter1 Interrupt Mask Register.
496///
497/// Bitfields:
498///
499/// | Name | Mask (binary) |
500/// | ---- | ------------- |
501/// | OCIE1B | 100 |
502/// | TOIE1 | 1 |
503/// | ICIE1 | 100000 |
504/// | OCIE1C | 1000 |
505/// | OCIE1A | 10 |
506pub const TIMSK1: *mut u8 = 0x6F as *mut u8;
507
508/// Timer/Counter Interrupt Mask register.
509///
510/// Bitfields:
511///
512/// | Name | Mask (binary) |
513/// | ---- | ------------- |
514/// | TOIE2 | 1 |
515/// | OCIE2A | 10 |
516/// | OCIE2B | 100 |
517pub const TIMSK2: *mut u8 = 0x70 as *mut u8;
518
519/// Timer/Counter3 Interrupt Mask Register.
520///
521/// Bitfields:
522///
523/// | Name | Mask (binary) |
524/// | ---- | ------------- |
525/// | OCIE3B | 100 |
526/// | OCIE3C | 1000 |
527/// | OCIE3A | 10 |
528/// | TOIE3 | 1 |
529/// | ICIE3 | 100000 |
530pub const TIMSK3: *mut u8 = 0x71 as *mut u8;
531
532/// External Memory Control Register A.
533///
534/// Bitfields:
535///
536/// | Name | Mask (binary) |
537/// | ---- | ------------- |
538/// | SRW0 | 11 |
539/// | SRW1 | 1100 |
540/// | SRL | 1110000 |
541/// | SRE | 10000000 |
542pub const XMCRA: *mut u8 = 0x74 as *mut u8;
543
544/// External Memory Control Register B.
545///
546/// Bitfields:
547///
548/// | Name | Mask (binary) |
549/// | ---- | ------------- |
550/// | XMM | 111 |
551/// | XMBK | 10000000 |
552pub const XMCRB: *mut u8 = 0x75 as *mut u8;
553
554/// ADC Data Register Bytes low byte.
555pub const ADCL: *mut u8 = 0x78 as *mut u8;
556
557/// ADC Data Register Bytes.
558pub const ADC: *mut u16 = 0x78 as *mut u16;
559
560/// ADC Data Register Bytes high byte.
561pub const ADCH: *mut u8 = 0x79 as *mut u8;
562
563/// The ADC Control and Status register.
564///
565/// Bitfields:
566///
567/// | Name | Mask (binary) |
568/// | ---- | ------------- |
569/// | ADATE | 100000 |
570/// | ADSC | 1000000 |
571/// | ADEN | 10000000 |
572/// | ADIE | 1000 |
573/// | ADIF | 10000 |
574/// | ADPS | 111 |
575pub const ADCSRA: *mut u8 = 0x7A as *mut u8;
576
577/// ADC Control and Status Register B.
578///
579/// Bitfields:
580///
581/// | Name | Mask (binary) |
582/// | ---- | ------------- |
583/// | ACME | 1000000 |
584pub const ADCSRB: *mut u8 = 0x7B as *mut u8;
585
586/// The ADC multiplexer Selection Register.
587///
588/// Bitfields:
589///
590/// | Name | Mask (binary) |
591/// | ---- | ------------- |
592/// | ADLAR | 100000 |
593/// | REFS | 11000000 |
594/// | MUX | 11111 |
595pub const ADMUX: *mut u8 = 0x7C as *mut u8;
596
597/// Digital Input Disable Register 1.
598///
599/// Bitfields:
600///
601/// | Name | Mask (binary) |
602/// | ---- | ------------- |
603/// | ADC7D | 10000000 |
604/// | ADC4D | 10000 |
605/// | ADC3D | 1000 |
606/// | ADC1D | 10 |
607/// | ADC6D | 1000000 |
608/// | ADC0D | 1 |
609/// | ADC5D | 100000 |
610/// | ADC2D | 100 |
611pub const DIDR0: *mut u8 = 0x7E as *mut u8;
612
613/// `DIDR1` register
614///
615/// Bitfields:
616///
617/// | Name | Mask (binary) |
618/// | ---- | ------------- |
619/// | AIN0D | 1 |
620/// | AIN1D | 10 |
621pub const DIDR1: *mut u8 = 0x7F as *mut u8;
622
623/// Timer/Counter1 Control Register A.
624///
625/// Bitfields:
626///
627/// | Name | Mask (binary) |
628/// | ---- | ------------- |
629/// | COM1B | 110000 |
630/// | COM1C | 1100 |
631/// | COM1A | 11000000 |
632pub const TCCR1A: *mut u8 = 0x80 as *mut u8;
633
634/// Timer/Counter1 Control Register B.
635///
636/// Bitfields:
637///
638/// | Name | Mask (binary) |
639/// | ---- | ------------- |
640/// | CS1 | 111 |
641/// | ICES1 | 1000000 |
642/// | ICNC1 | 10000000 |
643pub const TCCR1B: *mut u8 = 0x81 as *mut u8;
644
645/// Timer/Counter 1 Control Register C.
646///
647/// Bitfields:
648///
649/// | Name | Mask (binary) |
650/// | ---- | ------------- |
651/// | FOC1A | 10000000 |
652/// | FOC1B | 1000000 |
653/// | FOC1C | 100000 |
654pub const TCCR1C: *mut u8 = 0x82 as *mut u8;
655
656/// Timer/Counter1 Bytes.
657pub const TCNT1: *mut u16 = 0x84 as *mut u16;
658
659/// Timer/Counter1 Bytes low byte.
660pub const TCNT1L: *mut u8 = 0x84 as *mut u8;
661
662/// Timer/Counter1 Bytes high byte.
663pub const TCNT1H: *mut u8 = 0x85 as *mut u8;
664
665/// Timer/Counter1 Input Capture Register Bytes.
666pub const ICR1: *mut u16 = 0x86 as *mut u16;
667
668/// Timer/Counter1 Input Capture Register Bytes low byte.
669pub const ICR1L: *mut u8 = 0x86 as *mut u8;
670
671/// Timer/Counter1 Input Capture Register Bytes high byte.
672pub const ICR1H: *mut u8 = 0x87 as *mut u8;
673
674/// Timer/Counter1 Output Compare Register A Bytes low byte.
675pub const OCR1AL: *mut u8 = 0x88 as *mut u8;
676
677/// Timer/Counter1 Output Compare Register A Bytes.
678pub const OCR1A: *mut u16 = 0x88 as *mut u16;
679
680/// Timer/Counter1 Output Compare Register A Bytes high byte.
681pub const OCR1AH: *mut u8 = 0x89 as *mut u8;
682
683/// Timer/Counter1 Output Compare Register B Bytes low byte.
684pub const OCR1BL: *mut u8 = 0x8A as *mut u8;
685
686/// Timer/Counter1 Output Compare Register B Bytes.
687pub const OCR1B: *mut u16 = 0x8A as *mut u16;
688
689/// Timer/Counter1 Output Compare Register B Bytes high byte.
690pub const OCR1BH: *mut u8 = 0x8B as *mut u8;
691
692/// Timer/Counter1 Output Compare Register C Bytes low byte.
693pub const OCR1CL: *mut u8 = 0x8C as *mut u8;
694
695/// Timer/Counter1 Output Compare Register C Bytes.
696pub const OCR1C: *mut u16 = 0x8C as *mut u16;
697
698/// Timer/Counter1 Output Compare Register C Bytes high byte.
699pub const OCR1CH: *mut u8 = 0x8D as *mut u8;
700
701/// Timer/Counter3 Control Register A.
702///
703/// Bitfields:
704///
705/// | Name | Mask (binary) |
706/// | ---- | ------------- |
707/// | COM3A | 11000000 |
708/// | COM3C | 1100 |
709/// | COM3B | 110000 |
710pub const TCCR3A: *mut u8 = 0x90 as *mut u8;
711
712/// Timer/Counter3 Control Register B.
713///
714/// Bitfields:
715///
716/// | Name | Mask (binary) |
717/// | ---- | ------------- |
718/// | ICES3 | 1000000 |
719/// | ICNC3 | 10000000 |
720/// | CS3 | 111 |
721pub const TCCR3B: *mut u8 = 0x91 as *mut u8;
722
723/// Timer/Counter 3 Control Register C.
724///
725/// Bitfields:
726///
727/// | Name | Mask (binary) |
728/// | ---- | ------------- |
729/// | FOC3C | 100000 |
730/// | FOC3B | 1000000 |
731/// | FOC3A | 10000000 |
732pub const TCCR3C: *mut u8 = 0x92 as *mut u8;
733
734/// Timer/Counter3 Bytes.
735pub const TCNT3: *mut u16 = 0x94 as *mut u16;
736
737/// Timer/Counter3 Bytes low byte.
738pub const TCNT3L: *mut u8 = 0x94 as *mut u8;
739
740/// Timer/Counter3 Bytes high byte.
741pub const TCNT3H: *mut u8 = 0x95 as *mut u8;
742
743/// Timer/Counter3 Input Capture Register Bytes low byte.
744pub const ICR3L: *mut u8 = 0x96 as *mut u8;
745
746/// Timer/Counter3 Input Capture Register Bytes.
747pub const ICR3: *mut u16 = 0x96 as *mut u16;
748
749/// Timer/Counter3 Input Capture Register Bytes high byte.
750pub const ICR3H: *mut u8 = 0x97 as *mut u8;
751
752/// Timer/Counter3 Output Compare Register A Bytes low byte.
753pub const OCR3AL: *mut u8 = 0x98 as *mut u8;
754
755/// Timer/Counter3 Output Compare Register A Bytes.
756pub const OCR3A: *mut u16 = 0x98 as *mut u16;
757
758/// Timer/Counter3 Output Compare Register A Bytes high byte.
759pub const OCR3AH: *mut u8 = 0x99 as *mut u8;
760
761/// Timer/Counter3 Output Compare Register B Bytes.
762pub const OCR3B: *mut u16 = 0x9A as *mut u16;
763
764/// Timer/Counter3 Output Compare Register B Bytes low byte.
765pub const OCR3BL: *mut u8 = 0x9A as *mut u8;
766
767/// Timer/Counter3 Output Compare Register B Bytes high byte.
768pub const OCR3BH: *mut u8 = 0x9B as *mut u8;
769
770/// Timer/Counter3 Output Compare Register B Bytes.
771pub const OCR3C: *mut u16 = 0x9C as *mut u16;
772
773/// Timer/Counter3 Output Compare Register B Bytes low byte.
774pub const OCR3CL: *mut u8 = 0x9C as *mut u8;
775
776/// Timer/Counter3 Output Compare Register B Bytes high byte.
777pub const OCR3CH: *mut u8 = 0x9D as *mut u8;
778
779/// `UHCON` register
780///
781/// Bitfields:
782///
783/// | Name | Mask (binary) |
784/// | ---- | ------------- |
785/// | RESET | 10 |
786/// | RESUME | 100 |
787/// | SOFEN | 1 |
788pub const UHCON: *mut u8 = 0x9E as *mut u8;
789
790/// `UHINT` register
791///
792/// Bitfields:
793///
794/// | Name | Mask (binary) |
795/// | ---- | ------------- |
796/// | DCONNI | 1 |
797/// | RSTI | 100 |
798/// | HSOFI | 100000 |
799/// | RXRSMI | 10000 |
800/// | DDISCI | 10 |
801/// | UHUPI | 1000000 |
802/// | RSMEDI | 1000 |
803pub const UHINT: *mut u8 = 0x9F as *mut u8;
804
805/// `UHIEN` register
806///
807/// Bitfields:
808///
809/// | Name | Mask (binary) |
810/// | ---- | ------------- |
811/// | HSOFE | 100000 |
812/// | RSMEDE | 1000 |
813/// | RSTE | 100 |
814/// | HWUPE | 1000000 |
815/// | RXRSME | 10000 |
816/// | DDISCE | 10 |
817/// | DCONNE | 1 |
818pub const UHIEN: *mut u8 = 0xA0 as *mut u8;
819
820/// `UHADDR` register
821pub const UHADDR: *mut u8 = 0xA1 as *mut u8;
822
823/// `UHFNUM` register
824pub const UHFNUM: *mut u16 = 0xA2 as *mut u16;
825
826/// low byte.
827pub const UHFNUML: *mut u8 = 0xA2 as *mut u8;
828
829/// high byte.
830pub const UHFNUMH: *mut u8 = 0xA3 as *mut u8;
831
832/// `UHFLEN` register
833pub const UHFLEN: *mut u8 = 0xA4 as *mut u8;
834
835/// `UPINRQX` register
836pub const UPINRQX: *mut u8 = 0xA5 as *mut u8;
837
838/// `UPINTX` register
839///
840/// Bitfields:
841///
842/// | Name | Mask (binary) |
843/// | ---- | ------------- |
844/// | NAKEDI | 1000000 |
845/// | TXOUTI | 100 |
846/// | RXSTALLI | 10 |
847/// | PERRI | 10000 |
848/// | TXSTPI | 1000 |
849/// | RXINI | 1 |
850pub const UPINTX: *mut u8 = 0xA6 as *mut u8;
851
852/// `UPNUM` register
853pub const UPNUM: *mut u8 = 0xA7 as *mut u8;
854
855/// `UPRST` register
856///
857/// Bitfields:
858///
859/// | Name | Mask (binary) |
860/// | ---- | ------------- |
861/// | PRST | 1111111 |
862pub const UPRST: *mut u8 = 0xA8 as *mut u8;
863
864/// `UPCONX` register
865///
866/// Bitfields:
867///
868/// | Name | Mask (binary) |
869/// | ---- | ------------- |
870/// | INMODE | 100000 |
871/// | PEN | 1 |
872/// | PFREEZE | 1000000 |
873pub const UPCONX: *mut u8 = 0xA9 as *mut u8;
874
875/// `UPCFG0X` register
876///
877/// Bitfields:
878///
879/// | Name | Mask (binary) |
880/// | ---- | ------------- |
881/// | PTYPE | 11000000 |
882/// | PTOKEN | 110000 |
883/// | PEPNUM | 1111 |
884pub const UPCFG0X: *mut u8 = 0xAA as *mut u8;
885
886/// `UPCFG1X` register
887///
888/// Bitfields:
889///
890/// | Name | Mask (binary) |
891/// | ---- | ------------- |
892/// | PBK | 1100 |
893/// | PSIZE | 1110000 |
894pub const UPCFG1X: *mut u8 = 0xAB as *mut u8;
895
896/// `UPSTAX` register
897///
898/// Bitfields:
899///
900/// | Name | Mask (binary) |
901/// | ---- | ------------- |
902/// | NBUSYK | 11 |
903pub const UPSTAX: *mut u8 = 0xAC as *mut u8;
904
905/// `UPCFG2X` register
906pub const UPCFG2X: *mut u8 = 0xAD as *mut u8;
907
908/// `UPIENX` register
909///
910/// Bitfields:
911///
912/// | Name | Mask (binary) |
913/// | ---- | ------------- |
914/// | NAKEDE | 1000000 |
915/// | TXSTPE | 1000 |
916/// | TXOUTE | 100 |
917/// | PERRE | 10000 |
918/// | RXSTALLE | 10 |
919/// | RXINE | 1 |
920pub const UPIENX: *mut u8 = 0xAE as *mut u8;
921
922/// `UPDATX` register
923pub const UPDATX: *mut u8 = 0xAF as *mut u8;
924
925/// Timer/Counter2 Control Register A.
926///
927/// Bitfields:
928///
929/// | Name | Mask (binary) |
930/// | ---- | ------------- |
931/// | WGM2 | 11 |
932/// | COM2B | 110000 |
933/// | COM2A | 11000000 |
934pub const TCCR2A: *mut u8 = 0xB0 as *mut u8;
935
936/// Timer/Counter2 Control Register B.
937///
938/// Bitfields:
939///
940/// | Name | Mask (binary) |
941/// | ---- | ------------- |
942/// | WGM22 | 1000 |
943/// | FOC2A | 10000000 |
944/// | CS2 | 111 |
945/// | FOC2B | 1000000 |
946pub const TCCR2B: *mut u8 = 0xB1 as *mut u8;
947
948/// Timer/Counter2.
949pub const TCNT2: *mut u8 = 0xB2 as *mut u8;
950
951/// Timer/Counter2 Output Compare Register A.
952pub const OCR2A: *mut u8 = 0xB3 as *mut u8;
953
954/// Timer/Counter2 Output Compare Register B.
955pub const OCR2B: *mut u8 = 0xB4 as *mut u8;
956
957/// Asynchronous Status Register.
958///
959/// Bitfields:
960///
961/// | Name | Mask (binary) |
962/// | ---- | ------------- |
963/// | OCR2BUB | 100 |
964/// | TCN2UB | 10000 |
965/// | OCR2AUB | 1000 |
966/// | AS2 | 100000 |
967/// | TCR2BUB | 1 |
968/// | TCR2AUB | 10 |
969/// | EXCLK | 1000000 |
970pub const ASSR: *mut u8 = 0xB6 as *mut u8;
971
972/// TWI Bit Rate register.
973pub const TWBR: *mut u8 = 0xB8 as *mut u8;
974
975/// TWI Status Register.
976///
977/// Bitfields:
978///
979/// | Name | Mask (binary) |
980/// | ---- | ------------- |
981/// | TWPS | 11 |
982/// | TWS | 11111000 |
983pub const TWSR: *mut u8 = 0xB9 as *mut u8;
984
985/// TWI (Slave) Address register.
986///
987/// Bitfields:
988///
989/// | Name | Mask (binary) |
990/// | ---- | ------------- |
991/// | TWGCE | 1 |
992/// | TWA | 11111110 |
993pub const TWAR: *mut u8 = 0xBA as *mut u8;
994
995/// TWI Data register.
996pub const TWDR: *mut u8 = 0xBB as *mut u8;
997
998/// TWI Control Register.
999///
1000/// Bitfields:
1001///
1002/// | Name | Mask (binary) |
1003/// | ---- | ------------- |
1004/// | TWSTO | 10000 |
1005/// | TWEA | 1000000 |
1006/// | TWWC | 1000 |
1007/// | TWEN | 100 |
1008/// | TWSTA | 100000 |
1009/// | TWIE | 1 |
1010/// | TWINT | 10000000 |
1011pub const TWCR: *mut u8 = 0xBC as *mut u8;
1012
1013/// TWI (Slave) Address Mask Register.
1014///
1015/// Bitfields:
1016///
1017/// | Name | Mask (binary) |
1018/// | ---- | ------------- |
1019/// | TWAM | 11111110 |
1020pub const TWAMR: *mut u8 = 0xBD as *mut u8;
1021
1022/// USART Control and Status Register A.
1023///
1024/// Bitfields:
1025///
1026/// | Name | Mask (binary) |
1027/// | ---- | ------------- |
1028/// | MPCM1 | 1 |
1029/// | UPE1 | 100 |
1030/// | U2X1 | 10 |
1031/// | UDRE1 | 100000 |
1032/// | TXC1 | 1000000 |
1033/// | RXC1 | 10000000 |
1034/// | DOR1 | 1000 |
1035/// | FE1 | 10000 |
1036pub const UCSR1A: *mut u8 = 0xC8 as *mut u8;
1037
1038/// USART Control and Status Register B.
1039///
1040/// Bitfields:
1041///
1042/// | Name | Mask (binary) |
1043/// | ---- | ------------- |
1044/// | RXEN1 | 10000 |
1045/// | TXB81 | 1 |
1046/// | UDRIE1 | 100000 |
1047/// | RXCIE1 | 10000000 |
1048/// | RXB81 | 10 |
1049/// | TXCIE1 | 1000000 |
1050/// | UCSZ12 | 100 |
1051/// | TXEN1 | 1000 |
1052pub const UCSR1B: *mut u8 = 0xC9 as *mut u8;
1053
1054/// USART Control and Status Register C.
1055///
1056/// Bitfields:
1057///
1058/// | Name | Mask (binary) |
1059/// | ---- | ------------- |
1060/// | UCPOL1 | 1 |
1061/// | UMSEL1 | 11000000 |
1062/// | UPM1 | 110000 |
1063/// | USBS1 | 1000 |
1064/// | UCSZ1 | 110 |
1065pub const UCSR1C: *mut u8 = 0xCA as *mut u8;
1066
1067/// USART Baud Rate Register Bytes.
1068pub const UBRR1: *mut u16 = 0xCC as *mut u16;
1069
1070/// USART Baud Rate Register Bytes low byte.
1071pub const UBRR1L: *mut u8 = 0xCC as *mut u8;
1072
1073/// USART Baud Rate Register Bytes high byte.
1074pub const UBRR1H: *mut u8 = 0xCD as *mut u8;
1075
1076/// USART I/O Data Register.
1077pub const UDR1: *mut u8 = 0xCE as *mut u8;
1078
1079/// USB Hardware Configuration Register.
1080///
1081/// Bitfields:
1082///
1083/// | Name | Mask (binary) |
1084/// | ---- | ------------- |
1085/// | UVCONE | 10000 |
1086/// | UIDE | 1000000 |
1087/// | UIMOD | 10000000 |
1088/// | UVREGE | 1 |
1089pub const UHWCON: *mut u8 = 0xD7 as *mut u8;
1090
1091/// USB General Control Register.
1092///
1093/// Bitfields:
1094///
1095/// | Name | Mask (binary) |
1096/// | ---- | ------------- |
1097/// | OTGPADE | 10000 |
1098/// | FRZCLK | 100000 |
1099/// | VBUSTE | 1 |
1100/// | HOST | 1000000 |
1101/// | USBE | 10000000 |
1102/// | IDTE | 10 |
1103pub const USBCON: *mut u8 = 0xD8 as *mut u8;
1104
1105/// `USBSTA` register
1106///
1107/// Bitfields:
1108///
1109/// | Name | Mask (binary) |
1110/// | ---- | ------------- |
1111/// | SPEED | 1000 |
1112/// | ID | 10 |
1113/// | VBUS | 1 |
1114pub const USBSTA: *mut u8 = 0xD9 as *mut u8;
1115
1116/// `USBINT` register
1117///
1118/// Bitfields:
1119///
1120/// | Name | Mask (binary) |
1121/// | ---- | ------------- |
1122/// | IDTI | 10 |
1123/// | VBUSTI | 1 |
1124pub const USBINT: *mut u8 = 0xDA as *mut u8;
1125
1126/// `OTGCON` register
1127///
1128/// Bitfields:
1129///
1130/// | Name | Mask (binary) |
1131/// | ---- | ------------- |
1132/// | HNPREQ | 100000 |
1133/// | VBUSHWC | 100 |
1134/// | VBUSREQ | 10 |
1135/// | VBUSRQC | 1 |
1136/// | SRPREQ | 10000 |
1137/// | SRPSEL | 1000 |
1138pub const OTGCON: *mut u8 = 0xDD as *mut u8;
1139
1140/// `OTGIEN` register
1141///
1142/// Bitfields:
1143///
1144/// | Name | Mask (binary) |
1145/// | ---- | ------------- |
1146/// | BCERRE | 100 |
1147/// | SRPE | 1 |
1148/// | ROLEEXE | 1000 |
1149/// | HNPERRE | 10000 |
1150/// | STOE | 100000 |
1151/// | VBERRE | 10 |
1152pub const OTGIEN: *mut u8 = 0xDE as *mut u8;
1153
1154/// `OTGINT` register
1155///
1156/// Bitfields:
1157///
1158/// | Name | Mask (binary) |
1159/// | ---- | ------------- |
1160/// | VBERRI | 10 |
1161/// | HNPERRI | 10000 |
1162/// | ROLEEXI | 1000 |
1163/// | BCERRI | 100 |
1164/// | STOI | 100000 |
1165/// | SRPI | 1 |
1166pub const OTGINT: *mut u8 = 0xDF as *mut u8;
1167
1168/// `UDCON` register
1169///
1170/// Bitfields:
1171///
1172/// | Name | Mask (binary) |
1173/// | ---- | ------------- |
1174/// | LSM | 100 |
1175/// | RMWKUP | 10 |
1176/// | DETACH | 1 |
1177pub const UDCON: *mut u8 = 0xE0 as *mut u8;
1178
1179/// `UDINT` register
1180///
1181/// Bitfields:
1182///
1183/// | Name | Mask (binary) |
1184/// | ---- | ------------- |
1185/// | EORSMI | 100000 |
1186/// | WAKEUPI | 10000 |
1187/// | UPRSMI | 1000000 |
1188/// | SOFI | 100 |
1189/// | SUSPI | 1 |
1190/// | EORSTI | 1000 |
1191pub const UDINT: *mut u8 = 0xE1 as *mut u8;
1192
1193/// `UDIEN` register
1194///
1195/// Bitfields:
1196///
1197/// | Name | Mask (binary) |
1198/// | ---- | ------------- |
1199/// | UPRSME | 1000000 |
1200/// | EORSME | 100000 |
1201/// | SOFE | 100 |
1202/// | SUSPE | 1 |
1203/// | WAKEUPE | 10000 |
1204/// | EORSTE | 1000 |
1205pub const UDIEN: *mut u8 = 0xE2 as *mut u8;
1206
1207/// `UDADDR` register
1208///
1209/// Bitfields:
1210///
1211/// | Name | Mask (binary) |
1212/// | ---- | ------------- |
1213/// | ADDEN | 10000000 |
1214/// | UADD | 1111111 |
1215pub const UDADDR: *mut u8 = 0xE3 as *mut u8;
1216
1217/// `UDFNUM` register
1218pub const UDFNUM: *mut u16 = 0xE4 as *mut u16;
1219
1220/// low byte.
1221pub const UDFNUML: *mut u8 = 0xE4 as *mut u8;
1222
1223/// high byte.
1224pub const UDFNUMH: *mut u8 = 0xE5 as *mut u8;
1225
1226/// `UDMFN` register
1227///
1228/// Bitfields:
1229///
1230/// | Name | Mask (binary) |
1231/// | ---- | ------------- |
1232/// | FNCERR | 10000 |
1233pub const UDMFN: *mut u8 = 0xE6 as *mut u8;
1234
1235/// `UEINTX` register
1236///
1237/// Bitfields:
1238///
1239/// | Name | Mask (binary) |
1240/// | ---- | ------------- |
1241/// | NAKOUTI | 10000 |
1242/// | RXSTPI | 1000 |
1243/// | TXINI | 1 |
1244/// | RXOUTI | 100 |
1245/// | STALLEDI | 10 |
1246/// | NAKINI | 1000000 |
1247pub const UEINTX: *mut u8 = 0xE8 as *mut u8;
1248
1249/// `UENUM` register
1250pub const UENUM: *mut u8 = 0xE9 as *mut u8;
1251
1252/// `UERST` register
1253///
1254/// Bitfields:
1255///
1256/// | Name | Mask (binary) |
1257/// | ---- | ------------- |
1258/// | EPRST | 1111111 |
1259pub const UERST: *mut u8 = 0xEA as *mut u8;
1260
1261/// `UECONX` register
1262///
1263/// Bitfields:
1264///
1265/// | Name | Mask (binary) |
1266/// | ---- | ------------- |
1267/// | EPEN | 1 |
1268/// | STALLRQC | 10000 |
1269/// | STALLRQ | 100000 |
1270pub const UECONX: *mut u8 = 0xEB as *mut u8;
1271
1272/// `UECFG0X` register
1273///
1274/// Bitfields:
1275///
1276/// | Name | Mask (binary) |
1277/// | ---- | ------------- |
1278/// | EPTYPE | 11000000 |
1279/// | EPDIR | 1 |
1280pub const UECFG0X: *mut u8 = 0xEC as *mut u8;
1281
1282/// `UECFG1X` register
1283///
1284/// Bitfields:
1285///
1286/// | Name | Mask (binary) |
1287/// | ---- | ------------- |
1288/// | EPBK | 1100 |
1289/// | EPSIZE | 1110000 |
1290pub const UECFG1X: *mut u8 = 0xED as *mut u8;
1291
1292/// `UESTA0X` register
1293///
1294/// Bitfields:
1295///
1296/// | Name | Mask (binary) |
1297/// | ---- | ------------- |
1298/// | NBUSYBK | 11 |
1299pub const UESTA0X: *mut u8 = 0xEE as *mut u8;
1300
1301/// `UESTA1X` register
1302///
1303/// Bitfields:
1304///
1305/// | Name | Mask (binary) |
1306/// | ---- | ------------- |
1307/// | CURRBK | 11 |
1308/// | CTRLDIR | 100 |
1309pub const UESTA1X: *mut u8 = 0xEF as *mut u8;
1310
1311/// `UEIENX` register
1312///
1313/// Bitfields:
1314///
1315/// | Name | Mask (binary) |
1316/// | ---- | ------------- |
1317/// | RXOUTE | 100 |
1318/// | NAKOUTE | 10000 |
1319/// | TXINE | 1 |
1320/// | STALLEDE | 10 |
1321/// | RXSTPE | 1000 |
1322/// | NAKINE | 1000000 |
1323pub const UEIENX: *mut u8 = 0xF0 as *mut u8;
1324
1325/// `UEDATX` register
1326pub const UEDATX: *mut u8 = 0xF1 as *mut u8;
1327
1328/// `UEBCLX` register
1329pub const UEBCLX: *mut u8 = 0xF2 as *mut u8;
1330
1331/// `UEBCHX` register
1332pub const UEBCHX: *mut u8 = 0xF3 as *mut u8;
1333
1334/// `UEINT` register
1335pub const UEINT: *mut u8 = 0xF4 as *mut u8;
1336
1337/// `UPERRX` register
1338///
1339/// Bitfields:
1340///
1341/// | Name | Mask (binary) |
1342/// | ---- | ------------- |
1343/// | COUNTER | 1100000 |
1344/// | TIMEOUT | 1000 |
1345/// | DATAPID | 10 |
1346/// | PID | 100 |
1347/// | CRC16 | 10000 |
1348/// | DATATGL | 1 |
1349pub const UPERRX: *mut u8 = 0xF5 as *mut u8;
1350
1351/// `UPBCLX` register
1352pub const UPBCLX: *mut u8 = 0xF6 as *mut u8;
1353
1354/// `UPBCHX` register
1355pub const UPBCHX: *mut u8 = 0xF7 as *mut u8;
1356
1357/// `UPINT` register
1358pub const UPINT: *mut u8 = 0xF8 as *mut u8;
1359
1360/// `OTGTCON` register
1361///
1362/// Bitfields:
1363///
1364/// | Name | Mask (binary) |
1365/// | ---- | ------------- |
1366/// | VALUE_2 | 111 |
1367/// | OTGTCON_7 | 10000000 |
1368/// | PAGE | 1100000 |
1369pub const OTGTCON: *mut u8 = 0xF9 as *mut u8;
1370
1371/// Bitfield on register `ACSR`
1372pub const ACD: *mut u8 = 0x80 as *mut u8;
1373
1374/// Bitfield on register `ACSR`
1375pub const ACIS: *mut u8 = 0x3 as *mut u8;
1376
1377/// Bitfield on register `ACSR`
1378pub const ACIC: *mut u8 = 0x4 as *mut u8;
1379
1380/// Bitfield on register `ACSR`
1381pub const ACBG: *mut u8 = 0x40 as *mut u8;
1382
1383/// Bitfield on register `ACSR`
1384pub const ACI: *mut u8 = 0x10 as *mut u8;
1385
1386/// Bitfield on register `ACSR`
1387pub const ACIE: *mut u8 = 0x8 as *mut u8;
1388
1389/// Bitfield on register `ACSR`
1390pub const ACO: *mut u8 = 0x20 as *mut u8;
1391
1392/// Bitfield on register `ADCSRA`
1393pub const ADATE: *mut u8 = 0x20 as *mut u8;
1394
1395/// Bitfield on register `ADCSRA`
1396pub const ADSC: *mut u8 = 0x40 as *mut u8;
1397
1398/// Bitfield on register `ADCSRA`
1399pub const ADEN: *mut u8 = 0x80 as *mut u8;
1400
1401/// Bitfield on register `ADCSRA`
1402pub const ADIE: *mut u8 = 0x8 as *mut u8;
1403
1404/// Bitfield on register `ADCSRA`
1405pub const ADIF: *mut u8 = 0x10 as *mut u8;
1406
1407/// Bitfield on register `ADCSRA`
1408pub const ADPS: *mut u8 = 0x7 as *mut u8;
1409
1410/// Bitfield on register `ADCSRB`
1411pub const ACME: *mut u8 = 0x40 as *mut u8;
1412
1413/// Bitfield on register `ADMUX`
1414pub const ADLAR: *mut u8 = 0x20 as *mut u8;
1415
1416/// Bitfield on register `ADMUX`
1417pub const REFS: *mut u8 = 0xC0 as *mut u8;
1418
1419/// Bitfield on register `ADMUX`
1420pub const MUX: *mut u8 = 0x1F as *mut u8;
1421
1422/// Bitfield on register `ASSR`
1423pub const OCR2BUB: *mut u8 = 0x4 as *mut u8;
1424
1425/// Bitfield on register `ASSR`
1426pub const TCN2UB: *mut u8 = 0x10 as *mut u8;
1427
1428/// Bitfield on register `ASSR`
1429pub const OCR2AUB: *mut u8 = 0x8 as *mut u8;
1430
1431/// Bitfield on register `ASSR`
1432pub const AS2: *mut u8 = 0x20 as *mut u8;
1433
1434/// Bitfield on register `ASSR`
1435pub const TCR2BUB: *mut u8 = 0x1 as *mut u8;
1436
1437/// Bitfield on register `ASSR`
1438pub const TCR2AUB: *mut u8 = 0x2 as *mut u8;
1439
1440/// Bitfield on register `ASSR`
1441pub const EXCLK: *mut u8 = 0x40 as *mut u8;
1442
1443/// Bitfield on register `CLKPR`
1444pub const CLKPCE: *mut u8 = 0x80 as *mut u8;
1445
1446/// Bitfield on register `CLKPR`
1447pub const CLKPS: *mut u8 = 0xF as *mut u8;
1448
1449/// Bitfield on register `DIDR0`
1450pub const ADC7D: *mut u8 = 0x80 as *mut u8;
1451
1452/// Bitfield on register `DIDR0`
1453pub const ADC4D: *mut u8 = 0x10 as *mut u8;
1454
1455/// Bitfield on register `DIDR0`
1456pub const ADC3D: *mut u8 = 0x8 as *mut u8;
1457
1458/// Bitfield on register `DIDR0`
1459pub const ADC1D: *mut u8 = 0x2 as *mut u8;
1460
1461/// Bitfield on register `DIDR0`
1462pub const ADC6D: *mut u8 = 0x40 as *mut u8;
1463
1464/// Bitfield on register `DIDR0`
1465pub const ADC0D: *mut u8 = 0x1 as *mut u8;
1466
1467/// Bitfield on register `DIDR0`
1468pub const ADC5D: *mut u8 = 0x20 as *mut u8;
1469
1470/// Bitfield on register `DIDR0`
1471pub const ADC2D: *mut u8 = 0x4 as *mut u8;
1472
1473/// Bitfield on register `DIDR1`
1474pub const AIN0D: *mut u8 = 0x1 as *mut u8;
1475
1476/// Bitfield on register `DIDR1`
1477pub const AIN1D: *mut u8 = 0x2 as *mut u8;
1478
1479/// Bitfield on register `EECR`
1480pub const EEMPE: *mut u8 = 0x4 as *mut u8;
1481
1482/// Bitfield on register `EECR`
1483pub const EERIE: *mut u8 = 0x8 as *mut u8;
1484
1485/// Bitfield on register `EECR`
1486pub const EEPE: *mut u8 = 0x2 as *mut u8;
1487
1488/// Bitfield on register `EECR`
1489pub const EEPM: *mut u8 = 0x30 as *mut u8;
1490
1491/// Bitfield on register `EECR`
1492pub const EERE: *mut u8 = 0x1 as *mut u8;
1493
1494/// Bitfield on register `EICRA`
1495pub const ISC2: *mut u8 = 0x30 as *mut u8;
1496
1497/// Bitfield on register `EICRA`
1498pub const ISC0: *mut u8 = 0x3 as *mut u8;
1499
1500/// Bitfield on register `EICRA`
1501pub const ISC1: *mut u8 = 0xC as *mut u8;
1502
1503/// Bitfield on register `EICRA`
1504pub const ISC3: *mut u8 = 0xC0 as *mut u8;
1505
1506/// Bitfield on register `EICRB`
1507pub const ISC5: *mut u8 = 0xC as *mut u8;
1508
1509/// Bitfield on register `EICRB`
1510pub const ISC6: *mut u8 = 0x30 as *mut u8;
1511
1512/// Bitfield on register `EICRB`
1513pub const ISC4: *mut u8 = 0x3 as *mut u8;
1514
1515/// Bitfield on register `EICRB`
1516pub const ISC7: *mut u8 = 0xC0 as *mut u8;
1517
1518/// Bitfield on register `EXTENDED`
1519pub const HWBE: *mut u8 = 0x8 as *mut u8;
1520
1521/// Bitfield on register `EXTENDED`
1522pub const BODLEVEL: *mut u8 = 0x7 as *mut u8;
1523
1524/// Bitfield on register `GPIOR0`
1525pub const GPIOR00: *mut u8 = 0x1 as *mut u8;
1526
1527/// Bitfield on register `GPIOR0`
1528pub const GPIOR05: *mut u8 = 0x20 as *mut u8;
1529
1530/// Bitfield on register `GPIOR0`
1531pub const GPIOR03: *mut u8 = 0x8 as *mut u8;
1532
1533/// Bitfield on register `GPIOR0`
1534pub const GPIOR07: *mut u8 = 0x80 as *mut u8;
1535
1536/// Bitfield on register `GPIOR0`
1537pub const GPIOR04: *mut u8 = 0x10 as *mut u8;
1538
1539/// Bitfield on register `GPIOR0`
1540pub const GPIOR02: *mut u8 = 0x4 as *mut u8;
1541
1542/// Bitfield on register `GPIOR0`
1543pub const GPIOR01: *mut u8 = 0x2 as *mut u8;
1544
1545/// Bitfield on register `GPIOR0`
1546pub const GPIOR06: *mut u8 = 0x40 as *mut u8;
1547
1548/// Bitfield on register `GTCCR`
1549pub const PSRASY: *mut u8 = 0x2 as *mut u8;
1550
1551/// Bitfield on register `GTCCR`
1552pub const TSM: *mut u8 = 0x80 as *mut u8;
1553
1554/// Bitfield on register `HIGH`
1555pub const JTAGEN: *mut u8 = 0x40 as *mut u8;
1556
1557/// Bitfield on register `HIGH`
1558pub const OCDEN: *mut u8 = 0x80 as *mut u8;
1559
1560/// Bitfield on register `HIGH`
1561pub const BOOTRST: *mut u8 = 0x1 as *mut u8;
1562
1563/// Bitfield on register `HIGH`
1564pub const BOOTSZ: *mut u8 = 0x6 as *mut u8;
1565
1566/// Bitfield on register `HIGH`
1567pub const SPIEN: *mut u8 = 0x20 as *mut u8;
1568
1569/// Bitfield on register `HIGH`
1570pub const EESAVE: *mut u8 = 0x8 as *mut u8;
1571
1572/// Bitfield on register `HIGH`
1573pub const WDTON: *mut u8 = 0x10 as *mut u8;
1574
1575/// Bitfield on register `LOCKBIT`
1576pub const LB: *mut u8 = 0x3 as *mut u8;
1577
1578/// Bitfield on register `LOCKBIT`
1579pub const BLB1: *mut u8 = 0x30 as *mut u8;
1580
1581/// Bitfield on register `LOCKBIT`
1582pub const BLB0: *mut u8 = 0xC as *mut u8;
1583
1584/// Bitfield on register `LOW`
1585pub const CKDIV8: *mut u8 = 0x80 as *mut u8;
1586
1587/// Bitfield on register `LOW`
1588pub const SUT_CKSEL: *mut u8 = 0x3F as *mut u8;
1589
1590/// Bitfield on register `LOW`
1591pub const CKOUT: *mut u8 = 0x40 as *mut u8;
1592
1593/// Bitfield on register `MCUCR`
1594pub const JTD: *mut u8 = 0x80 as *mut u8;
1595
1596/// Bitfield on register `MCUSR`
1597pub const JTRF: *mut u8 = 0x10 as *mut u8;
1598
1599/// Bitfield on register `OTGCON`
1600pub const HNPREQ: *mut u8 = 0x20 as *mut u8;
1601
1602/// Bitfield on register `OTGCON`
1603pub const VBUSHWC: *mut u8 = 0x4 as *mut u8;
1604
1605/// Bitfield on register `OTGCON`
1606pub const VBUSREQ: *mut u8 = 0x2 as *mut u8;
1607
1608/// Bitfield on register `OTGCON`
1609pub const VBUSRQC: *mut u8 = 0x1 as *mut u8;
1610
1611/// Bitfield on register `OTGCON`
1612pub const SRPREQ: *mut u8 = 0x10 as *mut u8;
1613
1614/// Bitfield on register `OTGCON`
1615pub const SRPSEL: *mut u8 = 0x8 as *mut u8;
1616
1617/// Bitfield on register `OTGIEN`
1618pub const BCERRE: *mut u8 = 0x4 as *mut u8;
1619
1620/// Bitfield on register `OTGIEN`
1621pub const SRPE: *mut u8 = 0x1 as *mut u8;
1622
1623/// Bitfield on register `OTGIEN`
1624pub const ROLEEXE: *mut u8 = 0x8 as *mut u8;
1625
1626/// Bitfield on register `OTGIEN`
1627pub const HNPERRE: *mut u8 = 0x10 as *mut u8;
1628
1629/// Bitfield on register `OTGIEN`
1630pub const STOE: *mut u8 = 0x20 as *mut u8;
1631
1632/// Bitfield on register `OTGIEN`
1633pub const VBERRE: *mut u8 = 0x2 as *mut u8;
1634
1635/// Bitfield on register `OTGINT`
1636pub const VBERRI: *mut u8 = 0x2 as *mut u8;
1637
1638/// Bitfield on register `OTGINT`
1639pub const HNPERRI: *mut u8 = 0x10 as *mut u8;
1640
1641/// Bitfield on register `OTGINT`
1642pub const ROLEEXI: *mut u8 = 0x8 as *mut u8;
1643
1644/// Bitfield on register `OTGINT`
1645pub const BCERRI: *mut u8 = 0x4 as *mut u8;
1646
1647/// Bitfield on register `OTGINT`
1648pub const STOI: *mut u8 = 0x20 as *mut u8;
1649
1650/// Bitfield on register `OTGINT`
1651pub const SRPI: *mut u8 = 0x1 as *mut u8;
1652
1653/// Bitfield on register `OTGTCON`
1654pub const VALUE_2: *mut u8 = 0x7 as *mut u8;
1655
1656/// Bitfield on register `OTGTCON`
1657pub const OTGTCON_7: *mut u8 = 0x80 as *mut u8;
1658
1659/// Bitfield on register `OTGTCON`
1660pub const PAGE: *mut u8 = 0x60 as *mut u8;
1661
1662/// Bitfield on register `PCICR`
1663pub const PCIE0: *mut u8 = 0x1 as *mut u8;
1664
1665/// Bitfield on register `PCIFR`
1666pub const PCIF0: *mut u8 = 0x1 as *mut u8;
1667
1668/// Bitfield on register `PLLCSR`
1669pub const PLOCK: *mut u8 = 0x1 as *mut u8;
1670
1671/// Bitfield on register `PLLCSR`
1672pub const PLLE: *mut u8 = 0x2 as *mut u8;
1673
1674/// Bitfield on register `PLLCSR`
1675pub const PLLP: *mut u8 = 0x1C as *mut u8;
1676
1677/// Bitfield on register `PRR0`
1678pub const PRTWI: *mut u8 = 0x80 as *mut u8;
1679
1680/// Bitfield on register `PRR0`
1681pub const PRADC: *mut u8 = 0x1 as *mut u8;
1682
1683/// Bitfield on register `PRR0`
1684pub const PRTIM1: *mut u8 = 0x8 as *mut u8;
1685
1686/// Bitfield on register `PRR0`
1687pub const PRTIM0: *mut u8 = 0x20 as *mut u8;
1688
1689/// Bitfield on register `PRR0`
1690pub const PRTIM2: *mut u8 = 0x40 as *mut u8;
1691
1692/// Bitfield on register `PRR0`
1693pub const PRSPI: *mut u8 = 0x4 as *mut u8;
1694
1695/// Bitfield on register `PRR1`
1696pub const PRUSB: *mut u8 = 0x80 as *mut u8;
1697
1698/// Bitfield on register `PRR1`
1699pub const PRTIM3: *mut u8 = 0x8 as *mut u8;
1700
1701/// Bitfield on register `PRR1`
1702pub const PRUSART1: *mut u8 = 0x1 as *mut u8;
1703
1704/// Bitfield on register `SMCR`
1705pub const SM: *mut u8 = 0xE as *mut u8;
1706
1707/// Bitfield on register `SMCR`
1708pub const SE: *mut u8 = 0x1 as *mut u8;
1709
1710/// Bitfield on register `SPCR`
1711pub const DORD: *mut u8 = 0x20 as *mut u8;
1712
1713/// Bitfield on register `SPCR`
1714pub const MSTR: *mut u8 = 0x10 as *mut u8;
1715
1716/// Bitfield on register `SPCR`
1717pub const SPE: *mut u8 = 0x40 as *mut u8;
1718
1719/// Bitfield on register `SPCR`
1720pub const SPR: *mut u8 = 0x3 as *mut u8;
1721
1722/// Bitfield on register `SPCR`
1723pub const CPOL: *mut u8 = 0x8 as *mut u8;
1724
1725/// Bitfield on register `SPCR`
1726pub const CPHA: *mut u8 = 0x4 as *mut u8;
1727
1728/// Bitfield on register `SPCR`
1729pub const SPIE: *mut u8 = 0x80 as *mut u8;
1730
1731/// Bitfield on register `SPMCSR`
1732pub const SPMIE: *mut u8 = 0x80 as *mut u8;
1733
1734/// Bitfield on register `SPMCSR`
1735pub const PGWRT: *mut u8 = 0x4 as *mut u8;
1736
1737/// Bitfield on register `SPMCSR`
1738pub const SPMEN: *mut u8 = 0x1 as *mut u8;
1739
1740/// Bitfield on register `SPMCSR`
1741pub const RWWSB: *mut u8 = 0x40 as *mut u8;
1742
1743/// Bitfield on register `SPMCSR`
1744pub const SIGRD: *mut u8 = 0x20 as *mut u8;
1745
1746/// Bitfield on register `SPMCSR`
1747pub const RWWSRE: *mut u8 = 0x10 as *mut u8;
1748
1749/// Bitfield on register `SPMCSR`
1750pub const BLBSET: *mut u8 = 0x8 as *mut u8;
1751
1752/// Bitfield on register `SPMCSR`
1753pub const PGERS: *mut u8 = 0x2 as *mut u8;
1754
1755/// Bitfield on register `SPSR`
1756pub const SPI2X: *mut u8 = 0x1 as *mut u8;
1757
1758/// Bitfield on register `SPSR`
1759pub const SPIF: *mut u8 = 0x80 as *mut u8;
1760
1761/// Bitfield on register `SPSR`
1762pub const WCOL: *mut u8 = 0x40 as *mut u8;
1763
1764/// Bitfield on register `SREG`
1765pub const H: *mut u8 = 0x20 as *mut u8;
1766
1767/// Bitfield on register `SREG`
1768pub const T: *mut u8 = 0x40 as *mut u8;
1769
1770/// Bitfield on register `SREG`
1771pub const S: *mut u8 = 0x10 as *mut u8;
1772
1773/// Bitfield on register `SREG`
1774pub const I: *mut u8 = 0x80 as *mut u8;
1775
1776/// Bitfield on register `SREG`
1777pub const V: *mut u8 = 0x8 as *mut u8;
1778
1779/// Bitfield on register `SREG`
1780pub const N: *mut u8 = 0x4 as *mut u8;
1781
1782/// Bitfield on register `SREG`
1783pub const Z: *mut u8 = 0x2 as *mut u8;
1784
1785/// Bitfield on register `SREG`
1786pub const C: *mut u8 = 0x1 as *mut u8;
1787
1788/// Bitfield on register `TCCR0A`
1789pub const COM0B: *mut u8 = 0x30 as *mut u8;
1790
1791/// Bitfield on register `TCCR0A`
1792pub const COM0A: *mut u8 = 0xC0 as *mut u8;
1793
1794/// Bitfield on register `TCCR0A`
1795pub const WGM0: *mut u8 = 0x3 as *mut u8;
1796
1797/// Bitfield on register `TCCR0B`
1798pub const FOC0B: *mut u8 = 0x40 as *mut u8;
1799
1800/// Bitfield on register `TCCR0B`
1801pub const FOC0A: *mut u8 = 0x80 as *mut u8;
1802
1803/// Bitfield on register `TCCR0B`
1804pub const WGM02: *mut u8 = 0x8 as *mut u8;
1805
1806/// Bitfield on register `TCCR0B`
1807pub const CS0: *mut u8 = 0x7 as *mut u8;
1808
1809/// Bitfield on register `TCCR1A`
1810pub const COM1B: *mut u8 = 0x30 as *mut u8;
1811
1812/// Bitfield on register `TCCR1A`
1813pub const COM1C: *mut u8 = 0xC as *mut u8;
1814
1815/// Bitfield on register `TCCR1A`
1816pub const COM1A: *mut u8 = 0xC0 as *mut u8;
1817
1818/// Bitfield on register `TCCR1B`
1819pub const CS1: *mut u8 = 0x7 as *mut u8;
1820
1821/// Bitfield on register `TCCR1B`
1822pub const ICES1: *mut u8 = 0x40 as *mut u8;
1823
1824/// Bitfield on register `TCCR1B`
1825pub const ICNC1: *mut u8 = 0x80 as *mut u8;
1826
1827/// Bitfield on register `TCCR1C`
1828pub const FOC1A: *mut u8 = 0x80 as *mut u8;
1829
1830/// Bitfield on register `TCCR1C`
1831pub const FOC1B: *mut u8 = 0x40 as *mut u8;
1832
1833/// Bitfield on register `TCCR1C`
1834pub const FOC1C: *mut u8 = 0x20 as *mut u8;
1835
1836/// Bitfield on register `TCCR2A`
1837pub const WGM2: *mut u8 = 0x3 as *mut u8;
1838
1839/// Bitfield on register `TCCR2A`
1840pub const COM2B: *mut u8 = 0x30 as *mut u8;
1841
1842/// Bitfield on register `TCCR2A`
1843pub const COM2A: *mut u8 = 0xC0 as *mut u8;
1844
1845/// Bitfield on register `TCCR2B`
1846pub const WGM22: *mut u8 = 0x8 as *mut u8;
1847
1848/// Bitfield on register `TCCR2B`
1849pub const FOC2A: *mut u8 = 0x80 as *mut u8;
1850
1851/// Bitfield on register `TCCR2B`
1852pub const CS2: *mut u8 = 0x7 as *mut u8;
1853
1854/// Bitfield on register `TCCR2B`
1855pub const FOC2B: *mut u8 = 0x40 as *mut u8;
1856
1857/// Bitfield on register `TCCR3A`
1858pub const COM3A: *mut u8 = 0xC0 as *mut u8;
1859
1860/// Bitfield on register `TCCR3A`
1861pub const COM3C: *mut u8 = 0xC as *mut u8;
1862
1863/// Bitfield on register `TCCR3A`
1864pub const COM3B: *mut u8 = 0x30 as *mut u8;
1865
1866/// Bitfield on register `TCCR3B`
1867pub const ICES3: *mut u8 = 0x40 as *mut u8;
1868
1869/// Bitfield on register `TCCR3B`
1870pub const ICNC3: *mut u8 = 0x80 as *mut u8;
1871
1872/// Bitfield on register `TCCR3B`
1873pub const CS3: *mut u8 = 0x7 as *mut u8;
1874
1875/// Bitfield on register `TCCR3C`
1876pub const FOC3C: *mut u8 = 0x20 as *mut u8;
1877
1878/// Bitfield on register `TCCR3C`
1879pub const FOC3B: *mut u8 = 0x40 as *mut u8;
1880
1881/// Bitfield on register `TCCR3C`
1882pub const FOC3A: *mut u8 = 0x80 as *mut u8;
1883
1884/// Bitfield on register `TIFR0`
1885pub const OCF0A: *mut u8 = 0x2 as *mut u8;
1886
1887/// Bitfield on register `TIFR0`
1888pub const OCF0B: *mut u8 = 0x4 as *mut u8;
1889
1890/// Bitfield on register `TIFR0`
1891pub const TOV0: *mut u8 = 0x1 as *mut u8;
1892
1893/// Bitfield on register `TIFR1`
1894pub const ICF1: *mut u8 = 0x20 as *mut u8;
1895
1896/// Bitfield on register `TIFR1`
1897pub const TOV1: *mut u8 = 0x1 as *mut u8;
1898
1899/// Bitfield on register `TIFR1`
1900pub const OCF1B: *mut u8 = 0x4 as *mut u8;
1901
1902/// Bitfield on register `TIFR1`
1903pub const OCF1A: *mut u8 = 0x2 as *mut u8;
1904
1905/// Bitfield on register `TIFR1`
1906pub const OCF1C: *mut u8 = 0x8 as *mut u8;
1907
1908/// Bitfield on register `TIFR2`
1909pub const OCF2B: *mut u8 = 0x4 as *mut u8;
1910
1911/// Bitfield on register `TIFR2`
1912pub const OCF2A: *mut u8 = 0x2 as *mut u8;
1913
1914/// Bitfield on register `TIFR2`
1915pub const TOV2: *mut u8 = 0x1 as *mut u8;
1916
1917/// Bitfield on register `TIFR3`
1918pub const OCF3B: *mut u8 = 0x4 as *mut u8;
1919
1920/// Bitfield on register `TIFR3`
1921pub const OCF3C: *mut u8 = 0x8 as *mut u8;
1922
1923/// Bitfield on register `TIFR3`
1924pub const OCF3A: *mut u8 = 0x2 as *mut u8;
1925
1926/// Bitfield on register `TIFR3`
1927pub const ICF3: *mut u8 = 0x20 as *mut u8;
1928
1929/// Bitfield on register `TIFR3`
1930pub const TOV3: *mut u8 = 0x1 as *mut u8;
1931
1932/// Bitfield on register `TIMSK0`
1933pub const OCIE0B: *mut u8 = 0x4 as *mut u8;
1934
1935/// Bitfield on register `TIMSK0`
1936pub const TOIE0: *mut u8 = 0x1 as *mut u8;
1937
1938/// Bitfield on register `TIMSK0`
1939pub const OCIE0A: *mut u8 = 0x2 as *mut u8;
1940
1941/// Bitfield on register `TIMSK1`
1942pub const OCIE1B: *mut u8 = 0x4 as *mut u8;
1943
1944/// Bitfield on register `TIMSK1`
1945pub const TOIE1: *mut u8 = 0x1 as *mut u8;
1946
1947/// Bitfield on register `TIMSK1`
1948pub const ICIE1: *mut u8 = 0x20 as *mut u8;
1949
1950/// Bitfield on register `TIMSK1`
1951pub const OCIE1C: *mut u8 = 0x8 as *mut u8;
1952
1953/// Bitfield on register `TIMSK1`
1954pub const OCIE1A: *mut u8 = 0x2 as *mut u8;
1955
1956/// Bitfield on register `TIMSK2`
1957pub const TOIE2: *mut u8 = 0x1 as *mut u8;
1958
1959/// Bitfield on register `TIMSK2`
1960pub const OCIE2A: *mut u8 = 0x2 as *mut u8;
1961
1962/// Bitfield on register `TIMSK2`
1963pub const OCIE2B: *mut u8 = 0x4 as *mut u8;
1964
1965/// Bitfield on register `TIMSK3`
1966pub const OCIE3B: *mut u8 = 0x4 as *mut u8;
1967
1968/// Bitfield on register `TIMSK3`
1969pub const OCIE3C: *mut u8 = 0x8 as *mut u8;
1970
1971/// Bitfield on register `TIMSK3`
1972pub const OCIE3A: *mut u8 = 0x2 as *mut u8;
1973
1974/// Bitfield on register `TIMSK3`
1975pub const TOIE3: *mut u8 = 0x1 as *mut u8;
1976
1977/// Bitfield on register `TIMSK3`
1978pub const ICIE3: *mut u8 = 0x20 as *mut u8;
1979
1980/// Bitfield on register `TWAMR`
1981pub const TWAM: *mut u8 = 0xFE as *mut u8;
1982
1983/// Bitfield on register `TWAR`
1984pub const TWGCE: *mut u8 = 0x1 as *mut u8;
1985
1986/// Bitfield on register `TWAR`
1987pub const TWA: *mut u8 = 0xFE as *mut u8;
1988
1989/// Bitfield on register `TWCR`
1990pub const TWSTO: *mut u8 = 0x10 as *mut u8;
1991
1992/// Bitfield on register `TWCR`
1993pub const TWEA: *mut u8 = 0x40 as *mut u8;
1994
1995/// Bitfield on register `TWCR`
1996pub const TWWC: *mut u8 = 0x8 as *mut u8;
1997
1998/// Bitfield on register `TWCR`
1999pub const TWEN: *mut u8 = 0x4 as *mut u8;
2000
2001/// Bitfield on register `TWCR`
2002pub const TWSTA: *mut u8 = 0x20 as *mut u8;
2003
2004/// Bitfield on register `TWCR`
2005pub const TWIE: *mut u8 = 0x1 as *mut u8;
2006
2007/// Bitfield on register `TWCR`
2008pub const TWINT: *mut u8 = 0x80 as *mut u8;
2009
2010/// Bitfield on register `TWSR`
2011pub const TWPS: *mut u8 = 0x3 as *mut u8;
2012
2013/// Bitfield on register `TWSR`
2014pub const TWS: *mut u8 = 0xF8 as *mut u8;
2015
2016/// Bitfield on register `UCSR1A`
2017pub const MPCM1: *mut u8 = 0x1 as *mut u8;
2018
2019/// Bitfield on register `UCSR1A`
2020pub const UPE1: *mut u8 = 0x4 as *mut u8;
2021
2022/// Bitfield on register `UCSR1A`
2023pub const U2X1: *mut u8 = 0x2 as *mut u8;
2024
2025/// Bitfield on register `UCSR1A`
2026pub const UDRE1: *mut u8 = 0x20 as *mut u8;
2027
2028/// Bitfield on register `UCSR1A`
2029pub const TXC1: *mut u8 = 0x40 as *mut u8;
2030
2031/// Bitfield on register `UCSR1A`
2032pub const RXC1: *mut u8 = 0x80 as *mut u8;
2033
2034/// Bitfield on register `UCSR1A`
2035pub const DOR1: *mut u8 = 0x8 as *mut u8;
2036
2037/// Bitfield on register `UCSR1A`
2038pub const FE1: *mut u8 = 0x10 as *mut u8;
2039
2040/// Bitfield on register `UCSR1B`
2041pub const RXEN1: *mut u8 = 0x10 as *mut u8;
2042
2043/// Bitfield on register `UCSR1B`
2044pub const TXB81: *mut u8 = 0x1 as *mut u8;
2045
2046/// Bitfield on register `UCSR1B`
2047pub const UDRIE1: *mut u8 = 0x20 as *mut u8;
2048
2049/// Bitfield on register `UCSR1B`
2050pub const RXCIE1: *mut u8 = 0x80 as *mut u8;
2051
2052/// Bitfield on register `UCSR1B`
2053pub const RXB81: *mut u8 = 0x2 as *mut u8;
2054
2055/// Bitfield on register `UCSR1B`
2056pub const TXCIE1: *mut u8 = 0x40 as *mut u8;
2057
2058/// Bitfield on register `UCSR1B`
2059pub const UCSZ12: *mut u8 = 0x4 as *mut u8;
2060
2061/// Bitfield on register `UCSR1B`
2062pub const TXEN1: *mut u8 = 0x8 as *mut u8;
2063
2064/// Bitfield on register `UCSR1C`
2065pub const UCPOL1: *mut u8 = 0x1 as *mut u8;
2066
2067/// Bitfield on register `UCSR1C`
2068pub const UMSEL1: *mut u8 = 0xC0 as *mut u8;
2069
2070/// Bitfield on register `UCSR1C`
2071pub const UPM1: *mut u8 = 0x30 as *mut u8;
2072
2073/// Bitfield on register `UCSR1C`
2074pub const USBS1: *mut u8 = 0x8 as *mut u8;
2075
2076/// Bitfield on register `UCSR1C`
2077pub const UCSZ1: *mut u8 = 0x6 as *mut u8;
2078
2079/// Bitfield on register `UDADDR`
2080pub const ADDEN: *mut u8 = 0x80 as *mut u8;
2081
2082/// Bitfield on register `UDADDR`
2083pub const UADD: *mut u8 = 0x7F as *mut u8;
2084
2085/// Bitfield on register `UDCON`
2086pub const LSM: *mut u8 = 0x4 as *mut u8;
2087
2088/// Bitfield on register `UDCON`
2089pub const RMWKUP: *mut u8 = 0x2 as *mut u8;
2090
2091/// Bitfield on register `UDCON`
2092pub const DETACH: *mut u8 = 0x1 as *mut u8;
2093
2094/// Bitfield on register `UDIEN`
2095pub const UPRSME: *mut u8 = 0x40 as *mut u8;
2096
2097/// Bitfield on register `UDIEN`
2098pub const EORSME: *mut u8 = 0x20 as *mut u8;
2099
2100/// Bitfield on register `UDIEN`
2101pub const SOFE: *mut u8 = 0x4 as *mut u8;
2102
2103/// Bitfield on register `UDIEN`
2104pub const SUSPE: *mut u8 = 0x1 as *mut u8;
2105
2106/// Bitfield on register `UDIEN`
2107pub const WAKEUPE: *mut u8 = 0x10 as *mut u8;
2108
2109/// Bitfield on register `UDIEN`
2110pub const EORSTE: *mut u8 = 0x8 as *mut u8;
2111
2112/// Bitfield on register `UDINT`
2113pub const EORSMI: *mut u8 = 0x20 as *mut u8;
2114
2115/// Bitfield on register `UDINT`
2116pub const WAKEUPI: *mut u8 = 0x10 as *mut u8;
2117
2118/// Bitfield on register `UDINT`
2119pub const UPRSMI: *mut u8 = 0x40 as *mut u8;
2120
2121/// Bitfield on register `UDINT`
2122pub const SOFI: *mut u8 = 0x4 as *mut u8;
2123
2124/// Bitfield on register `UDINT`
2125pub const SUSPI: *mut u8 = 0x1 as *mut u8;
2126
2127/// Bitfield on register `UDINT`
2128pub const EORSTI: *mut u8 = 0x8 as *mut u8;
2129
2130/// Bitfield on register `UDMFN`
2131pub const FNCERR: *mut u8 = 0x10 as *mut u8;
2132
2133/// Bitfield on register `UECFG0X`
2134pub const EPTYPE: *mut u8 = 0xC0 as *mut u8;
2135
2136/// Bitfield on register `UECFG0X`
2137pub const EPDIR: *mut u8 = 0x1 as *mut u8;
2138
2139/// Bitfield on register `UECFG1X`
2140pub const EPBK: *mut u8 = 0xC as *mut u8;
2141
2142/// Bitfield on register `UECFG1X`
2143pub const EPSIZE: *mut u8 = 0x70 as *mut u8;
2144
2145/// Bitfield on register `UECONX`
2146pub const EPEN: *mut u8 = 0x1 as *mut u8;
2147
2148/// Bitfield on register `UECONX`
2149pub const STALLRQC: *mut u8 = 0x10 as *mut u8;
2150
2151/// Bitfield on register `UECONX`
2152pub const STALLRQ: *mut u8 = 0x20 as *mut u8;
2153
2154/// Bitfield on register `UEIENX`
2155pub const RXOUTE: *mut u8 = 0x4 as *mut u8;
2156
2157/// Bitfield on register `UEIENX`
2158pub const NAKOUTE: *mut u8 = 0x10 as *mut u8;
2159
2160/// Bitfield on register `UEIENX`
2161pub const TXINE: *mut u8 = 0x1 as *mut u8;
2162
2163/// Bitfield on register `UEIENX`
2164pub const STALLEDE: *mut u8 = 0x2 as *mut u8;
2165
2166/// Bitfield on register `UEIENX`
2167pub const RXSTPE: *mut u8 = 0x8 as *mut u8;
2168
2169/// Bitfield on register `UEIENX`
2170pub const NAKINE: *mut u8 = 0x40 as *mut u8;
2171
2172/// Bitfield on register `UEINTX`
2173pub const NAKOUTI: *mut u8 = 0x10 as *mut u8;
2174
2175/// Bitfield on register `UEINTX`
2176pub const RXSTPI: *mut u8 = 0x8 as *mut u8;
2177
2178/// Bitfield on register `UEINTX`
2179pub const TXINI: *mut u8 = 0x1 as *mut u8;
2180
2181/// Bitfield on register `UEINTX`
2182pub const RXOUTI: *mut u8 = 0x4 as *mut u8;
2183
2184/// Bitfield on register `UEINTX`
2185pub const STALLEDI: *mut u8 = 0x2 as *mut u8;
2186
2187/// Bitfield on register `UEINTX`
2188pub const NAKINI: *mut u8 = 0x40 as *mut u8;
2189
2190/// Bitfield on register `UERST`
2191pub const EPRST: *mut u8 = 0x7F as *mut u8;
2192
2193/// Bitfield on register `UESTA0X`
2194pub const NBUSYBK: *mut u8 = 0x3 as *mut u8;
2195
2196/// Bitfield on register `UESTA1X`
2197pub const CURRBK: *mut u8 = 0x3 as *mut u8;
2198
2199/// Bitfield on register `UESTA1X`
2200pub const CTRLDIR: *mut u8 = 0x4 as *mut u8;
2201
2202/// Bitfield on register `UHCON`
2203pub const RESET: *mut u8 = 0x2 as *mut u8;
2204
2205/// Bitfield on register `UHCON`
2206pub const RESUME: *mut u8 = 0x4 as *mut u8;
2207
2208/// Bitfield on register `UHCON`
2209pub const SOFEN: *mut u8 = 0x1 as *mut u8;
2210
2211/// Bitfield on register `UHIEN`
2212pub const HSOFE: *mut u8 = 0x20 as *mut u8;
2213
2214/// Bitfield on register `UHIEN`
2215pub const RSMEDE: *mut u8 = 0x8 as *mut u8;
2216
2217/// Bitfield on register `UHIEN`
2218pub const RSTE: *mut u8 = 0x4 as *mut u8;
2219
2220/// Bitfield on register `UHIEN`
2221pub const HWUPE: *mut u8 = 0x40 as *mut u8;
2222
2223/// Bitfield on register `UHIEN`
2224pub const RXRSME: *mut u8 = 0x10 as *mut u8;
2225
2226/// Bitfield on register `UHIEN`
2227pub const DDISCE: *mut u8 = 0x2 as *mut u8;
2228
2229/// Bitfield on register `UHIEN`
2230pub const DCONNE: *mut u8 = 0x1 as *mut u8;
2231
2232/// Bitfield on register `UHINT`
2233pub const DCONNI: *mut u8 = 0x1 as *mut u8;
2234
2235/// Bitfield on register `UHINT`
2236pub const RSTI: *mut u8 = 0x4 as *mut u8;
2237
2238/// Bitfield on register `UHINT`
2239pub const HSOFI: *mut u8 = 0x20 as *mut u8;
2240
2241/// Bitfield on register `UHINT`
2242pub const RXRSMI: *mut u8 = 0x10 as *mut u8;
2243
2244/// Bitfield on register `UHINT`
2245pub const DDISCI: *mut u8 = 0x2 as *mut u8;
2246
2247/// Bitfield on register `UHINT`
2248pub const UHUPI: *mut u8 = 0x40 as *mut u8;
2249
2250/// Bitfield on register `UHINT`
2251pub const RSMEDI: *mut u8 = 0x8 as *mut u8;
2252
2253/// Bitfield on register `UHWCON`
2254pub const UVCONE: *mut u8 = 0x10 as *mut u8;
2255
2256/// Bitfield on register `UHWCON`
2257pub const UIDE: *mut u8 = 0x40 as *mut u8;
2258
2259/// Bitfield on register `UHWCON`
2260pub const UIMOD: *mut u8 = 0x80 as *mut u8;
2261
2262/// Bitfield on register `UHWCON`
2263pub const UVREGE: *mut u8 = 0x1 as *mut u8;
2264
2265/// Bitfield on register `UPCFG0X`
2266pub const PTYPE: *mut u8 = 0xC0 as *mut u8;
2267
2268/// Bitfield on register `UPCFG0X`
2269pub const PTOKEN: *mut u8 = 0x30 as *mut u8;
2270
2271/// Bitfield on register `UPCFG0X`
2272pub const PEPNUM: *mut u8 = 0xF as *mut u8;
2273
2274/// Bitfield on register `UPCFG1X`
2275pub const PBK: *mut u8 = 0xC as *mut u8;
2276
2277/// Bitfield on register `UPCFG1X`
2278pub const PSIZE: *mut u8 = 0x70 as *mut u8;
2279
2280/// Bitfield on register `UPCONX`
2281pub const INMODE: *mut u8 = 0x20 as *mut u8;
2282
2283/// Bitfield on register `UPCONX`
2284pub const PEN: *mut u8 = 0x1 as *mut u8;
2285
2286/// Bitfield on register `UPCONX`
2287pub const PFREEZE: *mut u8 = 0x40 as *mut u8;
2288
2289/// Bitfield on register `UPERRX`
2290pub const COUNTER: *mut u8 = 0x60 as *mut u8;
2291
2292/// Bitfield on register `UPERRX`
2293pub const TIMEOUT: *mut u8 = 0x8 as *mut u8;
2294
2295/// Bitfield on register `UPERRX`
2296pub const DATAPID: *mut u8 = 0x2 as *mut u8;
2297
2298/// Bitfield on register `UPERRX`
2299pub const PID: *mut u8 = 0x4 as *mut u8;
2300
2301/// Bitfield on register `UPERRX`
2302pub const CRC16: *mut u8 = 0x10 as *mut u8;
2303
2304/// Bitfield on register `UPERRX`
2305pub const DATATGL: *mut u8 = 0x1 as *mut u8;
2306
2307/// Bitfield on register `UPIENX`
2308pub const NAKEDE: *mut u8 = 0x40 as *mut u8;
2309
2310/// Bitfield on register `UPIENX`
2311pub const TXSTPE: *mut u8 = 0x8 as *mut u8;
2312
2313/// Bitfield on register `UPIENX`
2314pub const TXOUTE: *mut u8 = 0x4 as *mut u8;
2315
2316/// Bitfield on register `UPIENX`
2317pub const PERRE: *mut u8 = 0x10 as *mut u8;
2318
2319/// Bitfield on register `UPIENX`
2320pub const RXSTALLE: *mut u8 = 0x2 as *mut u8;
2321
2322/// Bitfield on register `UPIENX`
2323pub const RXINE: *mut u8 = 0x1 as *mut u8;
2324
2325/// Bitfield on register `UPINTX`
2326pub const NAKEDI: *mut u8 = 0x40 as *mut u8;
2327
2328/// Bitfield on register `UPINTX`
2329pub const TXOUTI: *mut u8 = 0x4 as *mut u8;
2330
2331/// Bitfield on register `UPINTX`
2332pub const RXSTALLI: *mut u8 = 0x2 as *mut u8;
2333
2334/// Bitfield on register `UPINTX`
2335pub const PERRI: *mut u8 = 0x10 as *mut u8;
2336
2337/// Bitfield on register `UPINTX`
2338pub const TXSTPI: *mut u8 = 0x8 as *mut u8;
2339
2340/// Bitfield on register `UPINTX`
2341pub const RXINI: *mut u8 = 0x1 as *mut u8;
2342
2343/// Bitfield on register `UPRST`
2344pub const PRST: *mut u8 = 0x7F as *mut u8;
2345
2346/// Bitfield on register `UPSTAX`
2347pub const NBUSYK: *mut u8 = 0x3 as *mut u8;
2348
2349/// Bitfield on register `USBCON`
2350pub const OTGPADE: *mut u8 = 0x10 as *mut u8;
2351
2352/// Bitfield on register `USBCON`
2353pub const FRZCLK: *mut u8 = 0x20 as *mut u8;
2354
2355/// Bitfield on register `USBCON`
2356pub const VBUSTE: *mut u8 = 0x1 as *mut u8;
2357
2358/// Bitfield on register `USBCON`
2359pub const HOST: *mut u8 = 0x40 as *mut u8;
2360
2361/// Bitfield on register `USBCON`
2362pub const USBE: *mut u8 = 0x80 as *mut u8;
2363
2364/// Bitfield on register `USBCON`
2365pub const IDTE: *mut u8 = 0x2 as *mut u8;
2366
2367/// Bitfield on register `USBINT`
2368pub const IDTI: *mut u8 = 0x2 as *mut u8;
2369
2370/// Bitfield on register `USBINT`
2371pub const VBUSTI: *mut u8 = 0x1 as *mut u8;
2372
2373/// Bitfield on register `USBSTA`
2374pub const SPEED: *mut u8 = 0x8 as *mut u8;
2375
2376/// Bitfield on register `USBSTA`
2377pub const ID: *mut u8 = 0x2 as *mut u8;
2378
2379/// Bitfield on register `USBSTA`
2380pub const VBUS: *mut u8 = 0x1 as *mut u8;
2381
2382/// Bitfield on register `WDTCSR`
2383pub const WDE: *mut u8 = 0x8 as *mut u8;
2384
2385/// Bitfield on register `WDTCSR`
2386pub const WDP: *mut u8 = 0x27 as *mut u8;
2387
2388/// Bitfield on register `WDTCSR`
2389pub const WDIE: *mut u8 = 0x40 as *mut u8;
2390
2391/// Bitfield on register `WDTCSR`
2392pub const WDIF: *mut u8 = 0x80 as *mut u8;
2393
2394/// Bitfield on register `WDTCSR`
2395pub const WDCE: *mut u8 = 0x10 as *mut u8;
2396
2397/// Bitfield on register `XMCRA`
2398pub const SRW0: *mut u8 = 0x3 as *mut u8;
2399
2400/// Bitfield on register `XMCRA`
2401pub const SRW1: *mut u8 = 0xC as *mut u8;
2402
2403/// Bitfield on register `XMCRA`
2404pub const SRL: *mut u8 = 0x70 as *mut u8;
2405
2406/// Bitfield on register `XMCRA`
2407pub const SRE: *mut u8 = 0x80 as *mut u8;
2408
2409/// Bitfield on register `XMCRB`
2410pub const XMM: *mut u8 = 0x7 as *mut u8;
2411
2412/// Bitfield on register `XMCRB`
2413pub const XMBK: *mut u8 = 0x80 as *mut u8;
2414
2415/// `ANALOG_ADC_AUTO_TRIGGER2` value group
2416#[allow(non_upper_case_globals)]
2417pub mod analog_adc_auto_trigger2 {
2418 /// Free Running mode.
2419 pub const VAL_0x00: u32 = 0x0;
2420 /// Analog Comparator.
2421 pub const VAL_0x01: u32 = 0x1;
2422 /// External Interrupt Request 0.
2423 pub const VAL_0x02: u32 = 0x2;
2424 /// Timer/Counter0 Compare Match A.
2425 pub const VAL_0x03: u32 = 0x3;
2426 /// Timer/Counter0 Overflow.
2427 pub const VAL_0x04: u32 = 0x4;
2428 /// Timer/Counter1 Compare Match B.
2429 pub const VAL_0x05: u32 = 0x5;
2430 /// Timer/Counter1 Overflow.
2431 pub const VAL_0x06: u32 = 0x6;
2432 /// Timer/Counter1 Capture Event.
2433 pub const VAL_0x07: u32 = 0x7;
2434}
2435
2436/// `ANALOG_ADC_PRESCALER` value group
2437#[allow(non_upper_case_globals)]
2438pub mod analog_adc_prescaler {
2439 /// 2.
2440 pub const VAL_0x00: u32 = 0x0;
2441 /// 2.
2442 pub const VAL_0x01: u32 = 0x1;
2443 /// 4.
2444 pub const VAL_0x02: u32 = 0x2;
2445 /// 8.
2446 pub const VAL_0x03: u32 = 0x3;
2447 /// 16.
2448 pub const VAL_0x04: u32 = 0x4;
2449 /// 32.
2450 pub const VAL_0x05: u32 = 0x5;
2451 /// 64.
2452 pub const VAL_0x06: u32 = 0x6;
2453 /// 128.
2454 pub const VAL_0x07: u32 = 0x7;
2455}
2456
2457/// `ANALOG_ADC_V_REF2` value group
2458#[allow(non_upper_case_globals)]
2459pub mod analog_adc_v_ref2 {
2460 /// AREF, Internal Vref turned off.
2461 pub const VAL_0x00: u32 = 0x0;
2462 /// AVCC with external capacitor at AREF pin.
2463 pub const VAL_0x01: u32 = 0x1;
2464 /// Reserved.
2465 pub const VAL_0x02: u32 = 0x2;
2466 /// Internal 2.56V Voltage Reference with external capacitor at AREF pin.
2467 pub const VAL_0x03: u32 = 0x3;
2468}
2469
2470/// `ANALOG_COMP_INTERRUPT` value group
2471#[allow(non_upper_case_globals)]
2472pub mod analog_comp_interrupt {
2473 /// Interrupt on Toggle.
2474 pub const VAL_0x00: u32 = 0x0;
2475 /// Reserved.
2476 pub const VAL_0x01: u32 = 0x1;
2477 /// Interrupt on Falling Edge.
2478 pub const VAL_0x02: u32 = 0x2;
2479 /// Interrupt on Rising Edge.
2480 pub const VAL_0x03: u32 = 0x3;
2481}
2482
2483/// `CLK_SEL_3BIT` value group
2484#[allow(non_upper_case_globals)]
2485pub mod clk_sel_3bit {
2486 /// No Clock Source (Stopped).
2487 pub const VAL_0x00: u32 = 0x0;
2488 /// Running, No Prescaling.
2489 pub const VAL_0x01: u32 = 0x1;
2490 /// Running, CLK/8.
2491 pub const VAL_0x02: u32 = 0x2;
2492 /// Running, CLK/32.
2493 pub const VAL_0x03: u32 = 0x3;
2494 /// Running, CLK/64.
2495 pub const VAL_0x04: u32 = 0x4;
2496 /// Running, CLK/128.
2497 pub const VAL_0x05: u32 = 0x5;
2498 /// Running, CLK/256.
2499 pub const VAL_0x06: u32 = 0x6;
2500 /// Running, CLK/1024.
2501 pub const VAL_0x07: u32 = 0x7;
2502}
2503
2504/// `CLK_SEL_3BIT_EXT` value group
2505#[allow(non_upper_case_globals)]
2506pub mod clk_sel_3bit_ext {
2507 /// No Clock Source (Stopped).
2508 pub const VAL_0x00: u32 = 0x0;
2509 /// Running, No Prescaling.
2510 pub const VAL_0x01: u32 = 0x1;
2511 /// Running, CLK/8.
2512 pub const VAL_0x02: u32 = 0x2;
2513 /// Running, CLK/64.
2514 pub const VAL_0x03: u32 = 0x3;
2515 /// Running, CLK/256.
2516 pub const VAL_0x04: u32 = 0x4;
2517 /// Running, CLK/1024.
2518 pub const VAL_0x05: u32 = 0x5;
2519 /// Running, ExtClk Tx Falling Edge.
2520 pub const VAL_0x06: u32 = 0x6;
2521 /// Running, ExtClk Tx Rising Edge.
2522 pub const VAL_0x07: u32 = 0x7;
2523}
2524
2525/// `COMM_SCK_RATE_3BIT` value group
2526#[allow(non_upper_case_globals)]
2527pub mod comm_sck_rate_3bit {
2528 /// fosc/4.
2529 pub const VAL_0x00: u32 = 0x0;
2530 /// fosc/16.
2531 pub const VAL_0x01: u32 = 0x1;
2532 /// fosc/64.
2533 pub const VAL_0x02: u32 = 0x2;
2534 /// fosc/128.
2535 pub const VAL_0x03: u32 = 0x3;
2536 /// fosc/2.
2537 pub const VAL_0x04: u32 = 0x4;
2538 /// fosc/8.
2539 pub const VAL_0x05: u32 = 0x5;
2540 /// fosc/32.
2541 pub const VAL_0x06: u32 = 0x6;
2542 /// fosc/64.
2543 pub const VAL_0x07: u32 = 0x7;
2544}
2545
2546/// `COMM_STOP_BIT_SEL` value group
2547#[allow(non_upper_case_globals)]
2548pub mod comm_stop_bit_sel {
2549 /// 1-bit.
2550 pub const VAL_0x00: u32 = 0x0;
2551 /// 2-bit.
2552 pub const VAL_0x01: u32 = 0x1;
2553}
2554
2555/// `COMM_TWI_PRESACLE` value group
2556#[allow(non_upper_case_globals)]
2557pub mod comm_twi_presacle {
2558 /// 1.
2559 pub const VAL_0x00: u32 = 0x0;
2560 /// 4.
2561 pub const VAL_0x01: u32 = 0x1;
2562 /// 16.
2563 pub const VAL_0x02: u32 = 0x2;
2564 /// 64.
2565 pub const VAL_0x03: u32 = 0x3;
2566}
2567
2568/// `COMM_UPM_PARITY_MODE` value group
2569#[allow(non_upper_case_globals)]
2570pub mod comm_upm_parity_mode {
2571 /// Disabled.
2572 pub const VAL_0x00: u32 = 0x0;
2573 /// Reserved.
2574 pub const VAL_0x01: u32 = 0x1;
2575 /// Enabled, Even Parity.
2576 pub const VAL_0x02: u32 = 0x2;
2577 /// Enabled, Odd Parity.
2578 pub const VAL_0x03: u32 = 0x3;
2579}
2580
2581/// `COMM_USART_MODE_2BIT` value group
2582#[allow(non_upper_case_globals)]
2583pub mod comm_usart_mode_2bit {
2584 /// Asynchronous USART.
2585 pub const VAL_0x00: u32 = 0x0;
2586 /// Synchronous USART.
2587 pub const VAL_0x01: u32 = 0x1;
2588 /// Master SPI.
2589 pub const VAL_0x03: u32 = 0x3;
2590}
2591
2592/// `CPU_CLK_PRESCALE_4_BITS_SMALL` value group
2593#[allow(non_upper_case_globals)]
2594pub mod cpu_clk_prescale_4_bits_small {
2595 /// 1.
2596 pub const VAL_0x00: u32 = 0x0;
2597 /// 2.
2598 pub const VAL_0x01: u32 = 0x1;
2599 /// 4.
2600 pub const VAL_0x02: u32 = 0x2;
2601 /// 8.
2602 pub const VAL_0x03: u32 = 0x3;
2603 /// 16.
2604 pub const VAL_0x04: u32 = 0x4;
2605 /// 32.
2606 pub const VAL_0x05: u32 = 0x5;
2607 /// 64.
2608 pub const VAL_0x06: u32 = 0x6;
2609 /// 128.
2610 pub const VAL_0x07: u32 = 0x7;
2611 /// 256.
2612 pub const VAL_0x08: u32 = 0x8;
2613}
2614
2615/// `CPU_PIN_RELEASE` value group
2616#[allow(non_upper_case_globals)]
2617pub mod cpu_pin_release {
2618 /// None.
2619 pub const VAL_0x00: u32 = 0x0;
2620 /// Px7.
2621 pub const VAL_0x01: u32 = 0x1;
2622 /// Px7-Px6.
2623 pub const VAL_0x02: u32 = 0x2;
2624 /// Px7-Px5.
2625 pub const VAL_0x03: u32 = 0x3;
2626 /// Px7-Px4.
2627 pub const VAL_0x04: u32 = 0x4;
2628 /// Px7-Px3.
2629 pub const VAL_0x05: u32 = 0x5;
2630 /// Px7-Px2.
2631 pub const VAL_0x06: u32 = 0x6;
2632 /// Full Port X.
2633 pub const VAL_0x07: u32 = 0x7;
2634}
2635
2636/// `CPU_SECTOR_LIMITS3` value group
2637#[allow(non_upper_case_globals)]
2638pub mod cpu_sector_limits3 {
2639 /// LS = N/A, US = 0x1100 - 0xFFFF.
2640 pub const VAL_0x00: u32 = 0x0;
2641 /// LS = 0x2100 - 0x1FFF, US = 0x2000 - 0xFFFF.
2642 pub const VAL_0x01: u32 = 0x1;
2643 /// LS = 0x2100 - 0x3FFF, US = 0x4000 - 0xFFFF.
2644 pub const VAL_0x02: u32 = 0x2;
2645 /// LS = 0x2100 - 0x5FFF, US = 0x6000 - 0xFFFF.
2646 pub const VAL_0x03: u32 = 0x3;
2647 /// LS = 0x2100 - 0x7FFF, US = 0x8000 - 0xFFFF.
2648 pub const VAL_0x04: u32 = 0x4;
2649 /// LS = 0x2100 - 0x9FFF, US = 0xA000 - 0xFFFF.
2650 pub const VAL_0x05: u32 = 0x5;
2651 /// LS = 0x2100 - 0xBFFF, US = 0xC000 - 0xFFFF.
2652 pub const VAL_0x06: u32 = 0x6;
2653 /// LS = 0x2100 - 0xDFFF, US = 0xE000 - 0xFFFF.
2654 pub const VAL_0x07: u32 = 0x7;
2655}
2656
2657/// `CPU_SLEEP_MODE_3BITS` value group
2658#[allow(non_upper_case_globals)]
2659pub mod cpu_sleep_mode_3bits {
2660 /// Idle.
2661 pub const IDLE: u32 = 0x0;
2662 /// ADC Noise Reduction (If Available).
2663 pub const ADC: u32 = 0x1;
2664 /// Power Down.
2665 pub const PDOWN: u32 = 0x2;
2666 /// Power Save.
2667 pub const PSAVE: u32 = 0x3;
2668 /// Reserved.
2669 pub const VAL_0x04: u32 = 0x4;
2670 /// Reserved.
2671 pub const VAL_0x05: u32 = 0x5;
2672 /// Standby.
2673 pub const STDBY: u32 = 0x6;
2674 /// Extended Standby.
2675 pub const ESTDBY: u32 = 0x7;
2676}
2677
2678/// `CPU_WAIT_STATES` value group
2679#[allow(non_upper_case_globals)]
2680pub mod cpu_wait_states {
2681 /// No wait-states.
2682 pub const VAL_0x00: u32 = 0x0;
2683 /// Wait one cycle during read/write strobe.
2684 pub const VAL_0x01: u32 = 0x1;
2685 /// Wait two cycles during read/write strobe.
2686 pub const VAL_0x02: u32 = 0x2;
2687 /// Wait two cycles during read/write and wait one cycle before driving out new address.
2688 pub const VAL_0x03: u32 = 0x3;
2689}
2690
2691/// `EEP_MODE` value group
2692#[allow(non_upper_case_globals)]
2693pub mod eep_mode {
2694 /// Erase and Write in one operation.
2695 pub const VAL_0x00: u32 = 0x0;
2696 /// Erase Only.
2697 pub const VAL_0x01: u32 = 0x1;
2698 /// Write Only.
2699 pub const VAL_0x02: u32 = 0x2;
2700}
2701
2702/// `ENUM_BLB` value group
2703#[allow(non_upper_case_globals)]
2704pub mod enum_blb {
2705 /// LPM and SPM prohibited in Application Section.
2706 pub const LPM_SPM_DISABLE: u32 = 0x0;
2707 /// LPM prohibited in Application Section.
2708 pub const LPM_DISABLE: u32 = 0x1;
2709 /// SPM prohibited in Application Section.
2710 pub const SPM_DISABLE: u32 = 0x2;
2711 /// No lock on SPM and LPM in Application Section.
2712 pub const NO_LOCK: u32 = 0x3;
2713}
2714
2715/// `ENUM_BLB2` value group
2716#[allow(non_upper_case_globals)]
2717pub mod enum_blb2 {
2718 /// LPM and SPM prohibited in Boot Section.
2719 pub const LPM_SPM_DISABLE: u32 = 0x0;
2720 /// LPM prohibited in Boot Section.
2721 pub const LPM_DISABLE: u32 = 0x1;
2722 /// SPM prohibited in Boot Section.
2723 pub const SPM_DISABLE: u32 = 0x2;
2724 /// No lock on SPM and LPM in Boot Section.
2725 pub const NO_LOCK: u32 = 0x3;
2726}
2727
2728/// `ENUM_BODLEVEL` value group
2729#[allow(non_upper_case_globals)]
2730pub mod enum_bodlevel {
2731 /// Brown-out detection disabled; \[BODLEVEL=111\].
2732 pub const DISABLED: u32 = 0x7;
2733 /// Brown-out detection at VCC=2.0 V.
2734 pub const _2V0: u32 = 0x6;
2735 /// Brown-out detection at VCC=2.2 V.
2736 pub const _2V2: u32 = 0x5;
2737 /// Brown-out detection at VCC=2.4 V.
2738 pub const _2V4: u32 = 0x4;
2739 /// Brown-out detection at VCC=2.6 V.
2740 pub const _2V6: u32 = 0x3;
2741 /// Brown-out detection at VCC=3.4 V.
2742 pub const _3V4: u32 = 0x2;
2743 /// Brown-out detection at VCC=3.5 V.
2744 pub const _3V5: u32 = 0x1;
2745 /// Brown-out detection at VCC=4.3 V.
2746 pub const _4V3: u32 = 0x0;
2747}
2748
2749/// `ENUM_BOOTSZ` value group
2750#[allow(non_upper_case_globals)]
2751pub mod enum_bootsz {
2752 /// Boot Flash size=512 words start address=$7F00.
2753 pub const _512W_7F00: u32 = 0x3;
2754 /// Boot Flash size=1024 words start address=$7E00.
2755 pub const _1024W_7E00: u32 = 0x2;
2756 /// Boot Flash size=2408 words start address=$7C00.
2757 pub const _2408W_7C00: u32 = 0x1;
2758 /// Boot Flash size=4096 words start address=$7800.
2759 pub const _4096W_7800: u32 = 0x0;
2760}
2761
2762/// `ENUM_LB` value group
2763#[allow(non_upper_case_globals)]
2764pub mod enum_lb {
2765 /// Further programming and verification disabled.
2766 pub const PROG_VER_DISABLED: u32 = 0x0;
2767 /// Further programming disabled.
2768 pub const PROG_DISABLED: u32 = 0x2;
2769 /// No memory lock features enabled.
2770 pub const NO_LOCK: u32 = 0x3;
2771}
2772
2773/// `ENUM_SUT_CKSEL` value group
2774#[allow(non_upper_case_globals)]
2775pub mod enum_sut_cksel {
2776 /// Ext. Clock; Start-up time: 6 CK + 0 ms.
2777 pub const EXTCLK_6CK_0MS: u32 = 0x0;
2778 /// Ext. Clock; Start-up time: 6 CK + 4.1 ms.
2779 pub const EXTCLK_6CK_4MS1: u32 = 0x10;
2780 /// Ext. Clock; Start-up time: 6 CK + 65 ms.
2781 pub const EXTCLK_6CK_65MS: u32 = 0x20;
2782 /// Int. RC Osc.; Start-up time: 6 CK + 0 ms.
2783 pub const INTRCOSC_6CK_0MS: u32 = 0x2;
2784 /// Int. RC Osc.; Start-up time: 6 CK + 4.1 ms.
2785 pub const INTRCOSC_6CK_4MS1: u32 = 0x12;
2786 /// Int. RC Osc.; Start-up time: 6 CK + 65 ms.
2787 pub const INTRCOSC_6CK_65MS: u32 = 0x22;
2788 /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 0 ms; Int. Cap.
2789 pub const EXTLOFXTAL_32KCK_0MS_INTCAP: u32 = 0x7;
2790 /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 4.1 ms; Int. Cap.
2791 pub const EXTLOFXTAL_32KCK_4MS1_INTCAP: u32 = 0x17;
2792 /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 65 ms; Int. Cap.
2793 pub const EXTLOFXTAL_32KCK_65MS_INTCAP: u32 = 0x27;
2794 /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 0 ms; Int. Cap.
2795 pub const EXTLOFXTAL_1KCK_0MS_INTCAP: u32 = 0x6;
2796 /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 4.1 ms; Int. Cap.
2797 pub const EXTLOFXTAL_1KCK_4MS1_INTCAP: u32 = 0x16;
2798 /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 65 ms; Int. Cap.
2799 pub const EXTLOFXTAL_1KCK_65MS_INTCAP: u32 = 0x26;
2800 /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 0 ms.
2801 pub const EXTLOFXTAL_32KCK_0MS: u32 = 0x5;
2802 /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 4.1 ms.
2803 pub const EXTLOFXTAL_32KCK_4MS1: u32 = 0x15;
2804 /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 65 ms.
2805 pub const EXTLOFXTAL_32KCK_65MS: u32 = 0x25;
2806 /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 0 ms.
2807 pub const EXTLOFXTAL_1KCK_0MS: u32 = 0x4;
2808 /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 4.1 ms.
2809 pub const EXTLOFXTAL_1KCK_4MS1: u32 = 0x14;
2810 /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 65 ms.
2811 pub const EXTLOFXTAL_1KCK_65MS: u32 = 0x24;
2812 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 258 CK + 4.1 ms.
2813 pub const EXTXOSC_0MHZ4_0MHZ9_258CK_4MS1: u32 = 0x8;
2814 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 258 CK + 65 ms.
2815 pub const EXTXOSC_0MHZ4_0MHZ9_258CK_65MS: u32 = 0x18;
2816 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 1K CK + 0 ms.
2817 pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_0MS: u32 = 0x28;
2818 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 1K CK + 4.1 ms.
2819 pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_4MS1: u32 = 0x38;
2820 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 1K CK + 65 ms.
2821 pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_65MS: u32 = 0x9;
2822 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 16K CK + 0 ms.
2823 pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_0MS: u32 = 0x19;
2824 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 16K CK + 4.1 ms.
2825 pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_4MS1: u32 = 0x29;
2826 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 16K CK + 65 ms.
2827 pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_65MS: u32 = 0x39;
2828 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 258 CK + 4.1 ms.
2829 pub const EXTXOSC_0MHZ9_3MHZ_258CK_4MS1: u32 = 0xA;
2830 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 258 CK + 65 ms.
2831 pub const EXTXOSC_0MHZ9_3MHZ_258CK_65MS: u32 = 0x1A;
2832 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 1K CK + 0 ms.
2833 pub const EXTXOSC_0MHZ9_3MHZ_1KCK_0MS: u32 = 0x2A;
2834 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 1K CK + 4.1 ms.
2835 pub const EXTXOSC_0MHZ9_3MHZ_1KCK_4MS1: u32 = 0x3A;
2836 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 1K CK + 65 ms.
2837 pub const EXTXOSC_0MHZ9_3MHZ_1KCK_65MS: u32 = 0xB;
2838 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 16K CK + 0 ms.
2839 pub const EXTXOSC_0MHZ9_3MHZ_16KCK_0MS: u32 = 0x1B;
2840 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 16K CK + 4.1 ms.
2841 pub const EXTXOSC_0MHZ9_3MHZ_16KCK_4MS1: u32 = 0x2B;
2842 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 16K CK + 65 ms.
2843 pub const EXTXOSC_0MHZ9_3MHZ_16KCK_65MS: u32 = 0x3B;
2844 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 258 CK + 4.1 ms.
2845 pub const EXTXOSC_3MHZ_8MHZ_258CK_4MS1: u32 = 0xC;
2846 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 258 CK + 65 ms.
2847 pub const EXTXOSC_3MHZ_8MHZ_258CK_65MS: u32 = 0x1C;
2848 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 1K CK + 0 ms.
2849 pub const EXTXOSC_3MHZ_8MHZ_1KCK_0MS: u32 = 0x2C;
2850 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 1K CK + 4.1 ms.
2851 pub const EXTXOSC_3MHZ_8MHZ_1KCK_4MS1: u32 = 0x3C;
2852 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 1K CK + 65 ms.
2853 pub const EXTXOSC_3MHZ_8MHZ_1KCK_65MS: u32 = 0xD;
2854 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 16K CK + 0 ms.
2855 pub const EXTXOSC_3MHZ_8MHZ_16KCK_0MS: u32 = 0x1D;
2856 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 16K CK + 4.1 ms.
2857 pub const EXTXOSC_3MHZ_8MHZ_16KCK_4MS1: u32 = 0x2D;
2858 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 16K CK + 65 ms.
2859 pub const EXTXOSC_3MHZ_8MHZ_16KCK_65MS: u32 = 0x3D;
2860 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 258 CK + 4.1 ms.
2861 pub const EXTXOSC_8MHZ_XX_258CK_4MS1: u32 = 0xE;
2862 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 258 CK + 65 ms.
2863 pub const EXTXOSC_8MHZ_XX_258CK_65MS: u32 = 0x1E;
2864 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 1K CK + 0 ms.
2865 pub const EXTXOSC_8MHZ_XX_1KCK_0MS: u32 = 0x2E;
2866 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 1K CK + 4.1 ms.
2867 pub const EXTXOSC_8MHZ_XX_1KCK_4MS1: u32 = 0x3E;
2868 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 1K CK + 65 ms.
2869 pub const EXTXOSC_8MHZ_XX_1KCK_65MS: u32 = 0xF;
2870 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 16K CK + 0 ms.
2871 pub const EXTXOSC_8MHZ_XX_16KCK_0MS: u32 = 0x1F;
2872 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 16K CK + 4.1 ms.
2873 pub const EXTXOSC_8MHZ_XX_16KCK_4MS1: u32 = 0x2F;
2874 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 16K CK + 65 ms.
2875 pub const EXTXOSC_8MHZ_XX_16KCK_65MS: u32 = 0x3F;
2876}
2877
2878/// Interrupt Sense Control
2879#[allow(non_upper_case_globals)]
2880pub mod interrupt_sense_control {
2881 /// Low Level of INTX.
2882 pub const VAL_0x00: u32 = 0x0;
2883 /// Any Logical Change of INTX.
2884 pub const VAL_0x01: u32 = 0x1;
2885 /// Falling Edge of INTX.
2886 pub const VAL_0x02: u32 = 0x2;
2887 /// Rising Edge of INTX.
2888 pub const VAL_0x03: u32 = 0x3;
2889}
2890
2891/// Oscillator Calibration Values
2892#[allow(non_upper_case_globals)]
2893pub mod osccal_value_addresses {
2894 /// 8.0 MHz.
2895 pub const _8_0_MHz: u32 = 0x0;
2896}
2897
2898/// `PLL_INPUT_PRESCALER` value group
2899#[allow(non_upper_case_globals)]
2900pub mod pll_input_prescaler {
2901 /// Clock/4.
2902 pub const VAL_0x03: u32 = 0x3;
2903 /// Clock/8.
2904 pub const VAL_0x05: u32 = 0x5;
2905}
2906
2907/// `WDOG_TIMER_PRESCALE_4BITS` value group
2908#[allow(non_upper_case_globals)]
2909pub mod wdog_timer_prescale_4bits {
2910 /// Oscillator Cycles 2K.
2911 pub const VAL_0x00: u32 = 0x0;
2912 /// Oscillator Cycles 4K.
2913 pub const VAL_0x01: u32 = 0x1;
2914 /// Oscillator Cycles 8K.
2915 pub const VAL_0x02: u32 = 0x2;
2916 /// Oscillator Cycles 16K.
2917 pub const VAL_0x03: u32 = 0x3;
2918 /// Oscillator Cycles 32K.
2919 pub const VAL_0x04: u32 = 0x4;
2920 /// Oscillator Cycles 64K.
2921 pub const VAL_0x05: u32 = 0x5;
2922 /// Oscillator Cycles 128K.
2923 pub const VAL_0x06: u32 = 0x6;
2924 /// Oscillator Cycles 256K.
2925 pub const VAL_0x07: u32 = 0x7;
2926 /// Oscillator Cycles 512K.
2927 pub const VAL_0x08: u32 = 0x8;
2928 /// Oscillator Cycles 1024K.
2929 pub const VAL_0x09: u32 = 0x9;
2930}
2931