RTEMS CPU Kit with SuperCore  4.11.3
iom16u2.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright (c) 2009 Atmel Corporation
11  * All rights reserved.
12  *
13  * Redistribution and use in source and binary forms, with or without
14  * modification, are permitted provided that the following conditions are met:
15  *
16  * * Redistributions of source code must retain the above copyright
17  * notice, this list of conditions and the following disclaimer.
18  *
19  * * Redistributions in binary form must reproduce the above copyright
20  * notice, this list of conditions and the following disclaimer in
21  * the documentation and/or other materials provided with the
22  * distribution.
23  *
24  * * Neither the name of the copyright holders nor the names of
25  * contributors may be used to endorse or promote products derived
26  * from this software without specific prior written permission.
27  *
28  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
32  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
33  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
34  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
35  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
36  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38  * POSSIBILITY OF SUCH DAMAGE.
39  */
40 
41 #ifndef _AVR_IO_H_
42 # error "Include <avr/io.h> instead of this file."
43 #endif
44 
45 #ifndef _AVR_IOXXX_H_
46 # define _AVR_IOXXX_H_ "iom16u2.h"
47 #else
48 # error "Attempt to include more than one <avr/ioXXX.h> file."
49 #endif
50 
51 
52 #ifndef _AVR_ATmega16U2_H_
53 #define _AVR_ATmega16U2_H_ 1
54 
62 /* Registers and associated bit numbers. */
63 
64 #define PINB _SFR_IO8(0x03)
65 #define PINB0 0
66 #define PINB1 1
67 #define PINB2 2
68 #define PINB3 3
69 #define PINB4 4
70 #define PINB5 5
71 #define PINB6 6
72 #define PINB7 7
73 
74 #define DDRB _SFR_IO8(0x04)
75 #define DDB0 0
76 #define DDB1 1
77 #define DDB2 2
78 #define DDB3 3
79 #define DDB4 4
80 #define DDB5 5
81 #define DDB6 6
82 #define DDB7 7
83 
84 #define PORTB _SFR_IO8(0x05)
85 #define PORTB0 0
86 #define PORTB1 1
87 #define PORTB2 2
88 #define PORTB3 3
89 #define PORTB4 4
90 #define PORTB5 5
91 #define PORTB6 6
92 #define PORTB7 7
93 
94 #define PINC _SFR_IO8(0x06)
95 #define PINC0 0
96 #define PINC1 1
97 #define PINC2 2
98 #define PINC4 4
99 #define PINC5 5
100 #define PINC6 6
101 #define PINC7 7
102 
103 #define DDRC _SFR_IO8(0x07)
104 #define DDC0 0
105 #define DDC1 1
106 #define DDC2 2
107 #define DDC4 4
108 #define DDC5 5
109 #define DDC6 6
110 #define DDC7 7
111 
112 #define PORTC _SFR_IO8(0x08)
113 #define PORTC0 0
114 #define PORTC1 1
115 #define PORTC2 2
116 #define PORTC4 4
117 #define PORTC5 5
118 #define PORTC6 6
119 #define PORTC7 7
120 
121 #define PIND _SFR_IO8(0x09)
122 #define PIND0 0
123 #define PIND1 1
124 #define PIND2 2
125 #define PIND3 3
126 #define PIND4 4
127 #define PIND5 5
128 #define PIND6 6
129 #define PIND7 7
130 
131 #define DDRD _SFR_IO8(0x0A)
132 #define DDD0 0
133 #define DDD1 1
134 #define DDD2 2
135 #define DDD3 3
136 #define DDD4 4
137 #define DDD5 5
138 #define DDD6 6
139 #define DDD7 7
140 
141 #define PORTD _SFR_IO8(0x0B)
142 #define PORTD0 0
143 #define PORTD1 1
144 #define PORTD2 2
145 #define PORTD3 3
146 #define PORTD4 4
147 #define PORTD5 5
148 #define PORTD6 6
149 #define PORTD7 7
150 
151 #define TIFR0 _SFR_IO8(0x15)
152 #define TOV0 0
153 #define OCF0A 1
154 #define OCF0B 2
155 
156 #define TIFR1 _SFR_IO8(0x16)
157 #define TOV1 0
158 #define OCF1A 1
159 #define OCF1B 2
160 #define OCF1C 3
161 #define ICF1 5
162 
163 #define PCIFR _SFR_IO8(0x1B)
164 #define PCIF0 0
165 #define PCIF1 1
166 
167 #define EIFR _SFR_IO8(0x1C)
168 #define INTF0 0
169 #define INTF1 1
170 #define INTF2 2
171 #define INTF3 3
172 #define INTF4 4
173 #define INTF5 5
174 #define INTF6 6
175 #define INTF7 7
176 
177 #define EIMSK _SFR_IO8(0x1D)
178 #define INT0 0
179 #define INT1 1
180 #define INT2 2
181 #define INT3 3
182 #define INT4 4
183 #define INT5 5
184 #define INT6 6
185 #define INT7 7
186 
187 #define GPIOR0 _SFR_IO8(0x1E)
188 #define GPIOR00 0
189 #define GPIOR01 1
190 #define GPIOR02 2
191 #define GPIOR03 3
192 #define GPIOR04 4
193 #define GPIOR05 5
194 #define GPIOR06 6
195 #define GPIOR07 7
196 
197 #define EECR _SFR_IO8(0x1F)
198 #define EERE 0
199 #define EEPE 1
200 #define EEMPE 2
201 #define EERIE 3
202 #define EEPM0 4
203 #define EEPM1 5
204 
205 #define EEDR _SFR_IO8(0x20)
206 #define EEDR0 0
207 #define EEDR1 1
208 #define EEDR2 2
209 #define EEDR3 3
210 #define EEDR4 4
211 #define EEDR5 5
212 #define EEDR6 6
213 #define EEDR7 7
214 
215 #define EEAR _SFR_IO16(0x21)
216 
217 #define EEARL _SFR_IO8(0x21)
218 #define EEAR0 0
219 #define EEAR1 1
220 #define EEAR2 2
221 #define EEAR3 3
222 #define EEAR4 4
223 #define EEAR5 5
224 #define EEAR6 6
225 #define EEAR7 7
226 
227 #define EEARH _SFR_IO8(0x22)
228 #define EEAR8 0
229 #define EEAR9 1
230 #define EEAR10 2
231 #define EEAR11 3
232 
233 #define GTCCR _SFR_IO8(0x23)
234 #define PSRSYNC 0
235 #define TSM 7
236 
237 #define TCCR0A _SFR_IO8(0x24)
238 #define WGM00 0
239 #define WGM01 1
240 #define COM0B0 4
241 #define COM0B1 5
242 #define COM0A0 6
243 #define COM0A1 7
244 
245 #define TCCR0B _SFR_IO8(0x25)
246 #define CS00 0
247 #define CS01 1
248 #define CS02 2
249 #define WGM02 3
250 #define FOC0B 6
251 #define FOC0A 7
252 
253 #define TCNT0 _SFR_IO8(0x26)
254 #define TCNT0_0 0
255 #define TCNT0_1 1
256 #define TCNT0_2 2
257 #define TCNT0_3 3
258 #define TCNT0_4 4
259 #define TCNT0_5 5
260 #define TCNT0_6 6
261 #define TCNT0_7 7
262 
263 #define OCR0A _SFR_IO8(0x27)
264 #define OCR0A_0 0
265 #define OCR0A_1 1
266 #define OCR0A_2 2
267 #define OCR0A_3 3
268 #define OCR0A_4 4
269 #define OCR0A_5 5
270 #define OCR0A_6 6
271 #define OCR0A_7 7
272 
273 #define OCR0B _SFR_IO8(0x28)
274 #define OCR0B_0 0
275 #define OCR0B_1 1
276 #define OCR0B_2 2
277 #define OCR0B_3 3
278 #define OCR0B_4 4
279 #define OCR0B_5 5
280 #define OCR0B_6 6
281 #define OCR0B_7 7
282 
283 #define PLLCSR _SFR_IO8(0x29)
284 #define PLOCK 0
285 #define PLLE 1
286 #define PLLP0 2
287 #define PLLP1 3
288 #define PLLP2 4
289 
290 #define GPIOR1 _SFR_IO8(0x2A)
291 #define GPIOR10 0
292 #define GPIOR11 1
293 #define GPIOR12 2
294 #define GPIOR13 3
295 #define GPIOR14 4
296 #define GPIOR15 5
297 #define GPIOR16 6
298 #define GPIOR17 7
299 
300 #define GPIOR2 _SFR_IO8(0x2B)
301 #define GPIOR20 0
302 #define GPIOR21 1
303 #define GPIOR22 2
304 #define GPIOR23 3
305 #define GPIOR24 4
306 #define GPIOR25 5
307 #define GPIOR26 6
308 #define GPIOR27 7
309 
310 #define SPCR _SFR_IO8(0x2C)
311 #define SPR0 0
312 #define SPR1 1
313 #define CPHA 2
314 #define CPOL 3
315 #define MSTR 4
316 #define DORD 5
317 #define SPE 6
318 #define SPIE 7
319 
320 #define SPSR _SFR_IO8(0x2D)
321 #define SPI2X 0
322 #define WCOL 6
323 #define SPIF 7
324 
325 #define SPDR _SFR_IO8(0x2E)
326 #define SPDR0 0
327 #define SPDR1 1
328 #define SPDR2 2
329 #define SPDR3 3
330 #define SPDR4 4
331 #define SPDR5 5
332 #define SPDR6 6
333 #define SPDR7 7
334 
335 #define ACSR _SFR_IO8(0x30)
336 #define ACIS0 0
337 #define ACIS1 1
338 #define ACIC 2
339 #define ACIE 3
340 #define ACI 4
341 #define ACO 5
342 #define ACBG 6
343 #define ACD 7
344 
345 #define DWDR _SFR_IO8(0x31)
346 #define DWDR0 0
347 #define DWDR1 1
348 #define DWDR2 2
349 #define DWDR3 3
350 #define DWDR4 4
351 #define DWDR5 5
352 #define DWDR6 6
353 #define DWDR7 7
354 
355 #define SMCR _SFR_IO8(0x33)
356 #define SE 0
357 #define SM0 1
358 #define SM1 2
359 #define SM2 3
360 
361 #define MCUSR _SFR_IO8(0x34)
362 #define PORF 0
363 #define EXTRF 1
364 #define BORF 2
365 #define WDRF 3
366 #define USBRF 5
367 
368 #define MCUCR _SFR_IO8(0x35)
369 #define IVCE 0
370 #define IVSEL 1
371 #define PUD 4
372 
373 #define SPMCSR _SFR_IO8(0x37)
374 #define SPMEN 0
375 #define PGERS 1
376 #define PGWRT 2
377 #define BLBSET 3
378 #define RWWSRE 4
379 #define SIGRD 5
380 #define RWWSB 6
381 #define SPMIE 7
382 
383 #define EIND _SFR_IO8(0x3C)
384 #define EIND0 0
385 
386 #define WDTCSR _SFR_MEM8(0x60)
387 #define WDP0 0
388 #define WDP1 1
389 #define WDP2 2
390 #define WDE 3
391 #define WDCE 4
392 #define WDP3 5
393 #define WDIE 6
394 #define WDIF 7
395 
396 #define CLKPR _SFR_MEM8(0x61)
397 #define CLKPS0 0
398 #define CLKPS1 1
399 #define CLKPS2 2
400 #define CLKPS3 3
401 #define CLKPCE 7
402 
403 #define WDTCKD _SFR_MEM8(0x62)
404 #define WCLKD0 0
405 #define WCLKD1 1
406 #define WDEWIE 2
407 #define WDEWIF 3
408 
409 #define REGCR _SFR_MEM8(0x63)
410 #define REGDIS 0
411 
412 #define PRR0 _SFR_MEM8(0x64)
413 #define PRSPI 2
414 #define PRTIM1 3
415 #define PRTIM0 5
416 
417 #define PRR1 _SFR_MEM8(0x65)
418 #define PRUSART1 0
419 #define PRUSB 7
420 
421 #define OSCCAL _SFR_MEM8(0x66)
422 #define CAL0 0
423 #define CAL1 1
424 #define CAL2 2
425 #define CAL3 3
426 #define CAL4 4
427 #define CAL5 5
428 #define CAL6 6
429 #define CAL7 7
430 
431 #define PCICR _SFR_MEM8(0x68)
432 #define PCIE0 0
433 #define PCIE1 1
434 
435 #define EICRA _SFR_MEM8(0x69)
436 #define ISC00 0
437 #define ISC01 1
438 #define ISC10 2
439 #define ISC11 3
440 #define ISC20 4
441 #define ISC21 5
442 #define ISC30 6
443 #define ISC31 7
444 
445 #define EICRB _SFR_MEM8(0x6A)
446 #define ISC40 0
447 #define ISC41 1
448 #define ISC50 2
449 #define ISC51 3
450 #define ISC60 4
451 #define ISC61 5
452 #define ISC70 6
453 #define ISC71 7
454 
455 #define PCMSK0 _SFR_MEM8(0x6B)
456 #define PCINT0 0
457 #define PCINT1 1
458 #define PCINT2 2
459 #define PCINT3 3
460 #define PCINT4 4
461 #define PCINT5 5
462 #define PCINT6 6
463 #define PCINT7 7
464 
465 #define PCMSK1 _SFR_MEM8(0x6C)
466 #define PCINT8 0
467 #define PCINT9 1
468 #define PCINT10 2
469 #define PCINT11 3
470 #define PCINT12 4
471 
472 #define TIMSK0 _SFR_MEM8(0x6E)
473 #define TOIE0 0
474 #define OCIE0A 1
475 #define OCIE0B 2
476 
477 #define TIMSK1 _SFR_MEM8(0x6F)
478 #define TOIE1 0
479 #define OCIE1A 1
480 #define OCIE1B 2
481 #define OCIE1C 3
482 #define ICIE1 5
483 
484 #define DIDR1 _SFR_MEM8(0x7F)
485 #define AIN0D 0
486 #define AIN1D 1
487 
488 #define TCCR1A _SFR_MEM8(0x80)
489 #define WGM10 0
490 #define WGM11 1
491 #define COM1C0 2
492 #define COM1C1 3
493 #define COM1B0 4
494 #define COM1B1 5
495 #define COM1A0 6
496 #define COM1A1 7
497 
498 #define TCCR1B _SFR_MEM8(0x81)
499 #define CS10 0
500 #define CS11 1
501 #define CS12 2
502 #define WGM12 3
503 #define WGM13 4
504 #define ICES1 6
505 #define ICNC1 7
506 
507 #define TCCR1C _SFR_MEM8(0x82)
508 #define FOC1C 5
509 #define FOC1B 6
510 #define FOC1A 7
511 
512 #define TCNT1 _SFR_MEM16(0x84)
513 
514 #define TCNT1L _SFR_MEM8(0x84)
515 #define TCNT1L0 0
516 #define TCNT1L1 1
517 #define TCNT1L2 2
518 #define TCNT1L3 3
519 #define TCNT1L4 4
520 #define TCNT1L5 5
521 #define TCNT1L6 6
522 #define TCNT1L7 7
523 
524 #define TCNT1H _SFR_MEM8(0x85)
525 #define TCNT1H0 0
526 #define TCNT1H1 1
527 #define TCNT1H2 2
528 #define TCNT1H3 3
529 #define TCNT1H4 4
530 #define TCNT1H5 5
531 #define TCNT1H6 6
532 #define TCNT1H7 7
533 
534 #define ICR1 _SFR_MEM16(0x86)
535 
536 #define ICR1L _SFR_MEM8(0x86)
537 #define ICR1L0 0
538 #define ICR1L1 1
539 #define ICR1L2 2
540 #define ICR1L3 3
541 #define ICR1L4 4
542 #define ICR1L5 5
543 #define ICR1L6 6
544 #define ICR1L7 7
545 
546 #define ICR1H _SFR_MEM8(0x87)
547 #define ICR1H0 0
548 #define ICR1H1 1
549 #define ICR1H2 2
550 #define ICR1H3 3
551 #define ICR1H4 4
552 #define ICR1H5 5
553 #define ICR1H6 6
554 #define ICR1H7 7
555 
556 #define OCR1A _SFR_MEM16(0x88)
557 
558 #define OCR1AL _SFR_MEM8(0x88)
559 #define OCR1AL0 0
560 #define OCR1AL1 1
561 #define OCR1AL2 2
562 #define OCR1AL3 3
563 #define OCR1AL4 4
564 #define OCR1AL5 5
565 #define OCR1AL6 6
566 #define OCR1AL7 7
567 
568 #define OCR1AH _SFR_MEM8(0x89)
569 #define OCR1AH0 0
570 #define OCR1AH1 1
571 #define OCR1AH2 2
572 #define OCR1AH3 3
573 #define OCR1AH4 4
574 #define OCR1AH5 5
575 #define OCR1AH6 6
576 #define OCR1AH7 7
577 
578 #define OCR1B _SFR_MEM16(0x8A)
579 
580 #define OCR1BL _SFR_MEM8(0x8A)
581 #define OCR1BL0 0
582 #define OCR1BL1 1
583 #define OCR1BL2 2
584 #define OCR1BL3 3
585 #define OCR1BL4 4
586 #define OCR1BL5 5
587 #define OCR1BL6 6
588 #define OCR1BL7 7
589 
590 #define OCR1BH _SFR_MEM8(0x8B)
591 #define OCR1BH0 0
592 #define OCR1BH1 1
593 #define OCR1BH2 2
594 #define OCR1BH3 3
595 #define OCR1BH4 4
596 #define OCR1BH5 5
597 #define OCR1BH6 6
598 #define OCR1BH7 7
599 
600 #define OCR1C _SFR_MEM16(0x8C)
601 
602 #define OCR1CL _SFR_MEM8(0x8C)
603 #define OCR1CL0 0
604 #define OCR1CL1 1
605 #define OCR1CL2 2
606 #define OCR1CL3 3
607 #define OCR1CL4 4
608 #define OCR1CL5 5
609 #define OCR1CL6 6
610 #define OCR1CL7 7
611 
612 #define OCR1CH _SFR_MEM8(0x8D)
613 #define OCR1CH0 0
614 #define OCR1CH1 1
615 #define OCR1CH2 2
616 #define OCR1CH3 3
617 #define OCR1CH4 4
618 #define OCR1CH5 5
619 #define OCR1CH6 6
620 #define OCR1CH7 7
621 
622 #define UCSR1A _SFR_MEM8(0xC8)
623 #define MPCM1 0
624 #define U2X1 1
625 #define UPE1 2
626 #define DOR1 3
627 #define FE1 4
628 #define UDRE1 5
629 #define TXC1 6
630 #define RXC1 7
631 
632 #define UCSR1B _SFR_MEM8(0xC9)
633 #define TXB81 0
634 #define RXB81 1
635 #define UCSZ12 2
636 #define TXEN1 3
637 #define RXEN1 4
638 #define UDRIE1 5
639 #define TXCIE1 6
640 #define RXCIE1 7
641 
642 #define UCSR1C _SFR_MEM8(0xCA)
643 #define UCPOL1 0
644 #define UCSZ10 1
645 #define UCSZ11 2
646 #define USBS1 3
647 #define UPM10 4
648 #define UPM11 5
649 #define UMSEL10 6
650 #define UMSEL11 7
651 
652 #define UCSR1D _SFR_MEM8(0xCB)
653 #define RTSEN 0
654 #define CTSEN 1
655 
656 #define UBRR1 _SFR_MEM16(0xCC)
657 
658 #define UBRR1L _SFR_MEM8(0xCC)
659 #define UBRR1_0 0
660 #define UBRR1_1 1
661 #define UBRR1_2 2
662 #define UBRR1_3 3
663 #define UBRR1_4 4
664 #define UBRR1_5 5
665 #define UBRR1_6 6
666 #define UBRR1_7 7
667 
668 #define UBRR1H _SFR_MEM8(0xCD)
669 #define UBRR1_8 0
670 #define UBRR1_9 1
671 #define UBRR1_10 2
672 #define UBRR1_11 3
673 
674 #define UDR1 _SFR_MEM8(0xCE)
675 #define UDR1_0 0
676 #define UDR1_1 1
677 #define UDR1_2 2
678 #define UDR1_3 3
679 #define UDR1_4 4
680 #define UDR1_5 5
681 #define UDR1_6 6
682 #define UDR1_7 7
683 
684 #define CLKSEL0 _SFR_MEM8(0xD0)
685 #define CLKS 0
686 #define EXTE 2
687 #define RCE 3
688 #define EXSUT0 4
689 #define EXSUT1 5
690 #define RCSUT0 6
691 #define RCSUT1 7
692 
693 #define CLKSEL1 _SFR_MEM8(0xD1)
694 #define EXCKSEL0 0
695 #define EXCKSEL1 1
696 #define EXCKSEL2 2
697 #define EXCKSEL3 3
698 #define RCCKSEL0 4
699 #define RCCKSEL1 5
700 #define RCCKSEL2 6
701 #define RCCKSEL3 7
702 
703 #define CLKSTA _SFR_MEM8(0xD2)
704 #define EXTON 0
705 #define RCON 1
706 
707 #define USBCON _SFR_MEM8(0xD8)
708 #define FRZCLK 5
709 #define USBE 7
710 
711 #define UDCON _SFR_MEM8(0xE0)
712 #define DETACH 0
713 #define RMWKUP 1
714 #define RSTCPU 2
715 
716 #define UDINT _SFR_MEM8(0xE1)
717 #define SUSPI 0
718 #define SOFI 2
719 #define EORSTI 3
720 #define WAKEUPI 4
721 #define EORSMI 5
722 #define UPRSMI 6
723 
724 #define UDIEN _SFR_MEM8(0xE2)
725 #define SUSPE 0
726 #define SOFE 2
727 #define EORSTE 3
728 #define WAKEUPE 4
729 #define EORSME 5
730 #define UPRSME 6
731 
732 #define UDADDR _SFR_MEM8(0xE3)
733 #define UADD0 0
734 #define UADD1 1
735 #define UADD2 2
736 #define UADD3 3
737 #define UADD4 4
738 #define UADD5 5
739 #define UADD6 6
740 #define ADDEN 7
741 
742 #define UDFNUM _SFR_MEM16(0xE4)
743 
744 #define UDFNUML _SFR_MEM8(0xE4)
745 #define FNUM0 0
746 #define FNUM1 1
747 #define FNUM2 2
748 #define FNUM3 3
749 #define FNUM4 4
750 #define FNUM5 5
751 #define FNUM6 6
752 #define FNUM7 7
753 
754 #define UDFNUMH _SFR_MEM8(0xE5)
755 #define FNUM8 0
756 #define FNUM9 1
757 #define FNUM10 2
758 
759 #define UDMFN _SFR_MEM8(0xE6)
760 #define FNCERR 4
761 
762 #define UEINTX _SFR_MEM8(0xE8)
763 #define TXINI 0
764 #define STALLEDI 1
765 #define RXOUTI 2
766 #define RXSTPI 3
767 #define NAKOUTI 4
768 #define RWAL 5
769 #define NAKINI 6
770 #define FIFOCON 7
771 
772 #define UENUM _SFR_MEM8(0xE9)
773 #define EPNUM0 0
774 #define EPNUM1 1
775 #define EPNUM2 2
776 
777 #define UERST _SFR_MEM8(0xEA)
778 #define EPRST0 0
779 #define EPRST1 1
780 #define EPRST2 2
781 #define EPRST3 3
782 #define EPRST4 4
783 
784 #define UECONX _SFR_MEM8(0xEB)
785 #define EPEN 0
786 #define RSTDT 3
787 #define STALLRQC 4
788 #define STALLRQ 5
789 
790 #define UECFG0X _SFR_MEM8(0xEC)
791 #define EPDIR 0
792 #define EPTYPE0 6
793 #define EPTYPE1 7
794 
795 #define UECFG1X _SFR_MEM8(0xED)
796 #define ALLOC 1
797 #define EPBK0 2
798 #define EPBK1 3
799 #define EPSIZE0 4
800 #define EPSIZE1 5
801 #define EPSIZE2 6
802 
803 #define UESTA0X _SFR_MEM8(0xEE)
804 #define NBUSYBK0 0
805 #define NBUSYBK1 1
806 #define DTSEQ0 2
807 #define DTSEQ1 3
808 #define UNDERFI 5
809 #define OVERFI 6
810 #define CFGOK 7
811 
812 #define UESTA1X _SFR_MEM8(0xEF)
813 #define CURRBK0 0
814 #define CURRBK1 1
815 #define CTRLDIR 2
816 
817 #define UEIENX _SFR_MEM8(0xF0)
818 #define TXINE 0
819 #define STALLEDE 1
820 #define RXOUTE 2
821 #define RXSTPE 3
822 #define NAKOUTE 4
823 #define NAKINE 6
824 #define FLERRE 7
825 
826 #define UEDATX _SFR_MEM8(0xF1)
827 #define DAT0 0
828 #define DAT1 1
829 #define DAT2 2
830 #define DAT3 3
831 #define DAT4 4
832 #define DAT5 5
833 #define DAT6 6
834 #define DAT7 7
835 
836 #define UEBCLX _SFR_MEM8(0xF2)
837 #define BYCT0 0
838 #define BYCT1 1
839 #define BYCT2 2
840 #define BYCT3 3
841 #define BYCT4 4
842 #define BYCT5 5
843 #define BYCT6 6
844 #define BYCT7 7
845 
846 #define UEINT _SFR_MEM8(0xF4)
847 #define EPINT0 0
848 #define EPINT1 1
849 #define EPINT2 2
850 #define EPINT3 3
851 #define EPINT4 4
852 
853 #define PS2CON _SFR_MEM8(0xFA)
854 #define PS2EN 0
855 
856 #define UPOE _SFR_MEM8(0xFB)
857 #define DMI 0
858 #define DPI 1
859 #define DATAI 2
860 #define SCKI 3
861 #define UPDRV0 4
862 #define UPDRV1 5
863 #define UPWE0 6
864 #define UPWE1 7
865 
866 
867 /* Interrupt vectors */
868 /* Vector 0 is the reset vector */
869 #define INT0_vect_num 1
870 #define INT0_vect _VECTOR(1) /* External Interrupt Request 0 */
871 #define INT1_vect_num 2
872 #define INT1_vect _VECTOR(2) /* External Interrupt Request 1 */
873 #define INT2_vect_num 3
874 #define INT2_vect _VECTOR(3) /* External Interrupt Request 2 */
875 #define INT3_vect_num 4
876 #define INT3_vect _VECTOR(4) /* External Interrupt Request 3 */
877 #define INT4_vect_num 5
878 #define INT4_vect _VECTOR(5) /* External Interrupt Request 4 */
879 #define INT5_vect_num 6
880 #define INT5_vect _VECTOR(6) /* External Interrupt Request 5 */
881 #define INT6_vect_num 7
882 #define INT6_vect _VECTOR(7) /* External Interrupt Request 6 */
883 #define INT7_vect_num 8
884 #define INT7_vect _VECTOR(8) /* External Interrupt Request 7 */
885 #define PCINT0_vect_num 9
886 #define PCINT0_vect _VECTOR(9) /* Pin Change Interrupt Request 0 */
887 #define PCINT1_vect_num 10
888 #define PCINT1_vect _VECTOR(10) /* Pin Change Interrupt Request 1 */
889 #define USB_GEN_vect_num 11
890 #define USB_GEN_vect _VECTOR(11) /* USB General Interrupt Request */
891 #define USB_COM_vect_num 12
892 #define USB_COM_vect _VECTOR(12) /* USB Endpoint/Pipe Interrupt Communication Request */
893 #define WDT_vect_num 13
894 #define WDT_vect _VECTOR(13) /* Watchdog Time-out Interrupt */
895 #define TIMER1_CAPT_vect_num 14
896 #define TIMER1_CAPT_vect _VECTOR(14) /* Timer/Counter2 Capture Event */
897 #define TIMER1_COMPA_vect_num 15
898 #define TIMER1_COMPA_vect _VECTOR(15) /* Timer/Counter2 Compare Match B */
899 #define TIMER0_COMPA_vect_num 19
900 #define TIMER0_COMPA_vect _VECTOR(19) /* Timer/Counter0 Compare Match A */
901 #define TIMER0_COMPB_vect_num 20
902 #define TIMER0_COMPB_vect _VECTOR(20) /* Timer/Counter0 Compare Match B */
903 #define TIMER0_OVF_vect_num 21
904 #define TIMER0_OVF_vect _VECTOR(21) /* Timer/Counter0 Overflow */
905 #define SPI_STC_vect_num 22
906 #define SPI_STC_vect _VECTOR(22) /* SPI Serial Transfer Complete */
907 #define USART1_RX_vect_num 23
908 #define USART1_RX_vect _VECTOR(23) /* USART1, Rx Complete */
909 #define USART1_UDRE_vect_num 24
910 #define USART1_UDRE_vect _VECTOR(24) /* USART1 Data register Empty */
911 #define USART1_TX_vect_num 25
912 #define USART1_TX_vect _VECTOR(25) /* USART1, Tx Complete */
913 #define ANALOG_COMP_vect_num 26
914 #define ANALOG_COMP_vect _VECTOR(26) /* Analog Comparator */
915 #define EE_READY_vect_num 27
916 #define EE_READY_vect _VECTOR(27) /* EEPROM Ready */
917 #define SPM_READY_vect_num 28
918 #define SPM_READY_vect _VECTOR(28) /* Store Program Memory Read */
919 #define TIMER1_COMPB_vect_num 16
920 #define TIMER1_COMPB_vect _VECTOR(16) /* Timer/Counter2 Compare Match B */
921 #define TIMER1_COMPC_vect_num 17
922 #define TIMER1_COMPC_vect _VECTOR(17) /* Timer/Counter2 Compare Match C */
923 #define TIMER1_OVF_vect_num 18
924 #define TIMER1_OVF_vect _VECTOR(18) /* Timer/Counter1 Overflow */
925 
926 #define _VECTOR_SIZE 4 /* Size of individual vector. */
927 #define _VECTORS_SIZE (38 * _VECTOR_SIZE)
928 
929 
930 /* Constants */
931 #define SPM_PAGESIZE (128)
932 #define RAMSTART (0x100)
933 #define RAMSIZE (512)
934 #define RAMEND (RAMSTART + RAMSIZE - 1)
935 #define XRAMSTART (NA)
936 #define XRAMSIZE (0)
937 #define XRAMEND (RAMEND)
938 #define E2END (0x1FF)
939 #define E2PAGESIZE (4)
940 #define FLASHEND (0x3FFF)
941 
942 
943 /* Fuses */
944 #define FUSE_MEMORY_SIZE 3
945 
946 /* Low Fuse Byte */
947 #define FUSE_CKSEL0 (unsigned char)~_BV(0) /* Select Clock Source */
948 #define FUSE_CKSEL1 (unsigned char)~_BV(1) /* Select Clock Source */
949 #define FUSE_CKSEL2 (unsigned char)~_BV(2) /* Select Clock Source */
950 #define FUSE_CKSEL3 (unsigned char)~_BV(3) /* Select Clock Source */
951 #define FUSE_SUT0 (unsigned char)~_BV(4) /* Select start-up time */
952 #define FUSE_SUT1 (unsigned char)~_BV(5) /* Select start-up time */
953 #define FUSE_CKOUT (unsigned char)~_BV(6) /* Oscillator options */
954 #define FUSE_CKDIV8 (unsigned char)~_BV(7) /* Divide clock by 8 */
955 #define LFUSE_DEFAULT (FUSE_CKDIV8 & FUSE_SUT1 & FUSE_SUT0 & FUSE_CKSEL3 & FUSE_CKSEL2 & FUSE_CKSEL1)
956 
957 /* High Fuse Byte */
958 #define FUSE_BOOTRST (unsigned char)~_BV(0) /* Select Reset Vector */
959 #define FUSE_BOOTSZ0 (unsigned char)~_BV(1) /* Select Boot Size */
960 #define FUSE_BOOTSZ1 (unsigned char)~_BV(2) /* Select Boot Size */
961 #define FUSE_EESAVE (unsigned char)~_BV(3) /* EEPROM memory is preserved through chip erase */
962 #define FUSE_WDTON (unsigned char)~_BV(4) /* Watchdog timer always on */
963 #define FUSE_SPIEN (unsigned char)~_BV(5) /* Enable Serial programming and Data Downloading */
964 #define FUSE_RSTDISBL (unsigned char)~_BV(6) /* External Reset Disable */
965 #define FUSE_DWEN (unsigned char)~_BV(7) /* dwbugWIRE Enable */
966 #define HFUSE_DEFAULT (FUSE_SPIEN & FUSE_BOOTSZ1 & FUSE_BOOTSZ0)
967 
968 /* Extended Fuse Byte */
969 #define FUSE_BODLEVEL0 (unsigned char)~_BV(0) /* Brown-out Detector trigger level */
970 #define FUSE_BODLEVEL1 (unsigned char)~_BV(1) /* Brown-out Detector trigger level */
971 #define FUSE_BODLEVEL2 (unsigned char)~_BV(2) /* Brown-out Detector trigger level */
972 #define FUSE_HWBE (unsigned char)~_BV(3) /* Hardware Boot Enable */
973 #define EFUSE_DEFAULT (0xFF)
974 
975 
976 /* Lock Bits */
977 #define __LOCK_BITS_EXIST
978 #define __BOOT_LOCK_BITS_0_EXIST
979 #define __BOOT_LOCK_BITS_1_EXIST
980 
981 
982 /* Signature */
983 #define SIGNATURE_0 0x1E
984 #define SIGNATURE_1 0x94
985 #define SIGNATURE_2 0x89
986 
989 /* Device Pin Definitions */
990 #endif /* _AVR_ATmega16U2_H_ */