RTEMS CPU Kit with SuperCore  4.11.3
iom128rfa1.h
Go to the documentation of this file.
1 /* Copyright (c) 2009 Atmel Corporation
2  All rights reserved.
3 
4  Redistribution and use in source and binary forms, with or without
5  modification, are permitted provided that the following conditions are met:
6 
7  * Redistributions of source code must retain the above copyright
8  notice, this list of conditions and the following disclaimer.
9 
10  * Redistributions in binary form must reproduce the above copyright
11  notice, this list of conditions and the following disclaimer in
12  the documentation and/or other materials provided with the
13  distribution.
14 
15  * Neither the name of the copyright holders nor the names of
16  contributors may be used to endorse or promote products derived
17  from this software without specific prior written permission.
18 
19  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  POSSIBILITY OF SUCH DAMAGE. */
30 
31 
32 /* avr/iom128rfa1.h - definitions for ATmega128RFA1 */
33 
34 #ifndef _AVR_IOM128RFA1_H_
35 #define _AVR_IOM128RFA1_H_ 1
36 
37 /* This file should only be included from <avr/io.h>, never directly. */
38 
39 #ifndef _AVR_IO_H_
40 # error "Include <avr/io.h> instead of this file."
41 #endif
42 
43 #ifndef _AVR_IOXXX_H_
44 # define _AVR_IOXXX_H_ "iom128rfa1.h"
45 #else
46 # error "Attempt to include more than one <avr/ioXXX.h> file."
47 #endif
48 
49 #include <avr/sfr_defs.h>
50 
51 #ifndef __ASSEMBLER__
52 # define _MMIO_BYTE_STRUCT(mem_addr,type) (*(volatile type *)(mem_addr))
53 # define _SFR_IO8_STRUCT(io_addr,type) _MMIO_BYTE_STRUCT((io_addr) + 0x20, type)
54 # define _SFR_MEM8_STRUCT(io_addr,type) _MMIO_BYTE_STRUCT((io_addr), type)
55 #endif /* __ASSEMBLER__ */
56 
57 /*
58  * USAGE:
59  *
60  * simple register assignment:
61  * TIFR1 = 0x17
62  * subregister assignment:
63  * TIFR1_struct.ocf1a = 1
64  * (subregister names are converted to small letters)
65  */
66 
67 
68 /* Port A Input Pins Address */
69 #define PINA _SFR_IO8(0x00)
70 
71  /* PINA */
72 
73 #define PINA0 0
74 #define PINA1 1
75 #define PINA2 2
76 #define PINA3 3
77 #define PINA4 4
78 #define PINA5 5
79 #define PINA6 6
80 #define PINA7 7
81 
82 /* Port A Data Direction Register */
83 #define DDRA _SFR_IO8(0x01)
84 
85  /* DDRA */
86 
87 #define DDA0 0
88 #define DDA1 1
89 #define DDA2 2
90 #define DDA3 3
91 #define DDA4 4
92 #define DDA5 5
93 #define DDA6 6
94 #define DDA7 7
95 
96 /* Port A Data Register */
97 #define PORTA _SFR_IO8(0x02)
98 
99  /* PORTA */
100 
101 #define PORTA0 0
102 #define PA0 0
103 #define PORTA1 1
104 #define PA1 1
105 #define PORTA2 2
106 #define PA2 2
107 #define PORTA3 3
108 #define PA3 3
109 #define PORTA4 4
110 #define PA4 4
111 #define PORTA5 5
112 #define PA5 5
113 #define PORTA6 6
114 #define PA6 6
115 #define PORTA7 7
116 #define PA7 7
117 
118 /* Port B Input Pins Address */
119 #define PINB _SFR_IO8(0x03)
120 
121  /* PINB */
122 
123 #define PINB0 0
124 #define PINB1 1
125 #define PINB2 2
126 #define PINB3 3
127 #define PINB4 4
128 #define PINB5 5
129 #define PINB6 6
130 #define PINB7 7
131 
132 /* Port B Data Direction Register */
133 #define DDRB _SFR_IO8(0x04)
134 
135  /* DDRB */
136 
137 #define DDB0 0
138 #define DDB1 1
139 #define DDB2 2
140 #define DDB3 3
141 #define DDB4 4
142 #define DDB5 5
143 #define DDB6 6
144 #define DDB7 7
145 
146 /* Port B Data Register */
147 #define PORTB _SFR_IO8(0x05)
148 
149  /* PORTB */
150 
151 #define PORTB0 0
152 #define PB0 0
153 #define PORTB1 1
154 #define PB1 1
155 #define PORTB2 2
156 #define PB2 2
157 #define PORTB3 3
158 #define PB3 3
159 #define PORTB4 4
160 #define PB4 4
161 #define PORTB5 5
162 #define PB5 5
163 #define PORTB6 6
164 #define PB6 6
165 #define PORTB7 7
166 #define PB7 7
167 
168 /* Port C Input Pins Address */
169 #define PINC _SFR_IO8(0x06)
170 
171  /* PINC */
172 
173 #define PINC0 0
174 #define PINC1 1
175 #define PINC2 2
176 #define PINC3 3
177 #define PINC4 4
178 #define PINC5 5
179 #define PINC6 6
180 #define PINC7 7
181 
182 /* Port C Data Direction Register */
183 #define DDRC _SFR_IO8(0x07)
184 
185  /* DDRC */
186 
187 #define DDC0 0
188 #define DDC1 1
189 #define DDC2 2
190 #define DDC3 3
191 #define DDC4 4
192 #define DDC5 5
193 #define DDC6 6
194 #define DDC7 7
195 
196 /* Port C Data Register */
197 #define PORTC _SFR_IO8(0x08)
198 
199  /* PORTC */
200 
201 #define PORTC0 0
202 #define PC0 0
203 #define PORTC1 1
204 #define PC1 1
205 #define PORTC2 2
206 #define PC2 2
207 #define PORTC3 3
208 #define PC3 3
209 #define PORTC4 4
210 #define PC4 4
211 #define PORTC5 5
212 #define PC5 5
213 #define PORTC6 6
214 #define PC6 6
215 #define PORTC7 7
216 #define PC7 7
217 
218 /* Port D Input Pins Address */
219 #define PIND _SFR_IO8(0x09)
220 
221  /* PIND */
222 
223 #define PIND0 0
224 #define PIND1 1
225 #define PIND2 2
226 #define PIND3 3
227 #define PIND4 4
228 #define PIND5 5
229 #define PIND6 6
230 #define PIND7 7
231 
232 /* Port D Data Direction Register */
233 #define DDRD _SFR_IO8(0x0A)
234 
235  /* DDRD */
236 
237 #define DDD0 0
238 #define DDD1 1
239 #define DDD2 2
240 #define DDD3 3
241 #define DDD4 4
242 #define DDD5 5
243 #define DDD6 6
244 #define DDD7 7
245 
246 /* Port D Data Register */
247 #define PORTD _SFR_IO8(0x0B)
248 
249  /* PORTD */
250 
251 #define PORTD0 0
252 #define PD0 0
253 #define PORTD1 1
254 #define PD1 1
255 #define PORTD2 2
256 #define PD2 2
257 #define PORTD3 3
258 #define PD3 3
259 #define PORTD4 4
260 #define PD4 4
261 #define PORTD5 5
262 #define PD5 5
263 #define PORTD6 6
264 #define PD6 6
265 #define PORTD7 7
266 #define PD7 7
267 
268 /* Port E Input Pins Address */
269 #define PINE _SFR_IO8(0x0C)
270 
271  /* PINE */
272 
273 #define PINE0 0
274 #define PINE1 1
275 #define PINE2 2
276 #define PINE3 3
277 #define PINE4 4
278 #define PINE5 5
279 #define PINE6 6
280 #define PINE7 7
281 
282 /* Port E Data Direction Register */
283 #define DDRE _SFR_IO8(0x0D)
284 
285  /* DDRE */
286 
287 #define DDE0 0
288 #define DDE1 1
289 #define DDE2 2
290 #define DDE3 3
291 #define DDE4 4
292 #define DDE5 5
293 #define DDE6 6
294 #define DDE7 7
295 
296 /* Port E Data Register */
297 #define PORTE _SFR_IO8(0x0E)
298 
299  /* PORTE */
300 
301 #define PORTE0 0
302 #define PE0 0
303 #define PORTE1 1
304 #define PE1 1
305 #define PORTE2 2
306 #define PE2 2
307 #define PORTE3 3
308 #define PE3 3
309 #define PORTE4 4
310 #define PE4 4
311 #define PORTE5 5
312 #define PE5 5
313 #define PORTE6 6
314 #define PE6 6
315 #define PORTE7 7
316 #define PE7 7
317 
318 /* Port F Input Pins Address */
319 #define PINF _SFR_IO8(0x0F)
320 
321  /* PINF */
322 
323 #define PINF0 0
324 #define PINF1 1
325 #define PINF2 2
326 #define PINF3 3
327 #define PINF4 4
328 #define PINF5 5
329 #define PINF6 6
330 #define PINF7 7
331 
332 /* Port F Data Direction Register */
333 #define DDRF _SFR_IO8(0x10)
334 
335  /* DDRF */
336 
337 #define DDF0 0
338 #define DDF1 1
339 #define DDF2 2
340 #define DDF3 3
341 #define DDF4 4
342 #define DDF5 5
343 #define DDF6 6
344 #define DDF7 7
345 
346 /* Port F Data Register */
347 #define PORTF _SFR_IO8(0x11)
348 
349  /* PORTF */
350 
351 #define PORTF0 0
352 #define PF0 0
353 #define PORTF1 1
354 #define PF1 1
355 #define PORTF2 2
356 #define PF2 2
357 #define PORTF3 3
358 #define PF3 3
359 #define PORTF4 4
360 #define PF4 4
361 #define PORTF5 5
362 #define PF5 5
363 #define PORTF6 6
364 #define PF6 6
365 #define PORTF7 7
366 #define PF7 7
367 
368 /* Port G Input Pins Address */
369 #define PING _SFR_IO8(0x12)
370 
371  /* PING */
372 
373 #define PING0 0
374 #define PING1 1
375 #define PING2 2
376 #define PING3 3
377 #define PING4 4
378 #define PING5 5
379 
380 /* Port G Data Direction Register */
381 #define DDRG _SFR_IO8(0x13)
382 
383  /* DDRG */
384 
385 #define DDG0 0
386 #define DDG1 1
387 #define DDG2 2
388 #define DDG3 3
389 #define DDG4 4
390 #define DDG5 5
391 
392 /* Port G Data Register */
393 #define PORTG _SFR_IO8(0x14)
394 
395  /* PORTG */
396 
397 #define PORTG0 0
398 #define PG0 0
399 #define PORTG1 1
400 #define PG1 1
401 #define PORTG2 2
402 #define PG2 2
403 #define PORTG3 3
404 #define PG3 3
405 #define PORTG4 4
406 #define PG4 4
407 #define PORTG5 5
408 #define PG5 5
409 
410 /* Timer/Counter0 Interrupt Flag Register */
411 #define TIFR0 _SFR_IO8(0x15)
412 
413 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
414 
415 struct __reg_TIFR0 {
416  unsigned int tov0 : 1; /* Timer/Counter0 Overflow Flag */
417  unsigned int ocf0a : 1; /* Timer/Counter0 Output Compare A Match Flag */
418  unsigned int ocf0b : 1; /* Timer/Counter0 Output Compare B Match Flag */
419  unsigned int : 5;
420 };
421 
422 #define TIFR0_struct _SFR_IO8_STRUCT(0x15, struct __reg_TIFR0)
423 
424 #endif /* __ASSEMBLER__ */
425 
426  /* TIFR0 */
427 
428 #define TOV0 0
429 #define OCF0A 1
430 #define OCF0B 2
431 
432 /* Timer/Counter1 Interrupt Flag Register */
433 #define TIFR1 _SFR_IO8(0x16)
434 
435 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
436 
437 struct __reg_TIFR1 {
438  unsigned int tov1 : 1; /* Timer/Counter1 Overflow Flag */
439  unsigned int ocf1a : 1; /* Timer/Counter1 Output Compare A Match Flag */
440  unsigned int ocf1b : 1; /* Timer/Counter1 Output Compare B Match Flag */
441  unsigned int ocf1c : 1; /* Timer/Counter1 Output Compare C Match Flag */
442  unsigned int : 1;
443  unsigned int icf1 : 1; /* Timer/Counter1 Input Capture Flag */
444  unsigned int : 2;
445 };
446 
447 #define TIFR1_struct _SFR_IO8_STRUCT(0x16, struct __reg_TIFR1)
448 
449 #endif /* __ASSEMBLER__ */
450 
451  /* TIFR1 */
452 
453 #define TOV1 0
454 #define OCF1A 1
455 #define OCF1B 2
456 #define OCF1C 3
457 #define ICF1 5
458 
459 /* Timer/Counter Interrupt Flag Register */
460 #define TIFR2 _SFR_IO8(0x17)
461 
462 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
463 
464 struct __reg_TIFR2 {
465  unsigned int tov2 : 1; /* Timer/Counter2 Overflow Flag */
466  unsigned int ocf2a : 1; /* Output Compare Flag 2 A */
467  unsigned int ocf2b : 1; /* Output Compare Flag 2 B */
468  unsigned int : 5;
469 };
470 
471 #define TIFR2_struct _SFR_IO8_STRUCT(0x17, struct __reg_TIFR2)
472 
473 #endif /* __ASSEMBLER__ */
474 
475  /* TIFR2 */
476 
477 #define TOV2 0
478 #define OCF2A 1
479 #define OCF2B 2
480 
481 /* Timer/Counter3 Interrupt Flag Register */
482 #define TIFR3 _SFR_IO8(0x18)
483 
484 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
485 
486 struct __reg_TIFR3 {
487  unsigned int tov3 : 1; /* Timer/Counter3 Overflow Flag */
488  unsigned int ocf3a : 1; /* Timer/Counter3 Output Compare A Match Flag */
489  unsigned int ocf3b : 1; /* Timer/Counter3 Output Compare B Match Flag */
490  unsigned int ocf3c : 1; /* Timer/Counter3 Output Compare C Match Flag */
491  unsigned int : 1;
492  unsigned int icf3 : 1; /* Timer/Counter3 Input Capture Flag */
493  unsigned int : 2;
494 };
495 
496 #define TIFR3_struct _SFR_IO8_STRUCT(0x18, struct __reg_TIFR3)
497 
498 #endif /* __ASSEMBLER__ */
499 
500  /* TIFR3 */
501 
502 #define TOV3 0
503 #define OCF3A 1
504 #define OCF3B 2
505 #define OCF3C 3
506 #define ICF3 5
507 
508 /* Timer/Counter4 Interrupt Flag Register */
509 #define TIFR4 _SFR_IO8(0x19)
510 
511 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
512 
513 struct __reg_TIFR4 {
514  unsigned int tov4 : 1; /* Timer/Counter4 Overflow Flag */
515  unsigned int ocf4a : 1; /* Timer/Counter4 Output Compare A Match Flag */
516  unsigned int ocf4b : 1; /* Timer/Counter4 Output Compare B Match Flag */
517  unsigned int ocf4c : 1; /* Timer/Counter4 Output Compare C Match Flag */
518  unsigned int : 1;
519  unsigned int icf4 : 1; /* Timer/Counter4 Input Capture Flag */
520  unsigned int : 2;
521 };
522 
523 #define TIFR4_struct _SFR_IO8_STRUCT(0x19, struct __reg_TIFR4)
524 
525 #endif /* __ASSEMBLER__ */
526 
527  /* TIFR4 */
528 
529 #define TOV4 0
530 #define OCF4A 1
531 #define OCF4B 2
532 #define OCF4C 3
533 #define ICF4 5
534 
535 /* Timer/Counter5 Interrupt Flag Register */
536 #define TIFR5 _SFR_IO8(0x1A)
537 
538 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
539 
540 struct __reg_TIFR5 {
541  unsigned int tov5 : 1; /* Timer/Counter5 Overflow Flag */
542  unsigned int ocf5a : 1; /* Timer/Counter5 Output Compare A Match Flag */
543  unsigned int ocf5b : 1; /* Timer/Counter5 Output Compare B Match Flag */
544  unsigned int ocf5c : 1; /* Timer/Counter5 Output Compare C Match Flag */
545  unsigned int : 1;
546  unsigned int icf5 : 1; /* Timer/Counter5 Input Capture Flag */
547  unsigned int : 2;
548 };
549 
550 #define TIFR5_struct _SFR_IO8_STRUCT(0x1a, struct __reg_TIFR5)
551 
552 #endif /* __ASSEMBLER__ */
553 
554  /* TIFR5 */
555 
556 #define TOV5 0
557 #define OCF5A 1
558 #define OCF5B 2
559 #define OCF5C 3
560 #define ICF5 5
561 
562 /* Pin Change Interrupt Flag Register */
563 #define PCIFR _SFR_IO8(0x1B)
564 
565 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
566 
567 struct __reg_PCIFR {
568  unsigned int pcif : 3; /* Pin Change Interrupt Flag 2 */
569  unsigned int : 5;
570 };
571 
572 #define PCIFR_struct _SFR_IO8_STRUCT(0x1b, struct __reg_PCIFR)
573 
574 #endif /* __ASSEMBLER__ */
575 
576  /* PCIFR */
577 
578 #define PCIF0 0
579 #define PCIF1 1
580 #define PCIF2 2
581 
582 /* External Interrupt Flag Register */
583 #define EIFR _SFR_IO8(0x1C)
584 
585 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
586 
587 struct __reg_EIFR {
588  unsigned int intf : 8; /* External Interrupt Flag */
589 };
590 
591 #define EIFR_struct _SFR_IO8_STRUCT(0x1c, struct __reg_EIFR)
592 
593 #endif /* __ASSEMBLER__ */
594 
595  /* EIFR */
596 
597 #define INTF0 0
598 #define INTF1 1
599 #define INTF2 2
600 #define INTF3 3
601 #define INTF4 4
602 #define INTF5 5
603 #define INTF6 6
604 #define INTF7 7
605 
606 /* External Interrupt Mask Register */
607 #define EIMSK _SFR_IO8(0x1D)
608 
609 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
610 
611 struct __reg_EIMSK {
612  unsigned int intm : 8; /* External Interrupt Request Enable */
613 };
614 
615 #define EIMSK_struct _SFR_IO8_STRUCT(0x1d, struct __reg_EIMSK)
616 
617 #endif /* __ASSEMBLER__ */
618 
619  /* EIMSK */
620 
621 #define INT0 0
622 #define INT1 1
623 #define INT2 2
624 #define INT3 3
625 #define INT4 4
626 #define INT5 5
627 #define INT6 6
628 #define INT7 7
629 
630 /* General Purpose IO Register 0 */
631 #define GPIOR0 _SFR_IO8(0x1E)
632 
633 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
634 
635 struct __reg_GPIOR0 {
636  unsigned int gpior0 : 8; /* General Purpose I/O Register 0 Value */
637 };
638 
639 #define GPIOR0_struct _SFR_IO8_STRUCT(0x1e, struct __reg_GPIOR0)
640 
641 #endif /* __ASSEMBLER__ */
642 
643  /* GPIOR0 */
644 
645 #define GPIOR00 0
646 #define GPIOR01 1
647 #define GPIOR02 2
648 #define GPIOR03 3
649 #define GPIOR04 4
650 #define GPIOR05 5
651 #define GPIOR06 6
652 #define GPIOR07 7
653 
654 /* 6-char sequence denoting where to find the EEPROM registers in memory space.
655  Adresses denoted in hex syntax with uppercase letters. Used by the EEPROM
656  subroutines.
657  First two letters: EECR address.
658  Second two letters: EEDR address.
659  Last two letters: EEAR address. */
660 
661 #define __EEPROM_REG_LOCATIONS__ 1F2021
662 
663 /* EEPROM Control Register */
664 #define EECR _SFR_IO8(0x1F)
665 
666 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
667 
668 struct __reg_EECR {
669  unsigned int eere : 1; /* EEPROM Read Enable */
670  unsigned int eepe : 1; /* EEPROM Programming Enable */
671  unsigned int eempe : 1; /* EEPROM Master Write Enable */
672  unsigned int eerie : 1; /* EEPROM Ready Interrupt Enable */
673  unsigned int eepm : 2; /* EEPROM Programming Mode */
674  unsigned int : 2;
675 };
676 
677 #define EECR_struct _SFR_IO8_STRUCT(0x1f, struct __reg_EECR)
678 
679 #endif /* __ASSEMBLER__ */
680 
681  /* EECR */
682 
683 #define EERE 0
684 #define EEPE 1
685 #define EEMPE 2
686 #define EERIE 3
687 #define EEPM0 4
688 #define EEPM1 5
689 
690 /* EEPROM Data Register */
691 #define EEDR _SFR_IO8(0x20)
692 
693  /* EEDR */
694 
695 #define EEDR0 0
696 #define EEDR1 1
697 #define EEDR2 2
698 #define EEDR3 3
699 #define EEDR4 4
700 #define EEDR5 5
701 #define EEDR6 6
702 #define EEDR7 7
703 
704 /* EEPROM Address Register Bytes */
705 #define EEAR _SFR_IO16(0x21)
706 #define EEARL _SFR_IO8(0x21)
707 #define EEARH _SFR_IO8(0x22)
708 
709 /* General Timer/Counter Control Register */
710 #define GTCCR _SFR_IO8(0x23)
711 
712 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
713 
714 struct __reg_GTCCR {
715  unsigned int psrsync : 1; /* Prescaler Reset for Synchronous Timer/Counters */
716  unsigned int psrasy : 1; /* Prescaler Reset Timer/Counter2 */
717  unsigned int : 5;
718  unsigned int tsm : 1; /* Timer/Counter Synchronization Mode */
719 };
720 
721 #define GTCCR_struct _SFR_IO8_STRUCT(0x23, struct __reg_GTCCR)
722 
723 #endif /* __ASSEMBLER__ */
724 
725  /* GTCCR */
726 
727 #define PSRSYNC 0
728 #define PSR10 0
729 #define PSRASY 1
730 #define PSR2 1
731 #define TSM 7
732 
733 /* Timer/Counter0 Control Register A */
734 #define TCCR0A _SFR_IO8(0x24)
735 
736 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
737 
738 struct __reg_TCCR0A {
739  unsigned int wgm0 : 2; /* Waveform Generation Mode */
740  unsigned int : 2;
741  unsigned int com0b : 2; /* Compare Match Output B Mode */
742  unsigned int com0a : 2; /* Compare Match Output A Mode */
743 };
744 
745 #define TCCR0A_struct _SFR_IO8_STRUCT(0x24, struct __reg_TCCR0A)
746 
747 #endif /* __ASSEMBLER__ */
748 
749  /* TCCR0A */
750 
751 #define WGM00 0
752 #define WGM01 1
753 #define COM0B0 4
754 #define COM0B1 5
755 #define COM0A0 6
756 #define COM0A1 7
757 
758 /* Timer/Counter0 Control Register B */
759 #define TCCR0B _SFR_IO8(0x25)
760 
761 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
762 
763 struct __reg_TCCR0B {
764  unsigned int cs0 : 3; /* Clock Select */
765  unsigned int wgm02 : 1; /* */
766  unsigned int : 2;
767  unsigned int foc0b : 1; /* Force Output Compare B */
768  unsigned int foc0a : 1; /* Force Output Compare A */
769 };
770 
771 #define TCCR0B_struct _SFR_IO8_STRUCT(0x25, struct __reg_TCCR0B)
772 
773 #endif /* __ASSEMBLER__ */
774 
775  /* TCCR0B */
776 
777 #define CS00 0
778 #define CS01 1
779 #define CS02 2
780 #define WGM02 3
781 #define FOC0B 6
782 #define FOC0A 7
783 
784 /* Timer/Counter0 Register */
785 #define TCNT0 _SFR_IO8(0x26)
786 
787  /* TCNT0 */
788 
789 #define TCNT0_0 0
790 #define TCNT0_1 1
791 #define TCNT0_2 2
792 #define TCNT0_3 3
793 #define TCNT0_4 4
794 #define TCNT0_5 5
795 #define TCNT0_6 6
796 #define TCNT0_7 7
797 
798 /* Timer/Counter0 Output Compare Register */
799 #define OCR0A _SFR_IO8(0x27)
800 
801  /* OCR0A */
802 
803 #define OCR0A_0 0
804 #define OCR0A_1 1
805 #define OCR0A_2 2
806 #define OCR0A_3 3
807 #define OCR0A_4 4
808 #define OCR0A_5 5
809 #define OCR0A_6 6
810 #define OCR0A_7 7
811 
812 /* Timer/Counter0 Output Compare Register B */
813 #define OCR0B _SFR_IO8(0x28)
814 
815  /* OCR0B */
816 
817 #define OCR0B_0 0
818 #define OCR0B_1 1
819 #define OCR0B_2 2
820 #define OCR0B_3 3
821 #define OCR0B_4 4
822 #define OCR0B_5 5
823 #define OCR0B_6 6
824 #define OCR0B_7 7
825 
826 /* General Purpose IO Register 1 */
827 #define GPIOR1 _SFR_IO8(0x2A)
828 
829 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
830 
831 struct __reg_GPIOR1 {
832  unsigned int gpior1 : 8; /* General Purpose I/O Register 1 Value */
833 };
834 
835 #define GPIOR1_struct _SFR_IO8_STRUCT(0x2a, struct __reg_GPIOR1)
836 
837 #endif /* __ASSEMBLER__ */
838 
839  /* GPIOR1 */
840 
841 #define GPIOR10 0
842 #define GPIOR11 1
843 #define GPIOR12 2
844 #define GPIOR13 3
845 #define GPIOR14 4
846 #define GPIOR15 5
847 #define GPIOR16 6
848 #define GPIOR17 7
849 
850 /* General Purpose I/O Register 2 */
851 #define GPIOR2 _SFR_IO8(0x2B)
852 
853 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
854 
855 struct __reg_GPIOR2 {
856  unsigned int gpior2 : 8; /* General Purpose I/O Register 2 Value */
857 };
858 
859 #define GPIOR2_struct _SFR_IO8_STRUCT(0x2b, struct __reg_GPIOR2)
860 
861 #endif /* __ASSEMBLER__ */
862 
863  /* GPIOR2 */
864 
865 #define GPIOR20 0
866 #define GPIOR21 1
867 #define GPIOR22 2
868 #define GPIOR23 3
869 #define GPIOR24 4
870 #define GPIOR25 5
871 #define GPIOR26 6
872 #define GPIOR27 7
873 
874 /* SPI Control Register */
875 #define SPCR _SFR_IO8(0x2C)
876 
877 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
878 
879 struct __reg_SPCR {
880  unsigned int spr : 2; /* SPI Clock Rate Select 1 and 0 */
881  unsigned int cpha : 1; /* Clock Phase */
882  unsigned int cpol : 1; /* Clock polarity */
883  unsigned int mstr : 1; /* Master/Slave Select */
884  unsigned int dord : 1; /* Data Order */
885  unsigned int spe : 1; /* SPI Enable */
886  unsigned int spie : 1; /* SPI Interrupt Enable */
887 };
888 
889 #define SPCR_struct _SFR_IO8_STRUCT(0x2c, struct __reg_SPCR)
890 
891 #endif /* __ASSEMBLER__ */
892 
893  /* SPCR */
894 
895 #define SPR0 0
896 #define SPR1 1
897 #define CPHA 2
898 #define CPOL 3
899 #define MSTR 4
900 #define DORD 5
901 #define SPE 6
902 #define SPIE 7
903 
904 /* SPI Status Register */
905 #define SPSR _SFR_IO8(0x2D)
906 
907 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
908 
909 struct __reg_SPSR {
910  unsigned int spi2x : 1; /* Double SPI Speed Bit */
911  unsigned int : 5;
912  unsigned int wcol : 1; /* Write Collision Flag */
913  unsigned int spif : 1; /* SPI Interrupt Flag */
914 };
915 
916 #define SPSR_struct _SFR_IO8_STRUCT(0x2d, struct __reg_SPSR)
917 
918 #endif /* __ASSEMBLER__ */
919 
920  /* SPSR */
921 
922 #define SPI2X 0
923 #define WCOL 6
924 #define SPIF 7
925 
926 /* SPI Data Register */
927 #define SPDR _SFR_IO8(0x2E)
928 
929  /* SPDR */
930 
931 #define SPDR0 0
932 #define SPDR1 1
933 #define SPDR2 2
934 #define SPDR3 3
935 #define SPDR4 4
936 #define SPDR5 5
937 #define SPDR6 6
938 #define SPDR7 7
939 
940 /* Analog Comparator Control And Status Register */
941 #define ACSR _SFR_IO8(0x30)
942 
943 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
944 
945 struct __reg_ACSR {
946  unsigned int acis : 2; /* Analog Comparator Interrupt Mode Select */
947  unsigned int acic : 1; /* Analog Comparator Input Capture Enable */
948  unsigned int acie : 1; /* Analog Comparator Interrupt Enable */
949  unsigned int aci : 1; /* Analog Comparator Interrupt Flag */
950  unsigned int aco : 1; /* Analog Compare Output */
951  unsigned int acbg : 1; /* Analog Comparator Bandgap Select */
952  unsigned int acd : 1; /* Analog Comparator Disable */
953 };
954 
955 #define ACSR_struct _SFR_IO8_STRUCT(0x30, struct __reg_ACSR)
956 
957 #endif /* __ASSEMBLER__ */
958 
959  /* ACSR */
960 
961 #define ACIS0 0
962 #define ACIS1 1
963 #define ACIC 2
964 #define ACIE 3
965 #define ACI 4
966 #define ACO 5
967 #define ACBG 6
968 #define ACD 7
969 
970 /* On-Chip Debug Register */
971 #define OCDR _SFR_IO8(0x31)
972 
973 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
974 
975 struct __reg_OCDR {
976  unsigned int ocdr : 8; /* On-Chip Debug Register Data */
977 };
978 
979 #define OCDR_struct _SFR_IO8_STRUCT(0x31, struct __reg_OCDR)
980 
981 #endif /* __ASSEMBLER__ */
982 
983  /* OCDR */
984 
985 #define OCDR0 0
986 #define OCDR1 1
987 #define OCDR2 2
988 #define OCDR3 3
989 #define OCDR4 4
990 #define OCDR5 5
991 #define OCDR6 6
992 #define OCDR7 7
993 #define IDRD 7
994 
995 /* Sleep Mode Control Register */
996 #define SMCR _SFR_IO8(0x33)
997 
998 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
999 
1000 struct __reg_SMCR {
1001  unsigned int se : 1; /* Sleep Enable */
1002  unsigned int sm : 3; /* Sleep Mode Select bits */
1003  unsigned int : 4;
1004 };
1005 
1006 #define SMCR_struct _SFR_IO8_STRUCT(0x33, struct __reg_SMCR)
1007 
1008 #endif /* __ASSEMBLER__ */
1009 
1010  /* SMCR */
1011 
1012 #define SE 0
1013 #define SM0 1
1014 #define SM1 2
1015 #define SM2 3
1016 
1017 /* MCU Status Register */
1018 #define MCUSR _SFR_IO8(0x34)
1019 
1020 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1021 
1022 struct __reg_MCUSR {
1023  unsigned int porf : 1; /* Power-on Reset Flag */
1024  unsigned int extrf : 1; /* External Reset Flag */
1025  unsigned int borf : 1; /* Brown-out Reset Flag */
1026  unsigned int wdrf : 1; /* Watchdog Reset Flag */
1027  unsigned int jtrf : 1; /* JTAG Reset Flag */
1028  unsigned int : 3;
1029 };
1030 
1031 #define MCUSR_struct _SFR_IO8_STRUCT(0x34, struct __reg_MCUSR)
1032 
1033 #endif /* __ASSEMBLER__ */
1034 
1035  /* MCUSR */
1036 
1037 #define PORF 0
1038 #define EXTRF 1
1039 #define BORF 2
1040 #define WDRF 3
1041 #define JTRF 4
1042 
1043 /* MCU Control Register */
1044 #define MCUCR _SFR_IO8(0x35)
1045 
1046 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1047 
1048 struct __reg_MCUCR {
1049  unsigned int ivce : 1; /* Interrupt Vector Change Enable */
1050  unsigned int ivsel : 1; /* Interrupt Vector Select */
1051  unsigned int : 2;
1052  unsigned int pud : 1; /* Pull-up Disable */
1053  unsigned int : 2;
1054  unsigned int jtd : 1; /* JTAG Interface Disable */
1055 };
1056 
1057 #define MCUCR_struct _SFR_IO8_STRUCT(0x35, struct __reg_MCUCR)
1058 
1059 #endif /* __ASSEMBLER__ */
1060 
1061  /* MCUCR */
1062 
1063 #define IVCE 0
1064 #define IVSEL 1
1065 #define PUD 4
1066 #define JTD 7
1067 
1068 /* Store Program Memory Control Register */
1069 #define SPMCSR _SFR_IO8(0x37)
1070 
1071 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1072 
1073 struct __reg_SPMCSR {
1074  unsigned int spmen : 1; /* Store Program Memory Enable */
1075  unsigned int pgers : 1; /* Page Erase */
1076  unsigned int pgwrt : 1; /* Page Write */
1077  unsigned int blbset : 1; /* Boot Lock Bit Set */
1078  unsigned int rwwsre : 1; /* Read While Write Section Read Enable */
1079  unsigned int sigrd : 1; /* Signature Row Read */
1080  unsigned int rwwsb : 1; /* Read While Write Section Busy */
1081  unsigned int spmie : 1; /* SPM Interrupt Enable */
1082 };
1083 
1084 #define SPMCSR_struct _SFR_IO8_STRUCT(0x37, struct __reg_SPMCSR)
1085 
1086 #endif /* __ASSEMBLER__ */
1087 
1088  /* SPMCSR */
1089 
1090 #define SPMEN 0
1091 #define PGERS 1
1092 #define PGWRT 2
1093 #define BLBSET 3
1094 #define RWWSRE 4
1095 #define SIGRD 5
1096 #define RWWSB 6
1097 #define SPMIE 7
1098 
1099 /* Extended Z-pointer Register for ELPM/SPM */
1100 #define RAMPZ _SFR_IO8(0x3B)
1101 
1102 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1103 
1104 struct __reg_RAMPZ {
1105  unsigned int rampz : 2; /* Extended Z-Pointer Value */
1106  unsigned int : 6;
1107 };
1108 
1109 #define RAMPZ_struct _SFR_IO8_STRUCT(0x3b, struct __reg_RAMPZ)
1110 
1111 #endif /* __ASSEMBLER__ */
1112 
1113  /* RAMPZ */
1114 
1115 #define RAMPZ0 0
1116 #define RAMPZ1 1
1117 
1118 /* Stack Pointer */
1119 #define SP _SFR_IO16(0x3D)
1120 #define SPL _SFR_IO8(0x3D)
1121 #define SPH _SFR_IO8(0x3E)
1122 
1123 /* Status Register */
1124 #define SREG _SFR_IO8(0x3F)
1125 
1126 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1127 
1128 struct __reg_SREG {
1129  unsigned int c : 1; /* Carry Flag */
1130  unsigned int z : 1; /* Zero Flag */
1131  unsigned int n : 1; /* Negative Flag */
1132  unsigned int v : 1; /* Two's Complement Overflow Flag */
1133  unsigned int s : 1; /* Sign Bit */
1134  unsigned int h : 1; /* Half Carry Flag */
1135  unsigned int t : 1; /* Bit Copy Storage */
1136  unsigned int i : 1; /* Global Interrupt Enable */
1137 };
1138 
1139 #define SREG_struct _SFR_IO8_STRUCT(0x3f, struct __reg_SREG)
1140 
1141 #endif /* __ASSEMBLER__ */
1142 
1143  /* SREG */
1144 
1145 #define SREG_C 0
1146 #define SREG_Z 1
1147 #define SREG_N 2
1148 #define SREG_V 3
1149 #define SREG_S 4
1150 #define SREG_H 5
1151 #define SREG_T 6
1152 #define SREG_I 7
1153 
1154 /* Watchdog Timer Control Register */
1155 #define WDTCSR _SFR_MEM8(0x60)
1156 
1157 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1158 
1159 struct __reg_WDTCSR {
1160  unsigned int wdp : 3; /* Watchdog Timer Prescaler bits */
1161  unsigned int wde : 1; /* Watch Dog Enable */
1162  unsigned int wdce : 1; /* Watchdog Change Enable */
1163  unsigned int : 1;
1164  unsigned int wdie : 1; /* Watchdog Timeout Interrupt Enable */
1165  unsigned int wdif : 1; /* Watchdog Timeout Interrupt Flag */
1166 };
1167 
1168 #define WDTCSR_struct _SFR_MEM8_STRUCT(0x60, struct __reg_WDTCSR)
1169 
1170 #endif /* __ASSEMBLER__ */
1171 
1172  /* WDTCSR */
1173 
1174 #define WDP0 0
1175 #define WDP1 1
1176 #define WDP2 2
1177 #define WDE 3
1178 #define WDCE 4
1179 #define WDP3 5
1180 #define WDIE 6
1181 #define WDIF 7
1182 
1183 /* Clock Prescale Register */
1184 #define CLKPR _SFR_MEM8(0x61)
1185 
1186 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1187 
1188 struct __reg_CLKPR {
1189  unsigned int clkps : 4; /* Clock Prescaler Select Bits */
1190  unsigned int : 3;
1191  unsigned int clkpce : 1; /* Clock Prescaler Change Enable */
1192 };
1193 
1194 #define CLKPR_struct _SFR_MEM8_STRUCT(0x61, struct __reg_CLKPR)
1195 
1196 #endif /* __ASSEMBLER__ */
1197 
1198  /* CLKPR */
1199 
1200 #define CLKPS0 0
1201 #define CLKPS1 1
1202 #define CLKPS2 2
1203 #define CLKPS3 3
1204 #define CLKPCE 7
1205 
1206 /* Power Reduction Register 2 */
1207 #define PRR2 _SFR_MEM8(0x63)
1208 
1209 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1210 
1211 struct __reg_PRR2 {
1212  unsigned int prram : 4; /* Power Reduction SRAM 3 */
1213  unsigned int : 4;
1214 };
1215 
1216 #define PRR2_struct _SFR_MEM8_STRUCT(0x63, struct __reg_PRR2)
1217 
1218 #endif /* __ASSEMBLER__ */
1219 
1220  /* PRR2 */
1221 
1222 #define PRRAM0 0
1223 #define PRRAM1 1
1224 #define PRRAM2 2
1225 #define PRRAM3 3
1226 
1227 /* Power Reduction Register0 */
1228 #define PRR0 _SFR_MEM8(0x64)
1229 
1230 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1231 
1232 struct __reg_PRR0 {
1233  unsigned int pradc : 1; /* Power Reduction ADC */
1234  unsigned int prusart0 : 1; /* Power Reduction USART */
1235  unsigned int prspi : 1; /* Power Reduction Serial Peripheral Interface */
1236  unsigned int prtim1 : 1; /* Power Reduction Timer/Counter1 */
1237  unsigned int prpga : 1; /* Power Reduction PGA */
1238  unsigned int prtim0 : 1; /* Power Reduction Timer/Counter0 */
1239  unsigned int prtim2 : 1; /* Power Reduction Timer/Counter2 */
1240  unsigned int prtwi : 1; /* Power Reduction TWI */
1241 };
1242 
1243 #define PRR0_struct _SFR_MEM8_STRUCT(0x64, struct __reg_PRR0)
1244 
1245 #endif /* __ASSEMBLER__ */
1246 
1247  /* PRR0 */
1248 
1249 #define PRADC 0
1250 #define PRUSART0 1
1251 #define PRSPI 2
1252 #define PRTIM1 3
1253 #define PRPGA 4
1254 #define PRTIM0 5
1255 #define PRTIM2 6
1256 #define PRTWI 7
1257 
1258 /* Power Reduction Register 1 */
1259 #define PRR1 _SFR_MEM8(0x65)
1260 
1261 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1262 
1263 struct __reg_PRR1 {
1264  unsigned int prusart : 3; /* Reserved */
1265  unsigned int prtim3 : 1; /* Power Reduction Timer/Counter3 */
1266  unsigned int prtim4 : 1; /* Power Reduction Timer/Counter4 */
1267  unsigned int prtim5 : 1; /* Power Reduction Timer/Counter5 */
1268  unsigned int prtrx24 : 1; /* Power Reduction Transceiver */
1269  unsigned int : 1;
1270 };
1271 
1272 #define PRR1_struct _SFR_MEM8_STRUCT(0x65, struct __reg_PRR1)
1273 
1274 #endif /* __ASSEMBLER__ */
1275 
1276  /* PRR1 */
1277 
1278 #define PRUSART1 0
1279 #define PRUSART2 1
1280 #define PRUSART3 2
1281 #define PRTIM3 3
1282 #define PRTIM4 4
1283 #define PRTIM5 5
1284 #define PRTRX24 6
1285 
1286 /* Oscillator Calibration Value */
1287 #define OSCCAL _SFR_MEM8(0x66)
1288 
1289 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1290 
1291 struct __reg_OSCCAL {
1292  unsigned int cal : 8; /* Oscillator Calibration Tuning Value */
1293 };
1294 
1295 #define OSCCAL_struct _SFR_MEM8_STRUCT(0x66, struct __reg_OSCCAL)
1296 
1297 #endif /* __ASSEMBLER__ */
1298 
1299  /* OSCCAL */
1300 
1301 #define CAL0 0
1302 #define CAL1 1
1303 #define CAL2 2
1304 #define CAL3 3
1305 #define CAL4 4
1306 #define CAL5 5
1307 #define CAL6 6
1308 #define CAL7 7
1309 
1310 /* Reference Voltage Calibration Register */
1311 #define BGCR _SFR_MEM8(0x67)
1312 
1313 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1314 
1315 struct __reg_BGCR {
1316  unsigned int bgcal : 3; /* Coarse Calibration Bits */
1317  unsigned int bgcal_fine : 4; /* Fine Calibration Bits */
1318  unsigned int : 1;
1319 };
1320 
1321 #define BGCR_struct _SFR_MEM8_STRUCT(0x67, struct __reg_BGCR)
1322 
1323 #endif /* __ASSEMBLER__ */
1324 
1325  /* BGCR */
1326 
1327 #define BGCAL0 0
1328 #define BGCAL1 1
1329 #define BGCAL2 2
1330 #define BGCAL_FINE0 3
1331 #define BGCAL_FINE1 4
1332 #define BGCAL_FINE2 5
1333 #define BGCAL_FINE3 6
1334 
1335 /* Pin Change Interrupt Control Register */
1336 #define PCICR _SFR_MEM8(0x68)
1337 
1338 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1339 
1340 struct __reg_PCICR {
1341  unsigned int pcie : 3; /* Pin Change Interrupt Enable 2 */
1342  unsigned int : 5;
1343 };
1344 
1345 #define PCICR_struct _SFR_MEM8_STRUCT(0x68, struct __reg_PCICR)
1346 
1347 #endif /* __ASSEMBLER__ */
1348 
1349  /* PCICR */
1350 
1351 #define PCIE0 0
1352 #define PCIE1 1
1353 #define PCIE2 2
1354 
1355 /* External Interrupt Control Register A */
1356 #define EICRA _SFR_MEM8(0x69)
1357 
1358 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1359 
1360 struct __reg_EICRA {
1361  unsigned int isc0 : 2; /* External Interrupt 0 Sense Control Bit */
1362  unsigned int isc1 : 2; /* External Interrupt 1 Sense Control Bit */
1363  unsigned int isc2 : 2; /* External Interrupt 2 Sense Control Bit */
1364  unsigned int isc3 : 2; /* External Interrupt 3 Sense Control Bit */
1365 };
1366 
1367 #define EICRA_struct _SFR_MEM8_STRUCT(0x69, struct __reg_EICRA)
1368 
1369 #endif /* __ASSEMBLER__ */
1370 
1371  /* EICRA */
1372 
1373 #define ISC00 0
1374 #define ISC01 1
1375 #define ISC10 2
1376 #define ISC11 3
1377 #define ISC20 4
1378 #define ISC21 5
1379 #define ISC30 6
1380 #define ISC31 7
1381 
1382 /* External Interrupt Control Register B */
1383 #define EICRB _SFR_MEM8(0x6A)
1384 
1385 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1386 
1387 struct __reg_EICRB {
1388  unsigned int isc4 : 2; /* External Interrupt 4 Sense Control Bit */
1389  unsigned int isc5 : 2; /* External Interrupt 5 Sense Control Bit */
1390  unsigned int isc6 : 2; /* External Interrupt 6 Sense Control Bit */
1391  unsigned int isc7 : 2; /* External Interrupt 7 Sense Control Bit */
1392 };
1393 
1394 #define EICRB_struct _SFR_MEM8_STRUCT(0x6a, struct __reg_EICRB)
1395 
1396 #endif /* __ASSEMBLER__ */
1397 
1398  /* EICRB */
1399 
1400 #define ISC40 0
1401 #define ISC41 1
1402 #define ISC50 2
1403 #define ISC51 3
1404 #define ISC60 4
1405 #define ISC61 5
1406 #define ISC70 6
1407 #define ISC71 7
1408 
1409 /* Pin Change Mask Register 0 */
1410 #define PCMSK0 _SFR_MEM8(0x6B)
1411 
1412  /* PCMSK0 */
1413 
1414 #define PCINT0 0
1415 #define PCINT1 1
1416 #define PCINT2 2
1417 #define PCINT3 3
1418 #define PCINT4 4
1419 #define PCINT5 5
1420 #define PCINT6 6
1421 #define PCINT7 7
1422 
1423 /* Pin Change Mask Register 1 */
1424 #define PCMSK1 _SFR_MEM8(0x6C)
1425 
1426 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1427 
1428 struct __reg_PCMSK1 {
1429  unsigned int pcint : 2; /* Pin Change Enable Mask */
1430  unsigned int pcint1 : 6; /* Pin Change Enable Mask */
1431 };
1432 
1433 #define PCMSK1_struct _SFR_MEM8_STRUCT(0x6c, struct __reg_PCMSK1)
1434 
1435 #endif /* __ASSEMBLER__ */
1436 
1437  /* PCMSK1 */
1438 
1439 #define PCINT8 0
1440 #define PCINT9 1
1441 #define PCINT10 2
1442 #define PCINT11 3
1443 #define PCINT12 4
1444 #define PCINT13 5
1445 #define PCINT14 6
1446 #define PCINT15 7
1447 
1448 /* Pin Change Mask Register 2 */
1449 #define PCMSK2 _SFR_MEM8(0x6D)
1450 
1451 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1452 
1453 struct __reg_PCMSK2 {
1454  unsigned int pcint1 : 4; /* Pin Change Enable Mask */
1455  unsigned int pcint2 : 4; /* Pin Change Enable Mask */
1456 };
1457 
1458 #define PCMSK2_struct _SFR_MEM8_STRUCT(0x6d, struct __reg_PCMSK2)
1459 
1460 #endif /* __ASSEMBLER__ */
1461 
1462  /* PCMSK2 */
1463 
1464 #define PCINT16 0
1465 #define PCINT17 1
1466 #define PCINT18 2
1467 #define PCINT19 3
1468 #define PCINT20 4
1469 #define PCINT21 5
1470 #define PCINT22 6
1471 #define PCINT23 7
1472 
1473 /* Timer/Counter0 Interrupt Mask Register */
1474 #define TIMSK0 _SFR_MEM8(0x6E)
1475 
1476 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1477 
1478 struct __reg_TIMSK0 {
1479  unsigned int toie0 : 1; /* Timer/Counter0 Overflow Interrupt Enable */
1480  unsigned int ocie0a : 1; /* Timer/Counter0 Output Compare Match A Interrupt Enable */
1481  unsigned int ocie0b : 1; /* Timer/Counter0 Output Compare Match B Interrupt Enable */
1482  unsigned int : 5;
1483 };
1484 
1485 #define TIMSK0_struct _SFR_MEM8_STRUCT(0x6e, struct __reg_TIMSK0)
1486 
1487 #endif /* __ASSEMBLER__ */
1488 
1489  /* TIMSK0 */
1490 
1491 #define TOIE0 0
1492 #define OCIE0A 1
1493 #define OCIE0B 2
1494 
1495 /* Timer/Counter1 Interrupt Mask Register */
1496 #define TIMSK1 _SFR_MEM8(0x6F)
1497 
1498 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1499 
1500 struct __reg_TIMSK1 {
1501  unsigned int toie1 : 1; /* Timer/Counter1 Overflow Interrupt Enable */
1502  unsigned int ocie1a : 1; /* Timer/Counter1 Output Compare A Match Interrupt Enable */
1503  unsigned int ocie1b : 1; /* Timer/Counter1 Output Compare B Match Interrupt Enable */
1504  unsigned int ocie1c : 1; /* Timer/Counter1 Output Compare C Match Interrupt Enable */
1505  unsigned int : 1;
1506  unsigned int icie1 : 1; /* Timer/Counter1 Input Capture Interrupt Enable */
1507  unsigned int : 2;
1508 };
1509 
1510 #define TIMSK1_struct _SFR_MEM8_STRUCT(0x6f, struct __reg_TIMSK1)
1511 
1512 #endif /* __ASSEMBLER__ */
1513 
1514  /* TIMSK1 */
1515 
1516 #define TOIE1 0
1517 #define OCIE1A 1
1518 #define OCIE1B 2
1519 #define OCIE1C 3
1520 #define ICIE1 5
1521 
1522 /* Timer/Counter Interrupt Mask register */
1523 #define TIMSK2 _SFR_MEM8(0x70)
1524 
1525 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1526 
1527 struct __reg_TIMSK2 {
1528  unsigned int toie2 : 1; /* Timer/Counter2 Overflow Interrupt Enable */
1529  unsigned int ocie2a : 1; /* Timer/Counter2 Output Compare Match A Interrupt Enable */
1530  unsigned int ocie2b : 1; /* Timer/Counter2 Output Compare Match B Interrupt Enable */
1531  unsigned int : 5;
1532 };
1533 
1534 #define TIMSK2_struct _SFR_MEM8_STRUCT(0x70, struct __reg_TIMSK2)
1535 
1536 #endif /* __ASSEMBLER__ */
1537 
1538  /* TIMSK2 */
1539 
1540 #define TOIE2 0
1541 #define TOIE2A 0
1542 #define OCIE2A 1
1543 #define OCIE2B 2
1544 
1545 /* Timer/Counter3 Interrupt Mask Register */
1546 #define TIMSK3 _SFR_MEM8(0x71)
1547 
1548 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1549 
1550 struct __reg_TIMSK3 {
1551  unsigned int toie3 : 1; /* Timer/Counter3 Overflow Interrupt Enable */
1552  unsigned int ocie3a : 1; /* Timer/Counter3 Output Compare A Match Interrupt Enable */
1553  unsigned int ocie3b : 1; /* Timer/Counter3 Output Compare B Match Interrupt Enable */
1554  unsigned int ocie3c : 1; /* Timer/Counter3 Output Compare C Match Interrupt Enable */
1555  unsigned int : 1;
1556  unsigned int icie3 : 1; /* Timer/Counter3 Input Capture Interrupt Enable */
1557  unsigned int : 2;
1558 };
1559 
1560 #define TIMSK3_struct _SFR_MEM8_STRUCT(0x71, struct __reg_TIMSK3)
1561 
1562 #endif /* __ASSEMBLER__ */
1563 
1564  /* TIMSK3 */
1565 
1566 #define TOIE3 0
1567 #define OCIE3A 1
1568 #define OCIE3B 2
1569 #define OCIE3C 3
1570 #define ICIE3 5
1571 
1572 /* Timer/Counter4 Interrupt Mask Register */
1573 #define TIMSK4 _SFR_MEM8(0x72)
1574 
1575 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1576 
1577 struct __reg_TIMSK4 {
1578  unsigned int toie4 : 1; /* Timer/Counter4 Overflow Interrupt Enable */
1579  unsigned int ocie4a : 1; /* Timer/Counter4 Output Compare A Match Interrupt Enable */
1580  unsigned int ocie4b : 1; /* Timer/Counter4 Output Compare B Match Interrupt Enable */
1581  unsigned int ocie4c : 1; /* Timer/Counter4 Output Compare C Match Interrupt Enable */
1582  unsigned int : 1;
1583  unsigned int icie4 : 1; /* Timer/Counter4 Input Capture Interrupt Enable */
1584  unsigned int : 2;
1585 };
1586 
1587 #define TIMSK4_struct _SFR_MEM8_STRUCT(0x72, struct __reg_TIMSK4)
1588 
1589 #endif /* __ASSEMBLER__ */
1590 
1591  /* TIMSK4 */
1592 
1593 #define TOIE4 0
1594 #define OCIE4A 1
1595 #define OCIE4B 2
1596 #define OCIE4C 3
1597 #define ICIE4 5
1598 
1599 /* Timer/Counter5 Interrupt Mask Register */
1600 #define TIMSK5 _SFR_MEM8(0x73)
1601 
1602 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1603 
1604 struct __reg_TIMSK5 {
1605  unsigned int toie5 : 1; /* Timer/Counter5 Overflow Interrupt Enable */
1606  unsigned int ocie5a : 1; /* Timer/Counter5 Output Compare A Match Interrupt Enable */
1607  unsigned int ocie5b : 1; /* Timer/Counter5 Output Compare B Match Interrupt Enable */
1608  unsigned int ocie5c : 1; /* Timer/Counter5 Output Compare C Match Interrupt Enable */
1609  unsigned int : 1;
1610  unsigned int icie5 : 1; /* Timer/Counter5 Input Capture Interrupt Enable */
1611  unsigned int : 2;
1612 };
1613 
1614 #define TIMSK5_struct _SFR_MEM8_STRUCT(0x73, struct __reg_TIMSK5)
1615 
1616 #endif /* __ASSEMBLER__ */
1617 
1618  /* TIMSK5 */
1619 
1620 #define TOIE5 0
1621 #define OCIE5A 1
1622 #define OCIE5B 2
1623 #define OCIE5C 3
1624 #define ICIE5 5
1625 
1626 /* Flash Extended-Mode Control-Register */
1627 #define NEMCR _SFR_MEM8(0x75)
1628 
1629 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1630 
1631 struct __reg_NEMCR {
1632  unsigned int : 4;
1633  unsigned int aeam : 2; /* Address for Extended Address Mode of Extra Rows */
1634  unsigned int eneam : 1; /* Enable Extended Address Mode for Extra Rows */
1635  unsigned int : 1;
1636 };
1637 
1638 #define NEMCR_struct _SFR_MEM8_STRUCT(0x75, struct __reg_NEMCR)
1639 
1640 #endif /* __ASSEMBLER__ */
1641 
1642  /* NEMCR */
1643 
1644 #define AEAM0 4
1645 #define AEAM1 5
1646 #define ENEAM 6
1647 
1648 /* The ADC Control and Status Register C */
1649 #define ADCSRC _SFR_MEM8(0x77)
1650 
1651 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1652 
1653 struct __reg_ADCSRC {
1654  unsigned int adsut : 5; /* ADC Start-up Time */
1655  unsigned int res0 : 1; /* Reserved */
1656  unsigned int adtht : 2; /* ADC Track-and-Hold Time */
1657 };
1658 
1659 #define ADCSRC_struct _SFR_MEM8_STRUCT(0x77, struct __reg_ADCSRC)
1660 
1661 #endif /* __ASSEMBLER__ */
1662 
1663  /* ADCSRC */
1664 
1665 #define ADSUT0 0
1666 #define ADSUT1 1
1667 #define ADSUT2 2
1668 #define ADSUT3 3
1669 #define ADSUT4 4
1670 #define ADTHT0 6
1671 #define ADTHT1 7
1672 
1673 /* ADC Data Register Bytes */
1674 #ifndef __ASSEMBLER__
1675 #define ADC _SFR_MEM16(0x78)
1676 #define ADCL _SFR_MEM8(0x78)
1677 #define ADCH _SFR_MEM8(0x79)
1678 #endif /* __ASSEMBLER__ */
1679 #define ADCW _SFR_MEM16(0x78)
1680 #define ADCWL _SFR_MEM8(0x78)
1681 #define ADCWH _SFR_MEM8(0x79)
1682 
1683 /* The ADC Control and Status Register A */
1684 #define ADCSRA _SFR_MEM8(0x7A)
1685 
1686 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1687 
1688 struct __reg_ADCSRA {
1689  unsigned int adps : 3; /* ADC Prescaler Select Bits */
1690  unsigned int adie : 1; /* ADC Interrupt Enable */
1691  unsigned int adif : 1; /* ADC Interrupt Flag */
1692  unsigned int adate : 1; /* ADC Auto Trigger Enable */
1693  unsigned int adsc : 1; /* ADC Start Conversion */
1694  unsigned int aden : 1; /* ADC Enable */
1695 };
1696 
1697 #define ADCSRA_struct _SFR_MEM8_STRUCT(0x7a, struct __reg_ADCSRA)
1698 
1699 #endif /* __ASSEMBLER__ */
1700 
1701  /* ADCSRA */
1702 
1703 #define ADPS0 0
1704 #define ADPS1 1
1705 #define ADPS2 2
1706 #define ADIE 3
1707 #define ADIF 4
1708 #define ADATE 5
1709 #define ADSC 6
1710 #define ADEN 7
1711 
1712 /* ADC Control and Status Register B */
1713 #define ADCSRB _SFR_MEM8(0x7B)
1714 
1715 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1716 
1717 struct __reg_ADCSRB {
1718  unsigned int adts : 3; /* ADC Auto Trigger Source */
1719  unsigned int mux5 : 1; /* Analog Channel and Gain Selection Bits */
1720  unsigned int acch : 1; /* Analog Channel Change */
1721  unsigned int refok : 1; /* Reference Voltage OK */
1722  unsigned int acme : 1; /* Analog Comparator Multiplexer Enable */
1723  unsigned int avddok : 1; /* AVDD Supply Voltage OK */
1724 };
1725 
1726 #define ADCSRB_struct _SFR_MEM8_STRUCT(0x7b, struct __reg_ADCSRB)
1727 
1728 #endif /* __ASSEMBLER__ */
1729 
1730  /* ADCSRB */
1731 
1732 #define ADTS0 0
1733 #define ADTS1 1
1734 #define ADTS2 2
1735 #define MUX5 3
1736 #define ACCH 4
1737 #define REFOK 5
1738 #define ACME 6
1739 #define AVDDOK 7
1740 
1741 /* The ADC Multiplexer Selection Register */
1742 #define ADMUX _SFR_MEM8(0x7C)
1743 
1744 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1745 
1746 struct __reg_ADMUX {
1747  unsigned int mux : 5; /* Analog Channel and Gain Selection Bits */
1748  unsigned int adlar : 1; /* ADC Left Adjust Result */
1749  unsigned int refs : 2; /* Reference Selection Bits */
1750 };
1751 
1752 #define ADMUX_struct _SFR_MEM8_STRUCT(0x7c, struct __reg_ADMUX)
1753 
1754 #endif /* __ASSEMBLER__ */
1755 
1756  /* ADMUX */
1757 
1758 #define MUX0 0
1759 #define MUX1 1
1760 #define MUX2 2
1761 #define MUX3 3
1762 #define MUX4 4
1763 #define ADLAR 5
1764 #define REFS0 6
1765 #define REFS1 7
1766 
1767 /* Digital Input Disable Register 2 */
1768 #define DIDR2 _SFR_MEM8(0x7D)
1769 
1770 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1771 
1772 struct __reg_DIDR2 {
1773  unsigned int adc8d : 1; /* Reserved Bits */
1774  unsigned int adc9d : 1; /* Reserved Bits */
1775  unsigned int adc10d : 1; /* Reserved Bits */
1776  unsigned int adc11d : 1; /* Reserved Bits */
1777  unsigned int adc12d : 1; /* Reserved Bits */
1778  unsigned int adc13d : 1; /* Reserved Bits */
1779  unsigned int adc14d : 1; /* Reserved Bits */
1780  unsigned int adc15d : 1; /* Reserved Bits */
1781 };
1782 
1783 #define DIDR2_struct _SFR_MEM8_STRUCT(0x7d, struct __reg_DIDR2)
1784 
1785 #endif /* __ASSEMBLER__ */
1786 
1787  /* DIDR2 */
1788 
1789 #define ADC8D 0
1790 #define ADC9D 1
1791 #define ADC10D 2
1792 #define ADC11D 3
1793 #define ADC12D 4
1794 #define ADC13D 5
1795 #define ADC14D 6
1796 #define ADC15D 7
1797 
1798 /* Digital Input Disable Register 0 */
1799 #define DIDR0 _SFR_MEM8(0x7E)
1800 
1801 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1802 
1803 struct __reg_DIDR0 {
1804  unsigned int adc0d : 1; /* Disable ADC7:0 Digital Input */
1805  unsigned int adc1d : 1; /* Disable ADC7:0 Digital Input */
1806  unsigned int adc2d : 1; /* Disable ADC7:0 Digital Input */
1807  unsigned int adc3d : 1; /* Disable ADC7:0 Digital Input */
1808  unsigned int adc4d : 1; /* Disable ADC7:0 Digital Input */
1809  unsigned int adc5d : 1; /* Disable ADC7:0 Digital Input */
1810  unsigned int adc6d : 1; /* Disable ADC7:0 Digital Input */
1811  unsigned int adc7d : 1; /* Disable ADC7:0 Digital Input */
1812 };
1813 
1814 #define DIDR0_struct _SFR_MEM8_STRUCT(0x7e, struct __reg_DIDR0)
1815 
1816 #endif /* __ASSEMBLER__ */
1817 
1818  /* DIDR0 */
1819 
1820 #define ADC0D 0
1821 #define ADC1D 1
1822 #define ADC2D 2
1823 #define ADC3D 3
1824 #define ADC4D 4
1825 #define ADC5D 5
1826 #define ADC6D 6
1827 #define ADC7D 7
1828 
1829 /* Digital Input Disable Register 1 */
1830 #define DIDR1 _SFR_MEM8(0x7F)
1831 
1832 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1833 
1834 struct __reg_DIDR1 {
1835  unsigned int ain0d : 1; /* AIN0 Digital Input Disable */
1836  unsigned int ain1d : 1; /* AIN1 Digital Input Disable */
1837  unsigned int : 6;
1838 };
1839 
1840 #define DIDR1_struct _SFR_MEM8_STRUCT(0x7f, struct __reg_DIDR1)
1841 
1842 #endif /* __ASSEMBLER__ */
1843 
1844  /* DIDR1 */
1845 
1846 #define AIN0D 0
1847 #define AIN1D 1
1848 
1849 /* Timer/Counter1 Control Register A */
1850 #define TCCR1A _SFR_MEM8(0x80)
1851 
1852 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1853 
1854 struct __reg_TCCR1A {
1855  unsigned int wgm1 : 2; /* Waveform Generation Mode */
1856  unsigned int com1c : 2; /* Compare Output Mode for Channel C */
1857  unsigned int com1b : 2; /* Compare Output Mode for Channel B */
1858  unsigned int com1a : 2; /* Compare Output Mode for Channel A */
1859 };
1860 
1861 #define TCCR1A_struct _SFR_MEM8_STRUCT(0x80, struct __reg_TCCR1A)
1862 
1863 #endif /* __ASSEMBLER__ */
1864 
1865  /* TCCR1A */
1866 
1867 #define WGM10 0
1868 #define WGM11 1
1869 #define COM1C0 2
1870 #define COM1C1 3
1871 #define COM1B0 4
1872 #define COM1B1 5
1873 #define COM1A0 6
1874 #define COM1A1 7
1875 
1876 /* Timer/Counter1 Control Register B */
1877 #define TCCR1B _SFR_MEM8(0x81)
1878 
1879 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1880 
1881 struct __reg_TCCR1B {
1882  unsigned int cs1 : 3; /* Clock Select */
1883  unsigned int wgm1 : 2; /* Waveform Generation Mode */
1884  unsigned int : 1;
1885  unsigned int ices1 : 1; /* Input Capture 1 Edge Select */
1886  unsigned int icnc1 : 1; /* Input Capture 1 Noise Canceller */
1887 };
1888 
1889 #define TCCR1B_struct _SFR_MEM8_STRUCT(0x81, struct __reg_TCCR1B)
1890 
1891 #endif /* __ASSEMBLER__ */
1892 
1893  /* TCCR1B */
1894 
1895 #define CS10 0
1896 #define CS11 1
1897 #define CS12 2
1898 #define WGM12 3
1899 #define WGM13 4
1900 #define ICES1 6
1901 #define ICNC1 7
1902 
1903 /* Timer/Counter1 Control Register C */
1904 #define TCCR1C _SFR_MEM8(0x82)
1905 
1906 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1907 
1908 struct __reg_TCCR1C {
1909  unsigned int : 5;
1910  unsigned int foc1c : 1; /* Force Output Compare for Channel C */
1911  unsigned int foc1b : 1; /* Force Output Compare for Channel B */
1912  unsigned int foc1a : 1; /* Force Output Compare for Channel A */
1913 };
1914 
1915 #define TCCR1C_struct _SFR_MEM8_STRUCT(0x82, struct __reg_TCCR1C)
1916 
1917 #endif /* __ASSEMBLER__ */
1918 
1919  /* TCCR1C */
1920 
1921 #define FOC1C 5
1922 #define FOC1B 6
1923 #define FOC1A 7
1924 
1925 /* Timer/Counter1 Bytes */
1926 #define TCNT1 _SFR_MEM16(0x84)
1927 #define TCNT1L _SFR_MEM8(0x84)
1928 #define TCNT1H _SFR_MEM8(0x85)
1929 
1930 /* Timer/Counter1 Input Capture Register Bytes */
1931 #define ICR1 _SFR_MEM16(0x86)
1932 #define ICR1L _SFR_MEM8(0x86)
1933 #define ICR1H _SFR_MEM8(0x87)
1934 
1935 /* Timer/Counter1 Output Compare Register A Bytes */
1936 #define OCR1A _SFR_MEM16(0x88)
1937 #define OCR1AL _SFR_MEM8(0x88)
1938 #define OCR1AH _SFR_MEM8(0x89)
1939 
1940 /* Timer/Counter1 Output Compare Register B Bytes */
1941 #define OCR1B _SFR_MEM16(0x8A)
1942 #define OCR1BL _SFR_MEM8(0x8A)
1943 #define OCR1BH _SFR_MEM8(0x8B)
1944 
1945 /* Timer/Counter1 Output Compare Register C Bytes */
1946 #define OCR1C _SFR_MEM16(0x8C)
1947 #define OCR1CL _SFR_MEM8(0x8C)
1948 #define OCR1CH _SFR_MEM8(0x8D)
1949 
1950 /* Timer/Counter3 Control Register A */
1951 #define TCCR3A _SFR_MEM8(0x90)
1952 
1953 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1954 
1955 struct __reg_TCCR3A {
1956  unsigned int wgm3 : 2; /* Waveform Generation Mode */
1957  unsigned int com3c : 2; /* Compare Output Mode for Channel C */
1958  unsigned int com3b : 2; /* Compare Output Mode for Channel B */
1959  unsigned int com3a : 2; /* Compare Output Mode for Channel A */
1960 };
1961 
1962 #define TCCR3A_struct _SFR_MEM8_STRUCT(0x90, struct __reg_TCCR3A)
1963 
1964 #endif /* __ASSEMBLER__ */
1965 
1966  /* TCCR3A */
1967 
1968 #define WGM30 0
1969 #define WGM31 1
1970 #define COM3C0 2
1971 #define COM3C1 3
1972 #define COM3B0 4
1973 #define COM3B1 5
1974 #define COM3A0 6
1975 #define COM3A1 7
1976 
1977 /* Timer/Counter3 Control Register B */
1978 #define TCCR3B _SFR_MEM8(0x91)
1979 
1980 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
1981 
1982 struct __reg_TCCR3B {
1983  unsigned int cs3 : 3; /* Clock Select */
1984  unsigned int wgm3 : 2; /* Waveform Generation Mode */
1985  unsigned int : 1;
1986  unsigned int ices3 : 1; /* Input Capture 3 Edge Select */
1987  unsigned int icnc3 : 1; /* Input Capture 3 Noise Canceller */
1988 };
1989 
1990 #define TCCR3B_struct _SFR_MEM8_STRUCT(0x91, struct __reg_TCCR3B)
1991 
1992 #endif /* __ASSEMBLER__ */
1993 
1994  /* TCCR3B */
1995 
1996 #define CS30 0
1997 #define CS31 1
1998 #define CS32 2
1999 #define WGM32 3
2000 #define WGM33 4
2001 #define ICES3 6
2002 #define ICNC3 7
2003 
2004 /* Timer/Counter3 Control Register C */
2005 #define TCCR3C _SFR_MEM8(0x92)
2006 
2007 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2008 
2009 struct __reg_TCCR3C {
2010  unsigned int : 5;
2011  unsigned int foc3c : 1; /* Force Output Compare for Channel C */
2012  unsigned int foc3b : 1; /* Force Output Compare for Channel B */
2013  unsigned int foc3a : 1; /* Force Output Compare for Channel A */
2014 };
2015 
2016 #define TCCR3C_struct _SFR_MEM8_STRUCT(0x92, struct __reg_TCCR3C)
2017 
2018 #endif /* __ASSEMBLER__ */
2019 
2020  /* TCCR3C */
2021 
2022 #define FOC3C 5
2023 #define FOC3B 6
2024 #define FOC3A 7
2025 
2026 /* Timer/Counter3 Bytes */
2027 #define TCNT3 _SFR_MEM16(0x94)
2028 #define TCNT3L _SFR_MEM8(0x94)
2029 #define TCNT3H _SFR_MEM8(0x95)
2030 
2031 /* Timer/Counter3 Input Capture Register Bytes */
2032 #define ICR3 _SFR_MEM16(0x96)
2033 #define ICR3L _SFR_MEM8(0x96)
2034 #define ICR3H _SFR_MEM8(0x97)
2035 
2036 /* Timer/Counter3 Output Compare Register A Bytes */
2037 #define OCR3A _SFR_MEM16(0x98)
2038 #define OCR3AL _SFR_MEM8(0x98)
2039 #define OCR3AH _SFR_MEM8(0x99)
2040 
2041 /* Timer/Counter3 Output Compare Register B Bytes */
2042 #define OCR3B _SFR_MEM16(0x9A)
2043 #define OCR3BL _SFR_MEM8(0x9A)
2044 #define OCR3BH _SFR_MEM8(0x9B)
2045 
2046 /* Timer/Counter3 Output Compare Register C Bytes */
2047 #define OCR3C _SFR_MEM16(0x9C)
2048 #define OCR3CL _SFR_MEM8(0x9C)
2049 #define OCR3CH _SFR_MEM8(0x9D)
2050 
2051 /* Timer/Counter4 Control Register A */
2052 #define TCCR4A _SFR_MEM8(0xA0)
2053 
2054 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2055 
2056 struct __reg_TCCR4A {
2057  unsigned int wgm4 : 2; /* Waveform Generation Mode */
2058  unsigned int com4c : 2; /* Compare Output Mode for Channel C */
2059  unsigned int com4b : 2; /* Compare Output Mode for Channel B */
2060  unsigned int com4a : 2; /* Compare Output Mode for Channel A */
2061 };
2062 
2063 #define TCCR4A_struct _SFR_MEM8_STRUCT(0xa0, struct __reg_TCCR4A)
2064 
2065 #endif /* __ASSEMBLER__ */
2066 
2067  /* TCCR4A */
2068 
2069 #define WGM40 0
2070 #define WGM41 1
2071 #define COM4C0 2
2072 #define COM4C1 3
2073 #define COM4B0 4
2074 #define COM4B1 5
2075 #define COM4A0 6
2076 #define COM4A1 7
2077 
2078 /* Timer/Counter4 Control Register B */
2079 #define TCCR4B _SFR_MEM8(0xA1)
2080 
2081 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2082 
2083 struct __reg_TCCR4B {
2084  unsigned int cs4 : 3; /* Clock Select */
2085  unsigned int wgm4 : 2; /* Waveform Generation Mode */
2086  unsigned int : 1;
2087  unsigned int ices4 : 1; /* Input Capture 4 Edge Select */
2088  unsigned int icnc4 : 1; /* Input Capture 4 Noise Canceller */
2089 };
2090 
2091 #define TCCR4B_struct _SFR_MEM8_STRUCT(0xa1, struct __reg_TCCR4B)
2092 
2093 #endif /* __ASSEMBLER__ */
2094 
2095  /* TCCR4B */
2096 
2097 #define CS40 0
2098 #define CS41 1
2099 #define CS42 2
2100 #define WGM42 3
2101 #define WGM43 4
2102 #define ICES4 6
2103 #define ICNC4 7
2104 
2105 /* Timer/Counter4 Control Register C */
2106 #define TCCR4C _SFR_MEM8(0xA2)
2107 
2108 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2109 
2110 struct __reg_TCCR4C {
2111  unsigned int : 5;
2112  unsigned int foc4c : 1; /* Force Output Compare for Channel C */
2113  unsigned int foc4b : 1; /* Force Output Compare for Channel B */
2114  unsigned int foc4a : 1; /* Force Output Compare for Channel A */
2115 };
2116 
2117 #define TCCR4C_struct _SFR_MEM8_STRUCT(0xa2, struct __reg_TCCR4C)
2118 
2119 #endif /* __ASSEMBLER__ */
2120 
2121  /* TCCR4C */
2122 
2123 #define FOC4C 5
2124 #define FOC4B 6
2125 #define FOC4A 7
2126 
2127 /* Timer/Counter4 Bytes */
2128 #define TCNT4 _SFR_MEM16(0xA4)
2129 #define TCNT4L _SFR_MEM8(0xA4)
2130 #define TCNT4H _SFR_MEM8(0xA5)
2131 
2132 /* Timer/Counter4 Input Capture Register Bytes */
2133 #define ICR4 _SFR_MEM16(0xA6)
2134 #define ICR4L _SFR_MEM8(0xA6)
2135 #define ICR4H _SFR_MEM8(0xA7)
2136 
2137 /* Timer/Counter4 Output Compare Register A Bytes */
2138 #define OCR4A _SFR_MEM16(0xA8)
2139 #define OCR4AL _SFR_MEM8(0xA8)
2140 #define OCR4AH _SFR_MEM8(0xA9)
2141 
2142 /* Timer/Counter4 Output Compare Register B Bytes */
2143 #define OCR4B _SFR_MEM16(0xAA)
2144 #define OCR4BL _SFR_MEM8(0xAA)
2145 #define OCR4BH _SFR_MEM8(0xAB)
2146 
2147 /* Timer/Counter4 Output Compare Register C Bytes */
2148 #define OCR4C _SFR_MEM16(0xAC)
2149 #define OCR4CL _SFR_MEM8(0xAC)
2150 #define OCR4CH _SFR_MEM8(0xAD)
2151 
2152 /* Timer/Counter2 Control Register A */
2153 #define TCCR2A _SFR_MEM8(0xB0)
2154 
2155 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2156 
2157 struct __reg_TCCR2A {
2158  unsigned int wgm2 : 2; /* Waveform Generation Mode */
2159  unsigned int : 2;
2160  unsigned int com2b : 2; /* Compare Match Output B Mode */
2161  unsigned int com2a : 2; /* Compare Match Output A Mode */
2162 };
2163 
2164 #define TCCR2A_struct _SFR_MEM8_STRUCT(0xb0, struct __reg_TCCR2A)
2165 
2166 #endif /* __ASSEMBLER__ */
2167 
2168  /* TCCR2A */
2169 
2170 #define WGM20 0
2171 #define WGM21 1
2172 #define COM2B0 4
2173 #define COM2B1 5
2174 #define COM2A0 6
2175 #define COM2A1 7
2176 
2177 /* Timer/Counter2 Control Register B */
2178 #define TCCR2B _SFR_MEM8(0xB1)
2179 
2180 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2181 
2182 struct __reg_TCCR2B {
2183  unsigned int cs2 : 3; /* Clock Select */
2184  unsigned int wgm22 : 1; /* Waveform Generation Mode */
2185  unsigned int : 2;
2186  unsigned int foc2b : 1; /* Force Output Compare B */
2187  unsigned int foc2a : 1; /* Force Output Compare A */
2188 };
2189 
2190 #define TCCR2B_struct _SFR_MEM8_STRUCT(0xb1, struct __reg_TCCR2B)
2191 
2192 #endif /* __ASSEMBLER__ */
2193 
2194  /* TCCR2B */
2195 
2196 #define CS20 0
2197 #define CS21 1
2198 #define CS22 2
2199 #define WGM22 3
2200 #define FOC2B 6
2201 #define FOC2A 7
2202 
2203 /* Timer/Counter2 */
2204 #define TCNT2 _SFR_MEM8(0xB2)
2205 
2206  /* TCNT2 */
2207 
2208 #define TCNT20 0
2209 #define TCNT21 1
2210 #define TCNT22 2
2211 #define TCNT23 3
2212 #define TCNT24 4
2213 #define TCNT25 5
2214 #define TCNT26 6
2215 #define TCNT27 7
2216 
2217 /* Timer/Counter2 Output Compare Register A */
2218 #define OCR2A _SFR_MEM8(0xB3)
2219 
2220  /* OCR2A */
2221 
2222 #define OCR2A0 0
2223 #define OCR2A1 1
2224 #define OCR2A2 2
2225 #define OCR2A3 3
2226 #define OCR2A4 4
2227 #define OCR2A5 5
2228 #define OCR2A6 6
2229 #define OCR2A7 7
2230 
2231 /* Timer/Counter2 Output Compare Register B */
2232 #define OCR2B _SFR_MEM8(0xB4)
2233 
2234  /* OCR2B */
2235 
2236 #define OCR2B0 0
2237 #define OCR2B1 1
2238 #define OCR2B2 2
2239 #define OCR2B3 3
2240 #define OCR2B4 4
2241 #define OCR2B5 5
2242 #define OCR2B6 6
2243 #define OCR2B7 7
2244 
2245 /* Asynchronous Status Register */
2246 #define ASSR _SFR_MEM8(0xB6)
2247 
2248 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2249 
2250 struct __reg_ASSR {
2251  unsigned int tcr2bub : 1; /* Timer/Counter2 Control Register B Update Busy */
2252  unsigned int tcr2aub : 1; /* Timer/Counter2 Control Register A Update Busy */
2253  unsigned int ocr2bub : 1; /* Timer/Counter2 Output Compare Register B Update Busy */
2254  unsigned int ocr2aub : 1; /* Timer/Counter2 Output Compare Register A Update Busy */
2255  unsigned int tcn2ub : 1; /* Timer/Counter2 Update Busy */
2256  unsigned int as2 : 1; /* Timer/Counter2 Asynchronous Mode */
2257  unsigned int exclk : 1; /* Enable External Clock Input */
2258  unsigned int exclkamr : 1; /* Enable External Clock Input for AMR */
2259 };
2260 
2261 #define ASSR_struct _SFR_MEM8_STRUCT(0xb6, struct __reg_ASSR)
2262 
2263 #endif /* __ASSEMBLER__ */
2264 
2265  /* ASSR */
2266 
2267 #define TCR2BUB 0
2268 #define TCR2AUB 1
2269 #define OCR2BUB 2
2270 #define OCR2AUB 3
2271 #define TCN2UB 4
2272 #define AS2 5
2273 #define EXCLK 6
2274 #define EXCLKAMR 7
2275 
2276 /* TWI Bit Rate Register */
2277 #define TWBR _SFR_MEM8(0xB8)
2278 
2279  /* TWBR */
2280 
2281 #define TWBR0 0
2282 #define TWBR1 1
2283 #define TWBR2 2
2284 #define TWBR3 3
2285 #define TWBR4 4
2286 #define TWBR5 5
2287 #define TWBR6 6
2288 #define TWBR7 7
2289 
2290 /* TWI Status Register */
2291 #define TWSR _SFR_MEM8(0xB9)
2292 
2293 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2294 
2295 struct __reg_TWSR {
2296  unsigned int twps : 2; /* TWI Prescaler Bits */
2297  unsigned int : 1;
2298  unsigned int tws : 5; /* TWI Status */
2299 };
2300 
2301 #define TWSR_struct _SFR_MEM8_STRUCT(0xb9, struct __reg_TWSR)
2302 
2303 #endif /* __ASSEMBLER__ */
2304 
2305  /* TWSR */
2306 
2307 #define TWPS0 0
2308 #define TWPS1 1
2309 #define TWS3 3
2310 #define TWS4 4
2311 #define TWS5 5
2312 #define TWS6 6
2313 #define TWS7 7
2314 
2315 /* TWI (Slave) Address Register */
2316 #define TWAR _SFR_MEM8(0xBA)
2317 
2318 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2319 
2320 struct __reg_TWAR {
2321  unsigned int twgce : 1; /* TWI General Call Recognition Enable Bit */
2322  unsigned int twa : 7; /* TWI (Slave) Address */
2323 };
2324 
2325 #define TWAR_struct _SFR_MEM8_STRUCT(0xba, struct __reg_TWAR)
2326 
2327 #endif /* __ASSEMBLER__ */
2328 
2329  /* TWAR */
2330 
2331 #define TWGCE 0
2332 #define TWA0 1
2333 #define TWA1 2
2334 #define TWA2 3
2335 #define TWA3 4
2336 #define TWA4 5
2337 #define TWA5 6
2338 #define TWA6 7
2339 
2340 /* TWI Data Register */
2341 #define TWDR _SFR_MEM8(0xBB)
2342 
2343  /* TWDR */
2344 
2345 #define TWD0 0
2346 #define TWD1 1
2347 #define TWD2 2
2348 #define TWD3 3
2349 #define TWD4 4
2350 #define TWD5 5
2351 #define TWD6 6
2352 #define TWD7 7
2353 
2354 /* TWI Control Register */
2355 #define TWCR _SFR_MEM8(0xBC)
2356 
2357 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2358 
2359 struct __reg_TWCR {
2360  unsigned int twie : 1; /* TWI Interrupt Enable */
2361  unsigned int : 1;
2362  unsigned int twen : 1; /* TWI Enable Bit */
2363  unsigned int twwc : 1; /* TWI Write Collision Flag */
2364  unsigned int twsto : 1; /* TWI STOP Condition Bit */
2365  unsigned int twsta : 1; /* TWI START Condition Bit */
2366  unsigned int twea : 1; /* TWI Enable Acknowledge Bit */
2367  unsigned int twint : 1; /* TWI Interrupt Flag */
2368 };
2369 
2370 #define TWCR_struct _SFR_MEM8_STRUCT(0xbc, struct __reg_TWCR)
2371 
2372 #endif /* __ASSEMBLER__ */
2373 
2374  /* TWCR */
2375 
2376 #define TWIE 0
2377 #define TWEN 2
2378 #define TWWC 3
2379 #define TWSTO 4
2380 #define TWSTA 5
2381 #define TWEA 6
2382 #define TWINT 7
2383 
2384 /* TWI (Slave) Address Mask Register */
2385 #define TWAMR _SFR_MEM8(0xBD)
2386 
2387 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2388 
2389 struct __reg_TWAMR {
2390  unsigned int : 1;
2391  unsigned int twam : 7; /* TWI Address Mask */
2392 };
2393 
2394 #define TWAMR_struct _SFR_MEM8_STRUCT(0xbd, struct __reg_TWAMR)
2395 
2396 #endif /* __ASSEMBLER__ */
2397 
2398  /* TWAMR */
2399 
2400 #define TWAM0 1
2401 #define TWAMR0 1
2402 #define TWAM1 2
2403 #define TWAMR1 2
2404 #define TWAM2 3
2405 #define TWAMR2 3
2406 #define TWAM3 4
2407 #define TWAMR3 4
2408 #define TWAM4 5
2409 #define TWAMR4 5
2410 #define TWAM5 6
2411 #define TWAMR5 6
2412 #define TWAM6 7
2413 #define TWAMR6 7
2414 
2415 /* USART0 Control and Status Register A */
2416 #define UCSR0A _SFR_MEM8(0xC0)
2417 
2418 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2419 
2420 struct __reg_UCSR0A {
2421  unsigned int mpcm0 : 1; /* Multi-processor Communication Mode */
2422  unsigned int u2x0 : 1; /* Double the USART Transmission Speed */
2423  unsigned int upe0 : 1; /* USART Parity Error */
2424  unsigned int dor0 : 1; /* Data OverRun */
2425  unsigned int fe0 : 1; /* Frame Error */
2426  unsigned int udre0 : 1; /* USART Data Register Empty */
2427  unsigned int txc0 : 1; /* USART Transmit Complete */
2428  unsigned int rxc0 : 1; /* USART Receive Complete */
2429 };
2430 
2431 #define UCSR0A_struct _SFR_MEM8_STRUCT(0xc0, struct __reg_UCSR0A)
2432 
2433 #endif /* __ASSEMBLER__ */
2434 
2435  /* UCSR0A */
2436 
2437 #define MPCM0 0
2438 #define U2X0 1
2439 #define UPE0 2
2440 #define DOR0 3
2441 #define FE0 4
2442 #define UDRE0 5
2443 #define TXC0 6
2444 #define RXC0 7
2445 
2446 /* USART0 Control and Status Register B */
2447 #define UCSR0B _SFR_MEM8(0xC1)
2448 
2449 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2450 
2451 struct __reg_UCSR0B {
2452  unsigned int txb80 : 1; /* Transmit Data Bit 8 */
2453  unsigned int rxb80 : 1; /* Receive Data Bit 8 */
2454  unsigned int ucsz02 : 1; /* Character Size */
2455  unsigned int txen0 : 1; /* Transmitter Enable */
2456  unsigned int rxen0 : 1; /* Receiver Enable */
2457  unsigned int udrie0 : 1; /* USART Data Register Empty Interrupt Enable */
2458  unsigned int txcie0 : 1; /* TX Complete Interrupt Enable */
2459  unsigned int rxcie0 : 1; /* RX Complete Interrupt Enable */
2460 };
2461 
2462 #define UCSR0B_struct _SFR_MEM8_STRUCT(0xc1, struct __reg_UCSR0B)
2463 
2464 #endif /* __ASSEMBLER__ */
2465 
2466  /* UCSR0B */
2467 
2468 #define TXB80 0
2469 #define RXB80 1
2470 #define UCSZ02 2
2471 #define TXEN0 3
2472 #define RXEN0 4
2473 #define UDRIE0 5
2474 #define TXCIE0 6
2475 #define RXCIE0 7
2476 
2477 /* USART0 Control and Status Register C */
2478 #define UCSR0C _SFR_MEM8(0xC2)
2479 
2480 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2481 
2482 struct __reg_UCSR0C {
2483  unsigned int ucpol0 : 1; /* Clock Polarity */
2484  unsigned int ucsz0 : 2; /* Character Size */
2485  unsigned int ucpha0 : 1; /* Clock Phase */
2486  unsigned int udord0 : 1; /* Data Order */
2487  unsigned int usbs0 : 1; /* Stop Bit Select */
2488  unsigned int upm0 : 2; /* Parity Mode */
2489  unsigned int umsel0 : 2; /* USART Mode Select */
2490 };
2491 
2492 #define UCSR0C_struct _SFR_MEM8_STRUCT(0xc2, struct __reg_UCSR0C)
2493 
2494 #endif /* __ASSEMBLER__ */
2495 
2496  /* UCSR0C */
2497 
2498 #define UCPOL0 0
2499 #define UCPHA0 1
2500 #define UCPHA0 1
2501 #define UCSZ00 1
2502 #define UDORD0 2
2503 #define UDORD0 2
2504 #define UCSZ01 2
2505 #define USBS0 3
2506 #define UPM00 4
2507 #define UPM01 5
2508 #define UMSEL00 6
2509 #define UMSEL0 6
2510 #define UMSEL01 7
2511 #define UMSEL1 7
2512 
2513 /* USART0 Baud Rate Register Bytes */
2514 #define UBRR0 _SFR_MEM16(0xC4)
2515 #define UBRR0L _SFR_MEM8(0xC4)
2516 #define UBRR0H _SFR_MEM8(0xC5)
2517 
2518 /* USART0 I/O Data Register */
2519 #define UDR0 _SFR_MEM8(0xC6)
2520 
2521  /* UDR0 */
2522 
2523 #define UDR00 0
2524 #define UDR01 1
2525 #define UDR02 2
2526 #define UDR03 3
2527 #define UDR04 4
2528 #define UDR05 5
2529 #define UDR06 6
2530 #define UDR07 7
2531 
2532 /* USART1 Control and Status Register A */
2533 #define UCSR1A _SFR_MEM8(0xC8)
2534 
2535 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2536 
2537 struct __reg_UCSR1A {
2538  unsigned int mpcm1 : 1; /* Multi-processor Communication Mode */
2539  unsigned int u2x1 : 1; /* Double the USART Transmission Speed */
2540  unsigned int upe1 : 1; /* USART Parity Error */
2541  unsigned int dor1 : 1; /* Data OverRun */
2542  unsigned int fe1 : 1; /* Frame Error */
2543  unsigned int udre1 : 1; /* USART Data Register Empty */
2544  unsigned int txc1 : 1; /* USART Transmit Complete */
2545  unsigned int rxc1 : 1; /* USART Receive Complete */
2546 };
2547 
2548 #define UCSR1A_struct _SFR_MEM8_STRUCT(0xc8, struct __reg_UCSR1A)
2549 
2550 #endif /* __ASSEMBLER__ */
2551 
2552  /* UCSR1A */
2553 
2554 #define MPCM1 0
2555 #define U2X1 1
2556 #define UPE1 2
2557 #define DOR1 3
2558 #define FE1 4
2559 #define UDRE1 5
2560 #define TXC1 6
2561 #define RXC1 7
2562 
2563 /* USART1 Control and Status Register B */
2564 #define UCSR1B _SFR_MEM8(0xC9)
2565 
2566 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2567 
2568 struct __reg_UCSR1B {
2569  unsigned int txb81 : 1; /* Transmit Data Bit 8 */
2570  unsigned int rxb81 : 1; /* Receive Data Bit 8 */
2571  unsigned int ucsz12 : 1; /* Character Size */
2572  unsigned int txen1 : 1; /* Transmitter Enable */
2573  unsigned int rxen1 : 1; /* Receiver Enable */
2574  unsigned int udrie1 : 1; /* USART Data Register Empty Interrupt Enable */
2575  unsigned int txcie1 : 1; /* TX Complete Interrupt Enable */
2576  unsigned int rxcie1 : 1; /* RX Complete Interrupt Enable */
2577 };
2578 
2579 #define UCSR1B_struct _SFR_MEM8_STRUCT(0xc9, struct __reg_UCSR1B)
2580 
2581 #endif /* __ASSEMBLER__ */
2582 
2583  /* UCSR1B */
2584 
2585 #define TXB81 0
2586 #define RXB81 1
2587 #define UCSZ12 2
2588 #define TXEN1 3
2589 #define RXEN1 4
2590 #define UDRIE1 5
2591 #define TXCIE1 6
2592 #define RXCIE1 7
2593 
2594 /* USART1 Control and Status Register C */
2595 #define UCSR1C _SFR_MEM8(0xCA)
2596 
2597 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2598 
2599 struct __reg_UCSR1C {
2600  unsigned int ucpol1 : 1; /* Clock Polarity */
2601  unsigned int ucsz1 : 2; /* Character Size */
2602  unsigned int ucpha1 : 1; /* Clock Phase */
2603  unsigned int udord1 : 1; /* Data Order */
2604  unsigned int usbs1 : 1; /* Stop Bit Select */
2605  unsigned int upm1 : 2; /* Parity Mode */
2606  unsigned int umsel1 : 2; /* USART Mode Select */
2607 };
2608 
2609 #define UCSR1C_struct _SFR_MEM8_STRUCT(0xca, struct __reg_UCSR1C)
2610 
2611 #endif /* __ASSEMBLER__ */
2612 
2613  /* UCSR1C */
2614 
2615 #define UCPOL1 0
2616 #define UCPHA1 1
2617 #define UCPHA1 1
2618 #define UCSZ10 1
2619 #define UDORD1 2
2620 #define UDORD1 2
2621 #define UCSZ11 2
2622 #define USBS1 3
2623 #define UPM10 4
2624 #define UPM11 5
2625 #define UMSEL10 6
2626 #define UMSEL11 7
2627 
2628 /* USART1 Baud Rate Register Bytes */
2629 #define UBRR1 _SFR_MEM16(0xCC)
2630 #define UBRR1L _SFR_MEM8(0xCC)
2631 #define UBRR1H _SFR_MEM8(0xCD)
2632 
2633 /* USART1 I/O Data Register */
2634 #define UDR1 _SFR_MEM8(0xCE)
2635 
2636  /* UDR1 */
2637 
2638 #define UDR10 0
2639 #define UDR11 1
2640 #define UDR12 2
2641 #define UDR13 3
2642 #define UDR14 4
2643 #define UDR15 5
2644 #define UDR16 6
2645 #define UDR17 7
2646 
2647 /* Symbol Counter Control Register 0 */
2648 #define SCCR0 _SFR_MEM8(0xDC)
2649 
2650 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2651 
2652 struct __reg_SCCR0 {
2653  unsigned int sccmp : 3; /* Symbol Counter Compare Unit 3 Mode select */
2654  unsigned int sctse : 1; /* Symbol Counter Automatic Timestamping enable */
2655  unsigned int sccksel : 1; /* Symbol Counter Clock Source select */
2656  unsigned int scen : 1; /* Symbol Counter enable */
2657  unsigned int scmbts : 1; /* Manual Beacon Timestamp */
2658  unsigned int scres : 1; /* Symbol Counter Synchronization */
2659 };
2660 
2661 #define SCCR0_struct _SFR_MEM8_STRUCT(0xdc, struct __reg_SCCR0)
2662 
2663 #endif /* __ASSEMBLER__ */
2664 
2665  /* SCCR0 */
2666 
2667 #define SCCMP1 0
2668 #define SCCMP2 1
2669 #define SCCMP3 2
2670 #define SCTSE 3
2671 #define SCCKSEL 4
2672 #define SCEN 5
2673 #define SCMBTS 6
2674 #define SCRES 7
2675 
2676 /* Symbol Counter Control Register 1 */
2677 #define SCCR1 _SFR_MEM8(0xDD)
2678 
2679 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2680 
2681 struct __reg_SCCR1 {
2682  unsigned int scenbo : 1; /* Backoff Slot Counter enable */
2683  unsigned int : 7;
2684 };
2685 
2686 #define SCCR1_struct _SFR_MEM8_STRUCT(0xdd, struct __reg_SCCR1)
2687 
2688 #endif /* __ASSEMBLER__ */
2689 
2690  /* SCCR1 */
2691 
2692 #define SCENBO 0
2693 
2694 /* Symbol Counter Status Register */
2695 #define SCSR _SFR_MEM8(0xDE)
2696 
2697 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2698 
2699 struct __reg_SCSR {
2700  unsigned int scbsy : 1; /* Symbol Counter busy */
2701  unsigned int : 7;
2702 };
2703 
2704 #define SCSR_struct _SFR_MEM8_STRUCT(0xde, struct __reg_SCSR)
2705 
2706 #endif /* __ASSEMBLER__ */
2707 
2708  /* SCSR */
2709 
2710 #define SCBSY 0
2711 
2712 /* Symbol Counter Interrupt Mask Register */
2713 #define SCIRQM _SFR_MEM8(0xDF)
2714 
2715 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2716 
2717 struct __reg_SCIRQM {
2718  unsigned int irqmcp : 3; /* Symbol Counter Compare Match 3 IRQ enable */
2719  unsigned int irqmof : 1; /* Symbol Counter Overflow IRQ enable */
2720  unsigned int irqmbo : 1; /* Backoff Slot Counter IRQ enable */
2721  unsigned int : 3;
2722 };
2723 
2724 #define SCIRQM_struct _SFR_MEM8_STRUCT(0xdf, struct __reg_SCIRQM)
2725 
2726 #endif /* __ASSEMBLER__ */
2727 
2728  /* SCIRQM */
2729 
2730 #define IRQMCP1 0
2731 #define IRQMCP2 1
2732 #define IRQMCP3 2
2733 #define IRQMOF 3
2734 #define IRQMBO 4
2735 
2736 /* Symbol Counter Interrupt Status Register */
2737 #define SCIRQS _SFR_MEM8(0xE0)
2738 
2739 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2740 
2741 struct __reg_SCIRQS {
2742  unsigned int irqscp : 3; /* Compare Unit 3 Compare Match IRQ */
2743  unsigned int irqsof : 1; /* Symbol Counter Overflow IRQ */
2744  unsigned int irqsbo : 1; /* Backoff Slot Counter IRQ */
2745  unsigned int : 3;
2746 };
2747 
2748 #define SCIRQS_struct _SFR_MEM8_STRUCT(0xe0, struct __reg_SCIRQS)
2749 
2750 #endif /* __ASSEMBLER__ */
2751 
2752  /* SCIRQS */
2753 
2754 #define IRQSCP1 0
2755 #define IRQSCP2 1
2756 #define IRQSCP3 2
2757 #define IRQSOF 3
2758 #define IRQSBO 4
2759 
2760 /* Symbol Counter Register LL-Byte */
2761 #define SCCNTLL _SFR_MEM8(0xE1)
2762 
2763 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2764 
2765 struct __reg_SCCNTLL {
2766  unsigned int sccntll : 8; /* Symbol Counter Register LL-Byte */
2767 };
2768 
2769 #define SCCNTLL_struct _SFR_MEM8_STRUCT(0xe1, struct __reg_SCCNTLL)
2770 
2771 #endif /* __ASSEMBLER__ */
2772 
2773  /* SCCNTLL */
2774 
2775 #define SCCNTLL0 0
2776 #define SCCNTLL1 1
2777 #define SCCNTLL2 2
2778 #define SCCNTLL3 3
2779 #define SCCNTLL4 4
2780 #define SCCNTLL5 5
2781 #define SCCNTLL6 6
2782 #define SCCNTLL7 7
2783 
2784 /* Symbol Counter Register LH-Byte */
2785 #define SCCNTLH _SFR_MEM8(0xE2)
2786 
2787 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2788 
2789 struct __reg_SCCNTLH {
2790  unsigned int sccntlh : 8; /* Symbol Counter Register LH-Byte */
2791 };
2792 
2793 #define SCCNTLH_struct _SFR_MEM8_STRUCT(0xe2, struct __reg_SCCNTLH)
2794 
2795 #endif /* __ASSEMBLER__ */
2796 
2797  /* SCCNTLH */
2798 
2799 #define SCCNTLH0 0
2800 #define SCCNTLH1 1
2801 #define SCCNTLH2 2
2802 #define SCCNTLH3 3
2803 #define SCCNTLH4 4
2804 #define SCCNTLH5 5
2805 #define SCCNTLH6 6
2806 #define SCCNTLH7 7
2807 
2808 /* Symbol Counter Register HL-Byte */
2809 #define SCCNTHL _SFR_MEM8(0xE3)
2810 
2811 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2812 
2813 struct __reg_SCCNTHL {
2814  unsigned int sccnthl : 8; /* Symbol Counter Register HL-Byte */
2815 };
2816 
2817 #define SCCNTHL_struct _SFR_MEM8_STRUCT(0xe3, struct __reg_SCCNTHL)
2818 
2819 #endif /* __ASSEMBLER__ */
2820 
2821  /* SCCNTHL */
2822 
2823 #define SCCNTHL0 0
2824 #define SCCNTHL1 1
2825 #define SCCNTHL2 2
2826 #define SCCNTHL3 3
2827 #define SCCNTHL4 4
2828 #define SCCNTHL5 5
2829 #define SCCNTHL6 6
2830 #define SCCNTHL7 7
2831 
2832 /* Symbol Counter Register HH-Byte */
2833 #define SCCNTHH _SFR_MEM8(0xE4)
2834 
2835 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2836 
2837 struct __reg_SCCNTHH {
2838  unsigned int sccnthh : 8; /* Symbol Counter Register HH-Byte */
2839 };
2840 
2841 #define SCCNTHH_struct _SFR_MEM8_STRUCT(0xe4, struct __reg_SCCNTHH)
2842 
2843 #endif /* __ASSEMBLER__ */
2844 
2845  /* SCCNTHH */
2846 
2847 #define SCCNTHH0 0
2848 #define SCCNTHH1 1
2849 #define SCCNTHH2 2
2850 #define SCCNTHH3 3
2851 #define SCCNTHH4 4
2852 #define SCCNTHH5 5
2853 #define SCCNTHH6 6
2854 #define SCCNTHH7 7
2855 
2856 /* Symbol Counter Beacon Timestamp Register LL-Byte */
2857 #define SCBTSRLL _SFR_MEM8(0xE5)
2858 
2859 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2860 
2861 struct __reg_SCBTSRLL {
2862  unsigned int scbtsrll : 8; /* Symbol Counter Beacon Timestamp Register LL-Byte */
2863 };
2864 
2865 #define SCBTSRLL_struct _SFR_MEM8_STRUCT(0xe5, struct __reg_SCBTSRLL)
2866 
2867 #endif /* __ASSEMBLER__ */
2868 
2869  /* SCBTSRLL */
2870 
2871 #define SCBTSRLL0 0
2872 #define SCBTSRLL1 1
2873 #define SCBTSRLL2 2
2874 #define SCBTSRLL3 3
2875 #define SCBTSRLL4 4
2876 #define SCBTSRLL5 5
2877 #define SCBTSRLL6 6
2878 #define SCBTSRLL7 7
2879 
2880 /* Symbol Counter Beacon Timestamp Register LH-Byte */
2881 #define SCBTSRLH _SFR_MEM8(0xE6)
2882 
2883 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2884 
2885 struct __reg_SCBTSRLH {
2886  unsigned int scbtsrlh : 8; /* Symbol Counter Beacon Timestamp Register LH-Byte */
2887 };
2888 
2889 #define SCBTSRLH_struct _SFR_MEM8_STRUCT(0xe6, struct __reg_SCBTSRLH)
2890 
2891 #endif /* __ASSEMBLER__ */
2892 
2893  /* SCBTSRLH */
2894 
2895 #define SCBTSRLH0 0
2896 #define SCBTSRLH1 1
2897 #define SCBTSRLH2 2
2898 #define SCBTSRLH3 3
2899 #define SCBTSRLH4 4
2900 #define SCBTSRLH5 5
2901 #define SCBTSRLH6 6
2902 #define SCBTSRLH7 7
2903 
2904 /* Symbol Counter Beacon Timestamp Register HL-Byte */
2905 #define SCBTSRHL _SFR_MEM8(0xE7)
2906 
2907 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2908 
2909 struct __reg_SCBTSRHL {
2910  unsigned int scbtsrhl : 8; /* Symbol Counter Beacon Timestamp Register HL-Byte */
2911 };
2912 
2913 #define SCBTSRHL_struct _SFR_MEM8_STRUCT(0xe7, struct __reg_SCBTSRHL)
2914 
2915 #endif /* __ASSEMBLER__ */
2916 
2917  /* SCBTSRHL */
2918 
2919 #define SCBTSRHL0 0
2920 #define SCBTSRHL1 1
2921 #define SCBTSRHL2 2
2922 #define SCBTSRHL3 3
2923 #define SCBTSRHL4 4
2924 #define SCBTSRHL5 5
2925 #define SCBTSRHL6 6
2926 #define SCBTSRHL7 7
2927 
2928 /* Symbol Counter Beacon Timestamp Register HH-Byte */
2929 #define SCBTSRHH _SFR_MEM8(0xE8)
2930 
2931 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2932 
2933 struct __reg_SCBTSRHH {
2934  unsigned int scbtsrhh : 8; /* Symbol Counter Beacon Timestamp Register HH-Byte */
2935 };
2936 
2937 #define SCBTSRHH_struct _SFR_MEM8_STRUCT(0xe8, struct __reg_SCBTSRHH)
2938 
2939 #endif /* __ASSEMBLER__ */
2940 
2941  /* SCBTSRHH */
2942 
2943 #define SCBTSRHH0 0
2944 #define SCBTSRHH1 1
2945 #define SCBTSRHH2 2
2946 #define SCBTSRHH3 3
2947 #define SCBTSRHH4 4
2948 #define SCBTSRHH5 5
2949 #define SCBTSRHH6 6
2950 #define SCBTSRHH7 7
2951 
2952 /* Symbol Counter Frame Timestamp Register LL-Byte */
2953 #define SCTSRLL _SFR_MEM8(0xE9)
2954 
2955 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2956 
2957 struct __reg_SCTSRLL {
2958  unsigned int sctsrll : 8; /* Symbol Counter Frame Timestamp Register LL-Byte */
2959 };
2960 
2961 #define SCTSRLL_struct _SFR_MEM8_STRUCT(0xe9, struct __reg_SCTSRLL)
2962 
2963 #endif /* __ASSEMBLER__ */
2964 
2965  /* SCTSRLL */
2966 
2967 #define SCTSRLL0 0
2968 #define SCTSRLL1 1
2969 #define SCTSRLL2 2
2970 #define SCTSRLL3 3
2971 #define SCTSRLL4 4
2972 #define SCTSRLL5 5
2973 #define SCTSRLL6 6
2974 #define SCTSRLL7 7
2975 
2976 /* Symbol Counter Frame Timestamp Register LH-Byte */
2977 #define SCTSRLH _SFR_MEM8(0xEA)
2978 
2979 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
2980 
2981 struct __reg_SCTSRLH {
2982  unsigned int sctsrlh : 8; /* Symbol Counter Frame Timestamp Register LH-Byte */
2983 };
2984 
2985 #define SCTSRLH_struct _SFR_MEM8_STRUCT(0xea, struct __reg_SCTSRLH)
2986 
2987 #endif /* __ASSEMBLER__ */
2988 
2989  /* SCTSRLH */
2990 
2991 #define SCTSRLH0 0
2992 #define SCTSRLH1 1
2993 #define SCTSRLH2 2
2994 #define SCTSRLH3 3
2995 #define SCTSRLH4 4
2996 #define SCTSRLH5 5
2997 #define SCTSRLH6 6
2998 #define SCTSRLH7 7
2999 
3000 /* Symbol Counter Frame Timestamp Register HL-Byte */
3001 #define SCTSRHL _SFR_MEM8(0xEB)
3002 
3003 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3004 
3005 struct __reg_SCTSRHL {
3006  unsigned int sctsrhl : 8; /* Symbol Counter Frame Timestamp Register HL-Byte */
3007 };
3008 
3009 #define SCTSRHL_struct _SFR_MEM8_STRUCT(0xeb, struct __reg_SCTSRHL)
3010 
3011 #endif /* __ASSEMBLER__ */
3012 
3013  /* SCTSRHL */
3014 
3015 #define SCTSRHL0 0
3016 #define SCTSRHL1 1
3017 #define SCTSRHL2 2
3018 #define SCTSRHL3 3
3019 #define SCTSRHL4 4
3020 #define SCTSRHL5 5
3021 #define SCTSRHL6 6
3022 #define SCTSRHL7 7
3023 
3024 /* Symbol Counter Frame Timestamp Register HH-Byte */
3025 #define SCTSRHH _SFR_MEM8(0xEC)
3026 
3027 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3028 
3029 struct __reg_SCTSRHH {
3030  unsigned int sctsrhh : 8; /* Symbol Counter Frame Timestamp Register HH-Byte */
3031 };
3032 
3033 #define SCTSRHH_struct _SFR_MEM8_STRUCT(0xec, struct __reg_SCTSRHH)
3034 
3035 #endif /* __ASSEMBLER__ */
3036 
3037  /* SCTSRHH */
3038 
3039 #define SCTSRHH0 0
3040 #define SCTSRHH1 1
3041 #define SCTSRHH2 2
3042 #define SCTSRHH3 3
3043 #define SCTSRHH4 4
3044 #define SCTSRHH5 5
3045 #define SCTSRHH6 6
3046 #define SCTSRHH7 7
3047 
3048 /* Symbol Counter Output Compare Register 3 LL-Byte */
3049 #define SCOCR3LL _SFR_MEM8(0xED)
3050 
3051 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3052 
3053 struct __reg_SCOCR3LL {
3054  unsigned int scocr3ll : 8; /* Symbol Counter Output Compare Register 3 LL-Byte */
3055 };
3056 
3057 #define SCOCR3LL_struct _SFR_MEM8_STRUCT(0xed, struct __reg_SCOCR3LL)
3058 
3059 #endif /* __ASSEMBLER__ */
3060 
3061  /* SCOCR3LL */
3062 
3063 #define SCOCR3LL0 0
3064 #define SCOCR3LL1 1
3065 #define SCOCR3LL2 2
3066 #define SCOCR3LL3 3
3067 #define SCOCR3LL4 4
3068 #define SCOCR3LL5 5
3069 #define SCOCR3LL6 6
3070 #define SCOCR3LL7 7
3071 
3072 /* Symbol Counter Output Compare Register 3 LH-Byte */
3073 #define SCOCR3LH _SFR_MEM8(0xEE)
3074 
3075 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3076 
3077 struct __reg_SCOCR3LH {
3078  unsigned int scocr3lh : 8; /* Symbol Counter Output Compare Register 3 LH-Byte */
3079 };
3080 
3081 #define SCOCR3LH_struct _SFR_MEM8_STRUCT(0xee, struct __reg_SCOCR3LH)
3082 
3083 #endif /* __ASSEMBLER__ */
3084 
3085  /* SCOCR3LH */
3086 
3087 #define SCOCR3LH0 0
3088 #define SCOCR3LH1 1
3089 #define SCOCR3LH2 2
3090 #define SCOCR3LH3 3
3091 #define SCOCR3LH4 4
3092 #define SCOCR3LH5 5
3093 #define SCOCR3LH6 6
3094 #define SCOCR3LH7 7
3095 
3096 /* Symbol Counter Output Compare Register 3 HL-Byte */
3097 #define SCOCR3HL _SFR_MEM8(0xEF)
3098 
3099 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3100 
3101 struct __reg_SCOCR3HL {
3102  unsigned int scocr3hl : 8; /* Symbol Counter Output Compare Register 3 HL-Byte */
3103 };
3104 
3105 #define SCOCR3HL_struct _SFR_MEM8_STRUCT(0xef, struct __reg_SCOCR3HL)
3106 
3107 #endif /* __ASSEMBLER__ */
3108 
3109  /* SCOCR3HL */
3110 
3111 #define SCOCR3HL0 0
3112 #define SCOCR3HL1 1
3113 #define SCOCR3HL2 2
3114 #define SCOCR3HL3 3
3115 #define SCOCR3HL4 4
3116 #define SCOCR3HL5 5
3117 #define SCOCR3HL6 6
3118 #define SCOCR3HL7 7
3119 
3120 /* Symbol Counter Output Compare Register 3 HH-Byte */
3121 #define SCOCR3HH _SFR_MEM8(0xF0)
3122 
3123 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3124 
3125 struct __reg_SCOCR3HH {
3126  unsigned int scocr3hh : 8; /* Symbol Counter Output Compare Register 3 HH-Byte */
3127 };
3128 
3129 #define SCOCR3HH_struct _SFR_MEM8_STRUCT(0xf0, struct __reg_SCOCR3HH)
3130 
3131 #endif /* __ASSEMBLER__ */
3132 
3133  /* SCOCR3HH */
3134 
3135 #define SCOCR3HH0 0
3136 #define SCOCR3HH1 1
3137 #define SCOCR3HH2 2
3138 #define SCOCR3HH3 3
3139 #define SCOCR3HH4 4
3140 #define SCOCR3HH5 5
3141 #define SCOCR3HH6 6
3142 #define SCOCR3HH7 7
3143 
3144 /* Symbol Counter Output Compare Register 2 LL-Byte */
3145 #define SCOCR2LL _SFR_MEM8(0xF1)
3146 
3147 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3148 
3149 struct __reg_SCOCR2LL {
3150  unsigned int scocr2ll : 8; /* Symbol Counter Output Compare Register 2 LL-Byte */
3151 };
3152 
3153 #define SCOCR2LL_struct _SFR_MEM8_STRUCT(0xf1, struct __reg_SCOCR2LL)
3154 
3155 #endif /* __ASSEMBLER__ */
3156 
3157  /* SCOCR2LL */
3158 
3159 #define SCOCR2LL0 0
3160 #define SCOCR2LL1 1
3161 #define SCOCR2LL2 2
3162 #define SCOCR2LL3 3
3163 #define SCOCR2LL4 4
3164 #define SCOCR2LL5 5
3165 #define SCOCR2LL6 6
3166 #define SCOCR2LL7 7
3167 
3168 /* Symbol Counter Output Compare Register 2 LH-Byte */
3169 #define SCOCR2LH _SFR_MEM8(0xF2)
3170 
3171 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3172 
3173 struct __reg_SCOCR2LH {
3174  unsigned int scocr2lh : 8; /* Symbol Counter Output Compare Register 2 LH-Byte */
3175 };
3176 
3177 #define SCOCR2LH_struct _SFR_MEM8_STRUCT(0xf2, struct __reg_SCOCR2LH)
3178 
3179 #endif /* __ASSEMBLER__ */
3180 
3181  /* SCOCR2LH */
3182 
3183 #define SCOCR2LH0 0
3184 #define SCOCR2LH1 1
3185 #define SCOCR2LH2 2
3186 #define SCOCR2LH3 3
3187 #define SCOCR2LH4 4
3188 #define SCOCR2LH5 5
3189 #define SCOCR2LH6 6
3190 #define SCOCR2LH7 7
3191 
3192 /* Symbol Counter Output Compare Register 2 HL-Byte */
3193 #define SCOCR2HL _SFR_MEM8(0xF3)
3194 
3195 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3196 
3197 struct __reg_SCOCR2HL {
3198  unsigned int scocr2hl : 8; /* Symbol Counter Output Compare Register 2 HL-Byte */
3199 };
3200 
3201 #define SCOCR2HL_struct _SFR_MEM8_STRUCT(0xf3, struct __reg_SCOCR2HL)
3202 
3203 #endif /* __ASSEMBLER__ */
3204 
3205  /* SCOCR2HL */
3206 
3207 #define SCOCR2HL0 0
3208 #define SCOCR2HL1 1
3209 #define SCOCR2HL2 2
3210 #define SCOCR2HL3 3
3211 #define SCOCR2HL4 4
3212 #define SCOCR2HL5 5
3213 #define SCOCR2HL6 6
3214 #define SCOCR2HL7 7
3215 
3216 /* Symbol Counter Output Compare Register 2 HH-Byte */
3217 #define SCOCR2HH _SFR_MEM8(0xF4)
3218 
3219 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3220 
3221 struct __reg_SCOCR2HH {
3222  unsigned int scocr2hh : 8; /* Symbol Counter Output Compare Register 2 HH-Byte */
3223 };
3224 
3225 #define SCOCR2HH_struct _SFR_MEM8_STRUCT(0xf4, struct __reg_SCOCR2HH)
3226 
3227 #endif /* __ASSEMBLER__ */
3228 
3229  /* SCOCR2HH */
3230 
3231 #define SCOCR2HH0 0
3232 #define SCOCR2HH1 1
3233 #define SCOCR2HH2 2
3234 #define SCOCR2HH3 3
3235 #define SCOCR2HH4 4
3236 #define SCOCR2HH5 5
3237 #define SCOCR2HH6 6
3238 #define SCOCR2HH7 7
3239 
3240 /* Symbol Counter Output Compare Register 1 LL-Byte */
3241 #define SCOCR1LL _SFR_MEM8(0xF5)
3242 
3243 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3244 
3245 struct __reg_SCOCR1LL {
3246  unsigned int scocr1ll : 8; /* Symbol Counter Output Compare Register 1 LL-Byte */
3247 };
3248 
3249 #define SCOCR1LL_struct _SFR_MEM8_STRUCT(0xf5, struct __reg_SCOCR1LL)
3250 
3251 #endif /* __ASSEMBLER__ */
3252 
3253  /* SCOCR1LL */
3254 
3255 #define SCOCR1LL0 0
3256 #define SCOCR1LL1 1
3257 #define SCOCR1LL2 2
3258 #define SCOCR1LL3 3
3259 #define SCOCR1LL4 4
3260 #define SCOCR1LL5 5
3261 #define SCOCR1LL6 6
3262 #define SCOCR1LL7 7
3263 
3264 /* Symbol Counter Output Compare Register 1 LH-Byte */
3265 #define SCOCR1LH _SFR_MEM8(0xF6)
3266 
3267 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3268 
3269 struct __reg_SCOCR1LH {
3270  unsigned int scocr1lh : 8; /* Symbol Counter Output Compare Register 1 LH-Byte */
3271 };
3272 
3273 #define SCOCR1LH_struct _SFR_MEM8_STRUCT(0xf6, struct __reg_SCOCR1LH)
3274 
3275 #endif /* __ASSEMBLER__ */
3276 
3277  /* SCOCR1LH */
3278 
3279 #define SCOCR1LH0 0
3280 #define SCOCR1LH1 1
3281 #define SCOCR1LH2 2
3282 #define SCOCR1LH3 3
3283 #define SCOCR1LH4 4
3284 #define SCOCR1LH5 5
3285 #define SCOCR1LH6 6
3286 #define SCOCR1LH7 7
3287 
3288 /* Symbol Counter Output Compare Register 1 HL-Byte */
3289 #define SCOCR1HL _SFR_MEM8(0xF7)
3290 
3291 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3292 
3293 struct __reg_SCOCR1HL {
3294  unsigned int scocr1hl : 8; /* Symbol Counter Output Compare Register 1 HL-Byte */
3295 };
3296 
3297 #define SCOCR1HL_struct _SFR_MEM8_STRUCT(0xf7, struct __reg_SCOCR1HL)
3298 
3299 #endif /* __ASSEMBLER__ */
3300 
3301  /* SCOCR1HL */
3302 
3303 #define SCOCR1HL0 0
3304 #define SCOCR1HL1 1
3305 #define SCOCR1HL2 2
3306 #define SCOCR1HL3 3
3307 #define SCOCR1HL4 4
3308 #define SCOCR1HL5 5
3309 #define SCOCR1HL6 6
3310 #define SCOCR1HL7 7
3311 
3312 /* Symbol Counter Output Compare Register 1 HH-Byte */
3313 #define SCOCR1HH _SFR_MEM8(0xF8)
3314 
3315 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3316 
3317 struct __reg_SCOCR1HH {
3318  unsigned int scocr1hh : 8; /* Symbol Counter Output Compare Register 1 HH-Byte */
3319 };
3320 
3321 #define SCOCR1HH_struct _SFR_MEM8_STRUCT(0xf8, struct __reg_SCOCR1HH)
3322 
3323 #endif /* __ASSEMBLER__ */
3324 
3325  /* SCOCR1HH */
3326 
3327 #define SCOCR1HH0 0
3328 #define SCOCR1HH1 1
3329 #define SCOCR1HH2 2
3330 #define SCOCR1HH3 3
3331 #define SCOCR1HH4 4
3332 #define SCOCR1HH5 5
3333 #define SCOCR1HH6 6
3334 #define SCOCR1HH7 7
3335 
3336 /* Timer/Counter5 Control Register A */
3337 #define TCCR5A _SFR_MEM8(0x120)
3338 
3339 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3340 
3341 struct __reg_TCCR5A {
3342  unsigned int wgm5 : 2; /* Waveform Generation Mode */
3343  unsigned int com5c : 2; /* Compare Output Mode for Channel C */
3344  unsigned int com5b : 2; /* Compare Output Mode for Channel B */
3345  unsigned int com5a : 2; /* Compare Output Mode for Channel A */
3346 };
3347 
3348 #define TCCR5A_struct _SFR_MEM8_STRUCT(0x120, struct __reg_TCCR5A)
3349 
3350 #endif /* __ASSEMBLER__ */
3351 
3352  /* TCCR5A */
3353 
3354 #define WGM50 0
3355 #define WGM51 1
3356 #define COM5C0 2
3357 #define COM5C1 3
3358 #define COM5B0 4
3359 #define COM5B1 5
3360 #define COM5A0 6
3361 #define COM5A1 7
3362 
3363 /* Timer/Counter5 Control Register B */
3364 #define TCCR5B _SFR_MEM8(0x121)
3365 
3366 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3367 
3368 struct __reg_TCCR5B {
3369  unsigned int cs5 : 3; /* Clock Select */
3370  unsigned int wgm5 : 2; /* Waveform Generation Mode */
3371  unsigned int : 1;
3372  unsigned int ices5 : 1; /* Input Capture 5 Edge Select */
3373  unsigned int icnc5 : 1; /* Input Capture 5 Noise Canceller */
3374 };
3375 
3376 #define TCCR5B_struct _SFR_MEM8_STRUCT(0x121, struct __reg_TCCR5B)
3377 
3378 #endif /* __ASSEMBLER__ */
3379 
3380  /* TCCR5B */
3381 
3382 #define CS50 0
3383 #define CS51 1
3384 #define CS52 2
3385 #define WGM52 3
3386 #define WGM53 4
3387 #define ICES5 6
3388 #define ICNC5 7
3389 
3390 /* Timer/Counter5 Control Register C */
3391 #define TCCR5C _SFR_MEM8(0x122)
3392 
3393 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3394 
3395 struct __reg_TCCR5C {
3396  unsigned int : 5;
3397  unsigned int foc5c : 1; /* Force Output Compare for Channel C */
3398  unsigned int foc5b : 1; /* Force Output Compare for Channel B */
3399  unsigned int foc5a : 1; /* Force Output Compare for Channel A */
3400 };
3401 
3402 #define TCCR5C_struct _SFR_MEM8_STRUCT(0x122, struct __reg_TCCR5C)
3403 
3404 #endif /* __ASSEMBLER__ */
3405 
3406  /* TCCR5C */
3407 
3408 #define FOC5C 5
3409 #define FOC5B 6
3410 #define FOC5A 7
3411 
3412 /* Timer/Counter5 Bytes */
3413 #define TCNT5 _SFR_MEM16(0x124)
3414 #define TCNT5L _SFR_MEM8(0x124)
3415 #define TCNT5H _SFR_MEM8(0x125)
3416 
3417 /* Timer/Counter5 Input Capture Register Bytes */
3418 #define ICR5 _SFR_MEM16(0x126)
3419 #define ICR5L _SFR_MEM8(0x126)
3420 #define ICR5H _SFR_MEM8(0x127)
3421 
3422 /* Timer/Counter5 Output Compare Register A Bytes */
3423 #define OCR5A _SFR_MEM16(0x128)
3424 #define OCR5AL _SFR_MEM8(0x128)
3425 #define OCR5AH _SFR_MEM8(0x129)
3426 
3427 /* Timer/Counter5 Output Compare Register B Bytes */
3428 #define OCR5B _SFR_MEM16(0x12A)
3429 #define OCR5BL _SFR_MEM8(0x12A)
3430 #define OCR5BH _SFR_MEM8(0x12B)
3431 
3432 /* Timer/Counter5 Output Compare Register C Bytes */
3433 #define OCR5C _SFR_MEM16(0x12C)
3434 #define OCR5CL _SFR_MEM8(0x12C)
3435 #define OCR5CH _SFR_MEM8(0x12D)
3436 
3437 /* Low Leakage Voltage Regulator Control Register */
3438 #define LLCR _SFR_MEM8(0x12F)
3439 
3440 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3441 
3442 struct __reg_LLCR {
3443  unsigned int llencal : 1; /* Enable Automatic Calibration */
3444  unsigned int llshort : 1; /* Short Lower Calibration Circuit */
3445  unsigned int lltco : 1; /* Temperature Coefficient of Current Source */
3446  unsigned int llcal : 1; /* Calibration Active */
3447  unsigned int llcomp : 1; /* Comparator Output */
3448  unsigned int lldone : 1; /* Calibration Done */
3449  unsigned int : 2;
3450 };
3451 
3452 #define LLCR_struct _SFR_MEM8_STRUCT(0x12f, struct __reg_LLCR)
3453 
3454 #endif /* __ASSEMBLER__ */
3455 
3456  /* LLCR */
3457 
3458 #define LLENCAL 0
3459 #define LLSHORT 1
3460 #define LLTCO 2
3461 #define LLCAL 3
3462 #define LLCOMP 4
3463 #define LLDONE 5
3464 
3465 /* Low Leakage Voltage Regulator Data Register (Low-Byte) */
3466 #define LLDRL _SFR_MEM8(0x130)
3467 
3468 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3469 
3470 struct __reg_LLDRL {
3471  unsigned int lldrl : 4; /* Low-Byte Data Register Bits */
3472  unsigned int : 4;
3473 };
3474 
3475 #define LLDRL_struct _SFR_MEM8_STRUCT(0x130, struct __reg_LLDRL)
3476 
3477 #endif /* __ASSEMBLER__ */
3478 
3479  /* LLDRL */
3480 
3481 #define LLDRL0 0
3482 #define LLDRL1 1
3483 #define LLDRL2 2
3484 #define LLDRL3 3
3485 
3486 /* Low Leakage Voltage Regulator Data Register (High-Byte) */
3487 #define LLDRH _SFR_MEM8(0x131)
3488 
3489 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3490 
3491 struct __reg_LLDRH {
3492  unsigned int lldrh : 5; /* High-Byte Data Register Bits */
3493  unsigned int : 3;
3494 };
3495 
3496 #define LLDRH_struct _SFR_MEM8_STRUCT(0x131, struct __reg_LLDRH)
3497 
3498 #endif /* __ASSEMBLER__ */
3499 
3500  /* LLDRH */
3501 
3502 #define LLDRH0 0
3503 #define LLDRH1 1
3504 #define LLDRH2 2
3505 #define LLDRH3 3
3506 #define LLDRH4 4
3507 
3508 /* Data Retention Configuration Register of SRAM 3 */
3509 #define DRTRAM3 _SFR_MEM8(0x132)
3510 
3511 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3512 
3513 struct __reg_DRTRAM3 {
3514  unsigned int : 4;
3515  unsigned int endrt : 1; /* Enable SRAM Data Retention */
3516  unsigned int drtswok : 1; /* DRT Switch OK */
3517  unsigned int : 2;
3518 };
3519 
3520 #define DRTRAM3_struct _SFR_MEM8_STRUCT(0x132, struct __reg_DRTRAM3)
3521 
3522 #endif /* __ASSEMBLER__ */
3523 
3524  /* DRTRAM3 */
3525 
3526 #define ENDRT 4
3527 #define DRTSWOK 5
3528 
3529 /* Data Retention Configuration Register of SRAM 2 */
3530 #define DRTRAM2 _SFR_MEM8(0x133)
3531 
3532 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3533 
3534 struct __reg_DRTRAM2 {
3535  unsigned int : 4;
3536  unsigned int endrt : 1; /* Enable SRAM Data Retention */
3537  unsigned int drtswok : 1; /* DRT Switch OK */
3538  unsigned int : 2;
3539 };
3540 
3541 #define DRTRAM2_struct _SFR_MEM8_STRUCT(0x133, struct __reg_DRTRAM2)
3542 
3543 #endif /* __ASSEMBLER__ */
3544 
3545  /* DRTRAM2 */
3546 
3547 #define ENDRT 4
3548 #define DRTSWOK 5
3549 
3550 /* Data Retention Configuration Register of SRAM 1 */
3551 #define DRTRAM1 _SFR_MEM8(0x134)
3552 
3553 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3554 
3555 struct __reg_DRTRAM1 {
3556  unsigned int : 4;
3557  unsigned int endrt : 1; /* Enable SRAM Data Retention */
3558  unsigned int drtswok : 1; /* DRT Switch OK */
3559  unsigned int : 2;
3560 };
3561 
3562 #define DRTRAM1_struct _SFR_MEM8_STRUCT(0x134, struct __reg_DRTRAM1)
3563 
3564 #endif /* __ASSEMBLER__ */
3565 
3566  /* DRTRAM1 */
3567 
3568 #define ENDRT 4
3569 #define DRTSWOK 5
3570 
3571 /* Data Retention Configuration Register of SRAM 0 */
3572 #define DRTRAM0 _SFR_MEM8(0x135)
3573 
3574 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3575 
3576 struct __reg_DRTRAM0 {
3577  unsigned int : 4;
3578  unsigned int endrt : 1; /* Enable SRAM Data Retention */
3579  unsigned int drtswok : 1; /* DRT Switch OK */
3580  unsigned int : 2;
3581 };
3582 
3583 #define DRTRAM0_struct _SFR_MEM8_STRUCT(0x135, struct __reg_DRTRAM0)
3584 
3585 #endif /* __ASSEMBLER__ */
3586 
3587  /* DRTRAM0 */
3588 
3589 #define ENDRT 4
3590 #define DRTSWOK 5
3591 
3592 /* Port Driver Strength Register 0 */
3593 #define DPDS0 _SFR_MEM8(0x136)
3594 
3595 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3596 
3597 struct __reg_DPDS0 {
3598  unsigned int pbdrv : 2; /* Driver Strength Port B */
3599  unsigned int pddrv : 2; /* Driver Strength Port D */
3600  unsigned int pedrv : 2; /* Driver Strength Port E */
3601  unsigned int pfdrv : 2; /* Driver Strength Port F */
3602 };
3603 
3604 #define DPDS0_struct _SFR_MEM8_STRUCT(0x136, struct __reg_DPDS0)
3605 
3606 #endif /* __ASSEMBLER__ */
3607 
3608  /* DPDS0 */
3609 
3610 #define PBDRV0 0
3611 #define PBDRV1 1
3612 #define PDDRV0 2
3613 #define PDDRV1 3
3614 #define PEDRV0 4
3615 #define PEDRV1 5
3616 #define PFDRV0 6
3617 #define PFDRV1 7
3618 
3619 /* Port Driver Strength Register 1 */
3620 #define DPDS1 _SFR_MEM8(0x137)
3621 
3622 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3623 
3624 struct __reg_DPDS1 {
3625  unsigned int pgdrv : 2; /* Driver Strength Port G */
3626  unsigned int : 6;
3627 };
3628 
3629 #define DPDS1_struct _SFR_MEM8_STRUCT(0x137, struct __reg_DPDS1)
3630 
3631 #endif /* __ASSEMBLER__ */
3632 
3633  /* DPDS1 */
3634 
3635 #define PGDRV0 0
3636 #define PGDRV1 1
3637 
3638 /* Transceiver Pin Register */
3639 #define TRXPR _SFR_MEM8(0x139)
3640 
3641 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3642 
3643 struct __reg_TRXPR {
3644  unsigned int trxrst : 1; /* Force Transceiver Reset */
3645  unsigned int slptr : 1; /* Multi-purpose Transceiver Control Bit */
3646  unsigned int : 6;
3647 };
3648 
3649 #define TRXPR_struct _SFR_MEM8_STRUCT(0x139, struct __reg_TRXPR)
3650 
3651 #endif /* __ASSEMBLER__ */
3652 
3653  /* TRXPR */
3654 
3655 #define TRXRST 0
3656 #define SLPTR 1
3657 
3658 /* AES Control Register */
3659 #define AES_CTRL _SFR_MEM8(0x13C)
3660 
3661 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3662 
3663 struct __reg_AES_CTRL {
3664  unsigned int : 2;
3665  unsigned int aes_im : 1; /* AES Interrupt Enable */
3666  unsigned int aes_dir : 1; /* Set AES Operation Direction */
3667  unsigned int : 1;
3668  unsigned int aes_mode : 1; /* Set AES Operation Mode */
3669  unsigned int : 1;
3670  unsigned int aes_request : 1; /* Request AES Operation. */
3671 };
3672 
3673 #define AES_CTRL_struct _SFR_MEM8_STRUCT(0x13c, struct __reg_AES_CTRL)
3674 
3675 /* symbolic names */
3676 
3677 #define AES_DIR_ENC 0
3678 #define AES_DIR_DEC 1
3679 #define AES_MODE_ECB 0
3680 #define AES_MODE_CBC 1
3681 
3682 #endif /* __ASSEMBLER__ */
3683 
3684  /* AES_CTRL */
3685 
3686 #define AES_IM 2
3687 #define AES_DIR 3
3688 #define AES_MODE 5
3689 #define AES_REQUEST 7
3690 
3691 /* AES Status Register */
3692 #define AES_STATUS _SFR_MEM8(0x13D)
3693 
3694 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3695 
3696 struct __reg_AES_STATUS {
3697  unsigned int aes_done : 1; /* AES Operation Finished with Success */
3698  unsigned int : 6;
3699  unsigned int aes_er : 1; /* AES Operation Finished with Error */
3700 };
3701 
3702 #define AES_STATUS_struct _SFR_MEM8_STRUCT(0x13d, struct __reg_AES_STATUS)
3703 
3704 #endif /* __ASSEMBLER__ */
3705 
3706  /* AES_STATUS */
3707 
3708 #define AES_DONE 0
3709 #define AES_ER 7
3710 
3711 /* AES Plain and Cipher Text Buffer Register */
3712 #define AES_STATE _SFR_MEM8(0x13E)
3713 
3714 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3715 
3716 struct __reg_AES_STATE {
3717  unsigned int aes_state : 8; /* AES Plain and Cipher Text Buffer */
3718 };
3719 
3720 #define AES_STATE_struct _SFR_MEM8_STRUCT(0x13e, struct __reg_AES_STATE)
3721 
3722 #endif /* __ASSEMBLER__ */
3723 
3724  /* AES_STATE */
3725 
3726 #define AES_STATE0 0
3727 #define AES_STATE1 1
3728 #define AES_STATE2 2
3729 #define AES_STATE3 3
3730 #define AES_STATE4 4
3731 #define AES_STATE5 5
3732 #define AES_STATE6 6
3733 #define AES_STATE7 7
3734 
3735 /* AES Encryption and Decryption Key Buffer Register */
3736 #define AES_KEY _SFR_MEM8(0x13F)
3737 
3738 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3739 
3740 struct __reg_AES_KEY {
3741  unsigned int aes_key : 8; /* AES Encryption/Decryption Key Buffer */
3742 };
3743 
3744 #define AES_KEY_struct _SFR_MEM8_STRUCT(0x13f, struct __reg_AES_KEY)
3745 
3746 #endif /* __ASSEMBLER__ */
3747 
3748  /* AES_KEY */
3749 
3750 #define AES_KEY0 0
3751 #define AES_KEY1 1
3752 #define AES_KEY2 2
3753 #define AES_KEY3 3
3754 #define AES_KEY4 4
3755 #define AES_KEY5 5
3756 #define AES_KEY6 6
3757 #define AES_KEY7 7
3758 
3759 /* Transceiver Status Register */
3760 #define TRX_STATUS _SFR_MEM8(0x141)
3761 
3762 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3763 
3764 struct __reg_TRX_STATUS {
3765  unsigned int trx_status : 5; /* Transceiver Main Status */
3766  unsigned int tst_status : 1; /* Test mode status */
3767  unsigned int cca_status : 1; /* CCA Status Result */
3768  unsigned int cca_done : 1; /* CCA Algorithm Status */
3769 };
3770 
3771 #define TRX_STATUS_struct _SFR_MEM8_STRUCT(0x141, struct __reg_TRX_STATUS)
3772 
3773 /* symbolic names */
3774 
3775 #define P_ON 0
3776 #define BUSY_RX 1
3777 #define BUSY_TX 2
3778 #define RX_ON 6
3779 #define TRX_OFF 8
3780 #define PLL_ON 9
3781 #define SLEEP 15
3782 #define BUSY_RX_AACK 17
3783 #define BUSY_TX_ARET 18
3784 #define RX_AACK_ON 22
3785 #define TX_ARET_ON 25
3786 #define STATE_TRANSITION_IN_PROGRESS 31
3787 #define TST_DISABLED 0
3788 #define TST_ENABLED 1
3789 #define CCA_BUSY 0
3790 #define CCA_IDLE 1
3791 #define CCA_NOT_FIN 0
3792 #define CCA_FIN 1
3793 
3794 #endif /* __ASSEMBLER__ */
3795 
3796  /* TRX_STATUS */
3797 
3798 #define TRX_STATUS0 0
3799 #define TRX_STATUS1 1
3800 #define TRX_STATUS2 2
3801 #define TRX_STATUS3 3
3802 #define TRX_STATUS4 4
3803 #define TST_STATUS 5
3804 #define CCA_STATUS 6
3805 #define CCA_DONE 7
3806 
3807 /* Transceiver State Control Register */
3808 #define TRX_STATE _SFR_MEM8(0x142)
3809 
3810 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3811 
3812 struct __reg_TRX_STATE {
3813  unsigned int trx_cmd : 5; /* State Control Command */
3814  unsigned int trac_status : 3; /* Transaction Status */
3815 };
3816 
3817 #define TRX_STATE_struct _SFR_MEM8_STRUCT(0x142, struct __reg_TRX_STATE)
3818 
3819 /* symbolic names */
3820 
3821 #define CMD_NOP 0
3822 #define CMD_TX_START 2
3823 #define CMD_FORCE_TRX_OFF 3
3824 #define CMD_FORCE_PLL_ON 4
3825 #define CMD_RX_ON 6
3826 #define CMD_TRX_OFF 8
3827 #define CMD_PLL_ON 9
3828 #define CMD_RX_AACK_ON 22
3829 #define CMD_TX_ARET_ON 25
3830 #define TRAC_SUCCESS 0
3831 #define TRAC_SUCCESS_DATA_PENDING 1
3832 #define TRAC_SUCCESS_WAIT_FOR_ACK 2
3833 #define TRAC_CHANNEL_ACCESS_FAILURE 3
3834 #define TRAC_NO_ACK 5
3835 #define TRAC_INVALID 7
3836 
3837 #endif /* __ASSEMBLER__ */
3838 
3839  /* TRX_STATE */
3840 
3841 #define TRX_CMD0 0
3842 #define TRX_CMD1 1
3843 #define TRX_CMD2 2
3844 #define TRX_CMD3 3
3845 #define TRX_CMD4 4
3846 #define TRAC_STATUS0 5
3847 #define TRAC_STATUS1 6
3848 #define TRAC_STATUS2 7
3849 
3850 /* Reserved */
3851 #define TRX_CTRL_0 _SFR_MEM8(0x143)
3852 
3853 /* Transceiver Control Register 1 */
3854 #define TRX_CTRL_1 _SFR_MEM8(0x144)
3855 
3856 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3857 
3858 struct __reg_TRX_CTRL_1 {
3859  unsigned int : 5;
3860  unsigned int tx_auto_crc_on : 1; /* Enable Automatic CRC Calculation */
3861  unsigned int irq_2_ext_en : 1; /* Connect Frame Start IRQ to TC1 */
3862  unsigned int pa_ext_en : 1; /* External PA support enable */
3863 };
3864 
3865 #define TRX_CTRL_1_struct _SFR_MEM8_STRUCT(0x144, struct __reg_TRX_CTRL_1)
3866 
3867 #endif /* __ASSEMBLER__ */
3868 
3869  /* TRX_CTRL_1 */
3870 
3871 #define TX_AUTO_CRC_ON 5
3872 #define IRQ_2_EXT_EN 6
3873 #define PA_EXT_EN 7
3874 
3875 /* Transceiver Transmit Power Control Register */
3876 #define PHY_TX_PWR _SFR_MEM8(0x145)
3877 
3878 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3879 
3880 struct __reg_PHY_TX_PWR {
3881  unsigned int tx_pwr : 4; /* Transmit Power Setting */
3882  unsigned int pa_lt : 2; /* Power Amplifier Lead Time */
3883  unsigned int pa_buf_lt : 2; /* Power Amplifier Buffer Lead Time */
3884 };
3885 
3886 #define PHY_TX_PWR_struct _SFR_MEM8_STRUCT(0x145, struct __reg_PHY_TX_PWR)
3887 
3888 /* symbolic names */
3889 
3890 #define PA_LT_2US 0
3891 #define PA_LT_4US 1
3892 #define PA_LT_6US 2
3893 #define PA_LT_8US 3
3894 #define PA_BUF_LT_0US 0
3895 #define PA_BUF_LT_2US 1
3896 #define PA_BUF_LT_4US 2
3897 #define PA_BUF_LT_6US 3
3898 
3899 #endif /* __ASSEMBLER__ */
3900 
3901  /* PHY_TX_PWR */
3902 
3903 #define TX_PWR0 0
3904 #define TX_PWR1 1
3905 #define TX_PWR2 2
3906 #define TX_PWR3 3
3907 #define PA_LT0 4
3908 #define PA_LT1 5
3909 #define PA_BUF_LT0 6
3910 #define PA_BUF_LT1 7
3911 
3912 /* Receiver Signal Strength Indicator Register */
3913 #define PHY_RSSI _SFR_MEM8(0x146)
3914 
3915 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3916 
3917 struct __reg_PHY_RSSI {
3918  unsigned int rssi : 5; /* Receiver Signal Strength Indicator */
3919  unsigned int rnd_value : 2; /* Random Value */
3920  unsigned int rx_crc_valid : 1; /* Received Frame CRC Status */
3921 };
3922 
3923 #define PHY_RSSI_struct _SFR_MEM8_STRUCT(0x146, struct __reg_PHY_RSSI)
3924 
3925 /* symbolic names */
3926 
3927 #define RSSI_MIN 0
3928 #define RSSI_MIN_PLUS_3dB 1
3929 #define RSSI_MAX 28
3930 #define CRC_INVALID 0
3931 #define CRC_VALID 1
3932 
3933 #endif /* __ASSEMBLER__ */
3934 
3935  /* PHY_RSSI */
3936 
3937 #define RSSI0 0
3938 #define RSSI1 1
3939 #define RSSI2 2
3940 #define RSSI3 3
3941 #define RSSI4 4
3942 #define RND_VALUE0 5
3943 #define RND_VALUE1 6
3944 #define RX_CRC_VALID 7
3945 
3946 /* Transceiver Energy Detection Level Register */
3947 #define PHY_ED_LEVEL _SFR_MEM8(0x147)
3948 
3949 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3950 
3951 struct __reg_PHY_ED_LEVEL {
3952  unsigned int ed_level : 8; /* Energy Detection Level */
3953 };
3954 
3955 #define PHY_ED_LEVEL_struct _SFR_MEM8_STRUCT(0x147, struct __reg_PHY_ED_LEVEL)
3956 
3957 /* symbolic names */
3958 
3959 #define ED_MIN 0
3960 #define ED_MIN_PLUS_1dB 1
3961 #define ED_MAX 84
3962 #define ED_RESET 255
3963 
3964 #endif /* __ASSEMBLER__ */
3965 
3966  /* PHY_ED_LEVEL */
3967 
3968 #define ED_LEVEL0 0
3969 #define ED_LEVEL1 1
3970 #define ED_LEVEL2 2
3971 #define ED_LEVEL3 3
3972 #define ED_LEVEL4 4
3973 #define ED_LEVEL5 5
3974 #define ED_LEVEL6 6
3975 #define ED_LEVEL7 7
3976 
3977 /* Transceiver Clear Channel Assessment (CCA) Control Register */
3978 #define PHY_CC_CCA _SFR_MEM8(0x148)
3979 
3980 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
3981 
3982 struct __reg_PHY_CC_CCA {
3983  unsigned int channel : 5; /* RX/TX Channel Selection */
3984  unsigned int cca_mode : 2; /* Select CCA Measurement Mode */
3985  unsigned int cca_request : 1; /* Manual CCA Measurement Request */
3986 };
3987 
3988 #define PHY_CC_CCA_struct _SFR_MEM8_STRUCT(0x148, struct __reg_PHY_CC_CCA)
3989 
3990 /* symbolic names */
3991 
3992 #define F_2405MHZ 11
3993 #define F_2410MHZ 12
3994 #define F_2415MHZ 13
3995 #define F_2420MHZ 14
3996 #define F_2425MHZ 15
3997 #define F_2430MHZ 16
3998 #define F_2435MHZ 17
3999 #define F_2440MHZ 18
4000 #define F_2445MHZ 19
4001 #define F_2450MHZ 20
4002 #define F_2455MHZ 21
4003 #define F_2460MHZ 22
4004 #define F_2465MHZ 23
4005 #define F_2470MHZ 24
4006 #define F_2475MHZ 25
4007 #define F_2480MHZ 26
4008 #define CCA_CS_OR_ED 0
4009 #define CCA_ED 1
4010 #define CCA_CS 2
4011 #define CCA_CS_AND_ED 3
4012 
4013 #endif /* __ASSEMBLER__ */
4014 
4015  /* PHY_CC_CCA */
4016 
4017 #define CHANNEL0 0
4018 #define CHANNEL1 1
4019 #define CHANNEL2 2
4020 #define CHANNEL3 3
4021 #define CHANNEL4 4
4022 #define CCA_MODE0 5
4023 #define CCA_MODE1 6
4024 #define CCA_REQUEST 7
4025 
4026 /* Transceiver CCA Threshold Setting Register */
4027 #define CCA_THRES _SFR_MEM8(0x149)
4028 
4029 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4030 
4031 struct __reg_CCA_THRES {
4032  unsigned int cca_ed_thres : 4; /* ED Threshold Level for CCA Measurement */
4033  unsigned int cca_cs_thres : 4; /* CS Threshold Level for CCA Measurement */
4034 };
4035 
4036 #define CCA_THRES_struct _SFR_MEM8_STRUCT(0x149, struct __reg_CCA_THRES)
4037 
4038 #endif /* __ASSEMBLER__ */
4039 
4040  /* CCA_THRES */
4041 
4042 #define CCA_ED_THRES0 0
4043 #define CCA_ED_THRES1 1
4044 #define CCA_ED_THRES2 2
4045 #define CCA_ED_THRES3 3
4046 #define CCA_CS_THRES0 4
4047 #define CCA_CS_THRES1 5
4048 #define CCA_CS_THRES2 6
4049 #define CCA_CS_THRES3 7
4050 
4051 /* Transceiver Receive Control Register */
4052 #define RX_CTRL _SFR_MEM8(0x14A)
4053 
4054 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4055 
4056 struct __reg_RX_CTRL {
4057  unsigned int pdt_thres : 4; /* Receiver Sensitivity Control */
4058  unsigned int : 4;
4059 };
4060 
4061 #define RX_CTRL_struct _SFR_MEM8_STRUCT(0x14a, struct __reg_RX_CTRL)
4062 
4063 /* symbolic names */
4064 
4065 #define PDT_THRES_ANT_DIV_OFF 7
4066 #define PDT_THRES_ANT_DIV_ON 3
4067 
4068 #endif /* __ASSEMBLER__ */
4069 
4070  /* RX_CTRL */
4071 
4072 #define PDT_THRES0 0
4073 #define PDT_THRES1 1
4074 #define PDT_THRES2 2
4075 #define PDT_THRES3 3
4076 
4077 /* Start of Frame Delimiter Value Register */
4078 #define SFD_VALUE _SFR_MEM8(0x14B)
4079 
4080 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4081 
4082 struct __reg_SFD_VALUE {
4083  unsigned int sfd_value : 8; /* Start of Frame Delimiter Value */
4084 };
4085 
4086 #define SFD_VALUE_struct _SFR_MEM8_STRUCT(0x14b, struct __reg_SFD_VALUE)
4087 
4088 /* symbolic names */
4089 
4090 #define IEEE_SFD 167
4091 
4092 #endif /* __ASSEMBLER__ */
4093 
4094  /* SFD_VALUE */
4095 
4096 #define SFD_VALUE0 0
4097 #define SFD_VALUE1 1
4098 #define SFD_VALUE2 2
4099 #define SFD_VALUE3 3
4100 #define SFD_VALUE4 4
4101 #define SFD_VALUE5 5
4102 #define SFD_VALUE6 6
4103 #define SFD_VALUE7 7
4104 
4105 /* Transceiver Control Register 2 */
4106 #define TRX_CTRL_2 _SFR_MEM8(0x14C)
4107 
4108 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4109 
4110 struct __reg_TRX_CTRL_2 {
4111  unsigned int oqpsk_data_rate : 2; /* Data Rate Selection */
4112  unsigned int : 5;
4113  unsigned int rx_safe_mode : 1; /* RX Safe Mode */
4114 };
4115 
4116 #define TRX_CTRL_2_struct _SFR_MEM8_STRUCT(0x14c, struct __reg_TRX_CTRL_2)
4117 
4118 /* symbolic names */
4119 
4120 #define RATE_250KB 0
4121 #define RATE_500KB 1
4122 #define RATE_1000KB 2
4123 #define RATE_2000KB 3
4124 
4125 #endif /* __ASSEMBLER__ */
4126 
4127  /* TRX_CTRL_2 */
4128 
4129 #define OQPSK_DATA_RATE0 0
4130 #define OQPSK_DATA_RATE1 1
4131 #define RX_SAFE_MODE 7
4132 
4133 /* Antenna Diversity Control Register */
4134 #define ANT_DIV _SFR_MEM8(0x14D)
4135 
4136 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4137 
4138 struct __reg_ANT_DIV {
4139  unsigned int ant_ctrl : 2; /* Static Antenna Diversity Switch Control */
4140  unsigned int ant_ext_sw_en : 1; /* Enable External Antenna Switch Control */
4141  unsigned int ant_div_en : 1; /* Enable Antenna Diversity */
4142  unsigned int : 3;
4143  unsigned int ant_sel : 1; /* Antenna Diversity Antenna Status */
4144 };
4145 
4146 #define ANT_DIV_struct _SFR_MEM8_STRUCT(0x14d, struct __reg_ANT_DIV)
4147 
4148 /* symbolic names */
4149 
4150 #define ANT_1 1
4151 #define ANT_0 2
4152 #define ANT_RESET 3
4153 #define ANT_DIV_EXT_SW_DIS 0
4154 #define ANT_DIV_EXT_SW_EN 1
4155 #define ANTENNA_0 0
4156 #define ANTENNA_1 1
4157 
4158 #endif /* __ASSEMBLER__ */
4159 
4160  /* ANT_DIV */
4161 
4162 #define ANT_CTRL0 0
4163 #define ANT_CTRL1 1
4164 #define ANT_EXT_SW_EN 2
4165 #define ANT_DIV_EN 3
4166 #define ANT_SEL 7
4167 
4168 /* Transceiver Interrupt Enable Register */
4169 #define IRQ_MASK _SFR_MEM8(0x14E)
4170 
4171 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4172 
4173 struct __reg_IRQ_MASK {
4174  unsigned int pll_lock_en : 1; /* PLL Lock Interrupt Enable */
4175  unsigned int pll_unlock_en : 1; /* PLL Unlock Interrupt Enable */
4176  unsigned int rx_start_en : 1; /* RX_START Interrupt Enable */
4177  unsigned int rx_end_en : 1; /* RX_END Interrupt Enable */
4178  unsigned int cca_ed_done_en : 1; /* End of ED Measurement Interrupt Enable */
4179  unsigned int ami_en : 1; /* Address Match Interrupt Enable */
4180  unsigned int tx_end_en : 1; /* TX_END Interrupt Enable */
4181  unsigned int awake_en : 1; /* Awake Interrupt Enable */
4182 };
4183 
4184 #define IRQ_MASK_struct _SFR_MEM8_STRUCT(0x14e, struct __reg_IRQ_MASK)
4185 
4186 #endif /* __ASSEMBLER__ */
4187 
4188  /* IRQ_MASK */
4189 
4190 #define PLL_LOCK_EN 0
4191 #define PLL_UNLOCK_EN 1
4192 #define RX_START_EN 2
4193 #define RX_END_EN 3
4194 #define CCA_ED_DONE_EN 4
4195 #define AMI_EN 5
4196 #define TX_END_EN 6
4197 #define AWAKE_EN 7
4198 
4199 /* Transceiver Interrupt Status Register */
4200 #define IRQ_STATUS _SFR_MEM8(0x14F)
4201 
4202 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4203 
4204 struct __reg_IRQ_STATUS {
4205  unsigned int pll_lock : 1; /* PLL Lock Interrupt Status */
4206  unsigned int pll_unlock : 1; /* PLL Unlock Interrupt Status */
4207  unsigned int rx_start : 1; /* RX_START Interrupt Status */
4208  unsigned int rx_end : 1; /* RX_END Interrupt Status */
4209  unsigned int cca_ed_done : 1; /* End of ED Measurement Interrupt Status */
4210  unsigned int ami : 1; /* Address Match Interrupt Status */
4211  unsigned int tx_end : 1; /* TX_END Interrupt Status */
4212  unsigned int awake : 1; /* Awake Interrupt Status */
4213 };
4214 
4215 #define IRQ_STATUS_struct _SFR_MEM8_STRUCT(0x14f, struct __reg_IRQ_STATUS)
4216 
4217 #endif /* __ASSEMBLER__ */
4218 
4219  /* IRQ_STATUS */
4220 
4221 #define PLL_LOCK 0
4222 #define PLL_UNLOCK 1
4223 #define RX_START 2
4224 #define RX_END 3
4225 #define CCA_ED_DONE 4
4226 #define AMI 5
4227 #define TX_END 6
4228 #define AWAKE 7
4229 
4230 /* Voltage Regulator Control and Status Register */
4231 #define VREG_CTRL _SFR_MEM8(0x150)
4232 
4233 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4234 
4235 struct __reg_VREG_CTRL {
4236  unsigned int : 2;
4237  unsigned int dvdd_ok : 1; /* DVDD Supply Voltage Valid */
4238  unsigned int dvreg_ext : 1; /* Use External DVDD Regulator */
4239  unsigned int : 2;
4240  unsigned int avdd_ok : 1; /* AVDD Supply Voltage Valid */
4241  unsigned int avreg_ext : 1; /* Use External AVDD Regulator */
4242 };
4243 
4244 #define VREG_CTRL_struct _SFR_MEM8_STRUCT(0x150, struct __reg_VREG_CTRL)
4245 
4246 /* symbolic names */
4247 
4248 #define DVDD_INT 0
4249 #define DVDD_EXT 1
4250 #define AVDD_INT 0
4251 #define AVDD_EXT 1
4252 
4253 #endif /* __ASSEMBLER__ */
4254 
4255  /* VREG_CTRL */
4256 
4257 #define DVDD_OK 2
4258 #define DVREG_EXT 3
4259 #define AVDD_OK 6
4260 #define AVREG_EXT 7
4261 
4262 /* Battery Monitor Control and Status Register */
4263 #define BATMON _SFR_MEM8(0x151)
4264 
4265 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4266 
4267 struct __reg_BATMON {
4268  unsigned int batmon_vth : 4; /* Battery Monitor Threshold Voltage */
4269  unsigned int batmon_hr : 1; /* Battery Monitor Voltage Range */
4270  unsigned int batmon_ok : 1; /* Battery Monitor Status */
4271  unsigned int bat_low_en : 1; /* Battery Monitor Interrupt Enable */
4272  unsigned int bat_low : 1; /* Battery Monitor Interrupt Status */
4273 };
4274 
4275 #define BATMON_struct _SFR_MEM8_STRUCT(0x151, struct __reg_BATMON)
4276 
4277 /* symbolic names */
4278 
4279 #define BATMON_HR_DIS 0
4280 #define BATMON_HR_EN 1
4281 
4282 #endif /* __ASSEMBLER__ */
4283 
4284  /* BATMON */
4285 
4286 #define BATMON_VTH0 0
4287 #define BATMON_VTH1 1
4288 #define BATMON_VTH2 2
4289 #define BATMON_VTH3 3
4290 #define BATMON_HR 4
4291 #define BATMON_OK 5
4292 #define BAT_LOW_EN 6
4293 #define BAT_LOW 7
4294 
4295 /* Crystal Oscillator Control Register */
4296 #define XOSC_CTRL _SFR_MEM8(0x152)
4297 
4298 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4299 
4300 struct __reg_XOSC_CTRL {
4301  unsigned int xtal_trim : 4; /* Crystal Oscillator Load Capacitance Trimming */
4302  unsigned int xtal_mode : 4; /* Crystal Oscillator Operating Mode */
4303 };
4304 
4305 #define XOSC_CTRL_struct _SFR_MEM8_STRUCT(0x152, struct __reg_XOSC_CTRL)
4306 
4307 /* symbolic names */
4308 
4309 #define XTAL_TRIM_MIN 0
4310 #define XTAL_TRIM_MAX 15
4311 
4312 #endif /* __ASSEMBLER__ */
4313 
4314  /* XOSC_CTRL */
4315 
4316 #define XTAL_TRIM0 0
4317 #define XTAL_TRIM1 1
4318 #define XTAL_TRIM2 2
4319 #define XTAL_TRIM3 3
4320 #define XTAL_MODE0 4
4321 #define XTAL_MODE1 5
4322 #define XTAL_MODE2 6
4323 #define XTAL_MODE3 7
4324 
4325 /* Transceiver Receiver Sensitivity Control Register */
4326 #define RX_SYN _SFR_MEM8(0x155)
4327 
4328 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4329 
4330 struct __reg_RX_SYN {
4331  unsigned int rx_pdt_level : 4; /* Reduce Receiver Sensitivity */
4332  unsigned int : 3;
4333  unsigned int rx_pdt_dis : 1; /* Prevent Frame Reception */
4334 };
4335 
4336 #define RX_SYN_struct _SFR_MEM8_STRUCT(0x155, struct __reg_RX_SYN)
4337 
4338 /* symbolic names */
4339 
4340 #define RX_PDT_LEVEL_MIN 0
4341 #define RX_PDT_LEVEL_MAX 15
4342 
4343 #endif /* __ASSEMBLER__ */
4344 
4345  /* RX_SYN */
4346 
4347 #define RX_PDT_LEVEL0 0
4348 #define RX_PDT_LEVEL1 1
4349 #define RX_PDT_LEVEL2 2
4350 #define RX_PDT_LEVEL3 3
4351 #define RX_PDT_DIS 7
4352 
4353 /* Transceiver Acknowledgment Frame Control Register 1 */
4354 #define XAH_CTRL_1 _SFR_MEM8(0x157)
4355 
4356 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4357 
4358 struct __reg_XAH_CTRL_1 {
4359  unsigned int : 1;
4360  unsigned int aack_prom_mode : 1; /* Enable Promiscuous Mode */
4361  unsigned int aack_ack_time : 1; /* Reduce Acknowledgment Time */
4362  unsigned int : 1;
4363  unsigned int aack_upld_res_ft : 1; /* Process Reserved Frames */
4364  unsigned int aack_fltr_res_ft : 1; /* Filter Reserved Frames */
4365  unsigned int : 2;
4366 };
4367 
4368 #define XAH_CTRL_1_struct _SFR_MEM8_STRUCT(0x157, struct __reg_XAH_CTRL_1)
4369 
4370 /* symbolic names */
4371 
4372 #define AACK_ACK_TIME_12_SYM 0
4373 #define AACK_ACK_TIME_2_SYM 1
4374 
4375 #endif /* __ASSEMBLER__ */
4376 
4377  /* XAH_CTRL_1 */
4378 
4379 #define AACK_PROM_MODE 1
4380 #define AACK_ACK_TIME 2
4381 #define AACK_UPLD_RES_FT 4
4382 #define AACK_FLTR_RES_FT 5
4383 
4384 /* Transceiver Filter Tuning Control Register */
4385 #define FTN_CTRL _SFR_MEM8(0x158)
4386 
4387 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4388 
4389 struct __reg_FTN_CTRL {
4390  unsigned int : 7;
4391  unsigned int ftn_start : 1; /* Start Calibration Loop of Filter Tuning Network */
4392 };
4393 
4394 #define FTN_CTRL_struct _SFR_MEM8_STRUCT(0x158, struct __reg_FTN_CTRL)
4395 
4396 #endif /* __ASSEMBLER__ */
4397 
4398  /* FTN_CTRL */
4399 
4400 #define FTN_START 7
4401 
4402 /* Transceiver Center Frequency Calibration Control Register */
4403 #define PLL_CF _SFR_MEM8(0x15A)
4404 
4405 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4406 
4407 struct __reg_PLL_CF {
4408  unsigned int : 7;
4409  unsigned int pll_cf_start : 1; /* Start Center Frequency Calibration */
4410 };
4411 
4412 #define PLL_CF_struct _SFR_MEM8_STRUCT(0x15a, struct __reg_PLL_CF)
4413 
4414 #endif /* __ASSEMBLER__ */
4415 
4416  /* PLL_CF */
4417 
4418 #define PLL_CF_START 7
4419 
4420 /* Transceiver Delay Cell Calibration Control Register */
4421 #define PLL_DCU _SFR_MEM8(0x15B)
4422 
4423 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4424 
4425 struct __reg_PLL_DCU {
4426  unsigned int : 7;
4427  unsigned int pll_dcu_start : 1; /* Start Delay Cell Calibration */
4428 };
4429 
4430 #define PLL_DCU_struct _SFR_MEM8_STRUCT(0x15b, struct __reg_PLL_DCU)
4431 
4432 #endif /* __ASSEMBLER__ */
4433 
4434  /* PLL_DCU */
4435 
4436 #define PLL_DCU_START 7
4437 
4438 /* Device Identification Register (Part Number) */
4439 #define PART_NUM _SFR_MEM8(0x15C)
4440 
4441 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4442 
4443 struct __reg_PART_NUM {
4444  unsigned int part_num : 8; /* Part Number */
4445 };
4446 
4447 #define PART_NUM_struct _SFR_MEM8_STRUCT(0x15c, struct __reg_PART_NUM)
4448 
4449 /* symbolic names */
4450 
4451 #define P_ATmega128RFA1 131
4452 
4453 #endif /* __ASSEMBLER__ */
4454 
4455  /* PART_NUM */
4456 
4457 #define PART_NUM0 0
4458 #define PART_NUM1 1
4459 #define PART_NUM2 2
4460 #define PART_NUM3 3
4461 #define PART_NUM4 4
4462 #define PART_NUM5 5
4463 #define PART_NUM6 6
4464 #define PART_NUM7 7
4465 
4466 /* Device Identification Register (Version Number) */
4467 #define VERSION_NUM _SFR_MEM8(0x15D)
4468 
4469 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4470 
4471 struct __reg_VERSION_NUM {
4472  unsigned int version_num : 8; /* Version Number */
4473 };
4474 
4475 #define VERSION_NUM_struct _SFR_MEM8_STRUCT(0x15d, struct __reg_VERSION_NUM)
4476 
4477 /* symbolic names */
4478 
4479 #define REV_A 2
4480 #define REV_B 3
4481 
4482 #endif /* __ASSEMBLER__ */
4483 
4484  /* VERSION_NUM */
4485 
4486 #define VERSION_NUM0 0
4487 #define VERSION_NUM1 1
4488 #define VERSION_NUM2 2
4489 #define VERSION_NUM3 3
4490 #define VERSION_NUM4 4
4491 #define VERSION_NUM5 5
4492 #define VERSION_NUM6 6
4493 #define VERSION_NUM7 7
4494 
4495 /* Device Identification Register (Manufacture ID Low Byte) */
4496 #define MAN_ID_0 _SFR_MEM8(0x15E)
4497 
4498 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4499 
4500 struct __reg_MAN_ID_0 {
4501  unsigned int man_id_0 : 8; /* Manufacturer ID (Low Byte) */
4502 };
4503 
4504 #define MAN_ID_0_struct _SFR_MEM8_STRUCT(0x15e, struct __reg_MAN_ID_0)
4505 
4506 /* symbolic names */
4507 
4508 #define ATMEL_BYTE_0 31
4509 
4510 #endif /* __ASSEMBLER__ */
4511 
4512  /* MAN_ID_0 */
4513 
4514 #define MAN_ID_00 0
4515 #define MAN_ID_01 1
4516 #define MAN_ID_02 2
4517 #define MAN_ID_03 3
4518 #define MAN_ID_04 4
4519 #define MAN_ID_05 5
4520 #define MAN_ID_06 6
4521 #define MAN_ID_07 7
4522 
4523 /* Device Identification Register (Manufacture ID High Byte) */
4524 #define MAN_ID_1 _SFR_MEM8(0x15F)
4525 
4526 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4527 
4528 struct __reg_MAN_ID_1 {
4529  unsigned int man_id_1 : 8; /* Manufacturer ID (High Byte) */
4530 };
4531 
4532 #define MAN_ID_1_struct _SFR_MEM8_STRUCT(0x15f, struct __reg_MAN_ID_1)
4533 
4534 /* symbolic names */
4535 
4536 #define ATMEL_BYTE_1 0
4537 
4538 #endif /* __ASSEMBLER__ */
4539 
4540  /* MAN_ID_1 */
4541 
4542 #define MAN_ID_10 0
4543 #define MAN_ID_11 1
4544 #define MAN_ID_12 2
4545 #define MAN_ID_13 3
4546 #define MAN_ID_14 4
4547 #define MAN_ID_15 5
4548 #define MAN_ID_16 6
4549 #define MAN_ID_17 7
4550 
4551 /* Transceiver MAC Short Address Register (Low Byte) */
4552 #define SHORT_ADDR_0 _SFR_MEM8(0x160)
4553 
4554 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4555 
4556 struct __reg_SHORT_ADDR_0 {
4557  unsigned int short_addr_0 : 8; /* MAC Short Address */
4558 };
4559 
4560 #define SHORT_ADDR_0_struct _SFR_MEM8_STRUCT(0x160, struct __reg_SHORT_ADDR_0)
4561 
4562 #endif /* __ASSEMBLER__ */
4563 
4564  /* SHORT_ADDR_0 */
4565 
4566 #define SHORT_ADDR_00 0
4567 #define SHORT_ADDR_01 1
4568 #define SHORT_ADDR_02 2
4569 #define SHORT_ADDR_03 3
4570 #define SHORT_ADDR_04 4
4571 #define SHORT_ADDR_05 5
4572 #define SHORT_ADDR_06 6
4573 #define SHORT_ADDR_07 7
4574 
4575 /* Transceiver MAC Short Address Register (High Byte) */
4576 #define SHORT_ADDR_1 _SFR_MEM8(0x161)
4577 
4578 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4579 
4580 struct __reg_SHORT_ADDR_1 {
4581  unsigned int short_addr_1 : 8; /* MAC Short Address */
4582 };
4583 
4584 #define SHORT_ADDR_1_struct _SFR_MEM8_STRUCT(0x161, struct __reg_SHORT_ADDR_1)
4585 
4586 #endif /* __ASSEMBLER__ */
4587 
4588  /* SHORT_ADDR_1 */
4589 
4590 #define SHORT_ADDR_10 0
4591 #define SHORT_ADDR_11 1
4592 #define SHORT_ADDR_12 2
4593 #define SHORT_ADDR_13 3
4594 #define SHORT_ADDR_14 4
4595 #define SHORT_ADDR_15 5
4596 #define SHORT_ADDR_16 6
4597 #define SHORT_ADDR_17 7
4598 
4599 /* Transceiver Personal Area Network ID Register (Low Byte) */
4600 #define PAN_ID_0 _SFR_MEM8(0x162)
4601 
4602 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4603 
4604 struct __reg_PAN_ID_0 {
4605  unsigned int pan_id_0 : 8; /* MAC Personal Area Network ID */
4606 };
4607 
4608 #define PAN_ID_0_struct _SFR_MEM8_STRUCT(0x162, struct __reg_PAN_ID_0)
4609 
4610 #endif /* __ASSEMBLER__ */
4611 
4612  /* PAN_ID_0 */
4613 
4614 #define PAN_ID_00 0
4615 #define PAN_ID_01 1
4616 #define PAN_ID_02 2
4617 #define PAN_ID_03 3
4618 #define PAN_ID_04 4
4619 #define PAN_ID_05 5
4620 #define PAN_ID_06 6
4621 #define PAN_ID_07 7
4622 
4623 /* Transceiver Personal Area Network ID Register (High Byte) */
4624 #define PAN_ID_1 _SFR_MEM8(0x163)
4625 
4626 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4627 
4628 struct __reg_PAN_ID_1 {
4629  unsigned int pan_id_1 : 8; /* MAC Personal Area Network ID */
4630 };
4631 
4632 #define PAN_ID_1_struct _SFR_MEM8_STRUCT(0x163, struct __reg_PAN_ID_1)
4633 
4634 #endif /* __ASSEMBLER__ */
4635 
4636  /* PAN_ID_1 */
4637 
4638 #define PAN_ID_10 0
4639 #define PAN_ID_11 1
4640 #define PAN_ID_12 2
4641 #define PAN_ID_13 3
4642 #define PAN_ID_14 4
4643 #define PAN_ID_15 5
4644 #define PAN_ID_16 6
4645 #define PAN_ID_17 7
4646 
4647 /* Transceiver MAC IEEE Address Register 0 */
4648 #define IEEE_ADDR_0 _SFR_MEM8(0x164)
4649 
4650 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4651 
4652 struct __reg_IEEE_ADDR_0 {
4653  unsigned int ieee_addr_0 : 8; /* MAC IEEE Address */
4654 };
4655 
4656 #define IEEE_ADDR_0_struct _SFR_MEM8_STRUCT(0x164, struct __reg_IEEE_ADDR_0)
4657 
4658 #endif /* __ASSEMBLER__ */
4659 
4660  /* IEEE_ADDR_0 */
4661 
4662 #define IEEE_ADDR_00 0
4663 #define IEEE_ADDR_01 1
4664 #define IEEE_ADDR_02 2
4665 #define IEEE_ADDR_03 3
4666 #define IEEE_ADDR_04 4
4667 #define IEEE_ADDR_05 5
4668 #define IEEE_ADDR_06 6
4669 #define IEEE_ADDR_07 7
4670 
4671 /* Transceiver MAC IEEE Address Register 1 */
4672 #define IEEE_ADDR_1 _SFR_MEM8(0x165)
4673 
4674 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4675 
4676 struct __reg_IEEE_ADDR_1 {
4677  unsigned int ieee_addr_1 : 8; /* MAC IEEE Address */
4678 };
4679 
4680 #define IEEE_ADDR_1_struct _SFR_MEM8_STRUCT(0x165, struct __reg_IEEE_ADDR_1)
4681 
4682 #endif /* __ASSEMBLER__ */
4683 
4684  /* IEEE_ADDR_1 */
4685 
4686 #define IEEE_ADDR_10 0
4687 #define IEEE_ADDR_11 1
4688 #define IEEE_ADDR_12 2
4689 #define IEEE_ADDR_13 3
4690 #define IEEE_ADDR_14 4
4691 #define IEEE_ADDR_15 5
4692 #define IEEE_ADDR_16 6
4693 #define IEEE_ADDR_17 7
4694 
4695 /* Transceiver MAC IEEE Address Register 2 */
4696 #define IEEE_ADDR_2 _SFR_MEM8(0x166)
4697 
4698 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4699 
4700 struct __reg_IEEE_ADDR_2 {
4701  unsigned int ieee_addr_2 : 8; /* MAC IEEE Address */
4702 };
4703 
4704 #define IEEE_ADDR_2_struct _SFR_MEM8_STRUCT(0x166, struct __reg_IEEE_ADDR_2)
4705 
4706 #endif /* __ASSEMBLER__ */
4707 
4708  /* IEEE_ADDR_2 */
4709 
4710 #define IEEE_ADDR_20 0
4711 #define IEEE_ADDR_21 1
4712 #define IEEE_ADDR_22 2
4713 #define IEEE_ADDR_23 3
4714 #define IEEE_ADDR_24 4
4715 #define IEEE_ADDR_25 5
4716 #define IEEE_ADDR_26 6
4717 #define IEEE_ADDR_27 7
4718 
4719 /* Transceiver MAC IEEE Address Register 3 */
4720 #define IEEE_ADDR_3 _SFR_MEM8(0x167)
4721 
4722 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4723 
4724 struct __reg_IEEE_ADDR_3 {
4725  unsigned int ieee_addr_3 : 8; /* MAC IEEE Address */
4726 };
4727 
4728 #define IEEE_ADDR_3_struct _SFR_MEM8_STRUCT(0x167, struct __reg_IEEE_ADDR_3)
4729 
4730 #endif /* __ASSEMBLER__ */
4731 
4732  /* IEEE_ADDR_3 */
4733 
4734 #define IEEE_ADDR_30 0
4735 #define IEEE_ADDR_31 1
4736 #define IEEE_ADDR_32 2
4737 #define IEEE_ADDR_33 3
4738 #define IEEE_ADDR_34 4
4739 #define IEEE_ADDR_35 5
4740 #define IEEE_ADDR_36 6
4741 #define IEEE_ADDR_37 7
4742 
4743 /* Transceiver MAC IEEE Address Register 4 */
4744 #define IEEE_ADDR_4 _SFR_MEM8(0x168)
4745 
4746 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4747 
4748 struct __reg_IEEE_ADDR_4 {
4749  unsigned int ieee_addr_4 : 8; /* MAC IEEE Address */
4750 };
4751 
4752 #define IEEE_ADDR_4_struct _SFR_MEM8_STRUCT(0x168, struct __reg_IEEE_ADDR_4)
4753 
4754 #endif /* __ASSEMBLER__ */
4755 
4756  /* IEEE_ADDR_4 */
4757 
4758 #define IEEE_ADDR_40 0
4759 #define IEEE_ADDR_41 1
4760 #define IEEE_ADDR_42 2
4761 #define IEEE_ADDR_43 3
4762 #define IEEE_ADDR_44 4
4763 #define IEEE_ADDR_45 5
4764 #define IEEE_ADDR_46 6
4765 #define IEEE_ADDR_47 7
4766 
4767 /* Transceiver MAC IEEE Address Register 5 */
4768 #define IEEE_ADDR_5 _SFR_MEM8(0x169)
4769 
4770 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4771 
4772 struct __reg_IEEE_ADDR_5 {
4773  unsigned int ieee_addr_5 : 8; /* MAC IEEE Address */
4774 };
4775 
4776 #define IEEE_ADDR_5_struct _SFR_MEM8_STRUCT(0x169, struct __reg_IEEE_ADDR_5)
4777 
4778 #endif /* __ASSEMBLER__ */
4779 
4780  /* IEEE_ADDR_5 */
4781 
4782 #define IEEE_ADDR_50 0
4783 #define IEEE_ADDR_51 1
4784 #define IEEE_ADDR_52 2
4785 #define IEEE_ADDR_53 3
4786 #define IEEE_ADDR_54 4
4787 #define IEEE_ADDR_55 5
4788 #define IEEE_ADDR_56 6
4789 #define IEEE_ADDR_57 7
4790 
4791 /* Transceiver MAC IEEE Address Register 6 */
4792 #define IEEE_ADDR_6 _SFR_MEM8(0x16A)
4793 
4794 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4795 
4796 struct __reg_IEEE_ADDR_6 {
4797  unsigned int ieee_addr_6 : 8; /* MAC IEEE Address */
4798 };
4799 
4800 #define IEEE_ADDR_6_struct _SFR_MEM8_STRUCT(0x16a, struct __reg_IEEE_ADDR_6)
4801 
4802 #endif /* __ASSEMBLER__ */
4803 
4804  /* IEEE_ADDR_6 */
4805 
4806 #define IEEE_ADDR_60 0
4807 #define IEEE_ADDR_61 1
4808 #define IEEE_ADDR_62 2
4809 #define IEEE_ADDR_63 3
4810 #define IEEE_ADDR_64 4
4811 #define IEEE_ADDR_65 5
4812 #define IEEE_ADDR_66 6
4813 #define IEEE_ADDR_67 7
4814 
4815 /* Transceiver MAC IEEE Address Register 7 */
4816 #define IEEE_ADDR_7 _SFR_MEM8(0x16B)
4817 
4818 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4819 
4820 struct __reg_IEEE_ADDR_7 {
4821  unsigned int ieee_addr_7 : 8; /* MAC IEEE Address */
4822 };
4823 
4824 #define IEEE_ADDR_7_struct _SFR_MEM8_STRUCT(0x16b, struct __reg_IEEE_ADDR_7)
4825 
4826 #endif /* __ASSEMBLER__ */
4827 
4828  /* IEEE_ADDR_7 */
4829 
4830 #define IEEE_ADDR_70 0
4831 #define IEEE_ADDR_71 1
4832 #define IEEE_ADDR_72 2
4833 #define IEEE_ADDR_73 3
4834 #define IEEE_ADDR_74 4
4835 #define IEEE_ADDR_75 5
4836 #define IEEE_ADDR_76 6
4837 #define IEEE_ADDR_77 7
4838 
4839 /* Transceiver Extended Operating Mode Control Register */
4840 #define XAH_CTRL_0 _SFR_MEM8(0x16C)
4841 
4842 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4843 
4844 struct __reg_XAH_CTRL_0 {
4845  unsigned int slotted_operation : 1; /* Set Slotted Acknowledgment */
4846  unsigned int max_csma_retries : 3; /* Maximum Number of CSMA-CA Procedure Repetition Attempts */
4847  unsigned int max_frame_retries : 4; /* Maximum Number of Frame Re-transmission Attempts */
4848 };
4849 
4850 #define XAH_CTRL_0_struct _SFR_MEM8_STRUCT(0x16c, struct __reg_XAH_CTRL_0)
4851 
4852 /* symbolic names */
4853 
4854 #define SLOTTED_OP_DIS 0
4855 #define SLOTTED_OP_EN 1
4856 
4857 #endif /* __ASSEMBLER__ */
4858 
4859  /* XAH_CTRL_0 */
4860 
4861 #define SLOTTED_OPERATION 0
4862 #define MAX_CSMA_RETRIES0 1
4863 #define MAX_CSMA_RETRIES1 2
4864 #define MAX_CSMA_RETRIES2 3
4865 #define MAX_FRAME_RETRIES0 4
4866 #define MAX_FRAME_RETRIES1 5
4867 #define MAX_FRAME_RETRIES2 6
4868 #define MAX_FRAME_RETRIES3 7
4869 
4870 /* Transceiver CSMA-CA Random Number Generator Seed Register */
4871 #define CSMA_SEED_0 _SFR_MEM8(0x16D)
4872 
4873 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4874 
4875 struct __reg_CSMA_SEED_0 {
4876  unsigned int csma_seed_0 : 8; /* Seed Value for CSMA Random Number Generator */
4877 };
4878 
4879 #define CSMA_SEED_0_struct _SFR_MEM8_STRUCT(0x16d, struct __reg_CSMA_SEED_0)
4880 
4881 #endif /* __ASSEMBLER__ */
4882 
4883  /* CSMA_SEED_0 */
4884 
4885 #define CSMA_SEED_00 0
4886 #define CSMA_SEED_01 1
4887 #define CSMA_SEED_02 2
4888 #define CSMA_SEED_03 3
4889 #define CSMA_SEED_04 4
4890 #define CSMA_SEED_05 5
4891 #define CSMA_SEED_06 6
4892 #define CSMA_SEED_07 7
4893 
4894 /* Transceiver Acknowledgment Frame Control Register 2 */
4895 #define CSMA_SEED_1 _SFR_MEM8(0x16E)
4896 
4897 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4898 
4899 struct __reg_CSMA_SEED_1 {
4900  unsigned int csma_seed_1 : 3; /* Seed Value for CSMA Random Number Generator */
4901  unsigned int aack_i_am_coord : 1; /* Set Personal Area Network Coordinator */
4902  unsigned int aack_dis_ack : 1; /* Disable Acknowledgment Frame Transmission */
4903  unsigned int aack_set_pd : 1; /* Set Frame Pending Sub-field */
4904  unsigned int aack_fvn_mode : 2; /* Acknowledgment Frame Filter Mode */
4905 };
4906 
4907 #define CSMA_SEED_1_struct _SFR_MEM8_STRUCT(0x16e, struct __reg_CSMA_SEED_1)
4908 
4909 #endif /* __ASSEMBLER__ */
4910 
4911  /* CSMA_SEED_1 */
4912 
4913 #define CSMA_SEED_10 0
4914 #define CSMA_SEED_11 1
4915 #define CSMA_SEED_12 2
4916 #define AACK_I_AM_COORD 3
4917 #define AACK_DIS_ACK 4
4918 #define AACK_SET_PD 5
4919 #define AACK_FVN_MODE0 6
4920 #define AACK_FVN_MODE1 7
4921 
4922 /* Transceiver CSMA-CA Back-off Exponent Control Register */
4923 #define CSMA_BE _SFR_MEM8(0x16F)
4924 
4925 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4926 
4927 struct __reg_CSMA_BE {
4928  unsigned int min_be : 4; /* Minimum Back-off Exponent */
4929  unsigned int max_be : 4; /* Maximum Back-off Exponent */
4930 };
4931 
4932 #define CSMA_BE_struct _SFR_MEM8_STRUCT(0x16f, struct __reg_CSMA_BE)
4933 
4934 #endif /* __ASSEMBLER__ */
4935 
4936  /* CSMA_BE */
4937 
4938 #define MIN_BE0 0
4939 #define MIN_BE1 1
4940 #define MIN_BE2 2
4941 #define MIN_BE3 3
4942 #define MAX_BE0 4
4943 #define MAX_BE1 5
4944 #define MAX_BE2 6
4945 #define MAX_BE3 7
4946 
4947 /* Transceiver Digital Test Control Register */
4948 #define TST_CTRL_DIGI _SFR_MEM8(0x176)
4949 
4950 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4951 
4952 struct __reg_TST_CTRL_DIGI {
4953  unsigned int tst_ctrl_dig : 4; /* Digital Test Controller Register */
4954  unsigned int : 4;
4955 };
4956 
4957 #define TST_CTRL_DIGI_struct _SFR_MEM8_STRUCT(0x176, struct __reg_TST_CTRL_DIGI)
4958 
4959 #endif /* __ASSEMBLER__ */
4960 
4961  /* TST_CTRL_DIGI */
4962 
4963 #define TST_CTRL_DIG0 0
4964 #define TST_CTRL_DIG1 1
4965 #define TST_CTRL_DIG2 2
4966 #define TST_CTRL_DIG3 3
4967 
4968 /* Transceiver Received Frame Length Register */
4969 #define TST_RX_LENGTH _SFR_MEM8(0x17B)
4970 
4971 #if !(defined(__ASSEMBLER__) || defined(__NOSTRUCT__))
4972 
4973 struct __reg_TST_RX_LENGTH {
4974  unsigned int rx_length : 8; /* Received Frame Length */
4975 };
4976 
4977 #define TST_RX_LENGTH_struct _SFR_MEM8_STRUCT(0x17b, struct __reg_TST_RX_LENGTH)
4978 
4979 #endif /* __ASSEMBLER__ */
4980 
4981  /* TST_RX_LENGTH */
4982 
4983 #define RX_LENGTH0 0
4984 #define RX_LENGTH1 1
4985 #define RX_LENGTH2 2
4986 #define RX_LENGTH3 3
4987 #define RX_LENGTH4 4
4988 #define RX_LENGTH5 5
4989 #define RX_LENGTH6 6
4990 #define RX_LENGTH7 7
4991 
4992 /* Start of frame buffer */
4993 #define TRXFBST _SFR_MEM8(0x180)
4994 
4995  /* TRXFBST */
4996 
4997 #define TRXFBST0 0
4998 #define TRXFBST1 1
4999 #define TRXFBST2 2
5000 #define TRXFBST3 3
5001 #define TRXFBST4 4
5002 #define TRXFBST5 5
5003 #define TRXFBST6 6
5004 #define TRXFBST7 7
5005 
5006 /* End of frame buffer */
5007 #define TRXFBEND _SFR_MEM8(0x1FF)
5008 
5009  /* TRXFBEND */
5010 
5011 #define TRXFBEND0 0
5012 #define TRXFBEND1 1
5013 #define TRXFBEND2 2
5014 #define TRXFBEND3 3
5015 #define TRXFBEND4 4
5016 #define TRXFBEND5 5
5017 #define TRXFBEND6 6
5018 #define TRXFBEND7 7
5019 
5020 
5021 /* Interrupt vectors */
5022 /* Vector 0 is the reset vector */
5023 
5024 #define _VECTORS_SIZE 288
5025 
5026 /* External Interrupt Request 0 */
5027 #define INT0_vect _VECTOR(1)
5028 #define INT0_vect_num 1
5029 
5030 /* External Interrupt Request 1 */
5031 #define INT1_vect _VECTOR(2)
5032 #define INT1_vect_num 2
5033 
5034 /* External Interrupt Request 2 */
5035 #define INT2_vect _VECTOR(3)
5036 #define INT2_vect_num 3
5037 
5038 /* External Interrupt Request 3 */
5039 #define INT3_vect _VECTOR(4)
5040 #define INT3_vect_num 4
5041 
5042 /* External Interrupt Request 4 */
5043 #define INT4_vect _VECTOR(5)
5044 #define INT4_vect_num 5
5045 
5046 /* External Interrupt Request 5 */
5047 #define INT5_vect _VECTOR(6)
5048 #define INT5_vect_num 6
5049 
5050 /* External Interrupt Request 6 */
5051 #define INT6_vect _VECTOR(7)
5052 #define INT6_vect_num 7
5053 
5054 /* External Interrupt Request 7 */
5055 #define INT7_vect _VECTOR(8)
5056 #define INT7_vect_num 8
5057 
5058 /* Pin Change Interrupt Request 0 */
5059 #define PCINT0_vect _VECTOR(9)
5060 #define PCINT0_vect_num 9
5061 
5062 /* Pin Change Interrupt Request 1 */
5063 #define PCINT1_vect _VECTOR(10)
5064 #define PCINT1_vect_num 10
5065 
5066 /* Pin Change Interrupt Request 2 */
5067 #define PCINT2_vect _VECTOR(11)
5068 #define PCINT2_vect_num 11
5069 
5070 /* Watchdog Time-out Interrupt */
5071 #define WDT_vect _VECTOR(12)
5072 #define WDT_vect_num 12
5073 
5074 /* Timer/Counter2 Compare Match A */
5075 #define TIMER2_COMPA_vect _VECTOR(13)
5076 #define TIMER2_COMPA_vect_num 13
5077 
5078 /* Timer/Counter2 Compare Match B */
5079 #define TIMER2_COMPB_vect _VECTOR(14)
5080 #define TIMER2_COMPB_vect_num 14
5081 
5082 /* Timer/Counter2 Overflow */
5083 #define TIMER2_OVF_vect _VECTOR(15)
5084 #define TIMER2_OVF_vect_num 15
5085 
5086 /* Timer/Counter1 Capture Event */
5087 #define TIMER1_CAPT_vect _VECTOR(16)
5088 #define TIMER1_CAPT_vect_num 16
5089 
5090 /* Timer/Counter1 Compare Match A */
5091 #define TIMER1_COMPA_vect _VECTOR(17)
5092 #define TIMER1_COMPA_vect_num 17
5093 
5094 /* Timer/Counter1 Compare Match B */
5095 #define TIMER1_COMPB_vect _VECTOR(18)
5096 #define TIMER1_COMPB_vect_num 18
5097 
5098 /* Timer/Counter1 Compare Match C */
5099 #define TIMER1_COMPC_vect _VECTOR(19)
5100 #define TIMER1_COMPC_vect_num 19
5101 
5102 /* Timer/Counter1 Overflow */
5103 #define TIMER1_OVF_vect _VECTOR(20)
5104 #define TIMER1_OVF_vect_num 20
5105 
5106 /* Timer/Counter0 Compare Match A */
5107 #define TIMER0_COMPA_vect _VECTOR(21)
5108 #define TIMER0_COMPA_vect_num 21
5109 
5110 /* Timer/Counter0 Compare Match B */
5111 #define TIMER0_COMPB_vect _VECTOR(22)
5112 #define TIMER0_COMPB_vect_num 22
5113 
5114 /* Timer/Counter0 Overflow */
5115 #define TIMER0_OVF_vect _VECTOR(23)
5116 #define TIMER0_OVF_vect_num 23
5117 
5118 /* SPI Serial Transfer Complete */
5119 #define SPI_STC_vect _VECTOR(24)
5120 #define SPI_STC_vect_num 24
5121 
5122 /* USART0, Rx Complete */
5123 #define USART0_RX_vect _VECTOR(25)
5124 #define USART0_RX_vect_num 25
5125 
5126 /* USART0 Data register Empty */
5127 #define USART0_UDRE_vect _VECTOR(26)
5128 #define USART0_UDRE_vect_num 26
5129 
5130 /* USART0, Tx Complete */
5131 #define USART0_TX_vect _VECTOR(27)
5132 #define USART0_TX_vect_num 27
5133 
5134 /* Analog Comparator */
5135 #define ANALOG_COMP_vect _VECTOR(28)
5136 #define ANALOG_COMP_vect_num 28
5137 
5138 /* ADC Conversion Complete */
5139 #define ADC_vect _VECTOR(29)
5140 #define ADC_vect_num 29
5141 
5142 /* EEPROM Ready */
5143 #define EE_READY_vect _VECTOR(30)
5144 #define EE_READY_vect_num 30
5145 
5146 /* Timer/Counter3 Capture Event */
5147 #define TIMER3_CAPT_vect _VECTOR(31)
5148 #define TIMER3_CAPT_vect_num 31
5149 
5150 /* Timer/Counter3 Compare Match A */
5151 #define TIMER3_COMPA_vect _VECTOR(32)
5152 #define TIMER3_COMPA_vect_num 32
5153 
5154 /* Timer/Counter3 Compare Match B */
5155 #define TIMER3_COMPB_vect _VECTOR(33)
5156 #define TIMER3_COMPB_vect_num 33
5157 
5158 /* Timer/Counter3 Compare Match C */
5159 #define TIMER3_COMPC_vect _VECTOR(34)
5160 #define TIMER3_COMPC_vect_num 34
5161 
5162 /* Timer/Counter3 Overflow */
5163 #define TIMER3_OVF_vect _VECTOR(35)
5164 #define TIMER3_OVF_vect_num 35
5165 
5166 /* USART1, Rx Complete */
5167 #define USART1_RX_vect _VECTOR(36)
5168 #define USART1_RX_vect_num 36
5169 
5170 /* USART1 Data register Empty */
5171 #define USART1_UDRE_vect _VECTOR(37)
5172 #define USART1_UDRE_vect_num 37
5173 
5174 /* USART1, Tx Complete */
5175 #define USART1_TX_vect _VECTOR(38)
5176 #define USART1_TX_vect_num 38
5177 
5178 /* 2-wire Serial Interface */
5179 #define TWI_vect _VECTOR(39)
5180 #define TWI_vect_num 39
5181 
5182 /* Store Program Memory Read */
5183 #define SPM_READY_vect _VECTOR(40)
5184 #define SPM_READY_vect_num 40
5185 
5186 /* Timer/Counter4 Capture Event */
5187 #define TIMER4_CAPT_vect _VECTOR(41)
5188 #define TIMER4_CAPT_vect_num 41
5189 
5190 /* Timer/Counter4 Compare Match A */
5191 #define TIMER4_COMPA_vect _VECTOR(42)
5192 #define TIMER4_COMPA_vect_num 42
5193 
5194 /* Timer/Counter4 Compare Match B */
5195 #define TIMER4_COMPB_vect _VECTOR(43)
5196 #define TIMER4_COMPB_vect_num 43
5197 
5198 /* Timer/Counter4 Compare Match C */
5199 #define TIMER4_COMPC_vect _VECTOR(44)
5200 #define TIMER4_COMPC_vect_num 44
5201 
5202 /* Timer/Counter4 Overflow */
5203 #define TIMER4_OVF_vect _VECTOR(45)
5204 #define TIMER4_OVF_vect_num 45
5205 
5206 /* Timer/Counter5 Capture Event */
5207 #define TIMER5_CAPT_vect _VECTOR(46)
5208 #define TIMER5_CAPT_vect_num 46
5209 
5210 /* Timer/Counter5 Compare Match A */
5211 #define TIMER5_COMPA_vect _VECTOR(47)
5212 #define TIMER5_COMPA_vect_num 47
5213 
5214 /* Timer/Counter5 Compare Match B */
5215 #define TIMER5_COMPB_vect _VECTOR(48)
5216 #define TIMER5_COMPB_vect_num 48
5217 
5218 /* Timer/Counter5 Compare Match C */
5219 #define TIMER5_COMPC_vect _VECTOR(49)
5220 #define TIMER5_COMPC_vect_num 49
5221 
5222 /* Timer/Counter5 Overflow */
5223 #define TIMER5_OVF_vect _VECTOR(50)
5224 #define TIMER5_OVF_vect_num 50
5225 
5226 /* USART2, Rx Complete */
5227 #define USART2_RX_vect _VECTOR(51)
5228 #define USART2_RX_vect_num 51
5229 
5230 /* USART2 Data register Empty */
5231 #define USART2_UDRE_vect _VECTOR(52)
5232 #define USART2_UDRE_vect_num 52
5233 
5234 /* USART2, Tx Complete */
5235 #define USART2_TX_vect _VECTOR(53)
5236 #define USART2_TX_vect_num 53
5237 
5238 /* USART3, Rx Complete */
5239 #define USART3_RX_vect _VECTOR(54)
5240 #define USART3_RX_vect_num 54
5241 
5242 /* USART3 Data register Empty */
5243 #define USART3_UDRE_vect _VECTOR(55)
5244 #define USART3_UDRE_vect_num 55
5245 
5246 /* USART3, Tx Complete */
5247 #define USART3_TX_vect _VECTOR(56)
5248 #define USART3_TX_vect_num 56
5249 
5250 /* TRX24 - PLL lock interrupt */
5251 #define TRX24_PLL_LOCK_vect _VECTOR(57)
5252 #define TRX24_PLL_LOCK_vect_num 57
5253 
5254 /* TRX24 - PLL unlock interrupt */
5255 #define TRX24_PLL_UNLOCK_vect _VECTOR(58)
5256 #define TRX24_PLL_UNLOCK_vect_num 58
5257 
5258 /* TRX24 - Receive start interrupt */
5259 #define TRX24_RX_START_vect _VECTOR(59)
5260 #define TRX24_RX_START_vect_num 59
5261 
5262 /* TRX24 - RX_END interrupt */
5263 #define TRX24_RX_END_vect _VECTOR(60)
5264 #define TRX24_RX_END_vect_num 60
5265 
5266 /* TRX24 - CCA/ED done interrupt */
5267 #define TRX24_CCA_ED_DONE_vect _VECTOR(61)
5268 #define TRX24_CCA_ED_DONE_vect_num 61
5269 
5270 /* TRX24 - XAH - AMI */
5271 #define TRX24_XAH_AMI_vect _VECTOR(62)
5272 #define TRX24_XAH_AMI_vect_num 62
5273 
5274 /* TRX24 - TX_END interrupt */
5275 #define TRX24_TX_END_vect _VECTOR(63)
5276 #define TRX24_TX_END_vect_num 63
5277 
5278 /* TRX24 AWAKE - tranceiver is reaching state TRX_OFF */
5279 #define TRX24_AWAKE_vect _VECTOR(64)
5280 #define TRX24_AWAKE_vect_num 64
5281 
5282 /* Symbol counter - compare match 1 interrupt */
5283 #define SCNT_CMP1_vect _VECTOR(65)
5284 #define SCNT_CMP1_vect_num 65
5285 
5286 /* Symbol counter - compare match 2 interrupt */
5287 #define SCNT_CMP2_vect _VECTOR(66)
5288 #define SCNT_CMP2_vect_num 66
5289 
5290 /* Symbol counter - compare match 3 interrupt */
5291 #define SCNT_CMP3_vect _VECTOR(67)
5292 #define SCNT_CMP3_vect_num 67
5293 
5294 /* Symbol counter - overflow interrupt */
5295 #define SCNT_OVFL_vect _VECTOR(68)
5296 #define SCNT_OVFL_vect_num 68
5297 
5298 /* Symbol counter - backoff interrupt */
5299 #define SCNT_BACKOFF_vect _VECTOR(69)
5300 #define SCNT_BACKOFF_vect_num 69
5301 
5302 /* AES engine ready interrupt */
5303 #define AES_READY_vect _VECTOR(70)
5304 #define AES_READY_vect_num 70
5305 
5306 /* Battery monitor indicates supply voltage below threshold */
5307 #define BAT_LOW_vect _VECTOR(71)
5308 #define BAT_LOW_vect_num 71
5309 
5310 
5311 /* memory parameters */
5312 
5313 #define SPM_PAGESIZE (256)
5314 #define RAMSTART (0x200)
5315 #define RAMSIZE (0x4000)
5316 #define RAMEND (0x41FF)
5317 #define XRAMSTART (0x0000)
5318 #define XRAMSIZE (0x0000)
5319 #define XRAMEND RAMEND
5320 #define E2END (0xFFF)
5321 #define E2PAGESIZE (0x08)
5322 #define FLASHEND (0x1ffff)
5323 
5324 
5325 /* Fuses */
5326 
5327 #define FUSE_MEMORY_SIZE 3
5328 
5329 /* LFUSE Byte */
5330 #define FUSE_CKSEL0 ~_BV(0) /* Select Clock Source */
5331 #define FUSE_CKSEL1 ~_BV(1) /* Select Clock Source */
5332 #define FUSE_CKSEL2 ~_BV(2) /* Select Clock Source */
5333 #define FUSE_CKSEL3 ~_BV(3) /* Select Clock Source */
5334 #define FUSE_SUT0 ~_BV(4) /* Select start-up time */
5335 #define FUSE_SUT1 ~_BV(5) /* Select start-up time */
5336 #define FUSE_CKOUT ~_BV(6) /* Clock output */
5337 #define FUSE_CKDIV8 ~_BV(7) /* Divide clock by 8 */
5338 #define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & FUSE_SUT0 & FUSE_SUT1 & FUSE_CKDIV8)
5339 
5340 /* HFUSE Byte */
5341 #define FUSE_BOOTRST ~_BV(0) /* Select Reset Vector */
5342 #define FUSE_BOOTSZ0 ~_BV(1) /* Select Boot Size */
5343 #define FUSE_BOOTSZ1 ~_BV(2) /* Select Boot Size */
5344 #define FUSE_EESAVE ~_BV(3) /* EEPROM memory is preserved through chip erase */
5345 #define FUSE_WDTON ~_BV(4) /* Watchdog timer always on */
5346 #define FUSE_SPIEN ~_BV(5) /* Enable Serial programming and Data Downloading */
5347 #define FUSE_JTAGEN ~_BV(6) /* Enable JTAG */
5348 #define FUSE_OCDEN ~_BV(7) /* Enable OCD */
5349 #define HFUSE_DEFAULT (FUSE_BOOTSZ0 & FUSE_BOOTSZ1 & FUSE_SPIEN & FUSE_JTAGEN)
5350 
5351 /* EFUSE Byte */
5352 #define FUSE_BODLEVEL0 ~_BV(0) /* Brown-out Detector trigger level */
5353 #define FUSE_BODLEVEL1 ~_BV(1) /* Brown-out Detector trigger level */
5354 #define FUSE_BODLEVEL2 ~_BV(2) /* Brown-out Detector trigger level */
5355 #define EFUSE_DEFAULT (0xFF)
5356 
5357 
5358 
5359 /* Lock Bits */
5360 
5361 #define __BOOT_LOCK_BITS_0_EXIST
5362 #define __BOOT_LOCK_BITS_1_EXIST
5363 #define __LOCK_BITS_EXIST
5364 
5365 
5366 /* Signature */
5367 
5368 #define SIGNATURE_0 0x1E
5369 #define SIGNATURE_1 0xA7
5370 #define SIGNATURE_2 0x01
5371 
5372 #endif /* _AVR_IOM128RFA1_H_ */
Definition: iom128rfa1.h:1074
Definition: iom128rfa1.h:1429
Definition: iom128rfa1.h:3664
Definition: iom128rfa1.h:514
Definition: iom128rfa1.h:1160
Definition: iom128rfa1.h:3598
Definition: iom128rfa1.h:1956
Definition: iom128rfa1.h:3078
Definition: iom128rfa1.h:4677
Definition: iom128rfa1.h:3174
Definition: iom128rfa1.h:2838
Definition: iom128rfa1.h:3270
Definition: iom128rfa1.h:1689
Definition: iom128rfa1.h:2057
Macros for Accessing AVR Special Function Registers.
Definition: iom128rfa1.h:1528
Definition: iom128rfa1.h:4529
Definition: iom128rfa1.h:1909
Definition: iom128rfa1.h:1129
Definition: iom128rfa1.h:4749
Definition: iom128rfa1.h:1835
Definition: iom128rfa1.h:4900
Definition: iom128rfa1.h:2251
Definition: iom128rfa1.h:3697
Definition: iom128rfa1.h:2742
Definition: iom128rfa1.h:1316
Definition: iom128rfa1.h:1189
Definition: iom128rfa1.h:3918
Definition: iom128rfa1.h:3765
Definition: iom128rfa1.h:1341
Definition: iom128rfa1.h:946
Definition: iom128rfa1.h:2982
Definition: iom128rfa1.h:3535
Definition: iom128rfa1.h:2682
Definition: iom128rfa1.h:1361
Definition: iom128rfa1.h:4032
Definition: iom128rfa1.h:1632
Definition: iom128rfa1.h:465
Definition: iom128rfa1.h:2321
Definition: iom128rfa1.h:2421
Definition: iom128rfa1.h:3471
Definition: iom128rfa1.h:2910
Definition: iom128rfa1.h:1264
Definition: iom128rfa1.h:2010
Definition: iom128rfa1.h:3514
Definition: iom128rfa1.h:4444
Definition: iom128rfa1.h:2111
Definition: iom128rfa1.h:832
Definition: iom128rfa1.h:1105
Definition: iom128rfa1.h:2790
Definition: iom128rfa1.h:976
Definition: iom128rfa1.h:1578
Definition: iom128rfa1.h:4701
Definition: iom128rfa1.h:3294
Definition: iom128rfa1.h:715
Definition: iom128rfa1.h:3102
Definition: iom128rfa1.h:3198
Definition: iom128rfa1.h:3741
Definition: iom128rfa1.h:764
Definition: iom128rfa1.h:1718
Definition: iom128rfa1.h:4236
Definition: iom128rfa1.h:3369
Definition: iom128rfa1.h:4953
Definition: iom128rfa1.h:1501
Definition: iom128rfa1.h:1747
Definition: iom128rfa1.h:4557
Definition: iom128rfa1.h:1773
Definition: iom128rfa1.h:2700
Definition: iom128rfa1.h:4359
Definition: iom128rfa1.h:2483
Definition: iom128rfa1.h:1001
Definition: iom128rfa1.h:1292
Definition: iom128rfa1.h:1654
Definition: iom128rfa1.h:541
Definition: iom128rfa1.h:2183
Definition: iom128rfa1.h:3556
Definition: iom128rfa1.h:1388
Definition: iom128rfa1.h:2862
Definition: iom128rfa1.h:2390
Definition: iom128rfa1.h:1049
Definition: iom128rfa1.h:1023
Definition: iom128rfa1.h:3625
Definition: iom128rfa1.h:4974
Definition: iom128rfa1.h:1212
Definition: iom128rfa1.h:4390
Definition: iom128rfa1.h:2569
Definition: iom128rfa1.h:3952
Definition: iom128rfa1.h:4331
Definition: iom128rfa1.h:4629
Definition: iom128rfa1.h:856
Definition: iom128rfa1.h:4501
Definition: iom128rfa1.h:3054
Definition: iom128rfa1.h:4773
Definition: iom128rfa1.h:3150
Definition: iom128rfa1.h:669
Definition: iom128rfa1.h:4083
Definition: iom128rfa1.h:3246
Definition: iom128rfa1.h:4876
Definition: iom128rfa1.h:1551
Definition: iom128rfa1.h:739
Definition: iom128rfa1.h:3342
Definition: iom128rfa1.h:4111
Definition: iom128rfa1.h:4057
Definition: iom128rfa1.h:2158
Definition: iom128rfa1.h:3577
Definition: iom128rfa1.h:416
Definition: iom128rfa1.h:4301
Definition: iom128rfa1.h:4174
Definition: iom128rfa1.h:2538
Definition: iom128rfa1.h:3006
Definition: iom128rfa1.h:1479
Definition: iom128rfa1.h:4797
Definition: iom128rfa1.h:4581
Definition: iom128rfa1.h:3813
Definition: iom128rfa1.h:3396
Definition: iom128rfa1.h:4845
Definition: iom128rfa1.h:4205
Definition: iom128rfa1.h:2360
Definition: iom128rfa1.h:4653
Definition: iom128rfa1.h:2296
Definition: iom128rfa1.h:568
Definition: iom128rfa1.h:880
Definition: iom128rfa1.h:910
Definition: iom128rfa1.h:1882
Definition: iom128rfa1.h:2814
Definition: iom128rfa1.h:2718
Definition: iom128rfa1.h:4821
Definition: iom128rfa1.h:1804
Definition: iom128rfa1.h:4268
Definition: iom128rfa1.h:3492
Definition: iom128rfa1.h:3859
Definition: iom128rfa1.h:612
Definition: iom128rfa1.h:2934
Definition: iom128rfa1.h:1454
Definition: iom128rfa1.h:3443
Definition: iom128rfa1.h:2600
Definition: iom128rfa1.h:4605
Definition: iom128rfa1.h:487
Definition: iom128rfa1.h:2653
Definition: iom128rfa1.h:588
Definition: iom128rfa1.h:1983
Definition: iom128rfa1.h:1233
Definition: iom128rfa1.h:3644
Definition: iom128rfa1.h:2958
Definition: iom128rfa1.h:3983
Definition: iom128rfa1.h:3318
Definition: iom128rfa1.h:2084
Definition: iom128rfa1.h:3126
Definition: iom128rfa1.h:3222
Definition: iom128rfa1.h:636
Definition: iom128rfa1.h:4472
Definition: iom128rfa1.h:4928
Definition: iom128rfa1.h:4408
Definition: iom128rfa1.h:4725
Definition: iom128rfa1.h:4426
Definition: iom128rfa1.h:1605
Definition: iom128rfa1.h:4139
Definition: iom128rfa1.h:3881
Definition: iom128rfa1.h:3717
Definition: iom128rfa1.h:2766
Definition: iom128rfa1.h:1855
Definition: iom128rfa1.h:3030
Definition: iom128rfa1.h:438
Definition: iom128rfa1.h:2452
Definition: iom128rfa1.h:2886