RTEMS CPU Kit with SuperCore  4.11.3
iom1284p.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright (c) 2007 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_ "iom1284p.h"
47 #else
48 # error "Attempt to include more than one <avr/ioXXX.h> file."
49 #endif
50 
51 
52 #ifndef _AVR_IOM1284P_H_
53 #define _AVR_IOM1284P_H_ 1
54 
62 /* Registers and associated bit numbers */
63 
64 #define PINA _SFR_IO8(0x00)
65 #define PINA0 0
66 #define PINA1 1
67 #define PINA2 2
68 #define PINA3 3
69 #define PINA4 4
70 #define PINA5 5
71 #define PINA6 6
72 #define PINA7 7
73 
74 #define DDRA _SFR_IO8(0x01)
75 #define DDA0 0
76 #define DDA1 1
77 #define DDA2 2
78 #define DDA3 3
79 #define DDA4 4
80 #define DDA5 5
81 #define DDA6 6
82 #define DDA7 7
83 
84 #define PORTA _SFR_IO8(0x02)
85 #define PORTA0 0
86 #define PORTA1 1
87 #define PORTA2 2
88 #define PORTA3 3
89 #define PORTA4 4
90 #define PORTA5 5
91 #define PORTA6 6
92 #define PORTA7 7
93 
94 #define PINB _SFR_IO8(0x03)
95 #define PINB0 0
96 #define PINB1 1
97 #define PINB2 2
98 #define PINB3 3
99 #define PINB4 4
100 #define PINB5 5
101 #define PINB6 6
102 #define PINB7 7
103 
104 #define DDRB _SFR_IO8(0x04)
105 #define DDB0 0
106 #define DDB1 1
107 #define DDB2 2
108 #define DDB3 3
109 #define DDB4 4
110 #define DDB5 5
111 #define DDB6 6
112 #define DDB7 7
113 
114 #define PORTB _SFR_IO8(0x05)
115 #define PORTB0 0
116 #define PORTB1 1
117 #define PORTB2 2
118 #define PORTB3 3
119 #define PORTB4 4
120 #define PORTB5 5
121 #define PORTB6 6
122 #define PORTB7 7
123 
124 #define PINC _SFR_IO8(0x06)
125 #define PINC0 0
126 #define PINC1 1
127 #define PINC2 2
128 #define PINC3 3
129 #define PINC4 4
130 #define PINC5 5
131 #define PINC6 6
132 #define PINC7 7
133 
134 #define DDRC _SFR_IO8(0x07)
135 #define DDC0 0
136 #define DDC1 1
137 #define DDC2 2
138 #define DDC3 3
139 #define DDC4 4
140 #define DDC5 5
141 #define DDC6 6
142 #define DDC7 7
143 
144 #define PORTC _SFR_IO8(0x08)
145 #define PORTC0 0
146 #define PORTC1 1
147 #define PORTC2 2
148 #define PORTC3 3
149 #define PORTC4 4
150 #define PORTC5 5
151 #define PORTC6 6
152 #define PORTC7 7
153 
154 #define PIND _SFR_IO8(0x09)
155 #define PIND0 0
156 #define PIND1 1
157 #define PIND2 2
158 #define PIND3 3
159 #define PIND4 4
160 #define PIND5 5
161 #define PIND6 6
162 #define PIND7 7
163 
164 #define DDRD _SFR_IO8(0x0A)
165 #define DDD0 0
166 #define DDD1 1
167 #define DDD2 2
168 #define DDD3 3
169 #define DDD4 4
170 #define DDD5 5
171 #define DDD6 6
172 #define DDD7 7
173 
174 #define PORTD _SFR_IO8(0x0B)
175 #define PORTD0 0
176 #define PORTD1 1
177 #define PORTD2 2
178 #define PORTD3 3
179 #define PORTD4 4
180 #define PORTD5 5
181 #define PORTD6 6
182 #define PORTD7 7
183 
184 #define TIFR0 _SFR_IO8(0x15)
185 #define TOV0 0
186 #define OCF0A 1
187 #define OCF0B 2
188 
189 #define TIFR1 _SFR_IO8(0x16)
190 #define TOV1 0
191 #define OCF1A 1
192 #define OCF1B 2
193 #define ICF1 5
194 
195 #define TIFR2 _SFR_IO8(0x17)
196 #define TOV2 0
197 #define OCF2A 1
198 #define OCF2B 2
199 
200 #define TIFR3 _SFR_IO8(0x18)
201 #define TOV3 0
202 #define OCF3A 1
203 #define OCF3B 2
204 #define ICF3 5
205 
206 #define PCIFR _SFR_IO8(0x1B)
207 #define PCIF0 0
208 #define PCIF1 1
209 #define PCIF2 2
210 #define PCIF3 3
211 
212 #define EIFR _SFR_IO8(0x1C)
213 #define INTF0 0
214 #define INTF1 1
215 #define INTF2 2
216 
217 #define EIMSK _SFR_IO8(0x1D)
218 #define INT0 0
219 #define INT1 1
220 #define INT2 2
221 
222 #define GPIOR0 _SFR_IO8(0x1E)
223 #define GPIOR00 0
224 #define GPIOR01 1
225 #define GPIOR02 2
226 #define GPIOR03 3
227 #define GPIOR04 4
228 #define GPIOR05 5
229 #define GPIOR06 6
230 #define GPIOR07 7
231 
232 #define EECR _SFR_IO8(0x1F)
233 #define EERE 0
234 #define EEPE 1
235 #define EEMPE 2
236 #define EERIE 3
237 #define EEPM0 4
238 #define EEPM1 5
239 
240 #define EEDR _SFR_IO8(0x20)
241 #define EEDR0 0
242 #define EEDR1 1
243 #define EEDR2 2
244 #define EEDR3 3
245 #define EEDR4 4
246 #define EEDR5 5
247 #define EEDR6 6
248 #define EEDR7 7
249 
250 #define EEAR _SFR_IO16(0x21)
251 
252 #define EEARL _SFR_IO8(0x21)
253 #define EEAR0 0
254 #define EEAR1 1
255 #define EEAR2 2
256 #define EEAR3 3
257 #define EEAR4 4
258 #define EEAR5 5
259 #define EEAR6 6
260 #define EEAR7 7
261 
262 #define EEARH _SFR_IO8(0x22)
263 #define EEAR8 0
264 #define EEAR9 1
265 #define EEAR10 2
266 #define EEAR11 3
267 
268 #define GTCCR _SFR_IO8(0x23)
269 #define PSRSYNC 0
270 #define PSRASY 1
271 #define TSM 7
272 
273 #define TCCR0A _SFR_IO8(0x24)
274 #define WGM00 0
275 #define WGM01 1
276 #define COM0B0 4
277 #define COM0B1 5
278 #define COM0A0 6
279 #define COM0A1 7
280 
281 #define TCCR0B _SFR_IO8(0x25)
282 #define CS00 0
283 #define CS01 1
284 #define CS02 2
285 #define WGM02 3
286 #define FOC0B 6
287 #define FOC0A 7
288 
289 #define TCNT0 _SFR_IO8(0x26)
290 #define TCNT0_0 0
291 #define TCNT0_1 1
292 #define TCNT0_2 2
293 #define TCNT0_3 3
294 #define TCNT0_4 4
295 #define TCNT0_5 5
296 #define TCNT0_6 6
297 #define TCNT0_7 7
298 
299 #define OCR0A _SFR_IO8(0x27)
300 #define OCR0A_0 0
301 #define OCR0A_1 1
302 #define OCR0A_2 2
303 #define OCR0A_3 3
304 #define OCR0A_4 4
305 #define OCR0A_5 5
306 #define OCR0A_6 6
307 #define OCR0A_7 7
308 
309 #define OCR0B _SFR_IO8(0x28)
310 #define OCR0B_0 0
311 #define OCR0B_1 1
312 #define OCR0B_2 2
313 #define OCR0B_3 3
314 #define OCR0B_4 4
315 #define OCR0B_5 5
316 #define OCR0B_6 6
317 #define OCR0B_7 7
318 
319 #define GPIOR1 _SFR_IO8(0x2A)
320 #define GPIOR10 0
321 #define GPIOR11 1
322 #define GPIOR12 2
323 #define GPIOR13 3
324 #define GPIOR14 4
325 #define GPIOR15 5
326 #define GPIOR16 6
327 #define GPIOR17 7
328 
329 #define GPIOR2 _SFR_IO8(0x2B)
330 #define GPIOR20 0
331 #define GPIOR21 1
332 #define GPIOR22 2
333 #define GPIOR23 3
334 #define GPIOR24 4
335 #define GPIOR25 5
336 #define GPIOR26 6
337 #define GPIOR27 7
338 
339 #define SPCR _SFR_IO8(0x2C)
340 #define SPR0 0
341 #define SPR1 1
342 #define CPHA 2
343 #define CPOL 3
344 #define MSTR 4
345 #define DORD 5
346 #define SPE 6
347 #define SPIE 7
348 
349 #define SPSR _SFR_IO8(0x2D)
350 #define SPI2X 0
351 #define WCOL 6
352 #define SPIF 7
353 
354 #define SPDR _SFR_IO8(0x2E)
355 #define SPDR0 0
356 #define SPDR1 1
357 #define SPDR2 2
358 #define SPDR3 3
359 #define SPDR4 4
360 #define SPDR5 5
361 #define SPDR6 6
362 #define SPDR7 7
363 
364 #define ACSR _SFR_IO8(0x30)
365 #define ACIS0 0
366 #define ACIS1 1
367 #define ACIC 2
368 #define ACIE 3
369 #define ACI 4
370 #define ACO 5
371 #define ACBG 6
372 #define ACD 7
373 
374 #define OCDR _SFR_IO8(0x31)
375 #define OCDR0 0
376 #define OCDR1 1
377 #define OCDR2 2
378 #define OCDR3 3
379 #define OCDR4 4
380 #define OCDR5 5
381 #define OCDR6 6
382 #define OCDR7 7
383 
384 #define SMCR _SFR_IO8(0x33)
385 #define SE 0
386 #define SM0 1
387 #define SM1 2
388 #define SM2 3
389 
390 #define MCUSR _SFR_IO8(0x34)
391 #define PORF 0
392 #define EXTRF 1
393 #define BORF 2
394 #define WDRF 3
395 #define JTRF 4
396 
397 #define MCUCR _SFR_IO8(0x35)
398 #define IVCE 0
399 #define IVSEL 1
400 #define PUD 4
401 #define BODSE 5
402 #define BODS 6
403 #define JTD 7
404 
405 #define SPMCSR _SFR_IO8(0x37)
406 #define SPMEN 0
407 #define PGERS 1
408 #define PGWRT 2
409 #define BLBSET 3
410 #define RWWSRE 4
411 #define SIGRD 5
412 #define RWWSB 6
413 #define SPMIE 7
414 
415 #define RAMPZ _SFR_IO8(0x3B)
416 #define RAMPZ0 0
417 
418 #define WDTCSR _SFR_MEM8(0x60)
419 #define WDP0 0
420 #define WDP1 1
421 #define WDP2 2
422 #define WDE 3
423 #define WDCE 4
424 #define WDP3 5
425 #define WDIE 6
426 #define WDIF 7
427 
428 #define CLKPR _SFR_MEM8(0x61)
429 #define CLKPS0 0
430 #define CLKPS1 1
431 #define CLKPS2 2
432 #define CLKPS3 3
433 #define CLKPCE 7
434 
435 #define PRR0 _SFR_MEM8(0x64)
436 #define PRADC 0
437 #define PRUSART0 1
438 #define PRSPI 2
439 #define PRTIM1 3
440 #define PRUSART1 4
441 #define PRTIM0 5
442 #define PRTIM2 6
443 #define PRTWI 7
444 
445 #define PRR1 _SFR_MEM8(0x65)
446 #define PRTIM3 0
447 
448 #define OSCCAL _SFR_MEM8(0x66)
449 #define CAL0 0
450 #define CAL1 1
451 #define CAL2 2
452 #define CAL3 3
453 #define CAL4 4
454 #define CAL5 5
455 #define CAL6 6
456 #define CAL7 7
457 
458 #define PCICR _SFR_MEM8(0x68)
459 #define PCIE0 0
460 #define PCIE1 1
461 #define PCIE2 2
462 #define PCIE3 3
463 
464 #define EICRA _SFR_MEM8(0x69)
465 #define ISC00 0
466 #define ISC01 1
467 #define ISC10 2
468 #define ISC11 3
469 #define ISC20 4
470 #define ISC21 5
471 
472 #define PCMSK0 _SFR_MEM8(0x6B)
473 #define PCINT0 0
474 #define PCINT1 1
475 #define PCINT2 2
476 #define PCINT3 3
477 #define PCINT4 4
478 #define PCINT5 5
479 #define PCINT6 6
480 #define PCINT7 7
481 
482 #define PCMSK1 _SFR_MEM8(0x6C)
483 #define PCINT8 0
484 #define PCINT9 1
485 #define PCINT10 2
486 #define PCINT11 3
487 #define PCINT12 4
488 #define PCINT13 5
489 #define PCINT14 6
490 #define PCINT15 7
491 
492 #define PCMSK2 _SFR_MEM8(0x6D)
493 #define PCINT16 0
494 #define PCINT17 1
495 #define PCINT18 2
496 #define PCINT19 3
497 #define PCINT20 4
498 #define PCINT21 5
499 #define PCINT22 6
500 #define PCINT23 7
501 
502 #define TIMSK0 _SFR_MEM8(0x6E)
503 #define TOIE0 0
504 #define OCIE0A 1
505 #define OCIE0B 2
506 
507 #define TIMSK1 _SFR_MEM8(0x6F)
508 #define TOIE1 0
509 #define OCIE1A 1
510 #define OCIE1B 2
511 #define ICIE1 5
512 
513 #define TIMSK2 _SFR_MEM8(0x70)
514 #define TOIE2 0
515 #define OCIE2A 1
516 #define OCIE2B 2
517 
518 #define TIMSK3 _SFR_MEM8(0x71)
519 #define TOIE3 0
520 #define OCIE3A 1
521 #define OCIE3B 2
522 #define ICIE3 5
523 
524 #define PCMSK3 _SFR_MEM8(0x73)
525 #define PCINT24 0
526 #define PCINT25 1
527 #define PCINT26 2
528 #define PCINT27 3
529 #define PCINT28 4
530 #define PCINT29 5
531 #define PCINT30 6
532 #define PCINT31 7
533 
534 #ifndef __ASSEMBLER__
535 #define ADC _SFR_MEM16(0x78)
536 #endif
537 #define ADCW _SFR_MEM16(0x78)
538 
539 #define ADCL _SFR_MEM8(0x78)
540 #define ADCL0 0
541 #define ADCL1 1
542 #define ADCL2 2
543 #define ADCL3 3
544 #define ADCL4 4
545 #define ADCL5 5
546 #define ADCL6 6
547 #define ADCL7 7
548 
549 #define ADCH _SFR_MEM8(0x79)
550 #define ADCH0 0
551 #define ADCH1 1
552 #define ADCH2 2
553 #define ADCH3 3
554 #define ADCH4 4
555 #define ADCH5 5
556 #define ADCH6 6
557 #define ADCH7 7
558 
559 #define ADCSRA _SFR_MEM8(0x7A)
560 #define ADPS0 0
561 #define ADPS1 1
562 #define ADPS2 2
563 #define ADIE 3
564 #define ADIF 4
565 #define ADATE 5
566 #define ADSC 6
567 #define ADEN 7
568 
569 #define ADCSRB _SFR_MEM8(0x7B)
570 #define ADTS0 0
571 #define ADTS1 1
572 #define ADTS2 2
573 #define ACME 6
574 
575 #define ADMUX _SFR_MEM8(0x7C)
576 #define MUX0 0
577 #define MUX1 1
578 #define MUX2 2
579 #define MUX3 3
580 #define MUX4 4
581 #define ADLAR 5
582 #define REFS0 6
583 #define REFS1 7
584 
585 #define DIDR0 _SFR_MEM8(0x7E)
586 #define ADC0D 0
587 #define ADC1D 1
588 #define ADC2D 2
589 #define ADC3D 3
590 #define ADC4D 4
591 #define ADC5D 5
592 #define ADC6D 6
593 #define ADC7D 7
594 
595 #define DIDR1 _SFR_MEM8(0x7F)
596 #define AIN0D 0
597 #define AIN1D 1
598 
599 #define TCCR1A _SFR_MEM8(0x80)
600 #define WGM10 0
601 #define WGM11 1
602 #define COM1B0 4
603 #define COM1B1 5
604 #define COM1A0 6
605 #define COM1A1 7
606 
607 #define TCCR1B _SFR_MEM8(0x81)
608 #define CS10 0
609 #define CS11 1
610 #define CS12 2
611 #define WGM12 3
612 #define WGM13 4
613 #define ICES1 6
614 #define ICNC1 7
615 
616 #define TCCR1C _SFR_MEM8(0x82)
617 #define FOC1B 6
618 #define FOC1A 7
619 
620 #define TCNT1 _SFR_MEM16(0x84)
621 
622 #define TCNT1L _SFR_MEM8(0x84)
623 #define TCNT1L0 0
624 #define TCNT1L1 1
625 #define TCNT1L2 2
626 #define TCNT1L3 3
627 #define TCNT1L4 4
628 #define TCNT1L5 5
629 #define TCNT1L6 6
630 #define TCNT1L7 7
631 
632 #define TCNT1H _SFR_MEM8(0x85)
633 #define TCNT1H0 0
634 #define TCNT1H1 1
635 #define TCNT1H2 2
636 #define TCNT1H3 3
637 #define TCNT1H4 4
638 #define TCNT1H5 5
639 #define TCNT1H6 6
640 #define TCNT1H7 7
641 
642 #define ICR1 _SFR_MEM16(0x86)
643 
644 #define ICR1L _SFR_MEM8(0x86)
645 #define ICR1L0 0
646 #define ICR1L1 1
647 #define ICR1L2 2
648 #define ICR1L3 3
649 #define ICR1L4 4
650 #define ICR1L5 5
651 #define ICR1L6 6
652 #define ICR1L7 7
653 
654 #define ICR1H _SFR_MEM8(0x87)
655 #define ICR1H0 0
656 #define ICR1H1 1
657 #define ICR1H2 2
658 #define ICR1H3 3
659 #define ICR1H4 4
660 #define ICR1H5 5
661 #define ICR1H6 6
662 #define ICR1H7 7
663 
664 #define OCR1A _SFR_MEM16(0x88)
665 
666 #define OCR1AL _SFR_MEM8(0x88)
667 #define OCR1AL0 0
668 #define OCR1AL1 1
669 #define OCR1AL2 2
670 #define OCR1AL3 3
671 #define OCR1AL4 4
672 #define OCR1AL5 5
673 #define OCR1AL6 6
674 #define OCR1AL7 7
675 
676 #define OCR1AH _SFR_MEM8(0x89)
677 #define OCR1AH0 0
678 #define OCR1AH1 1
679 #define OCR1AH2 2
680 #define OCR1AH3 3
681 #define OCR1AH4 4
682 #define OCR1AH5 5
683 #define OCR1AH6 6
684 #define OCR1AH7 7
685 
686 #define OCR1B _SFR_MEM16(0x8A)
687 
688 #define OCR1BL _SFR_MEM8(0x8A)
689 #define OCR1AL0 0
690 #define OCR1AL1 1
691 #define OCR1AL2 2
692 #define OCR1AL3 3
693 #define OCR1AL4 4
694 #define OCR1AL5 5
695 #define OCR1AL6 6
696 #define OCR1AL7 7
697 
698 #define OCR1BH _SFR_MEM8(0x8B)
699 #define OCR1AH0 0
700 #define OCR1AH1 1
701 #define OCR1AH2 2
702 #define OCR1AH3 3
703 #define OCR1AH4 4
704 #define OCR1AH5 5
705 #define OCR1AH6 6
706 #define OCR1AH7 7
707 
708 #define TCCR3A _SFR_MEM8(0x90)
709 #define WGM30 0
710 #define WGM31 1
711 #define COM3B0 4
712 #define COM3B1 5
713 #define COM3A0 6
714 #define COM3A1 7
715 
716 #define TCCR3B _SFR_MEM8(0x91)
717 #define CS30 0
718 #define CS31 1
719 #define CS32 2
720 #define WGM32 3
721 #define WGM33 4
722 #define ICES3 6
723 #define ICNC3 7
724 
725 #define TCCR3C _SFR_MEM8(0x92)
726 #define FOC3B 6
727 #define FOC3A 7
728 
729 #define TCNT3 _SFR_MEM16(0x94)
730 
731 #define TCNT3L _SFR_MEM8(0x94)
732 #define TCNT3L0 0
733 #define TCNT3L1 1
734 #define TCNT3L2 2
735 #define TCNT3L3 3
736 #define TCNT3L4 4
737 #define TCNT3L5 5
738 #define TCNT3L6 6
739 #define TCNT3L7 7
740 
741 #define TCNT3H _SFR_MEM8(0x95)
742 #define TCNT3H0 0
743 #define TCNT3H1 1
744 #define TCNT3H2 2
745 #define TCNT3H3 3
746 #define TCNT3H4 4
747 #define TCNT3H5 5
748 #define TCNT3H6 6
749 #define TCNT3H7 7
750 
751 #define ICR3 _SFR_MEM16(0x96)
752 
753 #define ICR3L _SFR_MEM8(0x96)
754 #define ICR3L0 0
755 #define ICR3L1 1
756 #define ICR3L2 2
757 #define ICR3L3 3
758 #define ICR3L4 4
759 #define ICR3L5 5
760 #define ICR3L6 6
761 #define ICR3L7 7
762 
763 #define ICR3H _SFR_MEM8(0x97)
764 #define ICR3H0 0
765 #define ICR3H1 1
766 #define ICR3H2 2
767 #define ICR3H3 3
768 #define ICR3H4 4
769 #define ICR3H5 5
770 #define ICR3H6 6
771 #define ICR3H7 7
772 
773 #define OCR3A _SFR_MEM16(0x98)
774 
775 #define OCR3AL _SFR_MEM8(0x98)
776 #define OCR3AL0 0
777 #define OCR3AL1 1
778 #define OCR3AL2 2
779 #define OCR3AL3 3
780 #define OCR3AL4 4
781 #define OCR3AL5 5
782 #define OCR3AL6 6
783 #define OCR3AL7 7
784 
785 #define OCR3AH _SFR_MEM8(0x99)
786 #define OCR3AH0 0
787 #define OCR3AH1 1
788 #define OCR3AH2 2
789 #define OCR3AH3 3
790 #define OCR3AH4 4
791 #define OCR3AH5 5
792 #define OCR3AH6 6
793 #define OCR3AH7 7
794 
795 #define OCR3B _SFR_MEM16(0x9A)
796 
797 #define OCR3BL _SFR_MEM8(0x9A)
798 #define OCR3AL0 0
799 #define OCR3AL1 1
800 #define OCR3AL2 2
801 #define OCR3AL3 3
802 #define OCR3AL4 4
803 #define OCR3AL5 5
804 #define OCR3AL6 6
805 #define OCR3AL7 7
806 
807 #define OCR3BH _SFR_MEM8(0x9B)
808 #define OCR3AH0 0
809 #define OCR3AH1 1
810 #define OCR3AH2 2
811 #define OCR3AH3 3
812 #define OCR3AH4 4
813 #define OCR3AH5 5
814 #define OCR3AH6 6
815 #define OCR3AH7 7
816 
817 #define TCCR2A _SFR_MEM8(0xB0)
818 #define WGM20 0
819 #define WGM21 1
820 #define COM2B0 4
821 #define COM2B1 5
822 #define COM2A0 6
823 #define COM2A1 7
824 
825 #define TCCR2B _SFR_MEM8(0xB1)
826 #define CS20 0
827 #define CS21 1
828 #define CS22 2
829 #define WGM22 3
830 #define FOC2B 6
831 #define FOC2A 7
832 
833 #define TCNT2 _SFR_MEM8(0xB2)
834 #define TCNT2_0 0
835 #define TCNT2_1 1
836 #define TCNT2_2 2
837 #define TCNT2_3 3
838 #define TCNT2_4 4
839 #define TCNT2_5 5
840 #define TCNT2_6 6
841 #define TCNT2_7 7
842 
843 #define OCR2A _SFR_MEM8(0xB3)
844 #define OCR2_0 0
845 #define OCR2_1 1
846 #define OCR2_2 2
847 #define OCR2_3 3
848 #define OCR2_4 4
849 #define OCR2_5 5
850 #define OCR2_6 6
851 #define OCR2_7 7
852 
853 #define OCR2B _SFR_MEM8(0xB4)
854 #define OCR2_0 0
855 #define OCR2_1 1
856 #define OCR2_2 2
857 #define OCR2_3 3
858 #define OCR2_4 4
859 #define OCR2_5 5
860 #define OCR2_6 6
861 #define OCR2_7 7
862 
863 #define ASSR _SFR_MEM8(0xB6)
864 #define TCR2BUB 0
865 #define TCR2AUB 1
866 #define OCR2BUB 2
867 #define OCR2AUB 3
868 #define TCN2UB 4
869 #define AS2 5
870 #define EXCLK 6
871 
872 #define TWBR _SFR_MEM8(0xB8)
873 #define TWBR0 0
874 #define TWBR1 1
875 #define TWBR2 2
876 #define TWBR3 3
877 #define TWBR4 4
878 #define TWBR5 5
879 #define TWBR6 6
880 #define TWBR7 7
881 
882 #define TWSR _SFR_MEM8(0xB9)
883 #define TWPS0 0
884 #define TWPS1 1
885 #define TWS3 3
886 #define TWS4 4
887 #define TWS5 5
888 #define TWS6 6
889 #define TWS7 7
890 
891 #define TWAR _SFR_MEM8(0xBA)
892 #define TWGCE 0
893 #define TWA0 1
894 #define TWA1 2
895 #define TWA2 3
896 #define TWA3 4
897 #define TWA4 5
898 #define TWA5 6
899 #define TWA6 7
900 
901 #define TWDR _SFR_MEM8(0xBB)
902 #define TWD0 0
903 #define TWD1 1
904 #define TWD2 2
905 #define TWD3 3
906 #define TWD4 4
907 #define TWD5 5
908 #define TWD6 6
909 #define TWD7 7
910 
911 #define TWCR _SFR_MEM8(0xBC)
912 #define TWIE 0
913 #define TWEN 2
914 #define TWWC 3
915 #define TWSTO 4
916 #define TWSTA 5
917 #define TWEA 6
918 #define TWINT 7
919 
920 #define TWAMR _SFR_MEM8(0xBD)
921 #define TWAM0 1
922 #define TWAM1 2
923 #define TWAM2 3
924 #define TWAM3 4
925 #define TWAM4 5
926 #define TWAM5 6
927 #define TWAM6 7
928 
929 #define UCSR0A _SFR_MEM8(0xC0)
930 #define MPCM0 0
931 #define U2X0 1
932 #define UPE0 2
933 #define DOR0 3
934 #define FE0 4
935 #define UDRE0 5
936 #define TXC0 6
937 #define RXC0 7
938 
939 #define UCSR0B _SFR_MEM8(0xC1)
940 #define TXB80 0
941 #define RXB80 1
942 #define UCSZ02 2
943 #define TXEN0 3
944 #define RXEN0 4
945 #define UDRIE0 5
946 #define TXCIE0 6
947 #define RXCIE0 7
948 
949 #define UCSR0C _SFR_MEM8(0xC2)
950 #define UCPOL0 0
951 #define UCSZ00 1
952 #define UCSZ01 2
953 #define USBS0 3
954 #define UPM00 4
955 #define UPM01 5
956 #define UMSEL00 6
957 #define UMSEL01 7
958 
959 #define UBRR0 _SFR_MEM16(0xC4)
960 
961 #define UBRR0L _SFR_MEM8(0xC4)
962 #define UBRR0_0 0
963 #define UBRR0_1 1
964 #define UBRR0_2 2
965 #define UBRR0_3 3
966 #define UBRR0_4 4
967 #define UBRR0_5 5
968 #define UBRR0_6 6
969 #define UBRR0_7 7
970 
971 #define UBRR0H _SFR_MEM8(0xC5)
972 #define UBRR0_8 0
973 #define UBRR0_9 1
974 #define UBRR0_10 2
975 #define UBRR0_11 3
976 
977 #define UDR0 _SFR_MEM8(0xC6)
978 #define UDR0_0 0
979 #define UDR0_1 1
980 #define UDR0_2 2
981 #define UDR0_3 3
982 #define UDR0_4 4
983 #define UDR0_5 5
984 #define UDR0_6 6
985 #define UDR0_7 7
986 
987 #define UCSR1A _SFR_MEM8(0xC8)
988 #define MPCM1 0
989 #define U2X1 1
990 #define UPE1 2
991 #define DOR1 3
992 #define FE1 4
993 #define UDRE1 5
994 #define TXC1 6
995 #define RXC1 7
996 
997 #define UCSR1B _SFR_MEM8(0xC9)
998 #define TXB81 0
999 #define RXB81 1
1000 #define UCSZ12 2
1001 #define TXEN1 3
1002 #define RXEN1 4
1003 #define UDRIE1 5
1004 #define TXCIE1 6
1005 #define RXCIE1 7
1006 
1007 #define UCSR1C _SFR_MEM8(0xCA)
1008 #define UCPOL1 0
1009 #define UCSZ10 1
1010 #define UCSZ11 2
1011 #define USBS1 3
1012 #define UPM10 4
1013 #define UPM11 5
1014 #define UMSEL10 6
1015 #define UMSEL11 7
1016 
1017 #define UBRR1 _SFR_MEM16(0xCC)
1018 
1019 #define UBRR1L _SFR_MEM8(0xCC)
1020 #define UBRR1_0 0
1021 #define UBRR1_1 1
1022 #define UBRR1_2 2
1023 #define UBRR1_3 3
1024 #define UBRR1_4 4
1025 #define UBRR1_5 5
1026 #define UBRR1_6 6
1027 #define UBRR1_7 7
1028 
1029 #define UBRR1H _SFR_MEM8(0xCD)
1030 #define UBRR1_8 0
1031 #define UBRR1_9 1
1032 #define UBRR1_10 2
1033 #define UBRR1_11 3
1034 
1035 #define UDR1 _SFR_MEM8(0xCE)
1036 #define UDR1_0 0
1037 #define UDR1_1 1
1038 #define UDR1_2 2
1039 #define UDR1_3 3
1040 #define UDR1_4 4
1041 #define UDR1_5 5
1042 #define UDR1_6 6
1043 #define UDR1_7 7
1044 
1045 
1046 /* Interrupt Vectors */
1047 /* Interrupt Vector 0 is the reset vector. */
1048 
1049 #define INT0_vect _VECTOR(1) /* External Interrupt Request 0 */
1050 #define INT1_vect _VECTOR(2) /* External Interrupt Request 1 */
1051 #define INT2_vect _VECTOR(3) /* External Interrupt Request 2 */
1052 #define PCINT0_vect _VECTOR(4) /* Pin Change Interrupt Request 0 */
1053 #define PCINT1_vect _VECTOR(5) /* Pin Change Interrupt Request 1 */
1054 #define PCINT2_vect _VECTOR(6) /* Pin Change Interrupt Request 2 */
1055 #define PCINT3_vect _VECTOR(7) /* Pin Change Interrupt Request 3 */
1056 #define WDT_vect _VECTOR(8) /* Watchdog Time-out Interrupt */
1057 #define TIMER2_COMPA_vect _VECTOR(9) /* Timer/Counter2 Compare Match A */
1058 #define TIMER2_COMPB_vect _VECTOR(10) /* Timer/Counter2 Compare Match B */
1059 #define TIMER2_OVF_vect _VECTOR(11) /* Timer/Counter2 Overflow */
1060 #define TIMER1_CAPT_vect _VECTOR(12) /* Timer/Counter1 Capture Event */
1061 #define TIMER1_COMPA_vect _VECTOR(13) /* Timer/Counter1 Compare Match A */
1062 #define TIMER1_COMPB_vect _VECTOR(14) /* Timer/Counter1 Compare Match B */
1063 #define TIMER1_OVF_vect _VECTOR(15) /* Timer/Counter1 Overflow */
1064 #define TIMER0_COMPA_vect _VECTOR(16) /* Timer/Counter0 Compare Match A */
1065 #define TIMER0_COMPB_vect _VECTOR(17) /* Timer/Counter0 Compare Match B */
1066 #define TIMER0_OVF_vect _VECTOR(18) /* Timer/Counter0 Overflow */
1067 #define SPI_STC_vect _VECTOR(19) /* SPI Serial Transfer Complete */
1068 #define USART0_RX_vect _VECTOR(20) /* USART0, Rx Complete */
1069 #define USART0_UDRE_vect _VECTOR(21) /* USART0 Data register Empty */
1070 #define USART0_TX_vect _VECTOR(22) /* USART0, Tx Complete */
1071 #define ANALOG_COMP_vect _VECTOR(23) /* Analog Comparator */
1072 #define ADC_vect _VECTOR(24) /* ADC Conversion Complete */
1073 #define EE_READY_vect _VECTOR(25) /* EEPROM Ready */
1074 #define TWI_vect _VECTOR(26) /* 2-wire Serial Interface */
1075 #define SPM_READY_vect _VECTOR(27) /* Store Program Memory Read */
1076 #define USART1_RX_vect _VECTOR(28) /* USART1 RX complete */
1077 #define USART1_UDRE_vect _VECTOR(29) /* USART1 Data Register Empty */
1078 #define USART1_TX_vect _VECTOR(30) /* USART1 TX complete */
1079 #define TIMER3_CAPT_vect _VECTOR(31) /* Timer/Counter3 Capture Event */
1080 #define TIMER3_COMPA_vect _VECTOR(32) /* Timer/Counter3 Compare Match A */
1081 #define TIMER3_COMPB_vect _VECTOR(33) /* Timer/Counter3 Compare Match B */
1082 #define TIMER3_OVF_vect _VECTOR(34) /* Timer/Counter3 Overflow */
1083 
1084 #define _VECTORS_SIZE (35 * 4)
1085 
1086 
1087 /* Constants */
1088 #define SPM_PAGESIZE 256
1089 #define RAMEND 0x40FF /* Last On-Chip SRAM Location */
1090 #define XRAMSIZE 0
1091 #define XRAMEND RAMEND
1092 #define E2END 0xFFF
1093 #define E2PAGESIZE 8
1094 #define FLASHEND 0x1FFFF
1095 
1096 
1097 /* Fuses */
1098 #define FUSE_MEMORY_SIZE 3
1099 
1100 /* Low Fuse Byte */
1101 #define FUSE_CKSEL0 (unsigned char)~_BV(0) /* Select Clock Source */
1102 #define FUSE_CKSEL1 (unsigned char)~_BV(1) /* Select Clock Source */
1103 #define FUSE_CKSEL2 (unsigned char)~_BV(2) /* Select Clock Source */
1104 #define FUSE_CKSEL3 (unsigned char)~_BV(3) /* Select Clock Source */
1105 #define FUSE_SUT0 (unsigned char)~_BV(4) /* Select start-up time */
1106 #define FUSE_SUT1 (unsigned char)~_BV(5) /* Select start-up time */
1107 #define FUSE_CKOUT (unsigned char)~_BV(6) /* Clock output */
1108 #define FUSE_CKDIV8 (unsigned char)~_BV(7) /* Divide clock by 8 */
1109 #define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & FUSE_SUT0 & FUSE_SUT1 & FUSE_CKDIV8)
1110 
1111 /* High Fuse Byte */
1112 #define FUSE_BOOTRST (unsigned char)~_BV(0) /* Select Reset Vector */
1113 #define FUSE_BOOTSZ0 (unsigned char)~_BV(1) /* Select Boot Size */
1114 #define FUSE_BOOTSZ1 (unsigned char)~_BV(2) /* Select Boot Size */
1115 #define FUSE_EESAVE (unsigned char)~_BV(3) /* EEPROM memory is preserved through chip erase */
1116 #define FUSE_WDTON (unsigned char)~_BV(4) /* Watchdog timer always on */
1117 #define FUSE_SPIEN (unsigned char)~_BV(5) /* Enable Serial programming and Data Downloading */
1118 #define FUSE_JTAGEN (unsigned char)~_BV(6) /* Enable JTAG */
1119 #define FUSE_OCDEN (unsigned char)~_BV(7) /* Enable OCD */
1120 #define HFUSE_DEFAULT (FUSE_BOOTSZ0 & FUSE_SPIEN & FUSE_JTAGEN)
1121 
1122 /* Extended Fuse Byte */
1123 #define FUSE_BODLEVEL0 (unsigned char)~_BV(0) /* Brown-out Detector trigger level */
1124 #define FUSE_BODLEVEL1 (unsigned char)~_BV(1) /* Brown-out Detector trigger level */
1125 #define FUSE_BODLEVEL2 (unsigned char)~_BV(2) /* Brown-out Detector trigger level */
1126 #define EFUSE_DEFAULT (0xFF)
1127 
1128 
1129 /* Lock Bits */
1130 #define __LOCK_BITS_EXIST
1131 #define __BOOT_LOCK_BITS_0_EXIST
1132 #define __BOOT_LOCK_BITS_1_EXIST
1133 
1134 
1135 /* Signature */
1136 #define SIGNATURE_0 0x1E
1137 #define SIGNATURE_1 0x97
1138 #define SIGNATURE_2 0x05
1139 
1141 #endif /* _AVR_IOM1284P_H_ */