avrd/gen/
atmega162.rs

1//! The AVR ATmega162 microcontroller
2//!
3//! # Variants
4//! |        | Pinout | Mcu age | Operating temperature | Operating voltage | Max speed |
5//! |--------|--------|---------|-----------------------|-------------------|-----------|
6//! | standard |  |  | 0°C - 0°C | 1.8V - 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/// | SUT_CKSEL | 111111 |
18/// | CKDIV8 | 10000000 |
19/// | CKOUT | 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/// | WDTON | 10000 |
40/// | EESAVE | 1000 |
41/// | BOOTSZ | 110 |
42/// | JTAGEN | 1000000 |
43/// | OCDEN | 10000000 |
44/// | SPIEN | 100000 |
45/// | BOOTRST | 1 |
46pub const HIGH: *mut u8 = 0x1 as *mut u8;
47
48/// `EXTENDED` register
49///
50/// Bitfields:
51///
52/// | Name | Mask (binary) |
53/// | ---- | ------------- |
54/// | M161C | 10000 |
55/// | BODLEVEL | 1110 |
56pub const EXTENDED: *mut u8 = 0x2 as *mut u8;
57
58/// USART Baud Rate Register Low Byte.
59pub const UBRR1L: *mut u8 = 0x20 as *mut u8;
60
61/// USART Control and Status Register B.
62///
63/// Bitfields:
64///
65/// | Name | Mask (binary) |
66/// | ---- | ------------- |
67/// | UDRIE1 | 100000 |
68/// | TXB81 | 1 |
69/// | TXEN1 | 1000 |
70/// | UCSZ12 | 100 |
71/// | RXCIE1 | 10000000 |
72/// | RXEN1 | 10000 |
73/// | TXCIE1 | 1000000 |
74/// | RXB81 | 10 |
75pub const UCSR1B: *mut u8 = 0x21 as *mut u8;
76
77/// USART Control and Status Register A.
78///
79/// Bitfields:
80///
81/// | Name | Mask (binary) |
82/// | ---- | ------------- |
83/// | UDRE1 | 100000 |
84/// | RXC1 | 10000000 |
85/// | TXC1 | 1000000 |
86/// | UPE1 | 100 |
87/// | FE1 | 10000 |
88/// | MPCM1 | 1 |
89/// | U2X1 | 10 |
90/// | DOR1 | 1000 |
91pub const UCSR1A: *mut u8 = 0x22 as *mut u8;
92
93/// USART I/O Data Register.
94pub const UDR1: *mut u8 = 0x23 as *mut u8;
95
96/// On-Chip Debug Related Register in I/O Memory.
97pub const OCDR: *mut u8 = 0x24 as *mut u8;
98
99/// Oscillator Calibration Value.
100pub const OSCCAL: *mut u8 = 0x24 as *mut u8;
101
102/// Input Pins, Port E.
103pub const PINE: *mut u8 = 0x25 as *mut u8;
104
105/// Data Direction Register, Port E.
106pub const DDRE: *mut u8 = 0x26 as *mut u8;
107
108/// Data Register, Port E.
109pub const PORTE: *mut u8 = 0x27 as *mut u8;
110
111/// Analog Comparator Control And Status Register.
112///
113/// Bitfields:
114///
115/// | Name | Mask (binary) |
116/// | ---- | ------------- |
117/// | ACI | 10000 |
118/// | ACO | 100000 |
119/// | ACIS | 11 |
120/// | ACIE | 1000 |
121/// | ACIC | 100 |
122/// | ACBG | 1000000 |
123/// | ACD | 10000000 |
124pub const ACSR: *mut u8 = 0x28 as *mut u8;
125
126/// USART Baud Rate Register Low Byte.
127pub const UBRR0L: *mut u8 = 0x29 as *mut u8;
128
129/// USART Control and Status Register B.
130///
131/// Bitfields:
132///
133/// | Name | Mask (binary) |
134/// | ---- | ------------- |
135/// | RXCIE0 | 10000000 |
136/// | TXCIE0 | 1000000 |
137/// | UDRIE0 | 100000 |
138/// | TXB80 | 1 |
139/// | TXEN0 | 1000 |
140/// | RXB80 | 10 |
141/// | RXEN0 | 10000 |
142/// | UCSZ02 | 100 |
143pub const UCSR0B: *mut u8 = 0x2A as *mut u8;
144
145/// USART Control and Status Register A.
146///
147/// Bitfields:
148///
149/// | Name | Mask (binary) |
150/// | ---- | ------------- |
151/// | UPE0 | 100 |
152/// | RXC0 | 10000000 |
153/// | U2X0 | 10 |
154/// | FE0 | 10000 |
155/// | TXC0 | 1000000 |
156/// | MPCM0 | 1 |
157/// | DOR0 | 1000 |
158/// | UDRE0 | 100000 |
159pub const UCSR0A: *mut u8 = 0x2B as *mut u8;
160
161/// USART I/O Data Register.
162pub const UDR0: *mut u8 = 0x2C as *mut u8;
163
164/// SPI Control Register.
165///
166/// Bitfields:
167///
168/// | Name | Mask (binary) |
169/// | ---- | ------------- |
170/// | SPR | 11 |
171/// | SPIE | 10000000 |
172/// | DORD | 100000 |
173/// | CPOL | 1000 |
174/// | SPE | 1000000 |
175/// | MSTR | 10000 |
176/// | CPHA | 100 |
177pub const SPCR: *mut u8 = 0x2D as *mut u8;
178
179/// SPI Status Register.
180///
181/// Bitfields:
182///
183/// | Name | Mask (binary) |
184/// | ---- | ------------- |
185/// | WCOL | 1000000 |
186/// | SPIF | 10000000 |
187/// | SPI2X | 1 |
188pub const SPSR: *mut u8 = 0x2E as *mut u8;
189
190/// SPI Data Register.
191pub const SPDR: *mut u8 = 0x2F as *mut u8;
192
193/// Port D Input Pins.
194pub const PIND: *mut u8 = 0x30 as *mut u8;
195
196/// Port D Data Direction Register.
197pub const DDRD: *mut u8 = 0x31 as *mut u8;
198
199/// Port D Data Register.
200pub const PORTD: *mut u8 = 0x32 as *mut u8;
201
202/// Port C Input Pins.
203pub const PINC: *mut u8 = 0x33 as *mut u8;
204
205/// Port C Data Direction Register.
206pub const DDRC: *mut u8 = 0x34 as *mut u8;
207
208/// Port C Data Register.
209pub const PORTC: *mut u8 = 0x35 as *mut u8;
210
211/// Port B Input Pins.
212pub const PINB: *mut u8 = 0x36 as *mut u8;
213
214/// Port B Data Direction Register.
215pub const DDRB: *mut u8 = 0x37 as *mut u8;
216
217/// Port B Data Register.
218pub const PORTB: *mut u8 = 0x38 as *mut u8;
219
220/// Port A Input Pins.
221pub const PINA: *mut u8 = 0x39 as *mut u8;
222
223/// Port A Data Direction Register.
224pub const DDRA: *mut u8 = 0x3A as *mut u8;
225
226/// Port A Data Register.
227pub const PORTA: *mut u8 = 0x3B as *mut u8;
228
229/// EEPROM Control Register.
230///
231/// Bitfields:
232///
233/// | Name | Mask (binary) |
234/// | ---- | ------------- |
235/// | EEWE | 10 |
236/// | EERE | 1 |
237/// | EERIE | 1000 |
238/// | EEMWE | 100 |
239pub const EECR: *mut u8 = 0x3C as *mut u8;
240
241/// EEPROM Data Register.
242pub const EEDR: *mut u8 = 0x3D as *mut u8;
243
244/// EEPROM Address Register Bytes.
245pub const EEAR: *mut u16 = 0x3E as *mut u16;
246
247/// EEPROM Address Register Bytes low byte.
248pub const EEARL: *mut u8 = 0x3E as *mut u8;
249
250/// EEPROM Address Register Bytes high byte.
251pub const EEARH: *mut u8 = 0x3F as *mut u8;
252
253/// USART Baud Rate Register High Byte.
254pub const UBRR0H: *mut u8 = 0x40 as *mut u8;
255
256/// USART Control and Status Register C.
257///
258/// Bitfields:
259///
260/// | Name | Mask (binary) |
261/// | ---- | ------------- |
262/// | UPM0 | 110000 |
263/// | UCSZ0 | 110 |
264/// | UCPOL0 | 1 |
265/// | USBS0 | 1000 |
266/// | UMSEL0 | 1000000 |
267pub const UCSR0C: *mut u8 = 0x40 as *mut u8;
268
269/// Watchdog Timer Control Register.
270///
271/// Bitfields:
272///
273/// | Name | Mask (binary) |
274/// | ---- | ------------- |
275/// | WDE | 1000 |
276/// | WDCE | 10000 |
277/// | WDP | 111 |
278pub const WDTCR: *mut u8 = 0x41 as *mut u8;
279
280/// Output Compare Register.
281pub const OCR2: *mut u8 = 0x42 as *mut u8;
282
283/// Timer/Counter Register.
284pub const TCNT2: *mut u8 = 0x43 as *mut u8;
285
286/// Timer/Counter1 Input Capture Register  Bytes low byte.
287pub const ICR1L: *mut u8 = 0x44 as *mut u8;
288
289/// Timer/Counter1 Input Capture Register  Bytes.
290pub const ICR1: *mut u16 = 0x44 as *mut u16;
291
292/// Timer/Counter1 Input Capture Register  Bytes high byte.
293pub const ICR1H: *mut u8 = 0x45 as *mut u8;
294
295/// Asynchronous Status Register.
296///
297/// Bitfields:
298///
299/// | Name | Mask (binary) |
300/// | ---- | ------------- |
301/// | AS2 | 1000 |
302/// | TCN2UB | 100 |
303/// | TCR2UB | 1 |
304/// | OCR2UB | 10 |
305pub const ASSR: *mut u8 = 0x46 as *mut u8;
306
307/// Timer/Counter Control Register.
308///
309/// Bitfields:
310///
311/// | Name | Mask (binary) |
312/// | ---- | ------------- |
313/// | CS2 | 111 |
314/// | WGM21 | 1000 |
315/// | COM2 | 110000 |
316/// | WGM20 | 1000000 |
317/// | FOC2 | 10000000 |
318pub const TCCR2: *mut u8 = 0x47 as *mut u8;
319
320/// Timer/Counter1 Output Compare Register B  Bytes low byte.
321pub const OCR1BL: *mut u8 = 0x48 as *mut u8;
322
323/// Timer/Counter1 Output Compare Register B  Bytes.
324pub const OCR1B: *mut u16 = 0x48 as *mut u16;
325
326/// Timer/Counter1 Output Compare Register B  Bytes high byte.
327pub const OCR1BH: *mut u8 = 0x49 as *mut u8;
328
329/// Timer/Counter1 Output Compare Register A  Bytes.
330pub const OCR1A: *mut u16 = 0x4A as *mut u16;
331
332/// Timer/Counter1 Output Compare Register A  Bytes low byte.
333pub const OCR1AL: *mut u8 = 0x4A as *mut u8;
334
335/// Timer/Counter1 Output Compare Register A  Bytes high byte.
336pub const OCR1AH: *mut u8 = 0x4B as *mut u8;
337
338/// Timer/Counter1  Bytes low byte.
339pub const TCNT1L: *mut u8 = 0x4C as *mut u8;
340
341/// Timer/Counter1  Bytes.
342pub const TCNT1: *mut u16 = 0x4C as *mut u16;
343
344/// Timer/Counter1  Bytes high byte.
345pub const TCNT1H: *mut u8 = 0x4D as *mut u8;
346
347/// Timer/Counter1 Control Register B.
348///
349/// Bitfields:
350///
351/// | Name | Mask (binary) |
352/// | ---- | ------------- |
353/// | ICES1 | 1000000 |
354/// | CS1 | 111 |
355/// | ICNC1 | 10000000 |
356pub const TCCR1B: *mut u8 = 0x4E as *mut u8;
357
358/// Timer/Counter1 Control Register A.
359///
360/// Bitfields:
361///
362/// | Name | Mask (binary) |
363/// | ---- | ------------- |
364/// | FOC1B | 100 |
365/// | COM1B | 110000 |
366/// | FOC1A | 1000 |
367/// | COM1A | 11000000 |
368pub const TCCR1A: *mut u8 = 0x4F as *mut u8;
369
370/// Special Function IO Register.
371///
372/// Bitfields:
373///
374/// | Name | Mask (binary) |
375/// | ---- | ------------- |
376/// | XMM | 111000 |
377/// | PSR310 | 1 |
378/// | PSR2 | 10 |
379/// | PUD | 100 |
380/// | XMBK | 1000000 |
381/// | TSM | 10000000 |
382pub const SFIOR: *mut u8 = 0x50 as *mut u8;
383
384/// Timer/Counter 0 Output Compare Register.
385pub const OCR0: *mut u8 = 0x51 as *mut u8;
386
387/// Timer/Counter 0 Register.
388pub const TCNT0: *mut u8 = 0x52 as *mut u8;
389
390/// Timer/Counter 0 Control Register.
391///
392/// Bitfields:
393///
394/// | Name | Mask (binary) |
395/// | ---- | ------------- |
396/// | WGM01 | 1000 |
397/// | COM0 | 110000 |
398/// | CS0 | 111 |
399/// | WGM00 | 1000000 |
400/// | FOC0 | 10000000 |
401pub const TCCR0: *mut u8 = 0x53 as *mut u8;
402
403/// MCU Control And Status Register.
404///
405/// Bitfields:
406///
407/// | Name | Mask (binary) |
408/// | ---- | ------------- |
409/// | JTD | 10000000 |
410/// | JTRF | 10000 |
411pub const MCUCSR: *mut u8 = 0x54 as *mut u8;
412
413/// MCU Control Register.
414///
415/// Bitfields:
416///
417/// | Name | Mask (binary) |
418/// | ---- | ------------- |
419/// | ISC0 | 11 |
420/// | ISC1 | 1100 |
421pub const MCUCR: *mut u8 = 0x55 as *mut u8;
422
423/// Extended MCU Control Register.
424///
425/// Bitfields:
426///
427/// | Name | Mask (binary) |
428/// | ---- | ------------- |
429/// | ISC2 | 1 |
430pub const EMCUCR: *mut u8 = 0x56 as *mut u8;
431
432/// Store Program Memory Control Register.
433///
434/// Bitfields:
435///
436/// | Name | Mask (binary) |
437/// | ---- | ------------- |
438/// | RWWSRE | 10000 |
439/// | SPMEN | 1 |
440/// | SPMIE | 10000000 |
441/// | RWWSB | 1000000 |
442/// | BLBSET | 1000 |
443/// | PGWRT | 100 |
444/// | PGERS | 10 |
445pub const SPMCR: *mut u8 = 0x57 as *mut u8;
446
447/// Timer/Counter Interrupt Flag register.
448///
449/// Bitfields:
450///
451/// | Name | Mask (binary) |
452/// | ---- | ------------- |
453/// | TOV0 | 10 |
454/// | OCF0 | 1 |
455pub const TIFR: *mut u8 = 0x58 as *mut u8;
456
457/// Timer/Counter Interrupt Mask Register.
458///
459/// Bitfields:
460///
461/// | Name | Mask (binary) |
462/// | ---- | ------------- |
463/// | OCIE0 | 1 |
464/// | TOIE0 | 10 |
465pub const TIMSK: *mut u8 = 0x59 as *mut u8;
466
467/// General Interrupt Flag Register.
468///
469/// Bitfields:
470///
471/// | Name | Mask (binary) |
472/// | ---- | ------------- |
473/// | INTF | 11000000 |
474/// | PCIF | 11000 |
475/// | INTF2 | 100000 |
476pub const GIFR: *mut u8 = 0x5A as *mut u8;
477
478/// General Interrupt Control Register.
479///
480/// Bitfields:
481///
482/// | Name | Mask (binary) |
483/// | ---- | ------------- |
484/// | INT0 | 1000000 |
485/// | INT2 | 100000 |
486/// | PCIE | 11000 |
487/// | IVCE | 1 |
488/// | IVSEL | 10 |
489/// | INT1 | 10000000 |
490pub const GICR: *mut u8 = 0x5B as *mut u8;
491
492/// USART Baud Rate Register Highg Byte.
493pub const UBRR1H: *mut u8 = 0x5C as *mut u8;
494
495/// USART Control and Status Register C.
496///
497/// Bitfields:
498///
499/// | Name | Mask (binary) |
500/// | ---- | ------------- |
501/// | UPM1 | 110000 |
502/// | UCSZ1 | 110 |
503/// | USBS1 | 1000 |
504/// | UCPOL1 | 1 |
505/// | URSEL1 | 10000000 |
506/// | UMSEL1 | 1000000 |
507pub const UCSR1C: *mut u8 = 0x5C as *mut u8;
508
509/// Stack Pointer  low byte.
510pub const SPL: *mut u8 = 0x5D as *mut u8;
511
512/// Stack Pointer.
513pub const SP: *mut u16 = 0x5D as *mut u16;
514
515/// Stack Pointer  high byte.
516pub const SPH: *mut u8 = 0x5E as *mut u8;
517
518/// Status Register.
519///
520/// Bitfields:
521///
522/// | Name | Mask (binary) |
523/// | ---- | ------------- |
524/// | C | 1 |
525/// | T | 1000000 |
526/// | I | 10000000 |
527/// | N | 100 |
528/// | H | 100000 |
529/// | S | 10000 |
530/// | V | 1000 |
531/// | Z | 10 |
532pub const SREG: *mut u8 = 0x5F as *mut u8;
533
534/// Clock prescale register.
535///
536/// Bitfields:
537///
538/// | Name | Mask (binary) |
539/// | ---- | ------------- |
540/// | CLKPS | 1111 |
541/// | CLKPCE | 10000000 |
542pub const CLKPR: *mut u8 = 0x61 as *mut u8;
543
544/// Pin Change Enable Mask.
545pub const PCMSK0: *mut u8 = 0x6B as *mut u8;
546
547/// Pin Change Mask Register 1.
548pub const PCMSK1: *mut u8 = 0x6C as *mut u8;
549
550/// Extended Timer/Counter Interrupt Flag register.
551///
552/// Bitfields:
553///
554/// | Name | Mask (binary) |
555/// | ---- | ------------- |
556/// | OCF3A | 10000 |
557/// | ICF3 | 100000 |
558/// | TOV3 | 100 |
559/// | OCF3B | 1000 |
560pub const ETIFR: *mut u8 = 0x7C as *mut u8;
561
562/// Extended Timer/Counter Interrupt Mask Register.
563///
564/// Bitfields:
565///
566/// | Name | Mask (binary) |
567/// | ---- | ------------- |
568/// | TICIE3 | 100000 |
569/// | OCIE3A | 10000 |
570/// | OCIE3B | 1000 |
571/// | TOIE3 | 100 |
572pub const ETIMSK: *mut u8 = 0x7D as *mut u8;
573
574/// Timer/Counter3 Input Capture Register  Bytes.
575pub const ICR3: *mut u16 = 0x80 as *mut u16;
576
577/// Timer/Counter3 Input Capture Register  Bytes low byte.
578pub const ICR3L: *mut u8 = 0x80 as *mut u8;
579
580/// Timer/Counter3 Input Capture Register  Bytes high byte.
581pub const ICR3H: *mut u8 = 0x81 as *mut u8;
582
583/// Timer/Counte3 Output Compare Register B  Bytes low byte.
584pub const OCR3BL: *mut u8 = 0x84 as *mut u8;
585
586/// Timer/Counte3 Output Compare Register B  Bytes.
587pub const OCR3B: *mut u16 = 0x84 as *mut u16;
588
589/// Timer/Counte3 Output Compare Register B  Bytes high byte.
590pub const OCR3BH: *mut u8 = 0x85 as *mut u8;
591
592/// Timer/Counter3 Output Compare Register A  Bytes.
593pub const OCR3A: *mut u16 = 0x86 as *mut u16;
594
595/// Timer/Counter3 Output Compare Register A  Bytes low byte.
596pub const OCR3AL: *mut u8 = 0x86 as *mut u8;
597
598/// Timer/Counter3 Output Compare Register A  Bytes high byte.
599pub const OCR3AH: *mut u8 = 0x87 as *mut u8;
600
601/// Timer/Counter3  Bytes low byte.
602pub const TCNT3L: *mut u8 = 0x88 as *mut u8;
603
604/// Timer/Counter3  Bytes.
605pub const TCNT3: *mut u16 = 0x88 as *mut u16;
606
607/// Timer/Counter3  Bytes high byte.
608pub const TCNT3H: *mut u8 = 0x89 as *mut u8;
609
610/// Timer/Counter3 Control Register B.
611///
612/// Bitfields:
613///
614/// | Name | Mask (binary) |
615/// | ---- | ------------- |
616/// | ICNC3 | 10000000 |
617/// | CS3 | 111 |
618/// | ICES3 | 1000000 |
619pub const TCCR3B: *mut u8 = 0x8A as *mut u8;
620
621/// Timer/Counter3 Control Register A.
622///
623/// Bitfields:
624///
625/// | Name | Mask (binary) |
626/// | ---- | ------------- |
627/// | COM3B | 110000 |
628/// | FOC3A | 1000 |
629/// | COM3A | 11000000 |
630/// | FOC3B | 100 |
631pub const TCCR3A: *mut u8 = 0x8B as *mut u8;
632
633/// Bitfield on register `ACSR`
634pub const ACI: *mut u8 = 0x10 as *mut u8;
635
636/// Bitfield on register `ACSR`
637pub const ACO: *mut u8 = 0x20 as *mut u8;
638
639/// Bitfield on register `ACSR`
640pub const ACIS: *mut u8 = 0x3 as *mut u8;
641
642/// Bitfield on register `ACSR`
643pub const ACIE: *mut u8 = 0x8 as *mut u8;
644
645/// Bitfield on register `ACSR`
646pub const ACIC: *mut u8 = 0x4 as *mut u8;
647
648/// Bitfield on register `ACSR`
649pub const ACBG: *mut u8 = 0x40 as *mut u8;
650
651/// Bitfield on register `ACSR`
652pub const ACD: *mut u8 = 0x80 as *mut u8;
653
654/// Bitfield on register `ASSR`
655pub const AS2: *mut u8 = 0x8 as *mut u8;
656
657/// Bitfield on register `ASSR`
658pub const TCN2UB: *mut u8 = 0x4 as *mut u8;
659
660/// Bitfield on register `ASSR`
661pub const TCR2UB: *mut u8 = 0x1 as *mut u8;
662
663/// Bitfield on register `ASSR`
664pub const OCR2UB: *mut u8 = 0x2 as *mut u8;
665
666/// Bitfield on register `CLKPR`
667pub const CLKPS: *mut u8 = 0xF as *mut u8;
668
669/// Bitfield on register `CLKPR`
670pub const CLKPCE: *mut u8 = 0x80 as *mut u8;
671
672/// Bitfield on register `EECR`
673pub const EEWE: *mut u8 = 0x2 as *mut u8;
674
675/// Bitfield on register `EECR`
676pub const EERE: *mut u8 = 0x1 as *mut u8;
677
678/// Bitfield on register `EECR`
679pub const EERIE: *mut u8 = 0x8 as *mut u8;
680
681/// Bitfield on register `EECR`
682pub const EEMWE: *mut u8 = 0x4 as *mut u8;
683
684/// Bitfield on register `EMCUCR`
685pub const ISC2: *mut u8 = 0x1 as *mut u8;
686
687/// Bitfield on register `ETIFR`
688pub const OCF3A: *mut u8 = 0x10 as *mut u8;
689
690/// Bitfield on register `ETIFR`
691pub const ICF3: *mut u8 = 0x20 as *mut u8;
692
693/// Bitfield on register `ETIFR`
694pub const TOV3: *mut u8 = 0x4 as *mut u8;
695
696/// Bitfield on register `ETIFR`
697pub const OCF3B: *mut u8 = 0x8 as *mut u8;
698
699/// Bitfield on register `ETIMSK`
700pub const TICIE3: *mut u8 = 0x20 as *mut u8;
701
702/// Bitfield on register `ETIMSK`
703pub const OCIE3A: *mut u8 = 0x10 as *mut u8;
704
705/// Bitfield on register `ETIMSK`
706pub const OCIE3B: *mut u8 = 0x8 as *mut u8;
707
708/// Bitfield on register `ETIMSK`
709pub const TOIE3: *mut u8 = 0x4 as *mut u8;
710
711/// Bitfield on register `EXTENDED`
712pub const M161C: *mut u8 = 0x10 as *mut u8;
713
714/// Bitfield on register `EXTENDED`
715pub const BODLEVEL: *mut u8 = 0xE as *mut u8;
716
717/// Bitfield on register `GICR`
718pub const INT0: *mut u8 = 0x40 as *mut u8;
719
720/// Bitfield on register `GICR`
721pub const INT2: *mut u8 = 0x20 as *mut u8;
722
723/// Bitfield on register `GICR`
724pub const PCIE: *mut u8 = 0x18 as *mut u8;
725
726/// Bitfield on register `GICR`
727pub const IVCE: *mut u8 = 0x1 as *mut u8;
728
729/// Bitfield on register `GICR`
730pub const IVSEL: *mut u8 = 0x2 as *mut u8;
731
732/// Bitfield on register `GICR`
733pub const INT1: *mut u8 = 0x80 as *mut u8;
734
735/// Bitfield on register `GIFR`
736pub const INTF: *mut u8 = 0xC0 as *mut u8;
737
738/// Bitfield on register `GIFR`
739pub const PCIF: *mut u8 = 0x18 as *mut u8;
740
741/// Bitfield on register `GIFR`
742pub const INTF2: *mut u8 = 0x20 as *mut u8;
743
744/// Bitfield on register `HIGH`
745pub const WDTON: *mut u8 = 0x10 as *mut u8;
746
747/// Bitfield on register `HIGH`
748pub const EESAVE: *mut u8 = 0x8 as *mut u8;
749
750/// Bitfield on register `HIGH`
751pub const BOOTSZ: *mut u8 = 0x6 as *mut u8;
752
753/// Bitfield on register `HIGH`
754pub const JTAGEN: *mut u8 = 0x40 as *mut u8;
755
756/// Bitfield on register `HIGH`
757pub const OCDEN: *mut u8 = 0x80 as *mut u8;
758
759/// Bitfield on register `HIGH`
760pub const SPIEN: *mut u8 = 0x20 as *mut u8;
761
762/// Bitfield on register `HIGH`
763pub const BOOTRST: *mut u8 = 0x1 as *mut u8;
764
765/// Bitfield on register `LOCKBIT`
766pub const BLB0: *mut u8 = 0xC as *mut u8;
767
768/// Bitfield on register `LOCKBIT`
769pub const LB: *mut u8 = 0x3 as *mut u8;
770
771/// Bitfield on register `LOCKBIT`
772pub const BLB1: *mut u8 = 0x30 as *mut u8;
773
774/// Bitfield on register `LOW`
775pub const SUT_CKSEL: *mut u8 = 0x3F as *mut u8;
776
777/// Bitfield on register `LOW`
778pub const CKDIV8: *mut u8 = 0x80 as *mut u8;
779
780/// Bitfield on register `LOW`
781pub const CKOUT: *mut u8 = 0x40 as *mut u8;
782
783/// Bitfield on register `MCUCR`
784pub const ISC0: *mut u8 = 0x3 as *mut u8;
785
786/// Bitfield on register `MCUCR`
787pub const ISC1: *mut u8 = 0xC as *mut u8;
788
789/// Bitfield on register `MCUCSR`
790pub const JTD: *mut u8 = 0x80 as *mut u8;
791
792/// Bitfield on register `MCUCSR`
793pub const JTRF: *mut u8 = 0x10 as *mut u8;
794
795/// Bitfield on register `SFIOR`
796pub const XMM: *mut u8 = 0x38 as *mut u8;
797
798/// Bitfield on register `SFIOR`
799pub const PSR310: *mut u8 = 0x1 as *mut u8;
800
801/// Bitfield on register `SFIOR`
802pub const PSR2: *mut u8 = 0x2 as *mut u8;
803
804/// Bitfield on register `SFIOR`
805pub const PUD: *mut u8 = 0x4 as *mut u8;
806
807/// Bitfield on register `SFIOR`
808pub const XMBK: *mut u8 = 0x40 as *mut u8;
809
810/// Bitfield on register `SFIOR`
811pub const TSM: *mut u8 = 0x80 as *mut u8;
812
813/// Bitfield on register `SPCR`
814pub const SPR: *mut u8 = 0x3 as *mut u8;
815
816/// Bitfield on register `SPCR`
817pub const SPIE: *mut u8 = 0x80 as *mut u8;
818
819/// Bitfield on register `SPCR`
820pub const DORD: *mut u8 = 0x20 as *mut u8;
821
822/// Bitfield on register `SPCR`
823pub const CPOL: *mut u8 = 0x8 as *mut u8;
824
825/// Bitfield on register `SPCR`
826pub const SPE: *mut u8 = 0x40 as *mut u8;
827
828/// Bitfield on register `SPCR`
829pub const MSTR: *mut u8 = 0x10 as *mut u8;
830
831/// Bitfield on register `SPCR`
832pub const CPHA: *mut u8 = 0x4 as *mut u8;
833
834/// Bitfield on register `SPMCR`
835pub const RWWSRE: *mut u8 = 0x10 as *mut u8;
836
837/// Bitfield on register `SPMCR`
838pub const SPMEN: *mut u8 = 0x1 as *mut u8;
839
840/// Bitfield on register `SPMCR`
841pub const SPMIE: *mut u8 = 0x80 as *mut u8;
842
843/// Bitfield on register `SPMCR`
844pub const RWWSB: *mut u8 = 0x40 as *mut u8;
845
846/// Bitfield on register `SPMCR`
847pub const BLBSET: *mut u8 = 0x8 as *mut u8;
848
849/// Bitfield on register `SPMCR`
850pub const PGWRT: *mut u8 = 0x4 as *mut u8;
851
852/// Bitfield on register `SPMCR`
853pub const PGERS: *mut u8 = 0x2 as *mut u8;
854
855/// Bitfield on register `SPSR`
856pub const WCOL: *mut u8 = 0x40 as *mut u8;
857
858/// Bitfield on register `SPSR`
859pub const SPIF: *mut u8 = 0x80 as *mut u8;
860
861/// Bitfield on register `SPSR`
862pub const SPI2X: *mut u8 = 0x1 as *mut u8;
863
864/// Bitfield on register `SREG`
865pub const C: *mut u8 = 0x1 as *mut u8;
866
867/// Bitfield on register `SREG`
868pub const T: *mut u8 = 0x40 as *mut u8;
869
870/// Bitfield on register `SREG`
871pub const I: *mut u8 = 0x80 as *mut u8;
872
873/// Bitfield on register `SREG`
874pub const N: *mut u8 = 0x4 as *mut u8;
875
876/// Bitfield on register `SREG`
877pub const H: *mut u8 = 0x20 as *mut u8;
878
879/// Bitfield on register `SREG`
880pub const S: *mut u8 = 0x10 as *mut u8;
881
882/// Bitfield on register `SREG`
883pub const V: *mut u8 = 0x8 as *mut u8;
884
885/// Bitfield on register `SREG`
886pub const Z: *mut u8 = 0x2 as *mut u8;
887
888/// Bitfield on register `TCCR0`
889pub const WGM01: *mut u8 = 0x8 as *mut u8;
890
891/// Bitfield on register `TCCR0`
892pub const COM0: *mut u8 = 0x30 as *mut u8;
893
894/// Bitfield on register `TCCR0`
895pub const CS0: *mut u8 = 0x7 as *mut u8;
896
897/// Bitfield on register `TCCR0`
898pub const WGM00: *mut u8 = 0x40 as *mut u8;
899
900/// Bitfield on register `TCCR0`
901pub const FOC0: *mut u8 = 0x80 as *mut u8;
902
903/// Bitfield on register `TCCR1A`
904pub const FOC1B: *mut u8 = 0x4 as *mut u8;
905
906/// Bitfield on register `TCCR1A`
907pub const COM1B: *mut u8 = 0x30 as *mut u8;
908
909/// Bitfield on register `TCCR1A`
910pub const FOC1A: *mut u8 = 0x8 as *mut u8;
911
912/// Bitfield on register `TCCR1A`
913pub const COM1A: *mut u8 = 0xC0 as *mut u8;
914
915/// Bitfield on register `TCCR1B`
916pub const ICES1: *mut u8 = 0x40 as *mut u8;
917
918/// Bitfield on register `TCCR1B`
919pub const CS1: *mut u8 = 0x7 as *mut u8;
920
921/// Bitfield on register `TCCR1B`
922pub const ICNC1: *mut u8 = 0x80 as *mut u8;
923
924/// Bitfield on register `TCCR2`
925pub const CS2: *mut u8 = 0x7 as *mut u8;
926
927/// Bitfield on register `TCCR2`
928pub const WGM21: *mut u8 = 0x8 as *mut u8;
929
930/// Bitfield on register `TCCR2`
931pub const COM2: *mut u8 = 0x30 as *mut u8;
932
933/// Bitfield on register `TCCR2`
934pub const WGM20: *mut u8 = 0x40 as *mut u8;
935
936/// Bitfield on register `TCCR2`
937pub const FOC2: *mut u8 = 0x80 as *mut u8;
938
939/// Bitfield on register `TCCR3A`
940pub const COM3B: *mut u8 = 0x30 as *mut u8;
941
942/// Bitfield on register `TCCR3A`
943pub const FOC3A: *mut u8 = 0x8 as *mut u8;
944
945/// Bitfield on register `TCCR3A`
946pub const COM3A: *mut u8 = 0xC0 as *mut u8;
947
948/// Bitfield on register `TCCR3A`
949pub const FOC3B: *mut u8 = 0x4 as *mut u8;
950
951/// Bitfield on register `TCCR3B`
952pub const ICNC3: *mut u8 = 0x80 as *mut u8;
953
954/// Bitfield on register `TCCR3B`
955pub const CS3: *mut u8 = 0x7 as *mut u8;
956
957/// Bitfield on register `TCCR3B`
958pub const ICES3: *mut u8 = 0x40 as *mut u8;
959
960/// Bitfield on register `TIFR`
961pub const TOV0: *mut u8 = 0x2 as *mut u8;
962
963/// Bitfield on register `TIFR`
964pub const OCF0: *mut u8 = 0x1 as *mut u8;
965
966/// Bitfield on register `TIMSK`
967pub const OCIE0: *mut u8 = 0x1 as *mut u8;
968
969/// Bitfield on register `TIMSK`
970pub const TOIE0: *mut u8 = 0x2 as *mut u8;
971
972/// Bitfield on register `UCSR0A`
973pub const UPE0: *mut u8 = 0x4 as *mut u8;
974
975/// Bitfield on register `UCSR0A`
976pub const RXC0: *mut u8 = 0x80 as *mut u8;
977
978/// Bitfield on register `UCSR0A`
979pub const U2X0: *mut u8 = 0x2 as *mut u8;
980
981/// Bitfield on register `UCSR0A`
982pub const FE0: *mut u8 = 0x10 as *mut u8;
983
984/// Bitfield on register `UCSR0A`
985pub const TXC0: *mut u8 = 0x40 as *mut u8;
986
987/// Bitfield on register `UCSR0A`
988pub const MPCM0: *mut u8 = 0x1 as *mut u8;
989
990/// Bitfield on register `UCSR0A`
991pub const DOR0: *mut u8 = 0x8 as *mut u8;
992
993/// Bitfield on register `UCSR0A`
994pub const UDRE0: *mut u8 = 0x20 as *mut u8;
995
996/// Bitfield on register `UCSR0B`
997pub const RXCIE0: *mut u8 = 0x80 as *mut u8;
998
999/// Bitfield on register `UCSR0B`
1000pub const TXCIE0: *mut u8 = 0x40 as *mut u8;
1001
1002/// Bitfield on register `UCSR0B`
1003pub const UDRIE0: *mut u8 = 0x20 as *mut u8;
1004
1005/// Bitfield on register `UCSR0B`
1006pub const TXB80: *mut u8 = 0x1 as *mut u8;
1007
1008/// Bitfield on register `UCSR0B`
1009pub const TXEN0: *mut u8 = 0x8 as *mut u8;
1010
1011/// Bitfield on register `UCSR0B`
1012pub const RXB80: *mut u8 = 0x2 as *mut u8;
1013
1014/// Bitfield on register `UCSR0B`
1015pub const RXEN0: *mut u8 = 0x10 as *mut u8;
1016
1017/// Bitfield on register `UCSR0B`
1018pub const UCSZ02: *mut u8 = 0x4 as *mut u8;
1019
1020/// Bitfield on register `UCSR0C`
1021pub const UPM0: *mut u8 = 0x30 as *mut u8;
1022
1023/// Bitfield on register `UCSR0C`
1024pub const UCSZ0: *mut u8 = 0x6 as *mut u8;
1025
1026/// Bitfield on register `UCSR0C`
1027pub const UCPOL0: *mut u8 = 0x1 as *mut u8;
1028
1029/// Bitfield on register `UCSR0C`
1030pub const USBS0: *mut u8 = 0x8 as *mut u8;
1031
1032/// Bitfield on register `UCSR0C`
1033pub const UMSEL0: *mut u8 = 0x40 as *mut u8;
1034
1035/// Bitfield on register `UCSR1A`
1036pub const UDRE1: *mut u8 = 0x20 as *mut u8;
1037
1038/// Bitfield on register `UCSR1A`
1039pub const RXC1: *mut u8 = 0x80 as *mut u8;
1040
1041/// Bitfield on register `UCSR1A`
1042pub const TXC1: *mut u8 = 0x40 as *mut u8;
1043
1044/// Bitfield on register `UCSR1A`
1045pub const UPE1: *mut u8 = 0x4 as *mut u8;
1046
1047/// Bitfield on register `UCSR1A`
1048pub const FE1: *mut u8 = 0x10 as *mut u8;
1049
1050/// Bitfield on register `UCSR1A`
1051pub const MPCM1: *mut u8 = 0x1 as *mut u8;
1052
1053/// Bitfield on register `UCSR1A`
1054pub const U2X1: *mut u8 = 0x2 as *mut u8;
1055
1056/// Bitfield on register `UCSR1A`
1057pub const DOR1: *mut u8 = 0x8 as *mut u8;
1058
1059/// Bitfield on register `UCSR1B`
1060pub const UDRIE1: *mut u8 = 0x20 as *mut u8;
1061
1062/// Bitfield on register `UCSR1B`
1063pub const TXB81: *mut u8 = 0x1 as *mut u8;
1064
1065/// Bitfield on register `UCSR1B`
1066pub const TXEN1: *mut u8 = 0x8 as *mut u8;
1067
1068/// Bitfield on register `UCSR1B`
1069pub const UCSZ12: *mut u8 = 0x4 as *mut u8;
1070
1071/// Bitfield on register `UCSR1B`
1072pub const RXCIE1: *mut u8 = 0x80 as *mut u8;
1073
1074/// Bitfield on register `UCSR1B`
1075pub const RXEN1: *mut u8 = 0x10 as *mut u8;
1076
1077/// Bitfield on register `UCSR1B`
1078pub const TXCIE1: *mut u8 = 0x40 as *mut u8;
1079
1080/// Bitfield on register `UCSR1B`
1081pub const RXB81: *mut u8 = 0x2 as *mut u8;
1082
1083/// Bitfield on register `UCSR1C`
1084pub const UPM1: *mut u8 = 0x30 as *mut u8;
1085
1086/// Bitfield on register `UCSR1C`
1087pub const UCSZ1: *mut u8 = 0x6 as *mut u8;
1088
1089/// Bitfield on register `UCSR1C`
1090pub const USBS1: *mut u8 = 0x8 as *mut u8;
1091
1092/// Bitfield on register `UCSR1C`
1093pub const UCPOL1: *mut u8 = 0x1 as *mut u8;
1094
1095/// Bitfield on register `UCSR1C`
1096pub const URSEL1: *mut u8 = 0x80 as *mut u8;
1097
1098/// Bitfield on register `UCSR1C`
1099pub const UMSEL1: *mut u8 = 0x40 as *mut u8;
1100
1101/// Bitfield on register `WDTCR`
1102pub const WDE: *mut u8 = 0x8 as *mut u8;
1103
1104/// Bitfield on register `WDTCR`
1105pub const WDCE: *mut u8 = 0x10 as *mut u8;
1106
1107/// Bitfield on register `WDTCR`
1108pub const WDP: *mut u8 = 0x7 as *mut u8;
1109
1110/// `ANALOG_COMP_INTERRUPT` value group
1111#[allow(non_upper_case_globals)]
1112pub mod analog_comp_interrupt {
1113   /// Interrupt on Toggle.
1114   pub const VAL_0x00: u32 = 0x0;
1115   /// Reserved.
1116   pub const VAL_0x01: u32 = 0x1;
1117   /// Interrupt on Falling Edge.
1118   pub const VAL_0x02: u32 = 0x2;
1119   /// Interrupt on Rising Edge.
1120   pub const VAL_0x03: u32 = 0x3;
1121}
1122
1123/// `CLK_SEL_3BIT` value group
1124#[allow(non_upper_case_globals)]
1125pub mod clk_sel_3bit {
1126   /// No Clock Source (Stopped).
1127   pub const VAL_0x00: u32 = 0x0;
1128   /// Running, No Prescaling.
1129   pub const VAL_0x01: u32 = 0x1;
1130   /// Running, CLK/8.
1131   pub const VAL_0x02: u32 = 0x2;
1132   /// Running, CLK/32.
1133   pub const VAL_0x03: u32 = 0x3;
1134   /// Running, CLK/64.
1135   pub const VAL_0x04: u32 = 0x4;
1136   /// Running, CLK/128.
1137   pub const VAL_0x05: u32 = 0x5;
1138   /// Running, CLK/256.
1139   pub const VAL_0x06: u32 = 0x6;
1140   /// Running, CLK/1024.
1141   pub const VAL_0x07: u32 = 0x7;
1142}
1143
1144/// `CLK_SEL_3BIT_EXT` value group
1145#[allow(non_upper_case_globals)]
1146pub mod clk_sel_3bit_ext {
1147   /// No Clock Source (Stopped).
1148   pub const VAL_0x00: u32 = 0x0;
1149   /// Running, No Prescaling.
1150   pub const VAL_0x01: u32 = 0x1;
1151   /// Running, CLK/8.
1152   pub const VAL_0x02: u32 = 0x2;
1153   /// Running, CLK/64.
1154   pub const VAL_0x03: u32 = 0x3;
1155   /// Running, CLK/256.
1156   pub const VAL_0x04: u32 = 0x4;
1157   /// Running, CLK/1024.
1158   pub const VAL_0x05: u32 = 0x5;
1159   /// Running, ExtClk Tx Falling Edge.
1160   pub const VAL_0x06: u32 = 0x6;
1161   /// Running, ExtClk Tx Rising Edge.
1162   pub const VAL_0x07: u32 = 0x7;
1163}
1164
1165/// `CLK_SEL_3BIT_SWAPPED` value group
1166#[allow(non_upper_case_globals)]
1167pub mod clk_sel_3bit_swapped {
1168   /// No Clock Source (Stopped).
1169   pub const VAL_0x00: u32 = 0x0;
1170   /// Running, No Prescaling.
1171   pub const VAL_0x01: u32 = 0x1;
1172   /// Running, CLK/8.
1173   pub const VAL_0x02: u32 = 0x2;
1174   /// Running, CLK/64.
1175   pub const VAL_0x03: u32 = 0x3;
1176   /// Running, CLK/256.
1177   pub const VAL_0x04: u32 = 0x4;
1178   /// Running, CLK/1024.
1179   pub const VAL_0x05: u32 = 0x5;
1180   /// Running, CLK/16.
1181   pub const VAL_0x06: u32 = 0x6;
1182   /// Running, CLK/32.
1183   pub const VAL_0x07: u32 = 0x7;
1184}
1185
1186/// `COMM_SCK_RATE_3BIT` value group
1187#[allow(non_upper_case_globals)]
1188pub mod comm_sck_rate_3bit {
1189   /// fosc/4.
1190   pub const VAL_0x00: u32 = 0x0;
1191   /// fosc/16.
1192   pub const VAL_0x01: u32 = 0x1;
1193   /// fosc/64.
1194   pub const VAL_0x02: u32 = 0x2;
1195   /// fosc/128.
1196   pub const VAL_0x03: u32 = 0x3;
1197   /// fosc/2.
1198   pub const VAL_0x04: u32 = 0x4;
1199   /// fosc/8.
1200   pub const VAL_0x05: u32 = 0x5;
1201   /// fosc/32.
1202   pub const VAL_0x06: u32 = 0x6;
1203   /// fosc/64.
1204   pub const VAL_0x07: u32 = 0x7;
1205}
1206
1207/// `COMM_STOP_BIT_SEL` value group
1208#[allow(non_upper_case_globals)]
1209pub mod comm_stop_bit_sel {
1210   /// 1-bit.
1211   pub const VAL_0x00: u32 = 0x0;
1212   /// 2-bit.
1213   pub const VAL_0x01: u32 = 0x1;
1214}
1215
1216/// `COMM_UPM_PARITY_MODE` value group
1217#[allow(non_upper_case_globals)]
1218pub mod comm_upm_parity_mode {
1219   /// Disabled.
1220   pub const VAL_0x00: u32 = 0x0;
1221   /// Reserved.
1222   pub const VAL_0x01: u32 = 0x1;
1223   /// Enabled, Even Parity.
1224   pub const VAL_0x02: u32 = 0x2;
1225   /// Enabled, Odd Parity.
1226   pub const VAL_0x03: u32 = 0x3;
1227}
1228
1229/// `COMM_USART_MODE` value group
1230#[allow(non_upper_case_globals)]
1231pub mod comm_usart_mode {
1232   /// Asynchronous Operation.
1233   pub const VAL_0x00: u32 = 0x0;
1234   /// Synchronous Operation.
1235   pub const VAL_0x01: u32 = 0x1;
1236}
1237
1238/// `CPU_CLK_PRESCALE_4_BITS_SMALL` value group
1239#[allow(non_upper_case_globals)]
1240pub mod cpu_clk_prescale_4_bits_small {
1241   /// 1.
1242   pub const VAL_0x00: u32 = 0x0;
1243   /// 2.
1244   pub const VAL_0x01: u32 = 0x1;
1245   /// 4.
1246   pub const VAL_0x02: u32 = 0x2;
1247   /// 8.
1248   pub const VAL_0x03: u32 = 0x3;
1249   /// 16.
1250   pub const VAL_0x04: u32 = 0x4;
1251   /// 32.
1252   pub const VAL_0x05: u32 = 0x5;
1253   /// 64.
1254   pub const VAL_0x06: u32 = 0x6;
1255   /// 128.
1256   pub const VAL_0x07: u32 = 0x7;
1257   /// 256.
1258   pub const VAL_0x08: u32 = 0x8;
1259}
1260
1261/// `CPU_SECTOR_LIMITS` value group
1262#[allow(non_upper_case_globals)]
1263pub mod cpu_sector_limits {
1264   /// LS = N/A, US = 0x1100 - 0xFFFF.
1265   pub const VAL_0x00: u32 = 0x0;
1266   /// LS = 0x1100 - 0x1FFF, US = 0x2000 - 0xFFFF.
1267   pub const VAL_0x01: u32 = 0x1;
1268   /// LS = 0x1100 - 0x3FFF, US = 0x4000 - 0xFFFF.
1269   pub const VAL_0x02: u32 = 0x2;
1270   /// LS = 0x1100 - 0x5FFF, US = 0x6000 - 0xFFFF.
1271   pub const VAL_0x03: u32 = 0x3;
1272   /// LS = 0x1100 - 0x7FFF, US = 0x8000 - 0xFFFF.
1273   pub const VAL_0x04: u32 = 0x4;
1274   /// LS = 0x1100 - 0x9FFF, US = 0xA000 - 0xFFFF.
1275   pub const VAL_0x05: u32 = 0x5;
1276   /// LS = 0x1100 - 0xBFFF, US = 0xC000 - 0xFFFF.
1277   pub const VAL_0x06: u32 = 0x6;
1278   /// LS = 0x1100 - 0xDFFF, US = 0xE000 - 0xFFFF.
1279   pub const VAL_0x07: u32 = 0x7;
1280}
1281
1282/// `CPU_WAIT_STATES` value group
1283#[allow(non_upper_case_globals)]
1284pub mod cpu_wait_states {
1285   /// No wait-states.
1286   pub const VAL_0x00: u32 = 0x0;
1287   /// Wait one cycle during read/write strobe.
1288   pub const VAL_0x01: u32 = 0x1;
1289   /// Wait two cycles during read/write strobe.
1290   pub const VAL_0x02: u32 = 0x2;
1291   /// Wait two cycles during read/write and wait one cycle before driving out new address.
1292   pub const VAL_0x03: u32 = 0x3;
1293}
1294
1295/// `ENUM_BLB` value group
1296#[allow(non_upper_case_globals)]
1297pub mod enum_blb {
1298   /// LPM and SPM prohibited in Application Section.
1299   pub const LPM_SPM_DISABLE: u32 = 0x0;
1300   /// LPM prohibited in Application Section.
1301   pub const LPM_DISABLE: u32 = 0x1;
1302   /// SPM prohibited in Application Section.
1303   pub const SPM_DISABLE: u32 = 0x2;
1304   /// No lock on SPM and LPM in Application Section.
1305   pub const NO_LOCK: u32 = 0x3;
1306}
1307
1308/// `ENUM_BLB2` value group
1309#[allow(non_upper_case_globals)]
1310pub mod enum_blb2 {
1311   /// LPM and SPM prohibited in Boot Section.
1312   pub const LPM_SPM_DISABLE: u32 = 0x0;
1313   /// LPM prohibited in Boot Section.
1314   pub const LPM_DISABLE: u32 = 0x1;
1315   /// SPM prohibited in Boot Section.
1316   pub const SPM_DISABLE: u32 = 0x2;
1317   /// No lock on SPM and LPM in Boot Section.
1318   pub const NO_LOCK: u32 = 0x3;
1319}
1320
1321/// `ENUM_BODLEVEL` value group
1322#[allow(non_upper_case_globals)]
1323pub mod enum_bodlevel {
1324   /// Brown-out detection disabled.
1325   pub const DISABLED: u32 = 0x7;
1326   /// Brown-out detection at VCC=1.8 V.
1327   pub const _1V8: u32 = 0x6;
1328   /// Brown-out detection at VCC=2.3 V.
1329   pub const _2V3: u32 = 0x3;
1330   /// Brown-out detection at VCC=2.7 V.
1331   pub const _2V7: u32 = 0x5;
1332   /// Brown-out detection at VCC=4.3 V.
1333   pub const _4V3: u32 = 0x4;
1334}
1335
1336/// `ENUM_BOOTSZ` value group
1337#[allow(non_upper_case_globals)]
1338pub mod enum_bootsz {
1339   /// Boot Flash size=128 words start address=$1F80.
1340   pub const _128W_1F80: u32 = 0x3;
1341   /// Boot Flash size=256 words start address=$1F00.
1342   pub const _256W_1F00: u32 = 0x2;
1343   /// Boot Flash size=512 words start address=$1E00.
1344   pub const _512W_1E00: u32 = 0x1;
1345   /// Boot Flash size=1024 words start address=$1C00.
1346   pub const _1024W_1C00: u32 = 0x0;
1347}
1348
1349/// `ENUM_LB` value group
1350#[allow(non_upper_case_globals)]
1351pub mod enum_lb {
1352   /// Further programming and verification disabled.
1353   pub const PROG_VER_DISABLED: u32 = 0x0;
1354   /// Further programming disabled.
1355   pub const PROG_DISABLED: u32 = 0x2;
1356   /// No memory lock features enabled.
1357   pub const NO_LOCK: u32 = 0x3;
1358}
1359
1360/// `ENUM_SUT_CKSEL` value group
1361#[allow(non_upper_case_globals)]
1362pub mod enum_sut_cksel {
1363   /// Ext. Clock; Start-up time: 6 CK + 0 ms.
1364   pub const EXTCLK_6CK_0MS: u32 = 0x0;
1365   /// Ext. Clock; Start-up time: 6 CK + 4.1 ms.
1366   pub const EXTCLK_6CK_4MS1: u32 = 0x10;
1367   /// Ext. Clock; Start-up time: 6 CK + 65 ms.
1368   pub const EXTCLK_6CK_65MS: u32 = 0x20;
1369   /// Int. RC Osc.; Start-up time: 6 CK + 0 ms.
1370   pub const INTRCOSC_6CK_0MS: u32 = 0x2;
1371   /// Int. RC Osc.; Start-up time: 6 CK + 4.1 ms.
1372   pub const INTRCOSC_6CK_4MS1: u32 = 0x12;
1373   /// Int. RC Osc.; Start-up time: 6 CK + 65 ms.
1374   pub const INTRCOSC_6CK_65MS: u32 = 0x22;
1375   /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 0 ms; Int. Cap.
1376   pub const EXTLOFXTAL_32KCK_0MS_INTCAP: u32 = 0x7;
1377   /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 4.1 ms; Int. Cap.
1378   pub const EXTLOFXTAL_32KCK_4MS1_INTCAP: u32 = 0x17;
1379   /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 65 ms; Int. Cap.
1380   pub const EXTLOFXTAL_32KCK_65MS_INTCAP: u32 = 0x27;
1381   /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 0 ms; Int. Cap.
1382   pub const EXTLOFXTAL_1KCK_0MS_INTCAP: u32 = 0x6;
1383   /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 4.1 ms; Int. Cap.
1384   pub const EXTLOFXTAL_1KCK_4MS1_INTCAP: u32 = 0x16;
1385   /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 65 ms; Int. Cap.
1386   pub const EXTLOFXTAL_1KCK_65MS_INTCAP: u32 = 0x26;
1387   /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 0 ms.
1388   pub const EXTLOFXTAL_32KCK_0MS: u32 = 0x5;
1389   /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 4.1 ms.
1390   pub const EXTLOFXTAL_32KCK_4MS1: u32 = 0x15;
1391   /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 65 ms.
1392   pub const EXTLOFXTAL_32KCK_65MS: u32 = 0x25;
1393   /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 0 ms.
1394   pub const EXTLOFXTAL_1KCK_0MS: u32 = 0x4;
1395   /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 4.1 ms.
1396   pub const EXTLOFXTAL_1KCK_4MS1: u32 = 0x14;
1397   /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 65 ms.
1398   pub const EXTLOFXTAL_1KCK_65MS: u32 = 0x24;
1399   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 258 CK + 4.1 ms.
1400   pub const EXTXOSC_0MHZ4_0MHZ9_258CK_4MS1: u32 = 0x8;
1401   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 258 CK + 65 ms.
1402   pub const EXTXOSC_0MHZ4_0MHZ9_258CK_65MS: u32 = 0x18;
1403   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 1K CK + 0 ms.
1404   pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_0MS: u32 = 0x28;
1405   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 1K CK + 4.1 ms.
1406   pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_4MS1: u32 = 0x38;
1407   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 1K CK + 65 ms.
1408   pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_65MS: u32 = 0x9;
1409   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 16K CK + 0 ms.
1410   pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_0MS: u32 = 0x19;
1411   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 16K CK + 4.1 ms.
1412   pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_4MS1: u32 = 0x29;
1413   /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 16K CK + 65 ms.
1414   pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_65MS: u32 = 0x39;
1415   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 258 CK + 4.1 ms.
1416   pub const EXTXOSC_0MHZ9_3MHZ_258CK_4MS1: u32 = 0xA;
1417   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 258 CK + 65 ms.
1418   pub const EXTXOSC_0MHZ9_3MHZ_258CK_65MS: u32 = 0x1A;
1419   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 1K CK + 0 ms.
1420   pub const EXTXOSC_0MHZ9_3MHZ_1KCK_0MS: u32 = 0x2A;
1421   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 1K CK + 4.1 ms.
1422   pub const EXTXOSC_0MHZ9_3MHZ_1KCK_4MS1: u32 = 0x3A;
1423   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 1K CK + 65 ms.
1424   pub const EXTXOSC_0MHZ9_3MHZ_1KCK_65MS: u32 = 0xB;
1425   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 16K CK + 0 ms.
1426   pub const EXTXOSC_0MHZ9_3MHZ_16KCK_0MS: u32 = 0x1B;
1427   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 16K CK + 4.1 ms.
1428   pub const EXTXOSC_0MHZ9_3MHZ_16KCK_4MS1: u32 = 0x2B;
1429   /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 16K CK + 65 ms.
1430   pub const EXTXOSC_0MHZ9_3MHZ_16KCK_65MS: u32 = 0x3B;
1431   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 258 CK + 4.1 ms.
1432   pub const EXTXOSC_3MHZ_8MHZ_258CK_4MS1: u32 = 0xC;
1433   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 258 CK + 65 ms.
1434   pub const EXTXOSC_3MHZ_8MHZ_258CK_65MS: u32 = 0x1C;
1435   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 1K CK + 0 ms.
1436   pub const EXTXOSC_3MHZ_8MHZ_1KCK_0MS: u32 = 0x2C;
1437   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 1K CK + 4.1 ms.
1438   pub const EXTXOSC_3MHZ_8MHZ_1KCK_4MS1: u32 = 0x3C;
1439   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 1K CK + 65 ms.
1440   pub const EXTXOSC_3MHZ_8MHZ_1KCK_65MS: u32 = 0xD;
1441   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 16K CK + 0 ms.
1442   pub const EXTXOSC_3MHZ_8MHZ_16KCK_0MS: u32 = 0x1D;
1443   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 16K CK + 4.1 ms.
1444   pub const EXTXOSC_3MHZ_8MHZ_16KCK_4MS1: u32 = 0x2D;
1445   /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 16K CK + 65 ms.
1446   pub const EXTXOSC_3MHZ_8MHZ_16KCK_65MS: u32 = 0x3D;
1447   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time: 258 CK + 4.1 ms.
1448   pub const EXTXOSC_8MHZ_XX_258CK_4MS1: u32 = 0xE;
1449   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time: 258 CK + 65 ms.
1450   pub const EXTXOSC_8MHZ_XX_258CK_65MS: u32 = 0x1E;
1451   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time: 1K CK + 0 ms.
1452   pub const EXTXOSC_8MHZ_XX_1KCK_0MS: u32 = 0x2E;
1453   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time: 1K CK + 4.1 ms.
1454   pub const EXTXOSC_8MHZ_XX_1KCK_4MS1: u32 = 0x3E;
1455   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time: 1K CK + 65 ms.
1456   pub const EXTXOSC_8MHZ_XX_1KCK_65MS: u32 = 0xF;
1457   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time: 16K CK + 0 ms.
1458   pub const EXTXOSC_8MHZ_XX_16KCK_0MS: u32 = 0x1F;
1459   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time: 16K CK + 4.1 ms.
1460   pub const EXTXOSC_8MHZ_XX_16KCK_4MS1: u32 = 0x2F;
1461   /// Ext. Crystal Osc. 8.0-    MHz; Start-up time: 16K CK + 65 ms.
1462   pub const EXTXOSC_8MHZ_XX_16KCK_65MS: u32 = 0x3F;
1463}
1464
1465/// Interrupt Sense Control
1466#[allow(non_upper_case_globals)]
1467pub mod interrupt_sense_control {
1468   /// Low Level of INTX.
1469   pub const VAL_0x00: u32 = 0x0;
1470   /// Any Logical Change of INTX.
1471   pub const VAL_0x01: u32 = 0x1;
1472   /// Falling Edge of INTX.
1473   pub const VAL_0x02: u32 = 0x2;
1474   /// Rising Edge of INTX.
1475   pub const VAL_0x03: u32 = 0x3;
1476}
1477
1478/// `INTERRUPT_SENSE_CONTROL2` value group
1479#[allow(non_upper_case_globals)]
1480pub mod interrupt_sense_control2 {
1481   /// Low Level of INTX.
1482   pub const VAL_0x00: u32 = 0x0;
1483   /// Any Logical Change in INTX.
1484   pub const VAL_0x01: u32 = 0x1;
1485   /// Falling Edge of INTX.
1486   pub const VAL_0x02: u32 = 0x2;
1487   /// Rising Edge of INTX.
1488   pub const VAL_0x03: u32 = 0x3;
1489}
1490
1491/// Oscillator Calibration Values
1492#[allow(non_upper_case_globals)]
1493pub mod osccal_value_addresses {
1494   /// 8.0 MHz.
1495   pub const _8_0_MHz: u32 = 0x0;
1496}
1497
1498/// `WAVEFORM_GEN_MODE` value group
1499#[allow(non_upper_case_globals)]
1500pub mod waveform_gen_mode {
1501   /// Normal.
1502   pub const VAL_0x00: u32 = 0x0;
1503   /// PWM, Phase Correct.
1504   pub const VAL_0x02: u32 = 0x2;
1505   /// CTC.
1506   pub const VAL_0x01: u32 = 0x1;
1507   /// Fast PWM.
1508   pub const VAL_0x03: u32 = 0x3;
1509}
1510
1511/// `WDOG_TIMER_PRESCALE_3BITS` value group
1512#[allow(non_upper_case_globals)]
1513pub mod wdog_timer_prescale_3bits {
1514   /// Oscillator Cycles 16K.
1515   pub const VAL_0x00: u32 = 0x0;
1516   /// Oscillator Cycles 32K.
1517   pub const VAL_0x01: u32 = 0x1;
1518   /// Oscillator Cycles 64K.
1519   pub const VAL_0x02: u32 = 0x2;
1520   /// Oscillator Cycles 128K.
1521   pub const VAL_0x03: u32 = 0x3;
1522   /// Oscillator Cycles 256K.
1523   pub const VAL_0x04: u32 = 0x4;
1524   /// Oscillator Cycles 512K.
1525   pub const VAL_0x05: u32 = 0x5;
1526   /// Oscillator Cycles 1024K.
1527   pub const VAL_0x06: u32 = 0x6;
1528   /// Oscillator Cycles 2048K.
1529   pub const VAL_0x07: u32 = 0x7;
1530}
1531