avrd/gen/
atmega8515.rs

1//! The AVR ATmega8515 microcontroller
2//!
3//! # Variants
4//! |        | Pinout | Mcu age | Operating temperature | Operating voltage | Max speed |
5//! |--------|--------|---------|-----------------------|-------------------|-----------|
6//! | standard |  |  | 0°C - 0°C | 2.7V - 5.5V | 0 MHz |
7//!
8
9#![allow(non_upper_case_globals)]
10
11/// `LOW` register
12///
13/// Bitfields:
14///
15/// | Name | Mask (binary) |
16/// | ---- | ------------- |
17/// | BODLEVEL | 10000000 |
18/// | SUT_CKSEL | 111111 |
19/// | BODEN | 1000000 |
20pub const LOW: *mut u8 = 0x0 as *mut u8;
21
22/// `LOCKBIT` register
23///
24/// Bitfields:
25///
26/// | Name | Mask (binary) |
27/// | ---- | ------------- |
28/// | BLB0 | 1100 |
29/// | LB | 11 |
30/// | BLB1 | 110000 |
31pub const LOCKBIT: *mut u8 = 0x0 as *mut u8;
32
33/// `HIGH` register
34///
35/// Bitfields:
36///
37/// | Name | Mask (binary) |
38/// | ---- | ------------- |
39/// | EESAVE | 1000 |
40/// | SPIEN | 100000 |
41/// | S8515C | 10000000 |
42/// | BOOTSZ | 110 |
43/// | WDTON | 1000000 |
44/// | BOOTRST | 1 |
45/// | CKOPT | 10000 |
46pub const HIGH: *mut u8 = 0x1 as *mut u8;
47
48/// Oscillator Calibration Value.
49pub const OSCCAL: *mut u8 = 0x24 as *mut u8;
50
51/// Port E Input Pins.
52pub const PINE: *mut u8 = 0x25 as *mut u8;
53
54/// Port E Data Direction Register.
55pub const DDRE: *mut u8 = 0x26 as *mut u8;
56
57/// Port E Data Register.
58pub const PORTE: *mut u8 = 0x27 as *mut u8;
59
60/// Analog Comparator Control And Status Register.
61///
62/// Bitfields:
63///
64/// | Name | Mask (binary) |
65/// | ---- | ------------- |
66/// | ACO | 100000 |
67/// | ACIC | 100 |
68/// | ACI | 10000 |
69/// | ACIE | 1000 |
70/// | ACBG | 1000000 |
71/// | ACIS | 11 |
72/// | ACD | 10000000 |
73pub const ACSR: *mut u8 = 0x28 as *mut u8;
74
75/// USART Baud Rate Register Low Byte.
76pub const UBRRL: *mut u8 = 0x29 as *mut u8;
77
78/// USART Control and Status Register B.
79///
80/// Bitfields:
81///
82/// | Name | Mask (binary) |
83/// | ---- | ------------- |
84/// | TXCIE | 1000000 |
85/// | TXB8 | 1 |
86/// | UCSZ2 | 100 |
87/// | RXCIE | 10000000 |
88/// | RXB8 | 10 |
89/// | TXEN | 1000 |
90/// | RXEN | 10000 |
91/// | UDRIE | 100000 |
92pub const UCSRB: *mut u8 = 0x2A as *mut u8;
93
94/// USART Control and Status Register A.
95///
96/// Bitfields:
97///
98/// | Name | Mask (binary) |
99/// | ---- | ------------- |
100/// | RXC | 10000000 |
101/// | MPCM | 1 |
102/// | UDRE | 100000 |
103/// | U2X | 10 |
104/// | TXC | 1000000 |
105/// | UPE | 100 |
106/// | DOR | 1000 |
107/// | FE | 10000 |
108pub const UCSRA: *mut u8 = 0x2B as *mut u8;
109
110/// USART I/O Data Register.
111pub const UDR: *mut u8 = 0x2C as *mut u8;
112
113/// SPI Control Register.
114///
115/// Bitfields:
116///
117/// | Name | Mask (binary) |
118/// | ---- | ------------- |
119/// | SPE | 1000000 |
120/// | MSTR | 10000 |
121/// | SPR | 11 |
122/// | CPHA | 100 |
123/// | SPIE | 10000000 |
124/// | DORD | 100000 |
125/// | CPOL | 1000 |
126pub const SPCR: *mut u8 = 0x2D as *mut u8;
127
128/// SPI Status Register.
129///
130/// Bitfields:
131///
132/// | Name | Mask (binary) |
133/// | ---- | ------------- |
134/// | WCOL | 1000000 |
135/// | SPIF | 10000000 |
136/// | SPI2X | 1 |
137pub const SPSR: *mut u8 = 0x2E as *mut u8;
138
139/// SPI Data Register.
140pub const SPDR: *mut u8 = 0x2F as *mut u8;
141
142/// Port D Input Pins.
143pub const PIND: *mut u8 = 0x30 as *mut u8;
144
145/// Port D Data Direction Register.
146pub const DDRD: *mut u8 = 0x31 as *mut u8;
147
148/// Port D Data Register.
149pub const PORTD: *mut u8 = 0x32 as *mut u8;
150
151/// Port C Input Pins.
152pub const PINC: *mut u8 = 0x33 as *mut u8;
153
154/// Port C Data Direction Register.
155pub const DDRC: *mut u8 = 0x34 as *mut u8;
156
157/// Port C Data Register.
158pub const PORTC: *mut u8 = 0x35 as *mut u8;
159
160/// Port B Input Pins.
161pub const PINB: *mut u8 = 0x36 as *mut u8;
162
163/// Port B Data Direction Register.
164pub const DDRB: *mut u8 = 0x37 as *mut u8;
165
166/// Port B Data Register.
167pub const PORTB: *mut u8 = 0x38 as *mut u8;
168
169/// Port A Input Pins.
170pub const PINA: *mut u8 = 0x39 as *mut u8;
171
172/// Port A Data Direction Register.
173pub const DDRA: *mut u8 = 0x3A as *mut u8;
174
175/// Port A Data Register.
176pub const PORTA: *mut u8 = 0x3B as *mut u8;
177
178/// EEPROM Control Register.
179///
180/// Bitfields:
181///
182/// | Name | Mask (binary) |
183/// | ---- | ------------- |
184/// | EEMWE | 100 |
185/// | EEWE | 10 |
186/// | EERIE | 1000 |
187/// | EERE | 1 |
188pub const EECR: *mut u8 = 0x3C as *mut u8;
189
190/// EEPROM Data Register.
191pub const EEDR: *mut u8 = 0x3D as *mut u8;
192
193/// EEPROM Address Register  Bytes low byte.
194pub const EEARL: *mut u8 = 0x3E as *mut u8;
195
196/// EEPROM Address Register  Bytes.
197pub const EEAR: *mut u16 = 0x3E as *mut u16;
198
199/// EEPROM Address Register  Bytes high byte.
200pub const EEARH: *mut u8 = 0x3F as *mut u8;
201
202/// USART Baud Rate Register High Byte.
203///
204/// Bitfields:
205///
206/// | Name | Mask (binary) |
207/// | ---- | ------------- |
208/// | UBRR | 11 |
209/// | UBRR1 | 1100 |
210pub const UBRRH: *mut u8 = 0x40 as *mut u8;
211
212/// USART Control and Status Register C.
213///
214/// Bitfields:
215///
216/// | Name | Mask (binary) |
217/// | ---- | ------------- |
218/// | UCSZ | 110 |
219/// | UPM | 110000 |
220/// | UMSEL | 1000000 |
221/// | USBS | 1000 |
222/// | UCPOL | 1 |
223pub const UCSRC: *mut u8 = 0x40 as *mut u8;
224
225/// Watchdog Timer Control Register.
226///
227/// Bitfields:
228///
229/// | Name | Mask (binary) |
230/// | ---- | ------------- |
231/// | WDCE | 10000 |
232/// | WDP | 111 |
233/// | WDE | 1000 |
234pub const WDTCR: *mut u8 = 0x41 as *mut u8;
235
236/// Timer/Counter1 Input Capture Register  Bytes.
237pub const ICR1: *mut u16 = 0x44 as *mut u16;
238
239/// Timer/Counter1 Input Capture Register  Bytes low byte.
240pub const ICR1L: *mut u8 = 0x44 as *mut u8;
241
242/// Timer/Counter1 Input Capture Register  Bytes high byte.
243pub const ICR1H: *mut u8 = 0x45 as *mut u8;
244
245/// Timer/Counter1 Output Compare Register B  Bytes.
246pub const OCR1B: *mut u16 = 0x48 as *mut u16;
247
248/// Timer/Counter1 Output Compare Register B  Bytes low byte.
249pub const OCR1BL: *mut u8 = 0x48 as *mut u8;
250
251/// Timer/Counter1 Output Compare Register B  Bytes high byte.
252pub const OCR1BH: *mut u8 = 0x49 as *mut u8;
253
254/// Timer/Counter1 Output Compare Register A  Bytes low byte.
255pub const OCR1AL: *mut u8 = 0x4A as *mut u8;
256
257/// Timer/Counter1 Output Compare Register A  Bytes.
258pub const OCR1A: *mut u16 = 0x4A as *mut u16;
259
260/// Timer/Counter1 Output Compare Register A  Bytes high byte.
261pub const OCR1AH: *mut u8 = 0x4B as *mut u8;
262
263/// Timer/Counter1  Bytes.
264pub const TCNT1: *mut u16 = 0x4C as *mut u16;
265
266/// Timer/Counter1  Bytes low byte.
267pub const TCNT1L: *mut u8 = 0x4C as *mut u8;
268
269/// Timer/Counter1  Bytes high byte.
270pub const TCNT1H: *mut u8 = 0x4D as *mut u8;
271
272/// Timer/Counter1 Control Register B.
273///
274/// Bitfields:
275///
276/// | Name | Mask (binary) |
277/// | ---- | ------------- |
278/// | CS1 | 111 |
279/// | ICES1 | 1000000 |
280/// | ICNC1 | 10000000 |
281pub const TCCR1B: *mut u8 = 0x4E as *mut u8;
282
283/// Timer/Counter1 Control Register A.
284///
285/// Bitfields:
286///
287/// | Name | Mask (binary) |
288/// | ---- | ------------- |
289/// | FOC1A | 1000 |
290/// | FOC1B | 100 |
291/// | COM1B | 110000 |
292/// | COM1A | 11000000 |
293pub const TCCR1A: *mut u8 = 0x4F as *mut u8;
294
295/// Special Function IO Register.
296///
297/// Bitfields:
298///
299/// | Name | Mask (binary) |
300/// | ---- | ------------- |
301/// | PSR10 | 1 |
302/// | XMBK | 1000000 |
303/// | PUD | 100 |
304/// | XMM | 111000 |
305pub const SFIOR: *mut u8 = 0x50 as *mut u8;
306
307/// Timer/Counter 0 Output Compare Register.
308pub const OCR0: *mut u8 = 0x51 as *mut u8;
309
310/// Timer/Counter 0 Register.
311pub const TCNT0: *mut u8 = 0x52 as *mut u8;
312
313/// Timer/Counter 0 Control Register.
314///
315/// Bitfields:
316///
317/// | Name | Mask (binary) |
318/// | ---- | ------------- |
319/// | FOC0 | 10000000 |
320/// | WGM00 | 1000000 |
321/// | CS0 | 111 |
322/// | WGM01 | 1000 |
323/// | COM0 | 110000 |
324pub const TCCR0: *mut u8 = 0x53 as *mut u8;
325
326/// MCU Control And Status Register.
327///
328/// Bitfields:
329///
330/// | Name | Mask (binary) |
331/// | ---- | ------------- |
332/// | EXTRF | 10 |
333/// | WDRF | 1000 |
334/// | PORF | 1 |
335/// | SM2 | 100000 |
336/// | BORF | 100 |
337pub const MCUCSR: *mut u8 = 0x54 as *mut u8;
338
339/// MCU Control Register.
340///
341/// Bitfields:
342///
343/// | Name | Mask (binary) |
344/// | ---- | ------------- |
345/// | ISC1 | 1100 |
346/// | ISC0 | 11 |
347/// | SRW10 | 1000000 |
348/// | SRE | 10000000 |
349/// | SM1 | 10000 |
350/// | SE | 100000 |
351pub const MCUCR: *mut u8 = 0x55 as *mut u8;
352
353/// Extended MCU Control Register.
354///
355/// Bitfields:
356///
357/// | Name | Mask (binary) |
358/// | ---- | ------------- |
359/// | ISC2 | 1 |
360/// | SRL | 1110000 |
361/// | SRW11 | 10 |
362/// | SM0 | 10000000 |
363/// | SRW0 | 1100 |
364pub const EMCUCR: *mut u8 = 0x56 as *mut u8;
365
366/// Store Program Memory Control Register.
367///
368/// Bitfields:
369///
370/// | Name | Mask (binary) |
371/// | ---- | ------------- |
372/// | RWWSB | 1000000 |
373/// | PGWRT | 100 |
374/// | BLBSET | 1000 |
375/// | RWWSRE | 10000 |
376/// | SPMIE | 10000000 |
377/// | SPMEN | 1 |
378/// | PGERS | 10 |
379pub const SPMCR: *mut u8 = 0x57 as *mut u8;
380
381/// Timer/Counter Interrupt Flag register.
382///
383/// Bitfields:
384///
385/// | Name | Mask (binary) |
386/// | ---- | ------------- |
387/// | OCF1A | 1000000 |
388/// | ICF1 | 1000 |
389/// | TOV1 | 10000000 |
390/// | OCF1B | 100000 |
391pub const TIFR: *mut u8 = 0x58 as *mut u8;
392
393/// Timer/Counter Interrupt Mask Register.
394///
395/// Bitfields:
396///
397/// | Name | Mask (binary) |
398/// | ---- | ------------- |
399/// | OCIE1B | 100000 |
400/// | TICIE1 | 1000 |
401/// | TOIE1 | 10000000 |
402/// | OCIE1A | 1000000 |
403pub const TIMSK: *mut u8 = 0x59 as *mut u8;
404
405/// General Interrupt Flag Register.
406///
407/// Bitfields:
408///
409/// | Name | Mask (binary) |
410/// | ---- | ------------- |
411/// | INTF2 | 100000 |
412/// | INTF | 11000000 |
413pub const GIFR: *mut u8 = 0x5A as *mut u8;
414
415/// General Interrupt Control Register.
416///
417/// Bitfields:
418///
419/// | Name | Mask (binary) |
420/// | ---- | ------------- |
421/// | IVCE | 1 |
422/// | IVSEL | 10 |
423/// | INT0 | 1000000 |
424/// | INT2 | 100000 |
425/// | INT1 | 10000000 |
426pub const GICR: *mut u8 = 0x5B as *mut u8;
427
428/// Stack Pointer  low byte.
429pub const SPL: *mut u8 = 0x5D as *mut u8;
430
431/// Stack Pointer.
432pub const SP: *mut u16 = 0x5D as *mut u16;
433
434/// Stack Pointer  high byte.
435pub const SPH: *mut u8 = 0x5E as *mut u8;
436
437/// Status Register.
438///
439/// Bitfields:
440///
441/// | Name | Mask (binary) |
442/// | ---- | ------------- |
443/// | I | 10000000 |
444/// | V | 1000 |
445/// | H | 100000 |
446/// | N | 100 |
447/// | S | 10000 |
448/// | Z | 10 |
449/// | T | 1000000 |
450/// | C | 1 |
451pub const SREG: *mut u8 = 0x5F as *mut u8;
452
453/// Bitfield on register `ACSR`
454pub const ACO: *mut u8 = 0x20 as *mut u8;
455
456/// Bitfield on register `ACSR`
457pub const ACIC: *mut u8 = 0x4 as *mut u8;
458
459/// Bitfield on register `ACSR`
460pub const ACI: *mut u8 = 0x10 as *mut u8;
461
462/// Bitfield on register `ACSR`
463pub const ACIE: *mut u8 = 0x8 as *mut u8;
464
465/// Bitfield on register `ACSR`
466pub const ACBG: *mut u8 = 0x40 as *mut u8;
467
468/// Bitfield on register `ACSR`
469pub const ACIS: *mut u8 = 0x3 as *mut u8;
470
471/// Bitfield on register `ACSR`
472pub const ACD: *mut u8 = 0x80 as *mut u8;
473
474/// Bitfield on register `EECR`
475pub const EEMWE: *mut u8 = 0x4 as *mut u8;
476
477/// Bitfield on register `EECR`
478pub const EEWE: *mut u8 = 0x2 as *mut u8;
479
480/// Bitfield on register `EECR`
481pub const EERIE: *mut u8 = 0x8 as *mut u8;
482
483/// Bitfield on register `EECR`
484pub const EERE: *mut u8 = 0x1 as *mut u8;
485
486/// Bitfield on register `EMCUCR`
487pub const ISC2: *mut u8 = 0x1 as *mut u8;
488
489/// Bitfield on register `EMCUCR`
490pub const SRL: *mut u8 = 0x70 as *mut u8;
491
492/// Bitfield on register `EMCUCR`
493pub const SRW11: *mut u8 = 0x2 as *mut u8;
494
495/// Bitfield on register `EMCUCR`
496pub const SM0: *mut u8 = 0x80 as *mut u8;
497
498/// Bitfield on register `EMCUCR`
499pub const SRW0: *mut u8 = 0xC as *mut u8;
500
501/// Bitfield on register `GICR`
502pub const IVCE: *mut u8 = 0x1 as *mut u8;
503
504/// Bitfield on register `GICR`
505pub const IVSEL: *mut u8 = 0x2 as *mut u8;
506
507/// Bitfield on register `GICR`
508pub const INT0: *mut u8 = 0x40 as *mut u8;
509
510/// Bitfield on register `GICR`
511pub const INT2: *mut u8 = 0x20 as *mut u8;
512
513/// Bitfield on register `GICR`
514pub const INT1: *mut u8 = 0x80 as *mut u8;
515
516/// Bitfield on register `GIFR`
517pub const INTF2: *mut u8 = 0x20 as *mut u8;
518
519/// Bitfield on register `GIFR`
520pub const INTF: *mut u8 = 0xC0 as *mut u8;
521
522/// Bitfield on register `HIGH`
523pub const EESAVE: *mut u8 = 0x8 as *mut u8;
524
525/// Bitfield on register `HIGH`
526pub const SPIEN: *mut u8 = 0x20 as *mut u8;
527
528/// Bitfield on register `HIGH`
529pub const S8515C: *mut u8 = 0x80 as *mut u8;
530
531/// Bitfield on register `HIGH`
532pub const BOOTSZ: *mut u8 = 0x6 as *mut u8;
533
534/// Bitfield on register `HIGH`
535pub const WDTON: *mut u8 = 0x40 as *mut u8;
536
537/// Bitfield on register `HIGH`
538pub const BOOTRST: *mut u8 = 0x1 as *mut u8;
539
540/// Bitfield on register `HIGH`
541pub const CKOPT: *mut u8 = 0x10 as *mut u8;
542
543/// Bitfield on register `LOCKBIT`
544pub const BLB0: *mut u8 = 0xC as *mut u8;
545
546/// Bitfield on register `LOCKBIT`
547pub const LB: *mut u8 = 0x3 as *mut u8;
548
549/// Bitfield on register `LOCKBIT`
550pub const BLB1: *mut u8 = 0x30 as *mut u8;
551
552/// Bitfield on register `LOW`
553pub const BODLEVEL: *mut u8 = 0x80 as *mut u8;
554
555/// Bitfield on register `LOW`
556pub const SUT_CKSEL: *mut u8 = 0x3F as *mut u8;
557
558/// Bitfield on register `LOW`
559pub const BODEN: *mut u8 = 0x40 as *mut u8;
560
561/// Bitfield on register `MCUCR`
562pub const ISC1: *mut u8 = 0xC as *mut u8;
563
564/// Bitfield on register `MCUCR`
565pub const ISC0: *mut u8 = 0x3 as *mut u8;
566
567/// Bitfield on register `MCUCR`
568pub const SRW10: *mut u8 = 0x40 as *mut u8;
569
570/// Bitfield on register `MCUCR`
571pub const SRE: *mut u8 = 0x80 as *mut u8;
572
573/// Bitfield on register `MCUCR`
574pub const SM1: *mut u8 = 0x10 as *mut u8;
575
576/// Bitfield on register `MCUCR`
577pub const SE: *mut u8 = 0x20 as *mut u8;
578
579/// Bitfield on register `MCUCSR`
580pub const EXTRF: *mut u8 = 0x2 as *mut u8;
581
582/// Bitfield on register `MCUCSR`
583pub const WDRF: *mut u8 = 0x8 as *mut u8;
584
585/// Bitfield on register `MCUCSR`
586pub const PORF: *mut u8 = 0x1 as *mut u8;
587
588/// Bitfield on register `MCUCSR`
589pub const SM2: *mut u8 = 0x20 as *mut u8;
590
591/// Bitfield on register `MCUCSR`
592pub const BORF: *mut u8 = 0x4 as *mut u8;
593
594/// Bitfield on register `SFIOR`
595pub const PSR10: *mut u8 = 0x1 as *mut u8;
596
597/// Bitfield on register `SFIOR`
598pub const XMBK: *mut u8 = 0x40 as *mut u8;
599
600/// Bitfield on register `SFIOR`
601pub const PUD: *mut u8 = 0x4 as *mut u8;
602
603/// Bitfield on register `SFIOR`
604pub const XMM: *mut u8 = 0x38 as *mut u8;
605
606/// Bitfield on register `SPCR`
607pub const SPE: *mut u8 = 0x40 as *mut u8;
608
609/// Bitfield on register `SPCR`
610pub const MSTR: *mut u8 = 0x10 as *mut u8;
611
612/// Bitfield on register `SPCR`
613pub const SPR: *mut u8 = 0x3 as *mut u8;
614
615/// Bitfield on register `SPCR`
616pub const CPHA: *mut u8 = 0x4 as *mut u8;
617
618/// Bitfield on register `SPCR`
619pub const SPIE: *mut u8 = 0x80 as *mut u8;
620
621/// Bitfield on register `SPCR`
622pub const DORD: *mut u8 = 0x20 as *mut u8;
623
624/// Bitfield on register `SPCR`
625pub const CPOL: *mut u8 = 0x8 as *mut u8;
626
627/// Bitfield on register `SPMCR`
628pub const RWWSB: *mut u8 = 0x40 as *mut u8;
629
630/// Bitfield on register `SPMCR`
631pub const PGWRT: *mut u8 = 0x4 as *mut u8;
632
633/// Bitfield on register `SPMCR`
634pub const BLBSET: *mut u8 = 0x8 as *mut u8;
635
636/// Bitfield on register `SPMCR`
637pub const RWWSRE: *mut u8 = 0x10 as *mut u8;
638
639/// Bitfield on register `SPMCR`
640pub const SPMIE: *mut u8 = 0x80 as *mut u8;
641
642/// Bitfield on register `SPMCR`
643pub const SPMEN: *mut u8 = 0x1 as *mut u8;
644
645/// Bitfield on register `SPMCR`
646pub const PGERS: *mut u8 = 0x2 as *mut u8;
647
648/// Bitfield on register `SPSR`
649pub const WCOL: *mut u8 = 0x40 as *mut u8;
650
651/// Bitfield on register `SPSR`
652pub const SPIF: *mut u8 = 0x80 as *mut u8;
653
654/// Bitfield on register `SPSR`
655pub const SPI2X: *mut u8 = 0x1 as *mut u8;
656
657/// Bitfield on register `SREG`
658pub const I: *mut u8 = 0x80 as *mut u8;
659
660/// Bitfield on register `SREG`
661pub const V: *mut u8 = 0x8 as *mut u8;
662
663/// Bitfield on register `SREG`
664pub const H: *mut u8 = 0x20 as *mut u8;
665
666/// Bitfield on register `SREG`
667pub const N: *mut u8 = 0x4 as *mut u8;
668
669/// Bitfield on register `SREG`
670pub const S: *mut u8 = 0x10 as *mut u8;
671
672/// Bitfield on register `SREG`
673pub const Z: *mut u8 = 0x2 as *mut u8;
674
675/// Bitfield on register `SREG`
676pub const T: *mut u8 = 0x40 as *mut u8;
677
678/// Bitfield on register `SREG`
679pub const C: *mut u8 = 0x1 as *mut u8;
680
681/// Bitfield on register `TCCR0`
682pub const FOC0: *mut u8 = 0x80 as *mut u8;
683
684/// Bitfield on register `TCCR0`
685pub const WGM00: *mut u8 = 0x40 as *mut u8;
686
687/// Bitfield on register `TCCR0`
688pub const CS0: *mut u8 = 0x7 as *mut u8;
689
690/// Bitfield on register `TCCR0`
691pub const WGM01: *mut u8 = 0x8 as *mut u8;
692
693/// Bitfield on register `TCCR0`
694pub const COM0: *mut u8 = 0x30 as *mut u8;
695
696/// Bitfield on register `TCCR1A`
697pub const FOC1A: *mut u8 = 0x8 as *mut u8;
698
699/// Bitfield on register `TCCR1A`
700pub const FOC1B: *mut u8 = 0x4 as *mut u8;
701
702/// Bitfield on register `TCCR1A`
703pub const COM1B: *mut u8 = 0x30 as *mut u8;
704
705/// Bitfield on register `TCCR1A`
706pub const COM1A: *mut u8 = 0xC0 as *mut u8;
707
708/// Bitfield on register `TCCR1B`
709pub const CS1: *mut u8 = 0x7 as *mut u8;
710
711/// Bitfield on register `TCCR1B`
712pub const ICES1: *mut u8 = 0x40 as *mut u8;
713
714/// Bitfield on register `TCCR1B`
715pub const ICNC1: *mut u8 = 0x80 as *mut u8;
716
717/// Bitfield on register `TIFR`
718pub const OCF1A: *mut u8 = 0x40 as *mut u8;
719
720/// Bitfield on register `TIFR`
721pub const ICF1: *mut u8 = 0x8 as *mut u8;
722
723/// Bitfield on register `TIFR`
724pub const TOV1: *mut u8 = 0x80 as *mut u8;
725
726/// Bitfield on register `TIFR`
727pub const OCF1B: *mut u8 = 0x20 as *mut u8;
728
729/// Bitfield on register `TIMSK`
730pub const OCIE1B: *mut u8 = 0x20 as *mut u8;
731
732/// Bitfield on register `TIMSK`
733pub const TICIE1: *mut u8 = 0x8 as *mut u8;
734
735/// Bitfield on register `TIMSK`
736pub const TOIE1: *mut u8 = 0x80 as *mut u8;
737
738/// Bitfield on register `TIMSK`
739pub const OCIE1A: *mut u8 = 0x40 as *mut u8;
740
741/// Bitfield on register `UBRRH`
742pub const UBRR: *mut u8 = 0x3 as *mut u8;
743
744/// Bitfield on register `UBRRH`
745pub const UBRR1: *mut u8 = 0xC as *mut u8;
746
747/// Bitfield on register `UCSRA`
748pub const RXC: *mut u8 = 0x80 as *mut u8;
749
750/// Bitfield on register `UCSRA`
751pub const MPCM: *mut u8 = 0x1 as *mut u8;
752
753/// Bitfield on register `UCSRA`
754pub const UDRE: *mut u8 = 0x20 as *mut u8;
755
756/// Bitfield on register `UCSRA`
757pub const U2X: *mut u8 = 0x2 as *mut u8;
758
759/// Bitfield on register `UCSRA`
760pub const TXC: *mut u8 = 0x40 as *mut u8;
761
762/// Bitfield on register `UCSRA`
763pub const UPE: *mut u8 = 0x4 as *mut u8;
764
765/// Bitfield on register `UCSRA`
766pub const DOR: *mut u8 = 0x8 as *mut u8;
767
768/// Bitfield on register `UCSRA`
769pub const FE: *mut u8 = 0x10 as *mut u8;
770
771/// Bitfield on register `UCSRB`
772pub const TXCIE: *mut u8 = 0x40 as *mut u8;
773
774/// Bitfield on register `UCSRB`
775pub const TXB8: *mut u8 = 0x1 as *mut u8;
776
777/// Bitfield on register `UCSRB`
778pub const UCSZ2: *mut u8 = 0x4 as *mut u8;
779
780/// Bitfield on register `UCSRB`
781pub const RXCIE: *mut u8 = 0x80 as *mut u8;
782
783/// Bitfield on register `UCSRB`
784pub const RXB8: *mut u8 = 0x2 as *mut u8;
785
786/// Bitfield on register `UCSRB`
787pub const TXEN: *mut u8 = 0x8 as *mut u8;
788
789/// Bitfield on register `UCSRB`
790pub const RXEN: *mut u8 = 0x10 as *mut u8;
791
792/// Bitfield on register `UCSRB`
793pub const UDRIE: *mut u8 = 0x20 as *mut u8;
794
795/// Bitfield on register `UCSRC`
796pub const UCSZ: *mut u8 = 0x6 as *mut u8;
797
798/// Bitfield on register `UCSRC`
799pub const UPM: *mut u8 = 0x30 as *mut u8;
800
801/// Bitfield on register `UCSRC`
802pub const UMSEL: *mut u8 = 0x40 as *mut u8;
803
804/// Bitfield on register `UCSRC`
805pub const USBS: *mut u8 = 0x8 as *mut u8;
806
807/// Bitfield on register `UCSRC`
808pub const UCPOL: *mut u8 = 0x1 as *mut u8;
809
810/// Bitfield on register `WDTCR`
811pub const WDCE: *mut u8 = 0x10 as *mut u8;
812
813/// Bitfield on register `WDTCR`
814pub const WDP: *mut u8 = 0x7 as *mut u8;
815
816/// Bitfield on register `WDTCR`
817pub const WDE: *mut u8 = 0x8 as *mut u8;
818
819/// `ANALOG_COMP_INTERRUPT` value group
820#[allow(non_upper_case_globals)]
821pub mod analog_comp_interrupt {
822   /// Interrupt on Toggle.
823   pub const VAL_0x00: u32 = 0x0;
824   /// Reserved.
825   pub const VAL_0x01: u32 = 0x1;
826   /// Interrupt on Falling Edge.
827   pub const VAL_0x02: u32 = 0x2;
828   /// Interrupt on Rising Edge.
829   pub const VAL_0x03: u32 = 0x3;
830}
831
832/// `CLK_SEL_3BIT_EXT` value group
833#[allow(non_upper_case_globals)]
834pub mod clk_sel_3bit_ext {
835   /// No Clock Source (Stopped).
836   pub const VAL_0x00: u32 = 0x0;
837   /// Running, No Prescaling.
838   pub const VAL_0x01: u32 = 0x1;
839   /// Running, CLK/8.
840   pub const VAL_0x02: u32 = 0x2;
841   /// Running, CLK/64.
842   pub const VAL_0x03: u32 = 0x3;
843   /// Running, CLK/256.
844   pub const VAL_0x04: u32 = 0x4;
845   /// Running, CLK/1024.
846   pub const VAL_0x05: u32 = 0x5;
847   /// Running, ExtClk Tx Falling Edge.
848   pub const VAL_0x06: u32 = 0x6;
849   /// Running, ExtClk Tx Rising Edge.
850   pub const VAL_0x07: u32 = 0x7;
851}
852
853/// `COMM_SCK_RATE_3BIT` value group
854#[allow(non_upper_case_globals)]
855pub mod comm_sck_rate_3bit {
856   /// fosc/4.
857   pub const VAL_0x00: u32 = 0x0;
858   /// fosc/16.
859   pub const VAL_0x01: u32 = 0x1;
860   /// fosc/64.
861   pub const VAL_0x02: u32 = 0x2;
862   /// fosc/128.
863   pub const VAL_0x03: u32 = 0x3;
864   /// fosc/2.
865   pub const VAL_0x04: u32 = 0x4;
866   /// fosc/8.
867   pub const VAL_0x05: u32 = 0x5;
868   /// fosc/32.
869   pub const VAL_0x06: u32 = 0x6;
870   /// fosc/64.
871   pub const VAL_0x07: u32 = 0x7;
872}
873
874/// `COMM_STOP_BIT_SEL` value group
875#[allow(non_upper_case_globals)]
876pub mod comm_stop_bit_sel {
877   /// 1-bit.
878   pub const VAL_0x00: u32 = 0x0;
879   /// 2-bit.
880   pub const VAL_0x01: u32 = 0x1;
881}
882
883/// `COMM_UPM_PARITY_MODE` value group
884#[allow(non_upper_case_globals)]
885pub mod comm_upm_parity_mode {
886   /// Disabled.
887   pub const VAL_0x00: u32 = 0x0;
888   /// Reserved.
889   pub const VAL_0x01: u32 = 0x1;
890   /// Enabled, Even Parity.
891   pub const VAL_0x02: u32 = 0x2;
892   /// Enabled, Odd Parity.
893   pub const VAL_0x03: u32 = 0x3;
894}
895
896/// `COMM_USART_MODE` value group
897#[allow(non_upper_case_globals)]
898pub mod comm_usart_mode {
899   /// Asynchronous Operation.
900   pub const VAL_0x00: u32 = 0x0;
901   /// Synchronous Operation.
902   pub const VAL_0x01: u32 = 0x1;
903}
904
905/// `CPU_SECTOR_LIMITS` value group
906#[allow(non_upper_case_globals)]
907pub mod cpu_sector_limits {
908   /// LS = N/A, US = 0x1100 - 0xFFFF.
909   pub const VAL_0x00: u32 = 0x0;
910   /// LS = 0x1100 - 0x1FFF, US = 0x2000 - 0xFFFF.
911   pub const VAL_0x01: u32 = 0x1;
912   /// LS = 0x1100 - 0x3FFF, US = 0x4000 - 0xFFFF.
913   pub const VAL_0x02: u32 = 0x2;
914   /// LS = 0x1100 - 0x5FFF, US = 0x6000 - 0xFFFF.
915   pub const VAL_0x03: u32 = 0x3;
916   /// LS = 0x1100 - 0x7FFF, US = 0x8000 - 0xFFFF.
917   pub const VAL_0x04: u32 = 0x4;
918   /// LS = 0x1100 - 0x9FFF, US = 0xA000 - 0xFFFF.
919   pub const VAL_0x05: u32 = 0x5;
920   /// LS = 0x1100 - 0xBFFF, US = 0xC000 - 0xFFFF.
921   pub const VAL_0x06: u32 = 0x6;
922   /// LS = 0x1100 - 0xDFFF, US = 0xE000 - 0xFFFF.
923   pub const VAL_0x07: u32 = 0x7;
924}
925
926/// `CPU_WAIT_STATES` value group
927#[allow(non_upper_case_globals)]
928pub mod cpu_wait_states {
929   /// No wait-states.
930   pub const VAL_0x00: u32 = 0x0;
931   /// Wait one cycle during read/write strobe.
932   pub const VAL_0x01: u32 = 0x1;
933   /// Wait two cycles during read/write strobe.
934   pub const VAL_0x02: u32 = 0x2;
935   /// Wait two cycles during read/write and wait one cycle before driving out new address.
936   pub const VAL_0x03: u32 = 0x3;
937}
938
939/// `ENUM_BLB` value group
940#[allow(non_upper_case_globals)]
941pub mod enum_blb {
942   /// LPM and SPM prohibited in Application Section.
943   pub const LPM_SPM_DISABLE: u32 = 0x0;
944   /// LPM prohibited in Application Section.
945   pub const LPM_DISABLE: u32 = 0x1;
946   /// SPM prohibited in Application Section.
947   pub const SPM_DISABLE: u32 = 0x2;
948   /// No lock on SPM and LPM in Application Section.
949   pub const NO_LOCK: u32 = 0x3;
950}
951
952/// `ENUM_BLB2` value group
953#[allow(non_upper_case_globals)]
954pub mod enum_blb2 {
955   /// LPM and SPM prohibited in Boot Section.
956   pub const LPM_SPM_DISABLE: u32 = 0x0;
957   /// LPM prohibited in Boot Section.
958   pub const LPM_DISABLE: u32 = 0x1;
959   /// SPM prohibited in Boot Section.
960   pub const SPM_DISABLE: u32 = 0x2;
961   /// No lock on SPM and LPM in Boot Section.
962   pub const NO_LOCK: u32 = 0x3;
963}
964
965/// `ENUM_BODLEVEL` value group
966#[allow(non_upper_case_globals)]
967pub mod enum_bodlevel {
968   /// Brown-out detection at VCC=4.0 V.
969   pub const _4V0: u32 = 0x0;
970   /// Brown-out detection at VCC=2.7 V.
971   pub const _2V7: u32 = 0x1;
972}
973
974/// `ENUM_BOOTSZ` value group
975#[allow(non_upper_case_globals)]
976pub mod enum_bootsz {
977   /// Boot Flashsize=128 words Boot address=$0F80.
978   pub const _128W_0F80: u32 = 0x3;
979   /// Boot Flash size=256 words Boot address=$0F00.
980   pub const _256W_0F00: u32 = 0x2;
981   /// Boot Flash size=512 words Boot address=$0E00.
982   pub const _512W_0E00: u32 = 0x1;
983   /// Boot Flash size=1024 words Boot address=$0C00.
984   pub const _1024W_0C00: u32 = 0x0;
985}
986
987/// `ENUM_LB` value group
988#[allow(non_upper_case_globals)]
989pub mod enum_lb {
990   /// Further programming and verification disabled.
991   pub const PROG_VER_DISABLED: u32 = 0x0;
992   /// Further programming disabled.
993   pub const PROG_DISABLED: u32 = 0x2;
994   /// No memory lock features enabled.
995   pub const NO_LOCK: u32 = 0x3;
996}
997
998/// `ENUM_SUT_CKSEL` value group
999#[allow(non_upper_case_globals)]
1000pub mod enum_sut_cksel {
1001   /// Ext. Clock; Start-up time: 6 CK + 0 ms.
1002   pub const EXTCLK_6CK_0MS: u32 = 0x0;
1003   /// Ext. Clock; Start-up time: 6 CK + 4 ms.
1004   pub const EXTCLK_6CK_4MS: u32 = 0x10;
1005   /// Ext. Clock; Start-up time: 6 CK + 64 ms.
1006   pub const EXTCLK_6CK_64MS: u32 = 0x20;
1007   /// Int. RC Osc. 1 MHz; Start-up time: 6 CK + 0 ms.
1008   pub const INTRCOSC_1MHZ_6CK_0MS: u32 = 0x1;
1009   /// Int. RC Osc. 1 MHz; Start-up time: 6 CK + 4 ms.
1010   pub const INTRCOSC_1MHZ_6CK_4MS: u32 = 0x11;
1011   /// Int. RC Osc. 1 MHz; Start-up time: 6 CK + 64 ms.
1012   pub const INTRCOSC_1MHZ_6CK_64MS: u32 = 0x21;
1013   /// Int. RC Osc. 2 MHz; Start-up time: 6 CK + 0 ms.
1014   pub const INTRCOSC_2MHZ_6CK_0MS: u32 = 0x2;
1015   /// Int. RC Osc. 2 MHz; Start-up time: 6 CK + 4 ms.
1016   pub const INTRCOSC_2MHZ_6CK_4MS: u32 = 0x12;
1017   /// Int. RC Osc. 2 MHz; Start-up time: 6 CK + 64 ms.
1018   pub const INTRCOSC_2MHZ_6CK_64MS: u32 = 0x22;
1019   /// Int. RC Osc. 4 MHz; Start-up time: 6 CK + 0 ms.
1020   pub const INTRCOSC_4MHZ_6CK_0MS: u32 = 0x3;
1021   /// Int. RC Osc. 4 MHz; Start-up time: 6 CK + 4 ms.
1022   pub const INTRCOSC_4MHZ_6CK_4MS: u32 = 0x13;
1023   /// Int. RC Osc. 4 MHz; Start-up time: 6 CK + 64 ms.
1024   pub const INTRCOSC_4MHZ_6CK_64MS: u32 = 0x23;
1025   /// Int. RC Osc. 8 MHz; Start-up time: 6 CK + 0 ms.
1026   pub const INTRCOSC_8MHZ_6CK_0MS: u32 = 0x4;
1027   /// Int. RC Osc. 8 MHz; Start-up time: 6 CK + 4 ms.
1028   pub const INTRCOSC_8MHZ_6CK_4MS: u32 = 0x14;
1029   /// Int. RC Osc. 8 MHz; Start-up time: 6 CK + 64 ms.
1030   pub const INTRCOSC_8MHZ_6CK_64MS: u32 = 0x24;
1031   /// Ext. RC Osc.         -  0.9 MHz; Start-up time: 18 CK + 0 ms.
1032   pub const EXTRCOSC_XX_0MHZ9_18CK_0MS: u32 = 0x5;
1033   /// Ext. RC Osc.         -  0.9 MHz; Start-up time: 18 CK + 4 ms.
1034   pub const EXTRCOSC_XX_0MHZ9_18CK_4MS: u32 = 0x15;
1035   /// Ext. RC Osc.         -  0.9 MHz; Start-up time: 18 CK + 64 ms.
1036   pub const EXTRCOSC_XX_0MHZ9_18CK_64MS: u32 = 0x25;
1037   /// Ext. RC Osc.         -  0.9 MHz; Start-up time: 6 CK + 4 ms.
1038   pub const EXTRCOSC_XX_0MHZ9_6CK_4MS: u32 = 0x35;
1039   /// Ext. RC Osc. 0.9 MHz -  3.0 MHz; Start-up time: 18 CK + 0 ms.
1040   pub const EXTRCOSC_0MHZ9_3MHZ_18CK_0MS: u32 = 0x6;
1041   /// Ext. RC Osc. 0.9 MHz -  3.0 MHz; Start-up time: 18 CK + 4 ms.
1042   pub const EXTRCOSC_0MHZ9_3MHZ_18CK_4MS: u32 = 0x16;
1043   /// Ext. RC Osc. 0.9 MHz -  3.0 MHz; Start-up time: 18 CK + 64 ms.
1044   pub const EXTRCOSC_0MHZ9_3MHZ_18CK_64MS: u32 = 0x26;
1045   /// Ext. RC Osc. 0.9 MHz -  3.0 MHz; Start-up time: 6 CK + 4 ms.
1046   pub const EXTRCOSC_0MHZ9_3MHZ_6CK_4MS: u32 = 0x36;
1047   /// Ext. RC Osc. 3.0 MHz -  8.0 MHz; Start-up time: 18 CK + 0 ms.
1048   pub const EXTRCOSC_3MHZ_8MHZ_18CK_0MS: u32 = 0x7;
1049   /// Ext. RC Osc. 3.0 MHz -  8.0 MHz; Start-up time: 18 CK + 4 ms.
1050   pub const EXTRCOSC_3MHZ_8MHZ_18CK_4MS: u32 = 0x17;
1051   /// Ext. RC Osc. 3.0 MHz -  8.0 MHz; Start-up time: 18 CK + 64 ms.
1052   pub const EXTRCOSC_3MHZ_8MHZ_18CK_64MS: u32 = 0x27;
1053   /// Ext. RC Osc. 3.0 MHz -  8.0 MHz; Start-up time: 6 CK + 4 ms.
1054   pub const EXTRCOSC_3MHZ_8MHZ_6CK_4MS: u32 = 0x37;
1055   /// Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 0 ms.
1056   pub const EXTRCOSC_8MHZ_12MHZ_18CK_0MS: u32 = 0x8;
1057   /// Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 4 ms.
1058   pub const EXTRCOSC_8MHZ_12MHZ_18CK_4MS: u32 = 0x18;
1059   /// Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 64 ms.
1060   pub const EXTRCOSC_8MHZ_12MHZ_18CK_64MS: u32 = 0x28;
1061   /// Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 6 CK + 4 ms.
1062   pub const EXTRCOSC_8MHZ_12MHZ_6CK_4MS: u32 = 0x38;
1063   /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 4 ms.
1064   pub const EXTLOFXTAL_1KCK_4MS: u32 = 0x9;
1065   /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 64 ms.
1066   pub const EXTLOFXTAL_1KCK_64MS: u32 = 0x19;
1067   /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 64 ms.
1068   pub const EXTLOFXTAL_32KCK_64MS: u32 = 0x29;
1069   /// Ext. Crystal/Resonator Low Freq.; Start-up time: 258 CK + 4 ms.
1070   pub const EXTLOFXTALRES_258CK_4MS: u32 = 0xA;
1071   /// Ext. Crystal/Resonator Low Freq.; Start-up time: 258 CK + 64 ms.
1072   pub const EXTLOFXTALRES_258CK_64MS: u32 = 0x1A;
1073   /// Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 0 ms.
1074   pub const EXTLOFXTALRES_1KCK_0MS: u32 = 0x2A;
1075   /// Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 4 ms.
1076   pub const EXTLOFXTALRES_1KCK_4MS: u32 = 0x3A;
1077   /// Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 64 ms.
1078   pub const EXTLOFXTALRES_1KCK_64MS: u32 = 0xB;
1079   /// Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 0 ms.
1080   pub const EXTLOFXTALRES_16KCK_0MS: u32 = 0x1B;
1081   /// Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 4 ms.
1082   pub const EXTLOFXTALRES_16KCK_4MS: u32 = 0x2B;
1083   /// Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 64 ms.
1084   pub const EXTLOFXTALRES_16KCK_64MS: u32 = 0x3B;
1085   /// Ext. Crystal/Resonator Medium Freq.; Start-up time: 258 CK + 4 ms.
1086   pub const EXTMEDFXTALRES_258CK_4MS: u32 = 0xC;
1087   /// Ext. Crystal/Resonator Medium Freq.; Start-up time: 258 CK + 64 ms.
1088   pub const EXTMEDFXTALRES_258CK_64MS: u32 = 0x1C;
1089   /// Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 0 ms.
1090   pub const EXTMEDFXTALRES_1KCK_0MS: u32 = 0x2C;
1091   /// Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 4 ms.
1092   pub const EXTMEDFXTALRES_1KCK_4MS: u32 = 0x3C;
1093   /// Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 64 ms.
1094   pub const EXTMEDFXTALRES_1KCK_64MS: u32 = 0xD;
1095   /// Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 0 ms.
1096   pub const EXTMEDFXTALRES_16KCK_0MS: u32 = 0x1D;
1097   /// Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 4 ms.
1098   pub const EXTMEDFXTALRES_16KCK_4MS: u32 = 0x2D;
1099   /// Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 64 ms.
1100   pub const EXTMEDFXTALRES_16KCK_64MS: u32 = 0x3D;
1101   /// Ext. Crystal/Resonator High Freq.; Start-up time: 258 CK + 4 ms.
1102   pub const EXTHIFXTALRES_258CK_4MS: u32 = 0xE;
1103   /// Ext. Crystal/Resonator High Freq.; Start-up time: 258 CK + 64 ms.
1104   pub const EXTHIFXTALRES_258CK_64MS: u32 = 0x1E;
1105   /// Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 0 ms.
1106   pub const EXTHIFXTALRES_1KCK_0MS: u32 = 0x2E;
1107   /// Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 4 ms.
1108   pub const EXTHIFXTALRES_1KCK_4MS: u32 = 0x3E;
1109   /// Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 64 ms.
1110   pub const EXTHIFXTALRES_1KCK_64MS: u32 = 0xF;
1111   /// Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 0 ms.
1112   pub const EXTHIFXTALRES_16KCK_0MS: u32 = 0x1F;
1113   /// Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 4 ms.
1114   pub const EXTHIFXTALRES_16KCK_4MS: u32 = 0x2F;
1115   /// Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms.
1116   pub const EXTHIFXTALRES_16KCK_64MS: u32 = 0x3F;
1117}
1118
1119/// `INTERRUPT_SENSE_CONTROL2` value group
1120#[allow(non_upper_case_globals)]
1121pub mod interrupt_sense_control2 {
1122   /// Low Level of INTX.
1123   pub const VAL_0x00: u32 = 0x0;
1124   /// Any Logical Change in INTX.
1125   pub const VAL_0x01: u32 = 0x1;
1126   /// Falling Edge of INTX.
1127   pub const VAL_0x02: u32 = 0x2;
1128   /// Rising Edge of INTX.
1129   pub const VAL_0x03: u32 = 0x3;
1130}
1131
1132/// Oscillator Calibration Values
1133#[allow(non_upper_case_globals)]
1134pub mod osccal_value_addresses {
1135   /// 1 Mhz.
1136   pub const _1_Mhz: u32 = 0x0;
1137   /// 2 Mhz.
1138   pub const _2_Mhz: u32 = 0x1;
1139   /// 4 Mhz.
1140   pub const _4_Mhz: u32 = 0x2;
1141   /// 8 Mhz.
1142   pub const _8_Mhz: u32 = 0x3;
1143}
1144
1145/// `WAVEFORM_GEN_MODE` value group
1146#[allow(non_upper_case_globals)]
1147pub mod waveform_gen_mode {
1148   /// Normal.
1149   pub const VAL_0x00: u32 = 0x0;
1150   /// PWM, Phase Correct.
1151   pub const VAL_0x02: u32 = 0x2;
1152   /// CTC.
1153   pub const VAL_0x01: u32 = 0x1;
1154   /// Fast PWM.
1155   pub const VAL_0x03: u32 = 0x3;
1156}
1157
1158/// `WDOG_TIMER_PRESCALE_3BITS` value group
1159#[allow(non_upper_case_globals)]
1160pub mod wdog_timer_prescale_3bits {
1161   /// Oscillator Cycles 16K.
1162   pub const VAL_0x00: u32 = 0x0;
1163   /// Oscillator Cycles 32K.
1164   pub const VAL_0x01: u32 = 0x1;
1165   /// Oscillator Cycles 64K.
1166   pub const VAL_0x02: u32 = 0x2;
1167   /// Oscillator Cycles 128K.
1168   pub const VAL_0x03: u32 = 0x3;
1169   /// Oscillator Cycles 256K.
1170   pub const VAL_0x04: u32 = 0x4;
1171   /// Oscillator Cycles 512K.
1172   pub const VAL_0x05: u32 = 0x5;
1173   /// Oscillator Cycles 1024K.
1174   pub const VAL_0x06: u32 = 0x6;
1175   /// Oscillator Cycles 2048K.
1176   pub const VAL_0x07: u32 = 0x7;
1177}
1178