avrd/gen/
atmega168p.rs

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