avrd/gen/
atmega88p.rs

1//! The AVR ATmega88P microcontroller
2//!
3//! # Variants
4//! |        | Pinout | Mcu age | Operating temperature | Operating voltage | Max speed |
5//! |--------|--------|---------|-----------------------|-------------------|-----------|
6//! | ATmega88PV-10AU | TQFP32 | TQFP32 | -40°C - 85°C | 1.8V - 5.5V | 10 MHz |
7//! | ATmega88PV-10MU | QFN32 | QFN32 | -40°C - 85°C | 1.8V - 5.5V | 10 MHz |
8//! | ATmega88PV-10PU | PDIP28 | PDIP28 | -40°C - 85°C | 1.8V - 5.5V | 10 MHz |
9//! | ATmega88P-20AU | TQFP32 | TQFP32 | -40°C - 85°C | 2.7V - 5.5V | 20 MHz |
10//! | ATmega88P-20MU | QFN32 | QFN32 | -40°C - 85°C | 2.7V - 5.5V | 20 MHz |
11//! | ATmega88P-20PU | PDIP28 | PDIP28 | -40°C - 85°C | 2.7V - 5.5V | 20 MHz |
12//!
13
14#![allow(non_upper_case_globals)]
15
16/// `LOW` register
17///
18/// Bitfields:
19///
20/// | Name | Mask (binary) |
21/// | ---- | ------------- |
22/// | SUT_CKSEL | 111111 |
23/// | CKDIV8 | 10000000 |
24/// | CKOUT | 1000000 |
25pub const LOW: *mut u8 = 0x0 as *mut u8;
26
27/// `LOCKBIT` register
28///
29/// Bitfields:
30///
31/// | Name | Mask (binary) |
32/// | ---- | ------------- |
33/// | BLB1 | 110000 |
34/// | BLB0 | 1100 |
35/// | LB | 11 |
36pub const LOCKBIT: *mut u8 = 0x0 as *mut u8;
37
38/// `HIGH` register
39///
40/// Bitfields:
41///
42/// | Name | Mask (binary) |
43/// | ---- | ------------- |
44/// | EESAVE | 1000 |
45/// | RSTDISBL | 10000000 |
46/// | DWEN | 1000000 |
47/// | SPIEN | 100000 |
48/// | BODLEVEL | 111 |
49/// | WDTON | 10000 |
50pub const HIGH: *mut u8 = 0x1 as *mut u8;
51
52/// `EXTENDED` register
53///
54/// Bitfields:
55///
56/// | Name | Mask (binary) |
57/// | ---- | ------------- |
58/// | BOOTRST | 1 |
59/// | BOOTSZ | 110 |
60pub const EXTENDED: *mut u8 = 0x2 as *mut u8;
61
62/// Port B Input Pins.
63pub const PINB: *mut u8 = 0x23 as *mut u8;
64
65/// Port B Data Direction Register.
66pub const DDRB: *mut u8 = 0x24 as *mut u8;
67
68/// Port B Data Register.
69pub const PORTB: *mut u8 = 0x25 as *mut u8;
70
71/// Port C Input Pins.
72pub const PINC: *mut u8 = 0x26 as *mut u8;
73
74/// Port C Data Direction Register.
75pub const DDRC: *mut u8 = 0x27 as *mut u8;
76
77/// Port C Data Register.
78pub const PORTC: *mut u8 = 0x28 as *mut u8;
79
80/// Port D Input Pins.
81pub const PIND: *mut u8 = 0x29 as *mut u8;
82
83/// Port D Data Direction Register.
84pub const DDRD: *mut u8 = 0x2A as *mut u8;
85
86/// Port D Data Register.
87pub const PORTD: *mut u8 = 0x2B as *mut u8;
88
89/// Timer/Counter0 Interrupt Flag register.
90///
91/// Bitfields:
92///
93/// | Name | Mask (binary) |
94/// | ---- | ------------- |
95/// | OCF0A | 10 |
96/// | TOV0 | 1 |
97/// | OCF0B | 100 |
98pub const TIFR0: *mut u8 = 0x35 as *mut u8;
99
100/// Timer/Counter Interrupt Flag register.
101///
102/// Bitfields:
103///
104/// | Name | Mask (binary) |
105/// | ---- | ------------- |
106/// | OCF1A | 10 |
107/// | TOV1 | 1 |
108/// | ICF1 | 100000 |
109/// | OCF1B | 100 |
110pub const TIFR1: *mut u8 = 0x36 as *mut u8;
111
112/// Timer/Counter Interrupt Flag Register.
113///
114/// Bitfields:
115///
116/// | Name | Mask (binary) |
117/// | ---- | ------------- |
118/// | OCF2A | 10 |
119/// | OCF2B | 100 |
120/// | TOV2 | 1 |
121pub const TIFR2: *mut u8 = 0x37 as *mut u8;
122
123/// Pin Change Interrupt Flag Register.
124///
125/// Bitfields:
126///
127/// | Name | Mask (binary) |
128/// | ---- | ------------- |
129/// | PCIF | 111 |
130pub const PCIFR: *mut u8 = 0x3B as *mut u8;
131
132/// External Interrupt Flag Register.
133///
134/// Bitfields:
135///
136/// | Name | Mask (binary) |
137/// | ---- | ------------- |
138/// | INTF | 11 |
139pub const EIFR: *mut u8 = 0x3C as *mut u8;
140
141/// External Interrupt Mask Register.
142///
143/// Bitfields:
144///
145/// | Name | Mask (binary) |
146/// | ---- | ------------- |
147/// | INT | 11 |
148pub const EIMSK: *mut u8 = 0x3D as *mut u8;
149
150/// General Purpose I/O Register 0.
151pub const GPIOR0: *mut u8 = 0x3E as *mut u8;
152
153/// EEPROM Control Register.
154///
155/// Bitfields:
156///
157/// | Name | Mask (binary) |
158/// | ---- | ------------- |
159/// | EERIE | 1000 |
160/// | EEPM | 110000 |
161/// | EEPE | 10 |
162/// | EEMPE | 100 |
163/// | EERE | 1 |
164pub const EECR: *mut u8 = 0x3F as *mut u8;
165
166/// EEPROM Data Register.
167pub const EEDR: *mut u8 = 0x40 as *mut u8;
168
169/// EEPROM Address Register  Bytes.
170pub const EEAR: *mut u16 = 0x41 as *mut u16;
171
172/// EEPROM Address Register  Bytes low byte.
173pub const EEARL: *mut u8 = 0x41 as *mut u8;
174
175/// EEPROM Address Register  Bytes high byte.
176pub const EEARH: *mut u8 = 0x42 as *mut u8;
177
178/// General Timer/Counter Control Register.
179///
180/// Bitfields:
181///
182/// | Name | Mask (binary) |
183/// | ---- | ------------- |
184/// | PSRSYNC | 1 |
185/// | TSM | 10000000 |
186pub const GTCCR: *mut u8 = 0x43 as *mut u8;
187
188/// Timer/Counter  Control Register A.
189///
190/// Bitfields:
191///
192/// | Name | Mask (binary) |
193/// | ---- | ------------- |
194/// | WGM0 | 11 |
195/// | COM0A | 11000000 |
196/// | COM0B | 110000 |
197pub const TCCR0A: *mut u8 = 0x44 as *mut u8;
198
199/// Timer/Counter Control Register B.
200///
201/// Bitfields:
202///
203/// | Name | Mask (binary) |
204/// | ---- | ------------- |
205/// | FOC0B | 1000000 |
206/// | CS0 | 111 |
207/// | FOC0A | 10000000 |
208/// | WGM02 | 1000 |
209pub const TCCR0B: *mut u8 = 0x45 as *mut u8;
210
211/// Timer/Counter0.
212pub const TCNT0: *mut u8 = 0x46 as *mut u8;
213
214/// Timer/Counter0 Output Compare Register.
215pub const OCR0A: *mut u8 = 0x47 as *mut u8;
216
217/// Timer/Counter0 Output Compare Register.
218pub const OCR0B: *mut u8 = 0x48 as *mut u8;
219
220/// General Purpose I/O Register 1.
221pub const GPIOR1: *mut u8 = 0x4A as *mut u8;
222
223/// General Purpose I/O Register 2.
224pub const GPIOR2: *mut u8 = 0x4B as *mut u8;
225
226/// SPI Control Register.
227///
228/// Bitfields:
229///
230/// | Name | Mask (binary) |
231/// | ---- | ------------- |
232/// | DORD | 100000 |
233/// | SPE | 1000000 |
234/// | SPIE | 10000000 |
235/// | MSTR | 10000 |
236/// | CPOL | 1000 |
237/// | CPHA | 100 |
238/// | SPR | 11 |
239pub const SPCR: *mut u8 = 0x4C as *mut u8;
240
241/// SPI Status Register.
242///
243/// Bitfields:
244///
245/// | Name | Mask (binary) |
246/// | ---- | ------------- |
247/// | WCOL | 1000000 |
248/// | SPI2X | 1 |
249/// | SPIF | 10000000 |
250pub const SPSR: *mut u8 = 0x4D as *mut u8;
251
252/// SPI Data Register.
253pub const SPDR: *mut u8 = 0x4E as *mut u8;
254
255/// Analog Comparator Control And Status Register.
256///
257/// Bitfields:
258///
259/// | Name | Mask (binary) |
260/// | ---- | ------------- |
261/// | ACIS | 11 |
262/// | ACO | 100000 |
263/// | ACI | 10000 |
264/// | ACBG | 1000000 |
265/// | ACIE | 1000 |
266/// | ACD | 10000000 |
267/// | ACIC | 100 |
268pub const ACSR: *mut u8 = 0x50 as *mut u8;
269
270/// Sleep Mode Control Register.
271///
272/// Bitfields:
273///
274/// | Name | Mask (binary) |
275/// | ---- | ------------- |
276/// | SE | 1 |
277/// | SM | 1110 |
278pub const SMCR: *mut u8 = 0x53 as *mut u8;
279
280/// MCU Status Register.
281///
282/// Bitfields:
283///
284/// | Name | Mask (binary) |
285/// | ---- | ------------- |
286/// | PORF | 1 |
287/// | EXTRF | 10 |
288/// | WDRF | 1000 |
289/// | BORF | 100 |
290pub const MCUSR: *mut u8 = 0x54 as *mut u8;
291
292/// MCU Control Register.
293///
294/// Bitfields:
295///
296/// | Name | Mask (binary) |
297/// | ---- | ------------- |
298/// | PUD | 10000 |
299/// | BODSE | 100000 |
300/// | IVSEL | 10 |
301/// | IVCE | 1 |
302/// | BODS | 1000000 |
303pub const MCUCR: *mut u8 = 0x55 as *mut u8;
304
305/// Store Program Memory Control and Status Register.
306///
307/// Bitfields:
308///
309/// | Name | Mask (binary) |
310/// | ---- | ------------- |
311/// | BLBSET | 1000 |
312/// | RWWSB | 1000000 |
313/// | PGERS | 10 |
314/// | SPMIE | 10000000 |
315/// | RWWSRE | 10000 |
316/// | SELFPRGEN | 1 |
317/// | PGWRT | 100 |
318pub const SPMCSR: *mut u8 = 0x57 as *mut u8;
319
320/// Stack Pointer  low byte.
321pub const SPL: *mut u8 = 0x5D as *mut u8;
322
323/// Stack Pointer.
324pub const SP: *mut u16 = 0x5D as *mut u16;
325
326/// Stack Pointer  high byte.
327pub const SPH: *mut u8 = 0x5E as *mut u8;
328
329/// Status Register.
330///
331/// Bitfields:
332///
333/// | Name | Mask (binary) |
334/// | ---- | ------------- |
335/// | I | 10000000 |
336/// | C | 1 |
337/// | S | 10000 |
338/// | H | 100000 |
339/// | N | 100 |
340/// | V | 1000 |
341/// | T | 1000000 |
342/// | Z | 10 |
343pub const SREG: *mut u8 = 0x5F as *mut u8;
344
345/// Watchdog Timer Control Register.
346///
347/// Bitfields:
348///
349/// | Name | Mask (binary) |
350/// | ---- | ------------- |
351/// | WDCE | 10000 |
352/// | WDE | 1000 |
353/// | WDP | 100111 |
354/// | WDIE | 1000000 |
355/// | WDIF | 10000000 |
356pub const WDTCSR: *mut u8 = 0x60 as *mut u8;
357
358/// Clock Prescale Register.
359///
360/// Bitfields:
361///
362/// | Name | Mask (binary) |
363/// | ---- | ------------- |
364/// | CLKPS | 1111 |
365/// | CLKPCE | 10000000 |
366pub const CLKPR: *mut u8 = 0x61 as *mut u8;
367
368/// Power Reduction Register.
369///
370/// Bitfields:
371///
372/// | Name | Mask (binary) |
373/// | ---- | ------------- |
374/// | PRTIM0 | 100000 |
375/// | PRTWI | 10000000 |
376/// | PRUSART0 | 10 |
377/// | PRTIM1 | 1000 |
378/// | PRADC | 1 |
379/// | PRSPI | 100 |
380/// | PRTIM2 | 1000000 |
381pub const PRR: *mut u8 = 0x64 as *mut u8;
382
383/// Oscillator Calibration Value.
384pub const OSCCAL: *mut u8 = 0x66 as *mut u8;
385
386/// Pin Change Interrupt Control Register.
387///
388/// Bitfields:
389///
390/// | Name | Mask (binary) |
391/// | ---- | ------------- |
392/// | PCIE | 111 |
393pub const PCICR: *mut u8 = 0x68 as *mut u8;
394
395/// External Interrupt Control Register.
396///
397/// Bitfields:
398///
399/// | Name | Mask (binary) |
400/// | ---- | ------------- |
401/// | ISC0 | 11 |
402/// | ISC1 | 1100 |
403pub const EICRA: *mut u8 = 0x69 as *mut u8;
404
405/// Pin Change Mask Register 0.
406pub const PCMSK0: *mut u8 = 0x6B as *mut u8;
407
408/// Pin Change Mask Register 1.
409pub const PCMSK1: *mut u8 = 0x6C as *mut u8;
410
411/// Pin Change Mask Register 2.
412pub const PCMSK2: *mut u8 = 0x6D as *mut u8;
413
414/// Timer/Counter0 Interrupt Mask Register.
415///
416/// Bitfields:
417///
418/// | Name | Mask (binary) |
419/// | ---- | ------------- |
420/// | OCIE0B | 100 |
421/// | TOIE0 | 1 |
422/// | OCIE0A | 10 |
423pub const TIMSK0: *mut u8 = 0x6E as *mut u8;
424
425/// Timer/Counter Interrupt Mask Register.
426///
427/// Bitfields:
428///
429/// | Name | Mask (binary) |
430/// | ---- | ------------- |
431/// | OCIE1B | 100 |
432/// | ICIE1 | 100000 |
433/// | TOIE1 | 1 |
434/// | OCIE1A | 10 |
435pub const TIMSK1: *mut u8 = 0x6F as *mut u8;
436
437/// Timer/Counter Interrupt Mask register.
438///
439/// Bitfields:
440///
441/// | Name | Mask (binary) |
442/// | ---- | ------------- |
443/// | TOIE2 | 1 |
444/// | OCIE2A | 10 |
445/// | OCIE2B | 100 |
446pub const TIMSK2: *mut u8 = 0x70 as *mut u8;
447
448/// ADC Data Register  Bytes.
449pub const ADC: *mut u16 = 0x78 as *mut u16;
450
451/// ADC Data Register  Bytes low byte.
452pub const ADCL: *mut u8 = 0x78 as *mut u8;
453
454/// ADC Data Register  Bytes high byte.
455pub const ADCH: *mut u8 = 0x79 as *mut u8;
456
457/// The ADC Control and Status register A.
458///
459/// Bitfields:
460///
461/// | Name | Mask (binary) |
462/// | ---- | ------------- |
463/// | ADPS | 111 |
464/// | ADEN | 10000000 |
465/// | ADSC | 1000000 |
466/// | ADATE | 100000 |
467/// | ADIE | 1000 |
468/// | ADIF | 10000 |
469pub const ADCSRA: *mut u8 = 0x7A as *mut u8;
470
471/// The ADC Control and Status register B.
472///
473/// Bitfields:
474///
475/// | Name | Mask (binary) |
476/// | ---- | ------------- |
477/// | ADTS | 111 |
478/// | ACME | 1000000 |
479pub const ADCSRB: *mut u8 = 0x7B as *mut u8;
480
481/// The ADC multiplexer Selection Register.
482///
483/// Bitfields:
484///
485/// | Name | Mask (binary) |
486/// | ---- | ------------- |
487/// | ADLAR | 100000 |
488/// | REFS | 11000000 |
489/// | MUX | 1111 |
490pub const ADMUX: *mut u8 = 0x7C as *mut u8;
491
492/// Digital Input Disable Register.
493///
494/// Bitfields:
495///
496/// | Name | Mask (binary) |
497/// | ---- | ------------- |
498/// | ADC2D | 100 |
499/// | ADC0D | 1 |
500/// | ADC3D | 1000 |
501/// | ADC1D | 10 |
502/// | ADC4D | 10000 |
503/// | ADC5D | 100000 |
504pub const DIDR0: *mut u8 = 0x7E as *mut u8;
505
506/// Digital Input Disable Register 1.
507///
508/// Bitfields:
509///
510/// | Name | Mask (binary) |
511/// | ---- | ------------- |
512/// | AIN0D | 1 |
513/// | AIN1D | 10 |
514pub const DIDR1: *mut u8 = 0x7F as *mut u8;
515
516/// Timer/Counter1 Control Register A.
517///
518/// Bitfields:
519///
520/// | Name | Mask (binary) |
521/// | ---- | ------------- |
522/// | COM1A | 11000000 |
523/// | COM1B | 110000 |
524pub const TCCR1A: *mut u8 = 0x80 as *mut u8;
525
526/// Timer/Counter1 Control Register B.
527///
528/// Bitfields:
529///
530/// | Name | Mask (binary) |
531/// | ---- | ------------- |
532/// | ICES1 | 1000000 |
533/// | ICNC1 | 10000000 |
534/// | CS1 | 111 |
535pub const TCCR1B: *mut u8 = 0x81 as *mut u8;
536
537/// Timer/Counter1 Control Register C.
538///
539/// Bitfields:
540///
541/// | Name | Mask (binary) |
542/// | ---- | ------------- |
543/// | FOC1B | 1000000 |
544/// | FOC1A | 10000000 |
545pub const TCCR1C: *mut u8 = 0x82 as *mut u8;
546
547/// Timer/Counter1  Bytes.
548pub const TCNT1: *mut u16 = 0x84 as *mut u16;
549
550/// Timer/Counter1  Bytes low byte.
551pub const TCNT1L: *mut u8 = 0x84 as *mut u8;
552
553/// Timer/Counter1  Bytes high byte.
554pub const TCNT1H: *mut u8 = 0x85 as *mut u8;
555
556/// Timer/Counter1 Input Capture Register  Bytes.
557pub const ICR1: *mut u16 = 0x86 as *mut u16;
558
559/// Timer/Counter1 Input Capture Register  Bytes low byte.
560pub const ICR1L: *mut u8 = 0x86 as *mut u8;
561
562/// Timer/Counter1 Input Capture Register  Bytes high byte.
563pub const ICR1H: *mut u8 = 0x87 as *mut u8;
564
565/// Timer/Counter1 Output Compare Register  Bytes low byte.
566pub const OCR1AL: *mut u8 = 0x88 as *mut u8;
567
568/// Timer/Counter1 Output Compare Register  Bytes.
569pub const OCR1A: *mut u16 = 0x88 as *mut u16;
570
571/// Timer/Counter1 Output Compare Register  Bytes high byte.
572pub const OCR1AH: *mut u8 = 0x89 as *mut u8;
573
574/// Timer/Counter1 Output Compare Register  Bytes.
575pub const OCR1B: *mut u16 = 0x8A as *mut u16;
576
577/// Timer/Counter1 Output Compare Register  Bytes low byte.
578pub const OCR1BL: *mut u8 = 0x8A as *mut u8;
579
580/// Timer/Counter1 Output Compare Register  Bytes high byte.
581pub const OCR1BH: *mut u8 = 0x8B as *mut u8;
582
583/// Timer/Counter2 Control Register A.
584///
585/// Bitfields:
586///
587/// | Name | Mask (binary) |
588/// | ---- | ------------- |
589/// | COM2A | 11000000 |
590/// | WGM2 | 11 |
591/// | COM2B | 110000 |
592pub const TCCR2A: *mut u8 = 0xB0 as *mut u8;
593
594/// Timer/Counter2 Control Register B.
595///
596/// Bitfields:
597///
598/// | Name | Mask (binary) |
599/// | ---- | ------------- |
600/// | CS2 | 111 |
601/// | WGM22 | 1000 |
602/// | FOC2B | 1000000 |
603/// | FOC2A | 10000000 |
604pub const TCCR2B: *mut u8 = 0xB1 as *mut u8;
605
606/// Timer/Counter2.
607pub const TCNT2: *mut u8 = 0xB2 as *mut u8;
608
609/// Timer/Counter2 Output Compare Register A.
610pub const OCR2A: *mut u8 = 0xB3 as *mut u8;
611
612/// Timer/Counter2 Output Compare Register B.
613pub const OCR2B: *mut u8 = 0xB4 as *mut u8;
614
615/// Asynchronous Status Register.
616///
617/// Bitfields:
618///
619/// | Name | Mask (binary) |
620/// | ---- | ------------- |
621/// | EXCLK | 1000000 |
622/// | TCR2BUB | 1 |
623/// | AS2 | 100000 |
624/// | TCN2UB | 10000 |
625/// | OCR2AUB | 1000 |
626/// | OCR2BUB | 100 |
627/// | TCR2AUB | 10 |
628pub const ASSR: *mut u8 = 0xB6 as *mut u8;
629
630/// TWI Bit Rate register.
631pub const TWBR: *mut u8 = 0xB8 as *mut u8;
632
633/// TWI Status Register.
634///
635/// Bitfields:
636///
637/// | Name | Mask (binary) |
638/// | ---- | ------------- |
639/// | TWPS | 11 |
640/// | TWS | 11111000 |
641pub const TWSR: *mut u8 = 0xB9 as *mut u8;
642
643/// TWI (Slave) Address register.
644///
645/// Bitfields:
646///
647/// | Name | Mask (binary) |
648/// | ---- | ------------- |
649/// | TWGCE | 1 |
650/// | TWA | 11111110 |
651pub const TWAR: *mut u8 = 0xBA as *mut u8;
652
653/// TWI Data register.
654pub const TWDR: *mut u8 = 0xBB as *mut u8;
655
656/// TWI Control Register.
657///
658/// Bitfields:
659///
660/// | Name | Mask (binary) |
661/// | ---- | ------------- |
662/// | TWWC | 1000 |
663/// | TWEA | 1000000 |
664/// | TWIE | 1 |
665/// | TWSTA | 100000 |
666/// | TWSTO | 10000 |
667/// | TWEN | 100 |
668/// | TWINT | 10000000 |
669pub const TWCR: *mut u8 = 0xBC as *mut u8;
670
671/// TWI (Slave) Address Mask Register.
672///
673/// Bitfields:
674///
675/// | Name | Mask (binary) |
676/// | ---- | ------------- |
677/// | TWAM | 11111110 |
678pub const TWAMR: *mut u8 = 0xBD as *mut u8;
679
680/// USART Control and Status Register A.
681///
682/// Bitfields:
683///
684/// | Name | Mask (binary) |
685/// | ---- | ------------- |
686/// | UDRE0 | 100000 |
687/// | DOR0 | 1000 |
688/// | U2X0 | 10 |
689/// | MPCM0 | 1 |
690/// | UPE0 | 100 |
691/// | FE0 | 10000 |
692/// | TXC0 | 1000000 |
693/// | RXC0 | 10000000 |
694pub const UCSR0A: *mut u8 = 0xC0 as *mut u8;
695
696/// USART Control and Status Register B.
697///
698/// Bitfields:
699///
700/// | Name | Mask (binary) |
701/// | ---- | ------------- |
702/// | TXCIE0 | 1000000 |
703/// | RXB80 | 10 |
704/// | RXCIE0 | 10000000 |
705/// | TXB80 | 1 |
706/// | RXEN0 | 10000 |
707/// | UCSZ02 | 100 |
708/// | TXEN0 | 1000 |
709/// | UDRIE0 | 100000 |
710pub const UCSR0B: *mut u8 = 0xC1 as *mut u8;
711
712/// USART Control and Status Register C.
713///
714/// Bitfields:
715///
716/// | Name | Mask (binary) |
717/// | ---- | ------------- |
718/// | UMSEL0 | 11000000 |
719/// | USBS0 | 1000 |
720/// | UPM0 | 110000 |
721/// | UCSZ0 | 110 |
722/// | UCPOL0 | 1 |
723pub const UCSR0C: *mut u8 = 0xC2 as *mut u8;
724
725/// USART Baud Rate Register  Bytes.
726pub const UBRR0: *mut u16 = 0xC4 as *mut u16;
727
728/// USART Baud Rate Register  Bytes low byte.
729pub const UBRR0L: *mut u8 = 0xC4 as *mut u8;
730
731/// USART Baud Rate Register  Bytes high byte.
732pub const UBRR0H: *mut u8 = 0xC5 as *mut u8;
733
734/// USART I/O Data Register.
735pub const UDR0: *mut u8 = 0xC6 as *mut u8;
736
737/// Bitfield on register `ACSR`
738pub const ACIS: *mut u8 = 0x3 as *mut u8;
739
740/// Bitfield on register `ACSR`
741pub const ACO: *mut u8 = 0x20 as *mut u8;
742
743/// Bitfield on register `ACSR`
744pub const ACI: *mut u8 = 0x10 as *mut u8;
745
746/// Bitfield on register `ACSR`
747pub const ACBG: *mut u8 = 0x40 as *mut u8;
748
749/// Bitfield on register `ACSR`
750pub const ACIE: *mut u8 = 0x8 as *mut u8;
751
752/// Bitfield on register `ACSR`
753pub const ACD: *mut u8 = 0x80 as *mut u8;
754
755/// Bitfield on register `ACSR`
756pub const ACIC: *mut u8 = 0x4 as *mut u8;
757
758/// Bitfield on register `ADCSRA`
759pub const ADPS: *mut u8 = 0x7 as *mut u8;
760
761/// Bitfield on register `ADCSRA`
762pub const ADEN: *mut u8 = 0x80 as *mut u8;
763
764/// Bitfield on register `ADCSRA`
765pub const ADSC: *mut u8 = 0x40 as *mut u8;
766
767/// Bitfield on register `ADCSRA`
768pub const ADATE: *mut u8 = 0x20 as *mut u8;
769
770/// Bitfield on register `ADCSRA`
771pub const ADIE: *mut u8 = 0x8 as *mut u8;
772
773/// Bitfield on register `ADCSRA`
774pub const ADIF: *mut u8 = 0x10 as *mut u8;
775
776/// Bitfield on register `ADCSRB`
777pub const ADTS: *mut u8 = 0x7 as *mut u8;
778
779/// Bitfield on register `ADCSRB`
780pub const ACME: *mut u8 = 0x40 as *mut u8;
781
782/// Bitfield on register `ADMUX`
783pub const ADLAR: *mut u8 = 0x20 as *mut u8;
784
785/// Bitfield on register `ADMUX`
786pub const REFS: *mut u8 = 0xC0 as *mut u8;
787
788/// Bitfield on register `ADMUX`
789pub const MUX: *mut u8 = 0xF as *mut u8;
790
791/// Bitfield on register `ASSR`
792pub const EXCLK: *mut u8 = 0x40 as *mut u8;
793
794/// Bitfield on register `ASSR`
795pub const TCR2BUB: *mut u8 = 0x1 as *mut u8;
796
797/// Bitfield on register `ASSR`
798pub const AS2: *mut u8 = 0x20 as *mut u8;
799
800/// Bitfield on register `ASSR`
801pub const TCN2UB: *mut u8 = 0x10 as *mut u8;
802
803/// Bitfield on register `ASSR`
804pub const OCR2AUB: *mut u8 = 0x8 as *mut u8;
805
806/// Bitfield on register `ASSR`
807pub const OCR2BUB: *mut u8 = 0x4 as *mut u8;
808
809/// Bitfield on register `ASSR`
810pub const TCR2AUB: *mut u8 = 0x2 as *mut u8;
811
812/// Bitfield on register `CLKPR`
813pub const CLKPS: *mut u8 = 0xF as *mut u8;
814
815/// Bitfield on register `CLKPR`
816pub const CLKPCE: *mut u8 = 0x80 as *mut u8;
817
818/// Bitfield on register `DIDR0`
819pub const ADC2D: *mut u8 = 0x4 as *mut u8;
820
821/// Bitfield on register `DIDR0`
822pub const ADC0D: *mut u8 = 0x1 as *mut u8;
823
824/// Bitfield on register `DIDR0`
825pub const ADC3D: *mut u8 = 0x8 as *mut u8;
826
827/// Bitfield on register `DIDR0`
828pub const ADC1D: *mut u8 = 0x2 as *mut u8;
829
830/// Bitfield on register `DIDR0`
831pub const ADC4D: *mut u8 = 0x10 as *mut u8;
832
833/// Bitfield on register `DIDR0`
834pub const ADC5D: *mut u8 = 0x20 as *mut u8;
835
836/// Bitfield on register `DIDR1`
837pub const AIN0D: *mut u8 = 0x1 as *mut u8;
838
839/// Bitfield on register `DIDR1`
840pub const AIN1D: *mut u8 = 0x2 as *mut u8;
841
842/// Bitfield on register `EECR`
843pub const EERIE: *mut u8 = 0x8 as *mut u8;
844
845/// Bitfield on register `EECR`
846pub const EEPM: *mut u8 = 0x30 as *mut u8;
847
848/// Bitfield on register `EECR`
849pub const EEPE: *mut u8 = 0x2 as *mut u8;
850
851/// Bitfield on register `EECR`
852pub const EEMPE: *mut u8 = 0x4 as *mut u8;
853
854/// Bitfield on register `EECR`
855pub const EERE: *mut u8 = 0x1 as *mut u8;
856
857/// Bitfield on register `EICRA`
858pub const ISC0: *mut u8 = 0x3 as *mut u8;
859
860/// Bitfield on register `EICRA`
861pub const ISC1: *mut u8 = 0xC as *mut u8;
862
863/// Bitfield on register `EIFR`
864pub const INTF: *mut u8 = 0x3 as *mut u8;
865
866/// Bitfield on register `EIMSK`
867pub const INT: *mut u8 = 0x3 as *mut u8;
868
869/// Bitfield on register `EXTENDED`
870pub const BOOTRST: *mut u8 = 0x1 as *mut u8;
871
872/// Bitfield on register `EXTENDED`
873pub const BOOTSZ: *mut u8 = 0x6 as *mut u8;
874
875/// Bitfield on register `GTCCR`
876pub const PSRSYNC: *mut u8 = 0x1 as *mut u8;
877
878/// Bitfield on register `GTCCR`
879pub const TSM: *mut u8 = 0x80 as *mut u8;
880
881/// Bitfield on register `HIGH`
882pub const EESAVE: *mut u8 = 0x8 as *mut u8;
883
884/// Bitfield on register `HIGH`
885pub const RSTDISBL: *mut u8 = 0x80 as *mut u8;
886
887/// Bitfield on register `HIGH`
888pub const DWEN: *mut u8 = 0x40 as *mut u8;
889
890/// Bitfield on register `HIGH`
891pub const SPIEN: *mut u8 = 0x20 as *mut u8;
892
893/// Bitfield on register `HIGH`
894pub const BODLEVEL: *mut u8 = 0x7 as *mut u8;
895
896/// Bitfield on register `HIGH`
897pub const WDTON: *mut u8 = 0x10 as *mut u8;
898
899/// Bitfield on register `LOCKBIT`
900pub const BLB1: *mut u8 = 0x30 as *mut u8;
901
902/// Bitfield on register `LOCKBIT`
903pub const BLB0: *mut u8 = 0xC as *mut u8;
904
905/// Bitfield on register `LOCKBIT`
906pub const LB: *mut u8 = 0x3 as *mut u8;
907
908/// Bitfield on register `LOW`
909pub const SUT_CKSEL: *mut u8 = 0x3F as *mut u8;
910
911/// Bitfield on register `LOW`
912pub const CKDIV8: *mut u8 = 0x80 as *mut u8;
913
914/// Bitfield on register `LOW`
915pub const CKOUT: *mut u8 = 0x40 as *mut u8;
916
917/// Bitfield on register `MCUCR`
918pub const PUD: *mut u8 = 0x10 as *mut u8;
919
920/// Bitfield on register `MCUCR`
921pub const BODSE: *mut u8 = 0x20 as *mut u8;
922
923/// Bitfield on register `MCUCR`
924pub const IVSEL: *mut u8 = 0x2 as *mut u8;
925
926/// Bitfield on register `MCUCR`
927pub const IVCE: *mut u8 = 0x1 as *mut u8;
928
929/// Bitfield on register `MCUCR`
930pub const BODS: *mut u8 = 0x40 as *mut u8;
931
932/// Bitfield on register `MCUSR`
933pub const PORF: *mut u8 = 0x1 as *mut u8;
934
935/// Bitfield on register `MCUSR`
936pub const EXTRF: *mut u8 = 0x2 as *mut u8;
937
938/// Bitfield on register `MCUSR`
939pub const WDRF: *mut u8 = 0x8 as *mut u8;
940
941/// Bitfield on register `MCUSR`
942pub const BORF: *mut u8 = 0x4 as *mut u8;
943
944/// Bitfield on register `PCICR`
945pub const PCIE: *mut u8 = 0x7 as *mut u8;
946
947/// Bitfield on register `PCIFR`
948pub const PCIF: *mut u8 = 0x7 as *mut u8;
949
950/// Bitfield on register `PRR`
951pub const PRTIM0: *mut u8 = 0x20 as *mut u8;
952
953/// Bitfield on register `PRR`
954pub const PRTWI: *mut u8 = 0x80 as *mut u8;
955
956/// Bitfield on register `PRR`
957pub const PRUSART0: *mut u8 = 0x2 as *mut u8;
958
959/// Bitfield on register `PRR`
960pub const PRTIM1: *mut u8 = 0x8 as *mut u8;
961
962/// Bitfield on register `PRR`
963pub const PRADC: *mut u8 = 0x1 as *mut u8;
964
965/// Bitfield on register `PRR`
966pub const PRSPI: *mut u8 = 0x4 as *mut u8;
967
968/// Bitfield on register `PRR`
969pub const PRTIM2: *mut u8 = 0x40 as *mut u8;
970
971/// Bitfield on register `SMCR`
972pub const SE: *mut u8 = 0x1 as *mut u8;
973
974/// Bitfield on register `SMCR`
975pub const SM: *mut u8 = 0xE as *mut u8;
976
977/// Bitfield on register `SPCR`
978pub const DORD: *mut u8 = 0x20 as *mut u8;
979
980/// Bitfield on register `SPCR`
981pub const SPE: *mut u8 = 0x40 as *mut u8;
982
983/// Bitfield on register `SPCR`
984pub const SPIE: *mut u8 = 0x80 as *mut u8;
985
986/// Bitfield on register `SPCR`
987pub const MSTR: *mut u8 = 0x10 as *mut u8;
988
989/// Bitfield on register `SPCR`
990pub const CPOL: *mut u8 = 0x8 as *mut u8;
991
992/// Bitfield on register `SPCR`
993pub const CPHA: *mut u8 = 0x4 as *mut u8;
994
995/// Bitfield on register `SPCR`
996pub const SPR: *mut u8 = 0x3 as *mut u8;
997
998/// Bitfield on register `SPMCSR`
999pub const BLBSET: *mut u8 = 0x8 as *mut u8;
1000
1001/// Bitfield on register `SPMCSR`
1002pub const RWWSB: *mut u8 = 0x40 as *mut u8;
1003
1004/// Bitfield on register `SPMCSR`
1005pub const PGERS: *mut u8 = 0x2 as *mut u8;
1006
1007/// Bitfield on register `SPMCSR`
1008pub const SPMIE: *mut u8 = 0x80 as *mut u8;
1009
1010/// Bitfield on register `SPMCSR`
1011pub const RWWSRE: *mut u8 = 0x10 as *mut u8;
1012
1013/// Bitfield on register `SPMCSR`
1014pub const SELFPRGEN: *mut u8 = 0x1 as *mut u8;
1015
1016/// Bitfield on register `SPMCSR`
1017pub const PGWRT: *mut u8 = 0x4 as *mut u8;
1018
1019/// Bitfield on register `SPSR`
1020pub const WCOL: *mut u8 = 0x40 as *mut u8;
1021
1022/// Bitfield on register `SPSR`
1023pub const SPI2X: *mut u8 = 0x1 as *mut u8;
1024
1025/// Bitfield on register `SPSR`
1026pub const SPIF: *mut u8 = 0x80 as *mut u8;
1027
1028/// Bitfield on register `SREG`
1029pub const I: *mut u8 = 0x80 as *mut u8;
1030
1031/// Bitfield on register `SREG`
1032pub const C: *mut u8 = 0x1 as *mut u8;
1033
1034/// Bitfield on register `SREG`
1035pub const S: *mut u8 = 0x10 as *mut u8;
1036
1037/// Bitfield on register `SREG`
1038pub const H: *mut u8 = 0x20 as *mut u8;
1039
1040/// Bitfield on register `SREG`
1041pub const N: *mut u8 = 0x4 as *mut u8;
1042
1043/// Bitfield on register `SREG`
1044pub const V: *mut u8 = 0x8 as *mut u8;
1045
1046/// Bitfield on register `SREG`
1047pub const T: *mut u8 = 0x40 as *mut u8;
1048
1049/// Bitfield on register `SREG`
1050pub const Z: *mut u8 = 0x2 as *mut u8;
1051
1052/// Bitfield on register `TCCR0A`
1053pub const WGM0: *mut u8 = 0x3 as *mut u8;
1054
1055/// Bitfield on register `TCCR0A`
1056pub const COM0A: *mut u8 = 0xC0 as *mut u8;
1057
1058/// Bitfield on register `TCCR0A`
1059pub const COM0B: *mut u8 = 0x30 as *mut u8;
1060
1061/// Bitfield on register `TCCR0B`
1062pub const FOC0B: *mut u8 = 0x40 as *mut u8;
1063
1064/// Bitfield on register `TCCR0B`
1065pub const CS0: *mut u8 = 0x7 as *mut u8;
1066
1067/// Bitfield on register `TCCR0B`
1068pub const FOC0A: *mut u8 = 0x80 as *mut u8;
1069
1070/// Bitfield on register `TCCR0B`
1071pub const WGM02: *mut u8 = 0x8 as *mut u8;
1072
1073/// Bitfield on register `TCCR1A`
1074pub const COM1A: *mut u8 = 0xC0 as *mut u8;
1075
1076/// Bitfield on register `TCCR1A`
1077pub const COM1B: *mut u8 = 0x30 as *mut u8;
1078
1079/// Bitfield on register `TCCR1B`
1080pub const ICES1: *mut u8 = 0x40 as *mut u8;
1081
1082/// Bitfield on register `TCCR1B`
1083pub const ICNC1: *mut u8 = 0x80 as *mut u8;
1084
1085/// Bitfield on register `TCCR1B`
1086pub const CS1: *mut u8 = 0x7 as *mut u8;
1087
1088/// Bitfield on register `TCCR1C`
1089pub const FOC1B: *mut u8 = 0x40 as *mut u8;
1090
1091/// Bitfield on register `TCCR1C`
1092pub const FOC1A: *mut u8 = 0x80 as *mut u8;
1093
1094/// Bitfield on register `TCCR2A`
1095pub const COM2A: *mut u8 = 0xC0 as *mut u8;
1096
1097/// Bitfield on register `TCCR2A`
1098pub const WGM2: *mut u8 = 0x3 as *mut u8;
1099
1100/// Bitfield on register `TCCR2A`
1101pub const COM2B: *mut u8 = 0x30 as *mut u8;
1102
1103/// Bitfield on register `TCCR2B`
1104pub const CS2: *mut u8 = 0x7 as *mut u8;
1105
1106/// Bitfield on register `TCCR2B`
1107pub const WGM22: *mut u8 = 0x8 as *mut u8;
1108
1109/// Bitfield on register `TCCR2B`
1110pub const FOC2B: *mut u8 = 0x40 as *mut u8;
1111
1112/// Bitfield on register `TCCR2B`
1113pub const FOC2A: *mut u8 = 0x80 as *mut u8;
1114
1115/// Bitfield on register `TIFR0`
1116pub const OCF0A: *mut u8 = 0x2 as *mut u8;
1117
1118/// Bitfield on register `TIFR0`
1119pub const TOV0: *mut u8 = 0x1 as *mut u8;
1120
1121/// Bitfield on register `TIFR0`
1122pub const OCF0B: *mut u8 = 0x4 as *mut u8;
1123
1124/// Bitfield on register `TIFR1`
1125pub const OCF1A: *mut u8 = 0x2 as *mut u8;
1126
1127/// Bitfield on register `TIFR1`
1128pub const TOV1: *mut u8 = 0x1 as *mut u8;
1129
1130/// Bitfield on register `TIFR1`
1131pub const ICF1: *mut u8 = 0x20 as *mut u8;
1132
1133/// Bitfield on register `TIFR1`
1134pub const OCF1B: *mut u8 = 0x4 as *mut u8;
1135
1136/// Bitfield on register `TIFR2`
1137pub const OCF2A: *mut u8 = 0x2 as *mut u8;
1138
1139/// Bitfield on register `TIFR2`
1140pub const OCF2B: *mut u8 = 0x4 as *mut u8;
1141
1142/// Bitfield on register `TIFR2`
1143pub const TOV2: *mut u8 = 0x1 as *mut u8;
1144
1145/// Bitfield on register `TIMSK0`
1146pub const OCIE0B: *mut u8 = 0x4 as *mut u8;
1147
1148/// Bitfield on register `TIMSK0`
1149pub const TOIE0: *mut u8 = 0x1 as *mut u8;
1150
1151/// Bitfield on register `TIMSK0`
1152pub const OCIE0A: *mut u8 = 0x2 as *mut u8;
1153
1154/// Bitfield on register `TIMSK1`
1155pub const OCIE1B: *mut u8 = 0x4 as *mut u8;
1156
1157/// Bitfield on register `TIMSK1`
1158pub const ICIE1: *mut u8 = 0x20 as *mut u8;
1159
1160/// Bitfield on register `TIMSK1`
1161pub const TOIE1: *mut u8 = 0x1 as *mut u8;
1162
1163/// Bitfield on register `TIMSK1`
1164pub const OCIE1A: *mut u8 = 0x2 as *mut u8;
1165
1166/// Bitfield on register `TIMSK2`
1167pub const TOIE2: *mut u8 = 0x1 as *mut u8;
1168
1169/// Bitfield on register `TIMSK2`
1170pub const OCIE2A: *mut u8 = 0x2 as *mut u8;
1171
1172/// Bitfield on register `TIMSK2`
1173pub const OCIE2B: *mut u8 = 0x4 as *mut u8;
1174
1175/// Bitfield on register `TWAMR`
1176pub const TWAM: *mut u8 = 0xFE as *mut u8;
1177
1178/// Bitfield on register `TWAR`
1179pub const TWGCE: *mut u8 = 0x1 as *mut u8;
1180
1181/// Bitfield on register `TWAR`
1182pub const TWA: *mut u8 = 0xFE as *mut u8;
1183
1184/// Bitfield on register `TWCR`
1185pub const TWWC: *mut u8 = 0x8 as *mut u8;
1186
1187/// Bitfield on register `TWCR`
1188pub const TWEA: *mut u8 = 0x40 as *mut u8;
1189
1190/// Bitfield on register `TWCR`
1191pub const TWIE: *mut u8 = 0x1 as *mut u8;
1192
1193/// Bitfield on register `TWCR`
1194pub const TWSTA: *mut u8 = 0x20 as *mut u8;
1195
1196/// Bitfield on register `TWCR`
1197pub const TWSTO: *mut u8 = 0x10 as *mut u8;
1198
1199/// Bitfield on register `TWCR`
1200pub const TWEN: *mut u8 = 0x4 as *mut u8;
1201
1202/// Bitfield on register `TWCR`
1203pub const TWINT: *mut u8 = 0x80 as *mut u8;
1204
1205/// Bitfield on register `TWSR`
1206pub const TWPS: *mut u8 = 0x3 as *mut u8;
1207
1208/// Bitfield on register `TWSR`
1209pub const TWS: *mut u8 = 0xF8 as *mut u8;
1210
1211/// Bitfield on register `UCSR0A`
1212pub const UDRE0: *mut u8 = 0x20 as *mut u8;
1213
1214/// Bitfield on register `UCSR0A`
1215pub const DOR0: *mut u8 = 0x8 as *mut u8;
1216
1217/// Bitfield on register `UCSR0A`
1218pub const U2X0: *mut u8 = 0x2 as *mut u8;
1219
1220/// Bitfield on register `UCSR0A`
1221pub const MPCM0: *mut u8 = 0x1 as *mut u8;
1222
1223/// Bitfield on register `UCSR0A`
1224pub const UPE0: *mut u8 = 0x4 as *mut u8;
1225
1226/// Bitfield on register `UCSR0A`
1227pub const FE0: *mut u8 = 0x10 as *mut u8;
1228
1229/// Bitfield on register `UCSR0A`
1230pub const TXC0: *mut u8 = 0x40 as *mut u8;
1231
1232/// Bitfield on register `UCSR0A`
1233pub const RXC0: *mut u8 = 0x80 as *mut u8;
1234
1235/// Bitfield on register `UCSR0B`
1236pub const TXCIE0: *mut u8 = 0x40 as *mut u8;
1237
1238/// Bitfield on register `UCSR0B`
1239pub const RXB80: *mut u8 = 0x2 as *mut u8;
1240
1241/// Bitfield on register `UCSR0B`
1242pub const RXCIE0: *mut u8 = 0x80 as *mut u8;
1243
1244/// Bitfield on register `UCSR0B`
1245pub const TXB80: *mut u8 = 0x1 as *mut u8;
1246
1247/// Bitfield on register `UCSR0B`
1248pub const RXEN0: *mut u8 = 0x10 as *mut u8;
1249
1250/// Bitfield on register `UCSR0B`
1251pub const UCSZ02: *mut u8 = 0x4 as *mut u8;
1252
1253/// Bitfield on register `UCSR0B`
1254pub const TXEN0: *mut u8 = 0x8 as *mut u8;
1255
1256/// Bitfield on register `UCSR0B`
1257pub const UDRIE0: *mut u8 = 0x20 as *mut u8;
1258
1259/// Bitfield on register `UCSR0C`
1260pub const UMSEL0: *mut u8 = 0xC0 as *mut u8;
1261
1262/// Bitfield on register `UCSR0C`
1263pub const USBS0: *mut u8 = 0x8 as *mut u8;
1264
1265/// Bitfield on register `UCSR0C`
1266pub const UPM0: *mut u8 = 0x30 as *mut u8;
1267
1268/// Bitfield on register `UCSR0C`
1269pub const UCSZ0: *mut u8 = 0x6 as *mut u8;
1270
1271/// Bitfield on register `UCSR0C`
1272pub const UCPOL0: *mut u8 = 0x1 as *mut u8;
1273
1274/// Bitfield on register `WDTCSR`
1275pub const WDCE: *mut u8 = 0x10 as *mut u8;
1276
1277/// Bitfield on register `WDTCSR`
1278pub const WDE: *mut u8 = 0x8 as *mut u8;
1279
1280/// Bitfield on register `WDTCSR`
1281pub const WDP: *mut u8 = 0x27 as *mut u8;
1282
1283/// Bitfield on register `WDTCSR`
1284pub const WDIE: *mut u8 = 0x40 as *mut u8;
1285
1286/// Bitfield on register `WDTCSR`
1287pub const WDIF: *mut u8 = 0x80 as *mut u8;
1288
1289/// `ADC_MUX_SINGLE` value group
1290#[allow(non_upper_case_globals)]
1291pub mod adc_mux_single {
1292   /// ADC Single Ended Input pin 0.
1293   pub const ADC0: u32 = 0x0;
1294   /// ADC Single Ended Input pin 1.
1295   pub const ADC1: u32 = 0x1;
1296   /// ADC Single Ended Input pin 2.
1297   pub const ADC2: u32 = 0x2;
1298   /// ADC Single Ended Input pin 3.
1299   pub const ADC3: u32 = 0x3;
1300   /// ADC Single Ended Input pin 4.
1301   pub const ADC4: u32 = 0x4;
1302   /// ADC Single Ended Input pin 5.
1303   pub const ADC5: u32 = 0x5;
1304   /// ADC Single Ended Input pin 6.
1305   pub const ADC6: u32 = 0x6;
1306   /// ADC Single Ended Input pin 7.
1307   pub const ADC7: u32 = 0x7;
1308   /// Temperature sensor.
1309   pub const TEMPSENS: u32 = 0x8;
1310   /// Internal Reference (VBG).
1311   pub const ADC_VBG: u32 = 0xE;
1312   /// 0V (GND).
1313   pub const ADC_GND: u32 = 0xF;
1314}
1315
1316/// `ANALOG_ADC_AUTO_TRIGGER` value group
1317#[allow(non_upper_case_globals)]
1318pub mod analog_adc_auto_trigger {
1319   /// Free Running mode.
1320   pub const VAL_0x00: u32 = 0x0;
1321   /// Analog Comparator.
1322   pub const VAL_0x01: u32 = 0x1;
1323   /// External Interrupt Request 0.
1324   pub const VAL_0x02: u32 = 0x2;
1325   /// Timer/Counter0 Compare Match A.
1326   pub const VAL_0x03: u32 = 0x3;
1327   /// Timer/Counter0 Overflow.
1328   pub const VAL_0x04: u32 = 0x4;
1329   /// Timer/Counter1 Compare Match B.
1330   pub const VAL_0x05: u32 = 0x5;
1331   /// Timer/Counter1 Overflow.
1332   pub const VAL_0x06: u32 = 0x6;
1333   /// Timer/Counter1 Capture Event.
1334   pub const VAL_0x07: u32 = 0x7;
1335}
1336
1337/// `ANALOG_ADC_PRESCALER` value group
1338#[allow(non_upper_case_globals)]
1339pub mod analog_adc_prescaler {
1340   /// 2.
1341   pub const VAL_0x00: u32 = 0x0;
1342   /// 2.
1343   pub const VAL_0x01: u32 = 0x1;
1344   /// 4.
1345   pub const VAL_0x02: u32 = 0x2;
1346   /// 8.
1347   pub const VAL_0x03: u32 = 0x3;
1348   /// 16.
1349   pub const VAL_0x04: u32 = 0x4;
1350   /// 32.
1351   pub const VAL_0x05: u32 = 0x5;
1352   /// 64.
1353   pub const VAL_0x06: u32 = 0x6;
1354   /// 128.
1355   pub const VAL_0x07: u32 = 0x7;
1356}
1357
1358/// `ANALOG_ADC_V_REF3` value group
1359#[allow(non_upper_case_globals)]
1360pub mod analog_adc_v_ref3 {
1361   /// AREF, Internal Vref turned off.
1362   pub const VAL_0x00: u32 = 0x0;
1363   /// AVCC with external capacitor at AREF pin.
1364   pub const VAL_0x01: u32 = 0x1;
1365   /// Reserved.
1366   pub const VAL_0x02: u32 = 0x2;
1367   /// Internal 1.1V Voltage Reference with external capacitor at AREF pin.
1368   pub const VAL_0x03: u32 = 0x3;
1369}
1370
1371/// `ANALOG_COMP_INTERRUPT` value group
1372#[allow(non_upper_case_globals)]
1373pub mod analog_comp_interrupt {
1374   /// Interrupt on Toggle.
1375   pub const VAL_0x00: u32 = 0x0;
1376   /// Reserved.
1377   pub const VAL_0x01: u32 = 0x1;
1378   /// Interrupt on Falling Edge.
1379   pub const VAL_0x02: u32 = 0x2;
1380   /// Interrupt on Rising Edge.
1381   pub const VAL_0x03: u32 = 0x3;
1382}
1383
1384/// `CLK_SEL_3BIT` value group
1385#[allow(non_upper_case_globals)]
1386pub mod clk_sel_3bit {
1387   /// No Clock Source (Stopped).
1388   pub const VAL_0x00: u32 = 0x0;
1389   /// Running, No Prescaling.
1390   pub const VAL_0x01: u32 = 0x1;
1391   /// Running, CLK/8.
1392   pub const VAL_0x02: u32 = 0x2;
1393   /// Running, CLK/32.
1394   pub const VAL_0x03: u32 = 0x3;
1395   /// Running, CLK/64.
1396   pub const VAL_0x04: u32 = 0x4;
1397   /// Running, CLK/128.
1398   pub const VAL_0x05: u32 = 0x5;
1399   /// Running, CLK/256.
1400   pub const VAL_0x06: u32 = 0x6;
1401   /// Running, CLK/1024.
1402   pub const VAL_0x07: u32 = 0x7;
1403}
1404
1405/// `CLK_SEL_3BIT_EXT` value group
1406#[allow(non_upper_case_globals)]
1407pub mod clk_sel_3bit_ext {
1408   /// No Clock Source (Stopped).
1409   pub const VAL_0x00: u32 = 0x0;
1410   /// Running, No Prescaling.
1411   pub const VAL_0x01: u32 = 0x1;
1412   /// Running, CLK/8.
1413   pub const VAL_0x02: u32 = 0x2;
1414   /// Running, CLK/64.
1415   pub const VAL_0x03: u32 = 0x3;
1416   /// Running, CLK/256.
1417   pub const VAL_0x04: u32 = 0x4;
1418   /// Running, CLK/1024.
1419   pub const VAL_0x05: u32 = 0x5;
1420   /// Running, ExtClk Tx Falling Edge.
1421   pub const VAL_0x06: u32 = 0x6;
1422   /// Running, ExtClk Tx Rising Edge.
1423   pub const VAL_0x07: u32 = 0x7;
1424}
1425
1426/// `COMM_SCK_RATE_3BIT` value group
1427#[allow(non_upper_case_globals)]
1428pub mod comm_sck_rate_3bit {
1429   /// fosc/4.
1430   pub const VAL_0x00: u32 = 0x0;
1431   /// fosc/16.
1432   pub const VAL_0x01: u32 = 0x1;
1433   /// fosc/64.
1434   pub const VAL_0x02: u32 = 0x2;
1435   /// fosc/128.
1436   pub const VAL_0x03: u32 = 0x3;
1437   /// fosc/2.
1438   pub const VAL_0x04: u32 = 0x4;
1439   /// fosc/8.
1440   pub const VAL_0x05: u32 = 0x5;
1441   /// fosc/32.
1442   pub const VAL_0x06: u32 = 0x6;
1443   /// fosc/64.
1444   pub const VAL_0x07: u32 = 0x7;
1445}
1446
1447/// `COMM_STOP_BIT_SEL` value group
1448#[allow(non_upper_case_globals)]
1449pub mod comm_stop_bit_sel {
1450   /// 1-bit.
1451   pub const VAL_0x00: u32 = 0x0;
1452   /// 2-bit.
1453   pub const VAL_0x01: u32 = 0x1;
1454}
1455
1456/// `COMM_TWI_PRESACLE` value group
1457#[allow(non_upper_case_globals)]
1458pub mod comm_twi_presacle {
1459   /// 1.
1460   pub const VAL_0x00: u32 = 0x0;
1461   /// 4.
1462   pub const VAL_0x01: u32 = 0x1;
1463   /// 16.
1464   pub const VAL_0x02: u32 = 0x2;
1465   /// 64.
1466   pub const VAL_0x03: u32 = 0x3;
1467}
1468
1469/// `COMM_UPM_PARITY_MODE` value group
1470#[allow(non_upper_case_globals)]
1471pub mod comm_upm_parity_mode {
1472   /// Disabled.
1473   pub const VAL_0x00: u32 = 0x0;
1474   /// Reserved.
1475   pub const VAL_0x01: u32 = 0x1;
1476   /// Enabled, Even Parity.
1477   pub const VAL_0x02: u32 = 0x2;
1478   /// Enabled, Odd Parity.
1479   pub const VAL_0x03: u32 = 0x3;
1480}
1481
1482/// `COMM_USART_MODE_2BIT` value group
1483#[allow(non_upper_case_globals)]
1484pub mod comm_usart_mode_2bit {
1485   /// Asynchronous USART.
1486   pub const VAL_0x00: u32 = 0x0;
1487   /// Synchronous USART.
1488   pub const VAL_0x01: u32 = 0x1;
1489   /// Master SPI.
1490   pub const VAL_0x03: u32 = 0x3;
1491}
1492
1493/// `CPU_CLK_PRESCALE_4_BITS_SMALL` value group
1494#[allow(non_upper_case_globals)]
1495pub mod cpu_clk_prescale_4_bits_small {
1496   /// 1.
1497   pub const VAL_0x00: u32 = 0x0;
1498   /// 2.
1499   pub const VAL_0x01: u32 = 0x1;
1500   /// 4.
1501   pub const VAL_0x02: u32 = 0x2;
1502   /// 8.
1503   pub const VAL_0x03: u32 = 0x3;
1504   /// 16.
1505   pub const VAL_0x04: u32 = 0x4;
1506   /// 32.
1507   pub const VAL_0x05: u32 = 0x5;
1508   /// 64.
1509   pub const VAL_0x06: u32 = 0x6;
1510   /// 128.
1511   pub const VAL_0x07: u32 = 0x7;
1512   /// 256.
1513   pub const VAL_0x08: u32 = 0x8;
1514}
1515
1516/// `CPU_SLEEP_MODE_3BITS2` value group
1517#[allow(non_upper_case_globals)]
1518pub mod cpu_sleep_mode_3bits2 {
1519   /// Idle.
1520   pub const IDLE: u32 = 0x0;
1521   /// ADC Noise Reduction (If Available).
1522   pub const ADC: u32 = 0x1;
1523   /// Power Down.
1524   pub const PDOWN: u32 = 0x2;
1525   /// Power Save.
1526   pub const PSAVE: u32 = 0x3;
1527   /// Reserved.
1528   pub const VAL_0x04: u32 = 0x4;
1529   /// Reserved.
1530   pub const VAL_0x05: u32 = 0x5;
1531   /// Standby.
1532   pub const STDBY: u32 = 0x6;
1533   /// Extended Standby.
1534   pub const ESTDBY: u32 = 0x7;
1535}
1536
1537/// `EEP_MODE` value group
1538#[allow(non_upper_case_globals)]
1539pub mod eep_mode {
1540   /// Erase and Write in one operation.
1541   pub const VAL_0x00: u32 = 0x0;
1542   /// Erase Only.
1543   pub const VAL_0x01: u32 = 0x1;
1544   /// Write Only.
1545   pub const VAL_0x02: u32 = 0x2;
1546}
1547
1548/// `ENUM_BLB` value group
1549#[allow(non_upper_case_globals)]
1550pub mod enum_blb {
1551   /// LPM and SPM prohibited in Application Section.
1552   pub const LPM_SPM_DISABLE: u32 = 0x0;
1553   /// LPM prohibited in Application Section.
1554   pub const LPM_DISABLE: u32 = 0x1;
1555   /// SPM prohibited in Application Section.
1556   pub const SPM_DISABLE: u32 = 0x2;
1557   /// No lock on SPM and LPM in Application Section.
1558   pub const NO_LOCK: u32 = 0x3;
1559}
1560
1561/// `ENUM_BLB2` value group
1562#[allow(non_upper_case_globals)]
1563pub mod enum_blb2 {
1564   /// LPM and SPM prohibited in Boot Section.
1565   pub const LPM_SPM_DISABLE: u32 = 0x0;
1566   /// LPM prohibited in Boot Section.
1567   pub const LPM_DISABLE: u32 = 0x1;
1568   /// SPM prohibited in Boot Section.
1569   pub const SPM_DISABLE: u32 = 0x2;
1570   /// No lock on SPM and LPM in Boot Section.
1571   pub const NO_LOCK: u32 = 0x3;
1572}
1573
1574/// `ENUM_BODLEVEL` value group
1575#[allow(non_upper_case_globals)]
1576pub mod enum_bodlevel {
1577   /// Brown-out detection at VCC=4.3 V.
1578   pub const _4V3: u32 = 0x4;
1579   /// Brown-out detection at VCC=2.7 V.
1580   pub const _2V7: u32 = 0x5;
1581   /// Brown-out detection at VCC=1.8 V.
1582   pub const _1V8: u32 = 0x6;
1583   /// Brown-out detection disabled.
1584   pub const DISABLED: u32 = 0x7;
1585}
1586
1587/// `ENUM_BOOTSZ` value group
1588#[allow(non_upper_case_globals)]
1589pub mod enum_bootsz {
1590   /// Boot Flash size=128 words Boot address=$0F80.
1591   pub const _128W_0F80: u32 = 0x3;
1592   /// Boot Flash size=256 words Boot address=$0F00.
1593   pub const _256W_0F00: u32 = 0x2;
1594   /// Boot Flash size=512 words Boot address=$0E00.
1595   pub const _512W_0E00: u32 = 0x1;
1596   /// Boot Flash size=1024 words Boot address=$0C00.
1597   pub const _1024W_0C00: u32 = 0x0;
1598}
1599
1600/// `ENUM_LB` value group
1601#[allow(non_upper_case_globals)]
1602pub mod enum_lb {
1603   /// Further programming and verification disabled.
1604   pub const PROG_VER_DISABLED: u32 = 0x0;
1605   /// Further programming disabled.
1606   pub const PROG_DISABLED: u32 = 0x2;
1607   /// No memory lock features enabled.
1608   pub const NO_LOCK: u32 = 0x3;
1609}
1610
1611/// `ENUM_SUT_CKSEL` value group
1612#[allow(non_upper_case_globals)]
1613pub mod enum_sut_cksel {
1614   /// Ext. Clock; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms.
1615   pub const EXTCLK_6CK_14CK_0MS: u32 = 0x0;
1616   /// Ext. Clock; Start-up time PWRDWN/RESET: 6 CK/14 CK + 4.1 ms.
1617   pub const EXTCLK_6CK_14CK_4MS1: u32 = 0x10;
1618   /// Ext. Clock; Start-up time PWRDWN/RESET: 6 CK/14 CK + 65 ms.
1619   pub const EXTCLK_6CK_14CK_65MS: u32 = 0x20;
1620   /// Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms.
1621   pub const INTRCOSC_8MHZ_6CK_14CK_0MS: u32 = 0x2;
1622   /// Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 4.1 ms.
1623   pub const INTRCOSC_8MHZ_6CK_14CK_4MS1: u32 = 0x12;
1624   /// Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 65 ms.
1625   pub const INTRCOSC_8MHZ_6CK_14CK_65MS: u32 = 0x22;
1626   /// Int. RC Osc. 128kHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms.
1627   pub const INTRCOSC_128KHZ_6CK_14CK_0MS: u32 = 0x3;
1628   /// Int. RC Osc. 128kHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 4.1 ms.
1629   pub const INTRCOSC_128KHZ_6CK_14CK_4MS1: u32 = 0x13;
1630   /// Int. RC Osc. 128kHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 65 ms.
1631   pub const INTRCOSC_128KHZ_6CK_14CK_65MS: u32 = 0x23;
1632   /// Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 1K CK/14 CK + 0 ms.
1633   pub const EXTLOFXTAL_1KCK_14CK_0MS: u32 = 0x4;
1634   /// Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 1K CK/14 CK + 4.1 ms.
1635   pub const EXTLOFXTAL_1KCK_14CK_4MS1: u32 = 0x14;
1636   /// Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 1K CK/14 CK + 65 ms.
1637   pub const EXTLOFXTAL_1KCK_14CK_65MS: u32 = 0x24;
1638   /// Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 32K CK/14 CK + 0 ms.
1639   pub const EXTLOFXTAL_32KCK_14CK_0MS: u32 = 0x5;
1640   /// Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 32K CK/14 CK + 4.1 ms.
1641   pub const EXTLOFXTAL_32KCK_14CK_4MS1: u32 = 0x15;
1642   /// Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 32K CK/14 CK + 65 ms.
1643   pub const EXTLOFXTAL_32KCK_14CK_65MS: u32 = 0x25;
1644   /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms.
1645   pub const EXTFSXTAL_258CK_14CK_4MS1: u32 = 0x6;
1646   /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms.
1647   pub const EXTFSXTAL_258CK_14CK_65MS: u32 = 0x16;
1648   /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms.
1649   pub const EXTFSXTAL_1KCK_14CK_0MS: u32 = 0x26;
1650   /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms.
1651   pub const EXTFSXTAL_1KCK_14CK_4MS1: u32 = 0x36;
1652   /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms.
1653   pub const EXTFSXTAL_1KCK_14CK_65MS: u32 = 0x7;
1654   /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms.
1655   pub const EXTFSXTAL_16KCK_14CK_0MS: u32 = 0x17;
1656   /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms.
1657   pub const EXTFSXTAL_16KCK_14CK_4MS1: u32 = 0x27;
1658   /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms.
1659   pub const EXTFSXTAL_16KCK_14CK_65MS: u32 = 0x37;
1660   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms.
1661   pub const EXTXOSC_0MHZ4_0MHZ9_258CK_14CK_4MS1: u32 = 0x8;
1662   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms.
1663   pub const EXTXOSC_0MHZ4_0MHZ9_258CK_14CK_65MS: u32 = 0x18;
1664   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms.
1665   pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_0MS: u32 = 0x28;
1666   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms.
1667   pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_4MS1: u32 = 0x38;
1668   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms.
1669   pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_65MS: u32 = 0x9;
1670   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms.
1671   pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_0MS: u32 = 0x19;
1672   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms.
1673   pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_4MS1: u32 = 0x29;
1674   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms.
1675   pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_65MS: u32 = 0x39;
1676   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms.
1677   pub const EXTXOSC_0MHZ9_3MHZ_258CK_14CK_4MS1: u32 = 0xA;
1678   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms.
1679   pub const EXTXOSC_0MHZ9_3MHZ_258CK_14CK_65MS: u32 = 0x1A;
1680   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms.
1681   pub const EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_0MS: u32 = 0x2A;
1682   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms.
1683   pub const EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_4MS1: u32 = 0x3A;
1684   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms.
1685   pub const EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_65MS: u32 = 0xB;
1686   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms.
1687   pub const EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_0MS: u32 = 0x1B;
1688   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms.
1689   pub const EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_4MS1: u32 = 0x2B;
1690   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms.
1691   pub const EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_65MS: u32 = 0x3B;
1692   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms.
1693   pub const EXTXOSC_3MHZ_8MHZ_258CK_14CK_4MS1: u32 = 0xC;
1694   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms.
1695   pub const EXTXOSC_3MHZ_8MHZ_258CK_14CK_65MS: u32 = 0x1C;
1696   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms.
1697   pub const EXTXOSC_3MHZ_8MHZ_1KCK_14CK_0MS: u32 = 0x2C;
1698   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms.
1699   pub const EXTXOSC_3MHZ_8MHZ_1KCK_14CK_4MS1: u32 = 0x3C;
1700   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms.
1701   pub const EXTXOSC_3MHZ_8MHZ_1KCK_14CK_65MS: u32 = 0xD;
1702   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms.
1703   pub const EXTXOSC_3MHZ_8MHZ_16KCK_14CK_0MS: u32 = 0x1D;
1704   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms.
1705   pub const EXTXOSC_3MHZ_8MHZ_16KCK_14CK_4MS1: u32 = 0x2D;
1706   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms.
1707   pub const EXTXOSC_3MHZ_8MHZ_16KCK_14CK_65MS: u32 = 0x3D;
1708   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms.
1709   pub const EXTXOSC_8MHZ_XX_258CK_14CK_4MS1: u32 = 0xE;
1710   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms.
1711   pub const EXTXOSC_8MHZ_XX_258CK_14CK_65MS: u32 = 0x1E;
1712   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms.
1713   pub const EXTXOSC_8MHZ_XX_1KCK_14CK_0MS: u32 = 0x2E;
1714   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms.
1715   pub const EXTXOSC_8MHZ_XX_1KCK_14CK_4MS1: u32 = 0x3E;
1716   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms.
1717   pub const EXTXOSC_8MHZ_XX_1KCK_14CK_65MS: u32 = 0xF;
1718   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms.
1719   pub const EXTXOSC_8MHZ_XX_16KCK_14CK_0MS: u32 = 0x1F;
1720   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms.
1721   pub const EXTXOSC_8MHZ_XX_16KCK_14CK_4MS1: u32 = 0x2F;
1722   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms.
1723   pub const EXTXOSC_8MHZ_XX_16KCK_14CK_65MS: u32 = 0x3F;
1724}
1725
1726/// Interrupt Sense Control
1727#[allow(non_upper_case_globals)]
1728pub mod interrupt_sense_control {
1729   /// Low Level of INTX.
1730   pub const VAL_0x00: u32 = 0x0;
1731   /// Any Logical Change of INTX.
1732   pub const VAL_0x01: u32 = 0x1;
1733   /// Falling Edge of INTX.
1734   pub const VAL_0x02: u32 = 0x2;
1735   /// Rising Edge of INTX.
1736   pub const VAL_0x03: u32 = 0x3;
1737}
1738
1739/// Oscillator Calibration Values
1740#[allow(non_upper_case_globals)]
1741pub mod osccal_value_addresses {
1742   /// 8.0 MHz.
1743   pub const _8_0_MHz: u32 = 0x0;
1744}
1745
1746/// `WDOG_TIMER_PRESCALE_4BITS` value group
1747#[allow(non_upper_case_globals)]
1748pub mod wdog_timer_prescale_4bits {
1749   /// Oscillator Cycles 2K.
1750   pub const VAL_0x00: u32 = 0x0;
1751   /// Oscillator Cycles 4K.
1752   pub const VAL_0x01: u32 = 0x1;
1753   /// Oscillator Cycles 8K.
1754   pub const VAL_0x02: u32 = 0x2;
1755   /// Oscillator Cycles 16K.
1756   pub const VAL_0x03: u32 = 0x3;
1757   /// Oscillator Cycles 32K.
1758   pub const VAL_0x04: u32 = 0x4;
1759   /// Oscillator Cycles 64K.
1760   pub const VAL_0x05: u32 = 0x5;
1761   /// Oscillator Cycles 128K.
1762   pub const VAL_0x06: u32 = 0x6;
1763   /// Oscillator Cycles 256K.
1764   pub const VAL_0x07: u32 = 0x7;
1765   /// Oscillator Cycles 512K.
1766   pub const VAL_0x08: u32 = 0x8;
1767   /// Oscillator Cycles 1024K.
1768   pub const VAL_0x09: u32 = 0x9;
1769}
1770